commit 93f3727b5368a7daadfa88f545183af3261db94b
Author: Juergen Spitzmueller <[email protected]>
Date:   Fri Aug 24 14:20:43 2018 +0200

    tex2lyx: Fix import of Arabic polyglossia environment
    
    Part of #10111
    
    (cherry picked from commit 920e26916e760f9196270d1e19d9486412f2fb1e)
---
 src/tex2lyx/text.cpp |   18 +++++++++++++++---
 status.23x           |    5 +++--
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index f89e5a9..d79ad8a 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -528,6 +528,17 @@ string guessQuoteStyle(string in, bool const opening)
 }
 
 
+string const fromPolyglossiaEnvironment(string const s)
+{
+       // Since \arabic is taken by the LaTeX kernel,
+       // the Arabic polyglossia environment is upcased
+       if (s == "Arabic")
+               return "arabic";
+       else
+               return s;
+}
+
+
 } // namespace
 
 
@@ -1597,7 +1608,8 @@ void parse_environment(Parser & p, ostream & os, bool 
outer,
                }
        }
 
-       else if (is_known(name, preamble.polyglossia_languages)) {
+       // We need to use fromPolyglossiaEnvironment die to Arabic > arabic
+       else if (is_known(fromPolyglossiaEnvironment(name), 
preamble.polyglossia_languages)) {
                // We must begin a new paragraph if not already done
                if (! parent_context.atParagraphStart()) {
                        parent_context.check_end_layout(os);
@@ -1605,7 +1617,8 @@ void parse_environment(Parser & p, ostream & os, bool 
outer,
                }
                // save the language in the context so that it is
                // handled by parse_text
-               parent_context.font.language = preamble.polyglossia2lyx(name);
+               parent_context.font.language =
+                       
preamble.polyglossia2lyx(fromPolyglossiaEnvironment(name));
                parse_text(p, os, FLAG_END, outer, parent_context);
                // Just in case the environment is empty
                parent_context.extra_stuff.erase();
@@ -3324,7 +3337,6 @@ void parse_text(Parser & p, ostream & os, unsigned flags, 
bool outer,
                        continue;
                }
 
-
                // Starred section headings
                // Must attempt to parse "Section*" before "Section".
                if ((p.next_token().asInput() == "*") &&
diff --git a/status.23x b/status.23x
index 4844c19..bfeef26 100644
--- a/status.23x
+++ b/status.23x
@@ -96,9 +96,10 @@ What's new
 
 * TEX2LYX
 
--  Consider required modules when checking for layout definitions in modules
-   (bug 11156).
+- Consider required modules when checking for layout definitions in modules
+  (bug 11156).
 
+- Fix import of Arabic polyglossia environment (part of  bug 10111).
 
 
 * ADVANCED FIND AND REPLACE

Reply via email to