From: Juergen Spitzmueller Date: Sun, 6 Oct 2024 14:23:05 +0000 (+0200) Subject: Protect \inputencoding in i18npreamble X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=a16e4b206a429ad2ef562446b2e535779e4905e5;p=lyx.git Protect \inputencoding in i18npreamble as it might end up in a moving argument (\lstlistlistingname in book classes). See https://marc.info/?l=lyx-devel&m=172812937932740 --- diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index 7ce7966bba..dc939f0921 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -2040,7 +2040,9 @@ docstring const i18npreamble(docstring const & templ, Language const * lang, else if (ascii_fallback) translated = to_ascii(testenc->latexString(name).first); else - translated = "\\inputencoding{" + texenc + "}" + // We need to \protect this as it can end up in a moving argument + // (\lstlistlistingname in book classes goes to \@mkboth via \contentsname) + translated = "\\protect\\inputencoding{" + texenc + "}" + s1 + langenc + s2 + to_utf8(name) + s1 + bufenc + s2; preamble = subst(preamble, sub.str(), translated);