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.
// 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);
}
}