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

Reply via email to