Avoid spurious requirements

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.
This commit is contained in:
Enrico Forestieri 2020-09-09 01:32:51 +02:00
parent 0762b52334
commit fcd14df230

View 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);
}
}