Fix issue with language switch in Arguments insets

In some insets such as Arguments, a local language switch has to be
used. However, if the language inside the inset was set to be equal
to the outer language, the code decided not to switch language. But
then got confused and tried to close a switch that was never opened.
This patch forces the switch even if the outer language is the same.

(cherry picked from commit ce4f39d414)
This commit is contained in:
Enrico Forestieri 2017-10-11 09:13:11 +02:00
parent 2af69629cb
commit b79d07f4a5

View File

@ -882,7 +882,7 @@ void TeXOnePar(Buffer const & buf,
}
// With CJK, the CJK tag has to be closed first (see below)
if (runparams.encoding->package() != Encoding::CJK
&& par_lang != openLanguageName(state)
&& (par_lang != openLanguageName(state) || localswitch)
&& !par_lang.empty()) {
string bc = use_polyglossia ?
getPolyglossiaBegin(lang_begin_command, par_lang, par_language->polyglossiaOpts())