]> git.lyx.org Git - lyx.git/blobdiff - src/Converter.cpp
cmake: remove 2.8 warning
[lyx.git] / src / Converter.cpp
index 2b83b3d479f46e9537bef98d8797f7b41b488f42..0f0f4b44eb77090b3085723e345fb08861f7501a 100644 (file)
@@ -194,6 +194,10 @@ void Converters::add(string const & from, string const & to,
        if (converter.latex
            && (latex_command_.empty() || converter.latex_flavor == "latex"))
                latex_command_ = subst(command, token_from, "");
+       // Similarly, set xelatex_command to xelatex.
+       if (converter.latex
+           && (xelatex_command_.empty() || converter.latex_flavor == "xelatex"))
+               xelatex_command_ = subst(command, token_from, "");
 
        if (it == converterlist_.end()) {
                converterlist_.push_back(converter);
@@ -397,9 +401,12 @@ bool Converters::convert(Buffer const * buffer,
                } else {
                        if (conv.need_aux && !run_latex
                            && !latex_command_.empty()) {
-                               LYXERR(Debug::FILES, "Running " << latex_command_
+                               string const command = (buffer && buffer->params().useNonTeXFonts) ?
+                                       xelatex_command_ : latex_command_;
+                               LYXERR(Debug::FILES, "Running " << command
                                        << " to update aux file");
-                               runLaTeX(*buffer, latex_command_, runparams, errorList);
+                               if (!runLaTeX(*buffer, command, runparams, errorList))
+                                       return false;
                        }
 
                        // FIXME UNICODE
@@ -684,43 +691,14 @@ Converters::getReachableTo(string const & target, bool const clear_visited)
 
 vector<Format const *> const
 Converters::getReachable(string const & from, bool const only_viewable,
-                        bool const clear_visited)
+                        bool const clear_visited, set<string> const & excludes)
 {
-       vector<int> const & reachables =
-               G_.getReachable(formats.getNumber(from),
-                               only_viewable,
-                               clear_visited);
-
-       return intToFormat(reachables);
-}
+       set<int> excluded_numbers;;
 
-
-vector<Format const *> const
-Converters::getReachable(string const & from, bool const only_viewable,
-                        bool const clear_visited, string const & exclude)
-{
-       vector<int> const & reachables =
-               G_.getReachable(formats.getNumber(from),
-                               only_viewable,
-                               clear_visited,
-                               formats.getNumber(exclude));
-
-       return intToFormat(reachables);
-}
-
-
-vector<Format const *> const
-Converters::getReachable(string const & from, bool const only_viewable,
-                        bool const clear_visited, vector<string> const & excludes)
-{
-       vector<int> excluded_numbers(excludes.size());
-
-       vector<string>::const_iterator sit = excludes.begin();
-       vector<string>::const_iterator const end = excludes.end();
-       vector<int>::iterator it = excluded_numbers.begin();
-       for ( ; sit != end; ++sit, ++it) {
-               *it = formats.getNumber(*sit);
-       }
+       set<string>::const_iterator sit = excludes.begin();
+       set<string>::const_iterator const end = excludes.end();
+       for (; sit != end; ++sit)
+               excluded_numbers.insert(formats.getNumber(*sit));
 
        vector<int> const & reachables =
                G_.getReachable(formats.getNumber(from),