Do not push options to \babelprovide which do not make sense there

Should fix a couple of tests
This commit is contained in:
Jürgen Spitzmüller 2024-09-10 13:58:33 +02:00
parent e1efc70959
commit 498135ef38
2 changed files with 7 additions and 5 deletions

View File

@ -3532,7 +3532,7 @@ string BufferParams::babelCall(LaTeXFeatures const & features, string lang_opts,
os << "\n\\babelprovide[import"; os << "\n\\babelprovide[import";
if (l == language) if (l == language)
os << ", main"; os << ", main";
if (!babelLangOptions(l->lang()).empty()) if (!babelLangOptions(l->lang(), true).empty())
os << ", " << babelLangOptions(l->lang()); os << ", " << babelLangOptions(l->lang());
os << "]{" << blang << "}"; os << "]{" << blang << "}";
have_mods = true; have_mods = true;
@ -3555,7 +3555,8 @@ string BufferParams::babelCall(LaTeXFeatures const & features, string lang_opts,
} }
if ((bp == 2 && useNonTeXFonts) || have_other_forceprovide) { if ((bp == 2 && useNonTeXFonts) || have_other_forceprovide) {
// Options need to go to \babeprovide // Options need to go to \babeprovide
if (!babelLangOptions(l->lang()).empty()) // but only those set in document settings
if (!babelLangOptions(l->lang(), true).empty())
os << "\n\\babelprovide[" os << "\n\\babelprovide["
<< babelLangOptions(l->lang()) << babelLangOptions(l->lang())
<< "]{" << blang << "}"; << "]{" << blang << "}";
@ -4095,11 +4096,11 @@ string const BufferParams::bibFileEncoding(string const & file) const
} }
string const BufferParams::babelLangOptions(string const & lang) const string const BufferParams::babelLangOptions(string const & lang, bool const onlycust) const
{ {
if (lang_options_babel_.find(lang) == lang_options_babel_.end()) { if (lang_options_babel_.find(lang) == lang_options_babel_.end()) {
Language const * l = languages.getLanguage(lang); Language const * l = languages.getLanguage(lang);
return l ? l->babelOpts() :string(); return (l && !onlycust) ? l->babelOpts() : string();
} }
return lang_options_babel_.find(lang)->second; return lang_options_babel_.find(lang)->second;
} }

View File

@ -343,7 +343,8 @@ public:
/// babel language options /// babel language options
std::map<std::string, std::string> lang_options_babel_; std::map<std::string, std::string> lang_options_babel_;
/// ///
std::string const babelLangOptions(std::string const & lang) const; std::string const babelLangOptions(std::string const & lang,
bool const onlycust = false) const;
/// ///
void setBabelLangOptions(std::string const & lang, std::string const & opts) void setBabelLangOptions(std::string const & lang, std::string const & opts)
{ lang_options_babel_[lang] = opts; } { lang_options_babel_[lang] = opts; }