]> git.lyx.org Git - features.git/commitdiff
Avoid spurious requirements
authorEnrico Forestieri <forenr@lyx.org>
Tue, 8 Sep 2020 23:32:51 +0000 (01:32 +0200)
committerEnrico Forestieri <forenr@lyx.org>
Tue, 8 Sep 2020 23:32:51 +0000 (01:32 +0200)
The macros defined in the symbols file are only used for on-screen
representation, so that their definition should not require the use
on any latex package. Their definition should be taken into account
only when they are overridden by user macros with same name.

src/mathed/InsetMathMacro.cpp

index bf363b61db7c7d849bdaafffce2186b6151f864c..5743dd0e452b2a12311d51b8a512a9d285f4f1f5 100644 (file)
@@ -967,7 +967,16 @@ void InsetMathMacro::validate(LaTeXFeatures & features) const
 
        // validate the cells and the definition
        if (displayMode() == DISPLAY_NORMAL) {
-               d->definition_.validate(features);
+               // Don't update requirements if the macro comes from
+               // the symbols file and has not been redefined.
+               MathWordList const & words = mathedWordList();
+               MathWordList::const_iterator it = words.find(name());
+               MacroNameSet macros;
+               buffer().listMacroNames(macros);
+               if (it == words.end() || it->second.inset != "macro"
+                   || macros.find(name()) != macros.end()) {
+                       d->definition_.validate(features);
+               }
                InsetMathNest::validate(features);
        }
 }