diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-05-27 11:26:54 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2014-06-02 19:01:56 +0200 |
commit | 4d8ee97c27f9cb41f4d168c39ddf64793a906246 (patch) | |
tree | 7f89f8362d8b2261a0937dc034e3a4e5909ba60a | |
parent | 4e6516dac6ce42e70f60e86c4bcf53fbb30123a5 (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.cxx | 1 | ||||
-rw-r--r-- | starmath/source/parse.cxx | 8 |
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; |