From: Uwe Stöhr Date: Fri, 28 Oct 2011 12:37:59 +0000 (+0000) Subject: tex2lyx/preamble.cpp: fix bug #7861 and #7858 X-Git-Tag: 2.1.0beta1~2454 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=b8a8d5052f88310874be5a6dbb8c5309db518638;p=lyx.git tex2lyx/preamble.cpp: fix bug #7861 and #7858 git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40050 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/tex2lyx/preamble.cpp b/src/tex2lyx/preamble.cpp index e31a2a8252..44822ba158 100644 --- a/src/tex2lyx/preamble.cpp +++ b/src/tex2lyx/preamble.cpp @@ -552,8 +552,12 @@ void handle_package(Parser &p, string const & name, string const & opts, else if (name == "babel") { h_language_package = "default"; - // we have to do nothing if babel is loaded without any options, otherwise - // we would pollute the preamble with this call in every roundtrip + // One might think we would have to do nothing if babel is loaded + // without any options to prevent pollution of the preamble with this + // babel call in every roundtrip. + // But the user could have defined babel-specific things afterwards. So + // we need to keep it in the preamble to prevent cases like bug #7861. + h_preamble << "\\usepackage{babel}\n"; if (!opts.empty()) { // check if more than one option was used - used later for inputenc // in case inputenc is parsed before babel, set the encoding to auto @@ -566,7 +570,7 @@ void handle_package(Parser &p, string const & name, string const & opts, // last language in the documentclass options is used. handle_opt(options, known_languages, h_language); delete_opt(options, known_languages); - } + } } else if (name == "fontenc") { @@ -575,7 +579,7 @@ void handle_package(Parser &p, string const & name, string const & opts, * but this makes the document less portable, so I skip it: if (h_fontencoding == lyxrc.fontenc) h_fontencoding = "global"; - */ + */ options.clear(); }