The branch, master, has been updated. - Log -----------------------------------------------------------------
commit f42c9e50df505f7149e40f332f820e22c8e2c987 Author: Juergen Spitzmueller <sp...@lyx.org> Date: Sat Jun 23 13:50:40 2012 +0200 fix bug #8211: \setotherlanguage not set for non-babel languages diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 11c3d54..283ff71 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -1375,7 +1375,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, bool const use_polyglossia = features.usePolyglossia(); bool const global = lyxrc.language_global_options; if (use_babel || (use_polyglossia && global)) { - language_options << features.getLanguages(); + language_options << features.getBabelLanguages(); if (!language->babel().empty()) { if (!language_options.str().empty()) language_options << ','; diff --git a/src/Font.cpp b/src/Font.cpp index 46cba97..9e8375c 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -701,9 +701,10 @@ void Font::validate(LaTeXFeatures & features) const // FIXME: Do something for background and soul package? - if (lang_->babel() != doc_language->babel() && - lang_ != ignore_language && - lang_ != latex_language) + if (((features.usePolyglossia() && lang_->polyglossia() != doc_language->polyglossia()) + || (features.useBabel() && lang_->babel() != doc_language->babel())) + && lang_ != ignore_language + && lang_ != latex_language) { features.useLanguage(lang_); LYXERR(Debug::LATEX, "Found language " << lang_->lang()); diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index 3782600..e86dc15 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -451,7 +451,7 @@ void LaTeXFeatures::useFloat(string const & name, bool subfloat) void LaTeXFeatures::useLanguage(Language const * lang) { - if (!lang->babel().empty()) + if (!lang->babel().empty() || !lang->polyglossia().empty()) UsedLanguages_.insert(lang); if (!lang->requires().empty()) require(lang->requires()); @@ -503,16 +503,21 @@ bool LaTeXFeatures::hasPolyglossiaExclusiveLanguages() const } -string LaTeXFeatures::getLanguages() const +string LaTeXFeatures::getBabelLanguages() const { ostringstream languages; + bool first = true; LanguageList::const_iterator const begin = UsedLanguages_.begin(); for (LanguageList::const_iterator cit = begin; cit != UsedLanguages_.end(); ++cit) { - if (cit != begin) + if ((*cit)->babel().empty()) + continue; + if (!first) languages << ','; + else + first = false; languages << (*cit)->babel(); } return languages.str(); diff --git a/src/LaTeXFeatures.h b/src/LaTeXFeatures.h index 7b1f51b..ed824d8 100644 --- a/src/LaTeXFeatures.h +++ b/src/LaTeXFeatures.h @@ -110,7 +110,7 @@ public: /// check if a language is supported only by polyglossia bool hasPolyglossiaExclusiveLanguages() const; /// - std::string getLanguages() const; + std::string getBabelLanguages() const; /// std::map<std::string, std::string> getPolyglossiaLanguages() const; /// ----------------------------------------------------------------------- Summary of changes: src/BufferParams.cpp | 2 +- src/Font.cpp | 7 ++++--- src/LaTeXFeatures.cpp | 11 ++++++++--- src/LaTeXFeatures.h | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) hooks/post-receive -- The LyX Source Repository