From: Juergen Spitzmueller Date: Mon, 10 Apr 2023 08:20:11 +0000 (+0200) Subject: Inset::forceLTR() only determines whether explicit switches are needed X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2abde5d16254e8aac29e344442b09e6272000f13;p=features.git Inset::forceLTR() only determines whether explicit switches are needed (as opposed to InsetLayout::forceLTR()). So properly set this for ERT and remove downstream special casing --- diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index c332ab0ec1..3ec79d5c33 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -1100,10 +1100,7 @@ void Paragraph::Private::latexInset(BufferParams const & bparams, // babel with Xe/LuaTeX does not need a switch // and \L is not defined there. && (!runparams.isFullUnicode() || !runparams.use_babel) - && running_font.isRightToLeft() - // ERT is an exception, it should be output with no - // decorations at all - && inset->lyxCode() != ERT_CODE) { + && running_font.isRightToLeft()) { if (runparams.use_polyglossia) { // (lua)bidi // Displayed environments go in an LTR environment diff --git a/src/insets/InsetERT.h b/src/insets/InsetERT.h index 72220d07d0..8000c2cac4 100644 --- a/src/insets/InsetERT.h +++ b/src/insets/InsetERT.h @@ -36,6 +36,9 @@ public: static CollapseStatus string2params(std::string const &); /// static std::string params2string(CollapseStatus); + /// Do NOT force inset into LTR environment if surroundings are RTL + /// even though insetlayout has (and should have) forceltr true + bool forceLTR(OutputParams const &) const override { return false; } std::string contextMenuName() const override { return "context-ert"; }