]> git.lyx.org Git - features.git/commitdiff
Revert "Use the new optional template to simplify." cleanup/updateMacros3
authorRichard Kimberly Heck <rikiheck@lyx.org>
Thu, 12 Nov 2020 23:49:03 +0000 (18:49 -0500)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Thu, 12 Nov 2020 23:49:09 +0000 (18:49 -0500)
I've done something wrong here, and I don't know what...

This reverts commit 7b7b759bcbb389a1d176e4ccaedfaa3b51173c39.

src/Buffer.cpp

index b62228c415b867604a4a07bbc0aa4038e2744519..c0a133fadd0bdf6ca12520d8ed0ade09d0625429 100644 (file)
@@ -97,7 +97,6 @@
 #include "support/gzstream.h"
 #include "support/lstrings.h"
 #include "support/mutex.h"
-#include "support/optional.h"
 #include "support/os.h"
 #include "support/Package.h"
 #include "support/PathChanger.h"
@@ -216,11 +215,14 @@ public:
                typedef map<DocIterator, MacroDefinition> MacroDefList;
                typedef map<docstring, MacroDefList> MacroMap;
 
-               optional<MacroDefList> getMacroDefinitions(docstring const & name) const
+               bool haveMacro(docstring const & name) const
+                       { return macro_map_.count(name) != 0; }
+               
+               // Will assert if there is no such macro, so call haveMacro first!
+               MacroDefList const & getMacroDefinitions(docstring const & name) const
                {
                        MacroMap::const_iterator it = macro_map_.find(name);
-                       if (it == macro_map_.end())
-                               return {};
+                       LBUFERR(it != macro_map_.end());
                        return it->second;
                }
 
@@ -3633,10 +3635,9 @@ MacroData const * Buffer::Impl::getBufferMacro(docstring const & name,
        MacroData const * bestData = nullptr;
 
        // find macro definitions for name
-       if (optional<MacroTable::MacroDefList> m =
-                       macro_table.getMacroDefinitions(name))
-       {
-               MacroTable::MacroDefList const & mdl = m.value();
+       if (macro_table.haveMacro(name)) {
+               MacroTable::MacroDefList const & mdl = 
+                       macro_table.getMacroDefinitions(name);
                // find last definition in front of pos
                MacroTable::MacroDefList::const_iterator it = 
                                greatest_below(mdl, pos);