commit 5d13d8c78372c1cd5a0f6c3f451bacac55015cb3
Author: Juergen Spitzmueller <sp...@lyx.org>
Date:   Sat Sep 8 12:50:42 2018 +0200

    Amend 2d4ac90fd20eac
    
    Properly close local language switch.
    
    (cherry picked from commit 11163359772db1ca80dccde5087f55686b9da76d)
---
 src/output_latex.cpp |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index dbddb6c..1cdb6dd 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -835,9 +835,11 @@ void TeXOnePar(Buffer const & buf,
        // Also, if an RTL language is set via environment in polyglossia,
        // only a nested \\text<lang> command will reset the direction for LTR
        // languages (see # 10111).
+       bool const pg_rtl_env =
+               use_polyglossia && outer_language->rightToLeft() && 
!par_language->rightToLeft();
        bool const localswitch = text.inset().forceLocalFontSwitch()
                        || (using_begin_end && text.inset().forcePlainLayout())
-                       || (use_polyglossia && outer_language->rightToLeft() && 
!par_language->rightToLeft());
+                       || pg_rtl_env;
        if (localswitch) {
                lang_begin_command = use_polyglossia ?
                            "\\text$$lang$$opts{" : 
lyxrc.language_command_local;
@@ -1178,7 +1180,8 @@ void TeXOnePar(Buffer const & buf,
                                                && style != nextpar->layout())))
                                    || (atSameLastLangSwitchDepth(state)
                                        && state->lang_switch_depth_.size()
-                                       && cur_lang != par_lang))
+                                       && cur_lang != par_lang)
+                                   || pg_rtl_env)
                                {
                                        if (using_begin_end && !localswitch)
                                                os << breakln;

Reply via email to