]> git.lyx.org Git - features.git/commitdiff
a couple of small fixes + a fix for the error in bibtex files problem
authorLars Gullik Bjønnes <larsbj@gullik.org>
Fri, 28 Apr 2000 20:03:21 +0000 (20:03 +0000)
committerLars Gullik Bjønnes <larsbj@gullik.org>
Fri, 28 Apr 2000 20:03:21 +0000 (20:03 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@706 a592a061-630c-0410-9148-cb99ea01b6c8

ChangeLog
src/LaTeX.C
src/LaTeX.h
src/lyx_cb.C
src/lyx_main.C

index 3e35fef347f4f4931590a481714c7d3f85400ccc..0e42f40eb4648e52537cac8d00b3ff123597a243 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2000-04-28  Lars Gullik Bjønnes  <larsbj@lyx.org>
+
+       * src/lyx_main.C (easyParse): use lyxerr instead of cerr.
+
+       * src/lyx_cb.C: add using std::reverse;
+
+       * src/LaTeX.C (run): on error always run deleteFilesOnError before
+       returning.
+
+       * src/LaTeX.[Ch] (deleteFilesOnError): new method. unlinks some
+       selected files. Should fix repeated errors from generated files.
+
 2000-04-27  Dekel Tsur  <dekel@math.tau.ac.il>
 
        * src/lyx_cb.C (TocUpdateCB): Reverse strings for Hebrew paragraphs
index fb15bb739a0c099f079852500fb08859f1fc00b0..eb552063a915630e3f8ece988d6dce8bc7ba3314 100644 (file)
@@ -98,6 +98,31 @@ LaTeX::LaTeX(string const & latex, string const & f, string const & p)
 }
 
 
+void LaTeX::deleteFilesOnError() const
+{
+       // currently just a dummy function.
+
+       // What files do we have to delete?
+
+       // This will at least make latex do all the runs
+       ::unlink(depfile.c_str());
+
+       // but the reason for the error might be in a generated file...
+
+       // bibtex file
+       string bbl = ChangeExtension(file, ".bbl", true);
+       ::unlink(bbl.c_str());
+
+       // makeindex file
+       string ind = ChangeExtension(file, ".ind", true);
+       ::unlink(ind.c_str());
+       
+       // Also remove the aux file
+       string aux = ChangeExtension(file, ".aux", true);
+       ::unlink(aux.c_str());
+}
+
+
 int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
        // We know that this function will only be run if the lyx buffer
        // has been changed. We also know that a newly written .tex file
@@ -151,7 +176,11 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                        minib->Store();
                        this->operator()();
                        scanres = scanLogFile(terr);
-                       if (scanres & LaTeX::ERRORS) return scanres; // return on error
+                       if (scanres & LaTeX::ERRORS) {
+                               deleteFilesOnError();
+                               return scanres; // return on error
+                       }
+                       
                        run_bibtex = scanAux(head);
                        if (run_bibtex)
                                lyxerr[Debug::DEPEND]
@@ -164,6 +193,7 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                ++count;
                lyxerr[Debug::DEPEND]
                        << "Dependency file does not exist" << endl;
+               
                lyxerr[Debug::LATEX]
                        << "Run #" << count << endl;
                head.insert(file, true);
@@ -171,7 +201,11 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                minib->Store();
                this->operator()();
                scanres = scanLogFile(terr);
-               if (scanres & LaTeX::ERRORS) return scanres; // return on error
+               if (scanres & LaTeX::ERRORS) {
+                       deleteFilesOnError();
+                       return scanres; // return on error
+               }
+               
        }
 
        // update the dependencies.
@@ -232,7 +266,11 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                minib->Store();
                this->operator()();
                scanres = scanLogFile(terr);
-               if (scanres & LaTeX::ERRORS) return scanres; // return on error
+               if (scanres & LaTeX::ERRORS) {
+                       deleteFilesOnError();
+                       return scanres; // return on error
+               }
+               
                // update the depedencies
                deplog(head); // reads the latex log
                head.update();
@@ -278,7 +316,11 @@ int LaTeX::run(TeXErrors & terr, MiniBuffer * minib)
                minib->Store();
                this->operator()();
                scanres = scanLogFile(terr);
-               if (scanres & LaTeX::ERRORS) return scanres; // return on error
+               if (scanres & LaTeX::ERRORS) {
+                       deleteFilesOnError();
+                       return scanres; // return on error
+               }
+               
                // keep this updated
                head.update();
        }
index c9f5c9f1ce5578974869283684beb6eac868e5d9..5af4adbebacabde70133da972b8df5ff5cf4e6b3 100644 (file)
@@ -180,6 +180,9 @@ protected:
        
        ///
        bool runBibTeX(string const &, DepTable &);
+
+       ///
+       void deleteFilesOnError() const;
        
        ///
        string cmd;
index cefd98ae82d70d3e977905696ae9dba55a66080a..7ba99c9ecdaf0e34906d3ffa559163aac33b6f34 100644 (file)
@@ -55,6 +55,7 @@ using std::cout;
 using std::ios;
 using std::istream_iterator;
 using std::pair;
+using std::reverse;
 
 extern Combox * combo_language;
 extern Combox * combo_language2;
@@ -3239,7 +3240,8 @@ extern "C" void TocUpdateCB(FL_OBJECT *, long)
                                ++i;
                        }
                        if (par->isRightToLeftPar())
-                               reverse(line+pos0,line+pos);
+                               reverse(line + pos0, line + pos);
+                       
                        line[pos] = '\0';
                        fl_add_browser_line(fd_form_toc->browser_toc, line);
                        
index 500200cfd67ccb82813fc4347b77a8cb7809c963..37a7e05dc217c838f552df71c635fcd6a0ff1f67 100644 (file)
@@ -602,7 +602,8 @@ bool LyX::easyParse(int * argc, char * argv[])
                                --i; // After shift, check this number again.
        
                                batch_command = "buffer-import " + type + " " + file;
-                               cerr << "batch_command: " << batch_command << endl;
+                               lyxerr << "batch_command: "
+                                      << batch_command << endl;
 
                        } else
                                lyxerr << _("Missing type [eg latex, "