summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buffer.cc6
-rw-r--r--src/buffer.hh1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/buffer.cc b/src/buffer.cc
index f0205c54..9a735aaf 100644
--- a/src/buffer.cc
+++ b/src/buffer.cc
@@ -70,6 +70,8 @@ void Buffer::on_registered()
return;
}
+ m_flags |= Flags::NoBufSetOption;
+
run_hook_in_own_context(Hook::BufCreate, m_name);
if (m_flags & Flags::File)
@@ -82,6 +84,7 @@ void Buffer::on_registered()
run_hook_in_own_context(Hook::BufOpenFile, m_name);
}
}
+ m_flags &= ~Flags::NoBufSetOption;
for (auto& option : options().flatten_options()
| transform(&std::unique_ptr<Option>::get)
@@ -637,6 +640,9 @@ const FsStatus& Buffer::fs_status() const
void Buffer::on_option_changed(const Option& option)
{
+ if (m_flags & Flags::NoBufSetOption)
+ return;
+
if (option.name() == "readonly")
{
if (option.get<bool>())
diff --git a/src/buffer.hh b/src/buffer.hh
index cd895c17..3a885ec8 100644
--- a/src/buffer.hh
+++ b/src/buffer.hh
@@ -120,6 +120,7 @@ public:
NoHooks = 1 << 4,
Debug = 1 << 5,
ReadOnly = 1 << 6,
+ NoBufSetOption = 1 << 7,
};
friend constexpr bool with_bit_ops(Meta::Type<Flags>) { return true; }
friend class BufferIterator;