[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - formula/source sc/source

Eike Rathke erack at redhat.com
Wed Jun 29 14:41:42 UTC 2016


 formula/source/core/resource/core_resource.src |    2 +-
 sc/source/core/tool/compiler.cxx               |   22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

New commits:
commit 4c6685a93cc4b82d2a9300f9a4fd64c5c54fb568
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Jun 27 13:02:20 2016 +0200

    tdf#100641 correct OOXML function name is EFFECT instead of EFFECTIVE
    
    (cherry picked from commit ed5bcef57b678cb92c68bf842a72e50f4dd1e2ea)
    
    accept EFFECTIVE as EFFECT in OOXML import
    
    (cherry picked from commit f3f89f4f3180b0fd63c5290c665894c6a27f2ae2)
    
    18a914972d69a37e9dcf5b18ffbea9177004dad7
    
    Change-Id: Ieb7484afe210e378efd43ba3a181cd90d29619b9
    Reviewed-on: https://gerrit.libreoffice.org/26704
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/formula/source/core/resource/core_resource.src b/formula/source/core/resource/core_resource.src
index af22f1b..a024aa0 100644
--- a/formula/source/core/resource/core_resource.src
+++ b/formula/source/core/resource/core_resource.src
@@ -663,7 +663,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML
     String SC_OPCODE_PPMT { Text = "PPMT" ; };
     String SC_OPCODE_CUM_IPMT { Text = "CUMIPMT" ; };
     String SC_OPCODE_CUM_PRINC { Text = "CUMPRINC" ; };
-    String SC_OPCODE_EFFECTIVE { Text = "EFFECTIVE" ; };
+    String SC_OPCODE_EFFECTIVE { Text = "EFFECT" ; };
     String SC_OPCODE_NOMINAL { Text = "NOMINAL" ; };
     String SC_OPCODE_SUB_TOTAL { Text = "SUBTOTAL" ; };
     String SC_OPCODE_DB_SUM { Text = "DSUM" ; };
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index a841c80..c6684c8 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -2672,6 +2672,28 @@ bool ScCompiler::IsOpCode( const OUString& rName, bool bInArray )
             }
         }
     }
+    else if (mxSymbols->isOOXML())
+    {
+        // OOXML names that are not written in the current mapping but to be
+        // recognized as old versions wrote them.
+        struct FunctionName
+        {
+            const sal_Char* pName;
+            OpCode          eOp;
+        };
+        static const FunctionName aOoxmlAliases[] = {
+            { "EFFECTIVE",  ocEffective }   // EFFECTIVE -> EFFECT
+        };
+        for (const FunctionName& rOoxmlAlias : aOoxmlAliases)
+        {
+            if (rName.equalsIgnoreAsciiCaseAscii( rOoxmlAlias.pName))
+            {
+                maRawToken.SetOpCode( rOoxmlAlias.eOp);
+                bFound = true;
+                break;  // for
+            }
+        }
+    }
     if (!bFound)
     {
         OUString aIntName;


More information about the Libreoffice-commits mailing list