summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-05-27 11:26:54 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-05-29 02:56:09 -0500
commit27b6e664a6ac4de9192aaf6f0ee99ff021101d36 (patch)
tree02613895552c4617d842a8a7ccfe673425b0fd7f
parentdd2013f9d2926e65baeb1ba681f29ebc1286d8aa (diff)
Resolves: fdo#77831 use classic token rules for user-defined char (%foo)
Change-Id: Iebae064986ad722d445c8d654e39e338e104f021 (cherry picked from commit 501e5b98ad39156cac465a161709ad38b89e3d63) Reviewed-on: https://gerrit.libreoffice.org/9497 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--starmath/qa/cppunit/test_nodetotextvisitors.cxx1
-rw-r--r--starmath/source/parse.cxx8
2 files changed, 8 insertions, 1 deletions
diff --git a/starmath/qa/cppunit/test_nodetotextvisitors.cxx b/starmath/qa/cppunit/test_nodetotextvisitors.cxx
index 99ae4b252cf1..ef95e8d3c782 100644
--- a/starmath/qa/cppunit/test_nodetotextvisitors.cxx
+++ b/starmath/qa/cppunit/test_nodetotextvisitors.cxx
@@ -241,6 +241,7 @@ void Test::SimpleOperators()
parseandparseagain("llint a", "Double curved integral");
parseandparseagain("lllint a", "Triple curved integral");
parseandparseagain("prod from {i=1} to {n} {(i+1)}", "Product with range");
+ ParseAndCheck("%Ux2135", "%Ux2135", "fdo#77831");
}
void Test::SimpleAttributes()
diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx
index 98b579a5f88f..e50394361ed1 100644
--- a/starmath/source/parse.cxx
+++ b/starmath/source/parse.cxx
@@ -382,6 +382,12 @@ const sal_Int32 coContFlags =
(coStartFlags & ~KParseTokens::IGNORE_LEADING_WS)
| KParseTokens::TWO_DOUBLE_QUOTES_BREAK_STRING;
+// user-defined char continuing characters may be any alphanumeric or dot.
+const sal_Int32 coUserDefinedCharContFlags =
+ ((KParseTokens::ANY_LETTER_OR_NUMBER | KParseTokens::IGNORE_LEADING_WS | KParseTokens::ASC_DOT)
+ & ~KParseTokens::IGNORE_LEADING_WS)
+ | KParseTokens::TWO_DOUBLE_QUOTES_BREAK_STRING;
+
// First character for numbers, may be any numeric or dot
const sal_Int32 coNumStartFlags =
KParseTokens::ASC_DIGIT |
@@ -651,7 +657,7 @@ void SmParser::NextToken()
m_aBufferString, rnEndPos,
KParseTokens::ANY_LETTER,
aEmptyStr,
- coContFlags,
+ coUserDefinedCharContFlags,
aEmptyStr );
sal_Int32 nTmpStart = rnEndPos + aTmpRes.LeadingWhiteSpace;