When deciding whether to switch encoding or not, the "fragileness" of
the enclosing environment (rather than that of the actual one) should
be taken into account, as we already account for the current "fragility"
by outputting the encoding switch just before switching environment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33882
a592a061-630c-0410-9148-
cb99ea01b6c8
Layout const style = text.inset().forcePlainLayout() ?
bparams.documentClass().plainLayout() : pit->layout();
Layout const style = text.inset().forcePlainLayout() ?
bparams.documentClass().plainLayout() : pit->layout();
- runparams.moving_arg |= style.needprotect;
-
// This paragraph's language
Language const * const par_language = pit->getParLanguage(bparams);
// The document's language
// This paragraph's language
Language const * const par_language = pit->getParLanguage(bparams);
// The document's language
// Look ahead for future encoding changes.
// We try to output them at the beginning of the paragraph,
// since the \inputencoding command is not allowed e.g. in
// Look ahead for future encoding changes.
// We try to output them at the beginning of the paragraph,
// since the \inputencoding command is not allowed e.g. in
+ // sections. For this reason we only set runparams.moving_arg
+ // after checking for the encoding change, otherwise the
+ // change would be always avoided by switchEncoding().
for (pos_type i = 0; i < pit->size(); ++i) {
char_type const c = pit->getChar(i);
Encoding const * const encoding =
for (pos_type i = 0; i < pit->size(); ++i) {
char_type const c = pit->getChar(i);
Encoding const * const encoding =
+ runparams.moving_arg |= style.needprotect;
Encoding const * const prev_encoding = runparams.encoding;
bool const useSetSpace = bparams.documentClass().provides("SetSpace");
Encoding const * const prev_encoding = runparams.encoding;
bool const useSetSpace = bparams.documentClass().provides("SetSpace");