]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeX.C
update no.po
[lyx.git] / src / LaTeX.C
index 9324e66f23fac1bfaf7d943d744e8854b812b31f..797b316b56b214f90b141ecb75e9abfcce09fb3d 100644 (file)
@@ -32,6 +32,7 @@
 #include "support/path.h"
 
 #include <boost/regex.hpp>
+#include "BoostFormat.h"
 
 #include <fstream>
 #include <cstdio>  // sscanf
@@ -47,7 +48,12 @@ using std::vector;
 using std::set;
 using boost::regex;
 using boost::regex_match;
+
+#ifndef USE_INCLUDED_STRING
 using boost::smatch;
+#else
+using boost::cmatch;
+#endif
 
 // TODO: in no particular order
 // - get rid of the extern BufferList and the call to
@@ -104,18 +110,18 @@ void LaTeX::deleteFilesOnError() const
 
        // but the reason for the error might be in a generated file...
 
-       string ofname = OnlyFilename(file);
+       string const ofname = OnlyFilename(file);
 
        // bibtex file
-       string bbl = ChangeExtension(ofname, ".bbl");
+       string const bbl = ChangeExtension(ofname, ".bbl");
        lyx::unlink(bbl);
 
        // makeindex file
-       string ind = ChangeExtension(ofname, ".ind");
+       string const ind = ChangeExtension(ofname, ".ind");
        lyx::unlink(ind);
 
        // Also remove the aux file
-       string aux = ChangeExtension(ofname, ".aux");
+       string const aux = ChangeExtension(ofname, ".aux");
        lyx::unlink(aux);
 }
 
@@ -130,7 +136,7 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
        int scanres = NO_ERRORS;
        unsigned int count = 0; // number of times run
        num_errors = 0; // just to make sure.
-       const unsigned int MAX_RUN = 6;
+       unsigned int const MAX_RUN = 6;
        DepTable head; // empty head
        bool rerun = false; // rerun requested
 
@@ -197,8 +203,12 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
        lyxerr[Debug::LATEX] << "Run #" << count << endl;
        if (lfun) {
                ostringstream str;
-               str << _("LaTeX run number") << ' ' << count;
-               lfun->dispatch(FuncRequest(LFUN_MESSAGE, str.str().c_str()));
+#if USE_BOOST_FORMAT
+               str << boost::format(_("LaTeX run number %1$d")) % count;
+#else
+               str << _("LaTeX run number ") << count;
+#endif
+               lfun->dispatch(FuncRequest(LFUN_MESSAGE, STRCONV(str.str())));
        }
 
        this->operator()();
@@ -282,9 +292,13 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
                        << "Run #" << count << endl;
                if (lfun) {
                        ostringstream str;
-                       str << _("LaTeX run number") << ' ' << count;
+#if USE_BOOST_FORMAT
+                       str << boost::format(_("LaTeX run number %1$d")) % count;
+#else
+                       str << _("LaTeX run number ") << count;
+#endif
                        // check lyxstring string stream and gcc 3.1 before fixing
-                       lfun->dispatch(FuncRequest(LFUN_MESSAGE, str.str().c_str()));
+                       lfun->dispatch(FuncRequest(LFUN_MESSAGE, STRCONV(str.str())));
                }
 
                this->operator()();
@@ -339,8 +353,12 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
                lyxerr[Debug::LATEX] << "Run #" << count << endl;
                if (lfun) {
                        ostringstream str;
-                       str << _("LaTeX run number") << ' ' << count;
-                       lfun->dispatch(FuncRequest(LFUN_MESSAGE, str.str().c_str()));
+#if USE_BOOST_FORMAT
+                       str << boost::format(_("LaTeX run number %1$d")) % count;
+#else
+                       str << _("LaTeX run number ") << count;
+#endif
+                       lfun->dispatch(FuncRequest(LFUN_MESSAGE, STRCONV(str.str())));
                }
 
                this->operator()();
@@ -399,7 +417,7 @@ LaTeX::scanAuxFiles(string const & file)
        result.push_back(scanAuxFile(file));
 
        for (int i = 1; i < 1000; ++i) {
-               string file2 = ChangeExtension(file, "") + "." + tostr(i)
+               string file2 = ChangeExtension(file, "") + '.' + tostr(i)
                        + ".aux";
                FileInfo fi(file2);
                if (!fi.exist())
@@ -432,9 +450,13 @@ void LaTeX::scanAuxFile(string const & file, Aux_Info & aux_info)
 
        while (getline(ifs, token)) {
                token = rtrim(token, "\r");
+#ifndef USE_INCLUDED_STRING
                smatch sub;
-               if (regex_match(token, sub, reg1)) {
-                       string data = sub.str(1);
+#else
+               cmatch sub;
+#endif
+               if (regex_match(STRCONV(token), sub, reg1)) {
+                       string data = STRCONV(sub.str(1));
                        while (!data.empty()) {
                                string citation;
                                data = split(data, citation, ',');
@@ -442,28 +464,28 @@ void LaTeX::scanAuxFile(string const & file, Aux_Info & aux_info)
                                                     << citation << endl;
                                aux_info.citations.insert(citation);
                        }
-               } else if (regex_match(token, sub, reg2)) {
-                       string data = sub.str(1);
+               } else if (regex_match(STRCONV(token), sub, reg2)) {
+                       string data = sub.STRCONV(str(1));
                        // data is now all the bib files separated by ','
                        // get them one by one and pass them to the helper
                        while (!data.empty()) {
                                string database;
                                data = split(data, database, ',');
                                database = ChangeExtension(database, "bib");
-                               lyxerr[Debug::LATEX] << "Bibtex database: `"
-                                                    << database << "'" << endl;
+                               lyxerr[Debug::LATEX] << "BibTeX database: `"
+                                                    << database << '\'' << endl;
                                aux_info.databases.insert(database);
                        }
-               } else if (regex_match(token, sub, reg3)) {
-                       string style = sub.str(1);
+               } else if (regex_match(STRCONV(token), sub, reg3)) {
+                       string style = STRCONV(sub.str(1));
                        // token is now the style file
                        // pass it to the helper
                        style = ChangeExtension(style, "bst");
-                       lyxerr[Debug::LATEX] << "Bibtex style: `"
-                                            << style << "'" << endl;
+                       lyxerr[Debug::LATEX] << "BibTeX style: `"
+                                            << style << '\'' << endl;
                        aux_info.styles.insert(style);
-               } else if (regex_match(token, sub, reg4)) {
-                       string file2 = sub.str(1);
+               } else if (regex_match(STRCONV(token), sub, reg4)) {
+                       string const file2 = STRCONV(sub.str(1));
                        scanAuxFile(file2, aux_info);
                }
        }
@@ -567,7 +589,7 @@ int LaTeX::scanLogFile(TeXErrors & terr)
                                        << "We should rerun." << endl;
                                retval |= RERUN;
                        }
-               } else if (prefixIs(token, "(")) {
+               } else if (token[0] == '(') {
                        if (contains(token, "Rerun LaTeX") ||
                            contains(token, "Rerun to get")) {
                                // Used by natbib
@@ -683,17 +705,21 @@ void LaTeX::deplog(DepTable & head)
                token = rtrim(token, "\r");
                if (token.empty()) continue;
 
+#ifndef USE_INCLUDED_STRING
                smatch sub;
-               if (regex_match(token, sub, reg1)) {
-                       foundfile = sub.str(1);
-               } else if (regex_match(token, sub, reg2)) {
-                       foundfile = sub.str(1);
-               } else if (regex_match(token, sub, reg3)) {
-                       foundfile = sub.str(1);
-               } else if (regex_match(token, sub, reg4)) {
-                       foundfile = sub.str(1);
-               } else if (regex_match(token, sub, reg5)) {
-                       foundfile = sub.str(1);
+#else
+               cmatch sub;
+#endif
+               if (regex_match(STRCONV(token), sub, reg1)) {
+                       foundfile = STRCONV(sub.str(1));
+               } else if (regex_match(STRCONV(token), sub, reg2)) {
+                       foundfile = STRCONV(sub.str(1));
+               } else if (regex_match(STRCONV(token), sub, reg3)) {
+                       foundfile = STRCONV(sub.str(1));
+               } else if (regex_match(STRCONV(token), sub, reg4)) {
+                       foundfile = STRCONV(sub.str(1));
+               } else if (regex_match(STRCONV(token), sub, reg5)) {
+                       foundfile = STRCONV(sub.str(1));
                } else {
                        continue;
                }
@@ -726,7 +752,7 @@ void LaTeX::deplog(DepTable & head)
                // (2) foundfile is in the tmpdir
                //     insert it into head
                else if (FileInfo(OnlyFilename(foundfile)).exist()) {
-                       if (regex_match(foundfile, unwanted)) {
+                       if (regex_match(STRCONV(foundfile), unwanted)) {
                                lyxerr[Debug::DEPEND]
                                        << "We don't want "
                                        << OnlyFilename(foundfile)