diff options
Diffstat (limited to 'formula/source')
-rw-r--r-- | formula/source/core/api/FormulaCompiler.cxx | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx index a13a7a1734e8..be926e7d521a 100644 --- a/formula/source/core/api/FormulaCompiler.cxx +++ b/formula/source/core/api/FormulaCompiler.cxx @@ -1012,10 +1012,18 @@ void FormulaCompiler::loadSymbols(const std::pair<const char*, int>* pSymbols, F fillFromAddInMap( rxMap, eGrammar); // Fill from collection for AddIns not already present. - if ( FormulaGrammar::GRAM_ENGLISH != eGrammar ) - fillFromAddInCollectionUpperName( rxMap); - else + if (FormulaGrammar::GRAM_ENGLISH == eGrammar) fillFromAddInCollectionEnglishName( rxMap); + else + { + fillFromAddInCollectionUpperName( rxMap); + if (FormulaGrammar::GRAM_API == eGrammar) + { + // Add known but not in AddInMap English names, e.g. from the + // PricingFunctions AddIn or any user supplied AddIn. + fillFromAddInCollectionEnglishName( rxMap); + } + } } void FormulaCompiler::fillFromAddInCollectionUpperName( const NonConstOpCodeMapPtr& /*xMap */) const |