Claus sent me more patches against 1.1.6fix4 to make it work with cygwin and I integratd one fix to 1.2.0cvs. First a small question, probably to Lars: I have to call popen with "rb" under cygwin, but linux does not seem to like that. Therefore, I had to keep a #ifdef __CYGWIN__ in do_popen, which I do not like. Therefore, some code has to be moved to the os:: class. What should I do?
- create a os::popen(const string &), which just encapsulates popen - move do_popen to os::, but therefore duplicate code in 3 different files. - maybe you have a great idea on how to do that:) Claus, what happens when the 'b' is not there? Maybe there are just some '\r' that we can remove from the output of the command? The good news is that, with those changes, most of Claus' patch to 1.1.6fix4 is integrated in 1.2.0cvs, AFAIK. What remains is the following one-liner. Could someone (Lars, Dekel?) have a quick look and confirm whether this one can go in? JMarc
diff -urN lyx-1.1.6fix4/src/LaTeX.C wlyx-1.1.6fix4/src/LaTeX.C --- lyx-1.1.6fix4/src/LaTeX.C Thu Nov 29 11:14:32 2001 +++ wlyx-1.1.6fix4/src/LaTeX.C Thu Jan 17 11:08:08 2002 @@ -632,10 +637,14 @@ string const logfile = OnlyFilename(ChangeExtension(file, ".log")); - LRegex reg1("\\)* *\\(([^ )]+).*"); +// Claus Hentschel: Inserted curly brace in reg1 for correct pdf depency entry + LRegex reg1("\\)* *\\(([^ ){]+).*"); LRegex reg2("File: ([^ ]+).*"); LRegex reg3("No file ([^ ]+)\\..*"); LRegex reg4("\\\\openout[0-9]+.*=.*`([^ ]+)'\\..*"); LRegex reg5("Writing index file ([^ ]+).*"); LRegex unwanted("^.*\\.(aux|log|dvi|bbl|ind|glo)$"); ifstream ifs(logfile.c_str());