commit 7998616edb587d44938d377fec94a35547150c3b
Author: Enrico Forestieri <[email protected]>
Date: Mon Apr 15 20:56:52 2019 +0200
Properly fix #9616
Now all symbols in the unicodesymbols file having a mathcommand
are not wrapped in a \text inset anymore.
(cherry picked from commit 506324ef9d6bf5a5a6da410c99318d9679468bf1)
---
src/mathed/MathFactory.cpp | 6 ------
src/mathed/MathFactory.h | 5 -----
src/mathed/MathParser.cpp | 4 ++--
status.23x | 2 ++
4 files changed, 4 insertions(+), 13 deletions(-)
diff --git a/src/mathed/MathFactory.cpp b/src/mathed/MathFactory.cpp
index 2d65f78..d21af77 100644
--- a/src/mathed/MathFactory.cpp
+++ b/src/mathed/MathFactory.cpp
@@ -714,10 +714,4 @@ bool createInsetMath_fromDialogStr(docstring const & str,
MathData & ar)
}
-bool isAsciiOrMathAlpha(char_type c)
-{
- return isASCII(c) || Encodings::isMathAlpha(c);
-}
-
-
} // namespace lyx
diff --git a/src/mathed/MathFactory.h b/src/mathed/MathFactory.h
index 9837ca7..b6fdb50 100644
--- a/src/mathed/MathFactory.h
+++ b/src/mathed/MathFactory.h
@@ -33,11 +33,6 @@ MathAtom createInsetMath(char const * const, Buffer * buf);
*/
bool createInsetMath_fromDialogStr(docstring const &, MathData &);
-/** Tells whether the argument is an ascii character or is marked as
- * mathalpha in the unicodesymbols file.
- */
-bool isAsciiOrMathAlpha(char_type);
-
typedef std::map<docstring, latexkeys> MathWordList;
MathWordList const & mathedWordList();
diff --git a/src/mathed/MathParser.cpp b/src/mathed/MathParser.cpp
index c5df946..539b1a3 100644
--- a/src/mathed/MathParser.cpp
+++ b/src/mathed/MathParser.cpp
@@ -1017,7 +1017,7 @@ bool Parser::parse1(InsetMathGrid & grid, unsigned flags,
else if (t.cat() == catOther) {
char_type c = t.character();
- if (isAsciiOrMathAlpha(c)
+ if (!Encodings::isUnicodeTextOnly(c)
|| mode_ & Parse::VERBATIM
|| !(mode_ & Parse::USETEXT)
|| mode == InsetMath::TEXT_MODE) {
@@ -1026,7 +1026,7 @@ bool Parser::parse1(InsetMathGrid & grid, unsigned flags,
MathAtom at = createInsetMath("text", buf);
at.nucleus()->cell(0).push_back(MathAtom(new
InsetMathChar(c)));
while (nextToken().cat() == catOther
- &&
!isAsciiOrMathAlpha(nextToken().character())) {
+ &&
Encodings::isUnicodeTextOnly(nextToken().character())) {
c = getToken().character();
at.nucleus()->cell(0).push_back(MathAtom(new InsetMathChar(c)));
}
diff --git a/status.23x b/status.23x
index 852830a..d98f333 100644
--- a/status.23x
+++ b/status.23x
@@ -29,6 +29,8 @@ What's new
The "Rows & Columns" optional submenu has been added to the math context menu.
+Avoid using text mode for unicode symbols representable in math mode (bug
9616).
+
* DOCUMENTATION AND LOCALIZATION