commit 9326edbd1b1cebcf7f42ae67609fefc98fbfc3b0
Author: Richard Heck <rgh...@lyx.org>
Date:   Fri Feb 23 23:59:40 2018 -0500

    Fix bug #10917, and some for loops.
---
 src/LaTeXFeatures.cpp |   59 ++++++++++++++++++++++--------------------------
 1 files changed, 27 insertions(+), 32 deletions(-)

diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp
index 281d30d..85f3009 100644
--- a/src/LaTeXFeatures.cpp
+++ b/src/LaTeXFeatures.cpp
@@ -831,7 +831,7 @@ vector<string> LaTeXFeatures::getBabelExclusiveLanguages() 
const
 
 string LaTeXFeatures::getBabelLanguages() const
 {
-       ostringstream languages;
+       ostringstream langs;
 
        bool first = true;
        LanguageList::const_iterator const begin = UsedLanguages_.begin();
@@ -841,27 +841,27 @@ string LaTeXFeatures::getBabelLanguages() const
                if ((*cit)->babel().empty())
                        continue;
                if (!first)
-                       languages << ',';
+                       langs << ',';
                else
                        first = false;
-               languages << (*cit)->babel();
+               langs << (*cit)->babel();
        }
-       return languages.str();
+       return langs.str();
 }
 
 
 set<string> LaTeXFeatures::getPolyglossiaLanguages() const
 {
-       set<string> languages;
+       set<string> langs;
 
        LanguageList::const_iterator const begin = UsedLanguages_.begin();
        for (LanguageList::const_iterator cit = begin;
             cit != UsedLanguages_.end();
             ++cit) {
                // We do not need the variants here
-               languages.insert((*cit)->polyglossia());
+               langs.insert((*cit)->polyglossia());
        }
-       return languages;
+       return langs;
 }
 
 
@@ -870,39 +870,34 @@ set<string> LaTeXFeatures::getEncodingSet(string const & 
doc_encoding) const
        // This does only find encodings of languages supported by babel, but
        // that does not matter since we don't have a language with an
        // encoding supported by inputenc but without babel support.
-       set<string> encodings;
-       LanguageList::const_iterator it  = UsedLanguages_.begin();
-       LanguageList::const_iterator end = UsedLanguages_.end();
-       for (; it != end; ++it)
-               if ((*it)->encoding()->latexName() != doc_encoding &&
-                   ((*it)->encoding()->package() == Encoding::inputenc
-                    || (*it)->encoding()->package() == Encoding::japanese))
-                       encodings.insert((*it)->encoding()->latexName());
-       return encodings;
+       set<string> encs;
+       for (auto const & lang : UsedLanguages_)
+               if (lang->encoding()->latexName() != doc_encoding &&
+                   (lang->encoding()->package() == Encoding::inputenc
+                    || lang->encoding()->package() == Encoding::japanese))
+                       encs.insert(lang->encoding()->latexName());
+       return encs;
 }
 
 
-void LaTeXFeatures::getFontEncodings(vector<string> & encodings) const
+void LaTeXFeatures::getFontEncodings(vector<string> & encs) const
 {
        // these must be loaded if glyphs of this script are used
        // unless a language providing them is used in the document
        if (mustProvide("textgreek")
-           && find(encodings.begin(), encodings.end(), "LGR") == 
encodings.end())
-               encodings.insert(encodings.begin(), "LGR");
+           && find(encs.begin(), encs.end(), "LGR") == encs.end())
+               encs.insert(encs.begin(), "LGR");
        if (mustProvide("textcyr")
-           && find(encodings.begin(), encodings.end(), "T2A") == 
encodings.end())
-               encodings.insert(encodings.begin(), "T2A");
-
-       LanguageList::const_iterator it  = UsedLanguages_.begin();
-       LanguageList::const_iterator end = UsedLanguages_.end();
-       for (; it != end; ++it)
-               if (!(*it)->fontenc().empty()
-                   && ascii_lowercase((*it)->fontenc()) != "none") {
-                       vector<string> extraencs = 
getVectorFromString((*it)->fontenc());
-                       vector<string>::const_iterator fit = extraencs.begin();
-                       for (; fit != extraencs.end(); ++fit) {
-                               if (find(encodings.begin(), encodings.end(), 
*fit) == encodings.end())
-                                       encodings.insert(encodings.begin(), 
*fit);
+           && find(encs.begin(), encs.end(), "T2A") == encs.end())
+               encs.insert(encs.begin(), "T2A");
+
+       for (auto const & lang : UsedLanguages_)
+               if (!lang->fontenc().empty()
+                   && ascii_lowercase(lang->fontenc()) != "none") {
+                       vector<string> extraencs = 
getVectorFromString(lang->fontenc());
+                       for (auto const & extra : extraencs) {
+                               if (find(encs.begin(), encs.end(), extra) == 
encs.end())
+                                       encs.insert(encs.begin(), extra);
                        }
                }
 }

Reply via email to