Author: rgheck
Date: Tue Jun 14 15:39:39 2011
New Revision: 39039
URL: http://www.lyx.org/trac/changeset/39039

Log:
Revert r38746. See http://marc.info/?t=130769382200004&r=1&w=2
for discussion of why. It looks as if something is weird with the
way Qt is handling the environment, at least on some platforms and
with some versions. Here, on F14, with Qt 4.7.x, simply getting and
setting the environment, without changing it, causes scripts such as
epstopdf to fail to start.

The problem is still in trunk.

Modified:
   lyx-devel/branches/BRANCH_2_0_X/src/Buffer.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/Converter.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/Format.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.h
   lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.h
   lyx-devel/branches/BRANCH_2_0_X/src/VCBackend.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiPrefs.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/ui/PrefPathsUi.ui
   lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.h
   lyx-devel/branches/BRANCH_2_0_X/src/support/SystemcallPrivate.h
   lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.h
   lyx-devel/branches/BRANCH_2_0_X/src/support/os.h
   lyx-devel/branches/BRANCH_2_0_X/src/support/os_cygwin.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/support/os_unix.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/support/os_win32.cpp
   lyx-devel/branches/BRANCH_2_0_X/status.20x

Modified: lyx-devel/branches/BRANCH_2_0_X/src/Buffer.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/Buffer.cpp      Tue Jun 14 15:05:10 
2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/Buffer.cpp      Tue Jun 14 15:39:39 
2011        (r39039)
@@ -2028,7 +2028,7 @@
 
                // Execute the command in the background
                Systemcall call;
-               call.startscript(Systemcall::DontWait, command, filePath());
+               call.startscript(Systemcall::DontWait, command);
                break;
        }
 
@@ -2206,8 +2206,7 @@
                                command2 += quoteName(psname);
                                // First run dvips.
                                // If successful, then spool command
-                               res = one.startscript(Systemcall::Wait, command,
-                                                     filePath());
+                               res = one.startscript(Systemcall::Wait, 
command);
 
                                if (res == 0) {
                                        // If there's no GUI, we have to wait 
on this command. Otherwise,
@@ -2215,8 +2214,7 @@
                                        // file, before it can be printed!!
                                        Systemcall::Starttype stype = use_gui ?
                                                Systemcall::DontWait : 
Systemcall::Wait;
-                                       res = one.startscript(stype, command2,
-                                                             filePath());
+                                       res = one.startscript(stype, command2);
                                }
                        } else {
                                // case 2: print directly to a printer
@@ -2225,8 +2223,7 @@
                                // as above....
                                Systemcall::Starttype stype = use_gui ?
                                        Systemcall::DontWait : Systemcall::Wait;
-                               res = one.startscript(stype, command +
-                                               quoteName(dviname), filePath());
+                               res = one.startscript(stype, command + 
quoteName(dviname));
                        }
 
                } else {
@@ -2249,7 +2246,7 @@
                        // as above....
                        Systemcall::Starttype stype = use_gui ?
                                Systemcall::DontWait : Systemcall::Wait;
-                       res = one.startscript(stype, command, filePath());
+                       res = one.startscript(stype, command);
                }
 
                if (res == 0) 

Modified: lyx-devel/branches/BRANCH_2_0_X/src/Converter.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/Converter.cpp   Tue Jun 14 15:05:10 
2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/Converter.cpp   Tue Jun 14 15:39:39 
2011        (r39039)
@@ -307,8 +307,7 @@
                        LYXERR(Debug::FILES, "No converter defined! "
                                   "I use convertDefault.py:\n\t" << command);
                        Systemcall one;
-                       one.startscript(Systemcall::Wait, command, buffer ?
-                                       buffer->filePath() : string());
+                       one.startscript(Systemcall::Wait, command);
                        if (to_file.isReadableFile()) {
                                if (conversionflags & try_cache)
                                        ConverterCache::get().add(orig_from,
@@ -444,15 +443,12 @@
                        int res;
                        if (dummy) {
                                res = one.startscript(Systemcall::DontWait,
-                                       to_filesystem8bit(from_utf8(command)),
-                                       buffer ? buffer->filePath() : string());
+                                       to_filesystem8bit(from_utf8(command)));
                                // We're not waiting for the result, so we 
can't do anything
                                // else here.
                        } else {
                                res = one.startscript(Systemcall::Wait,
-                                               
to_filesystem8bit(from_utf8(command)),
-                                               buffer ? buffer->filePath()
-                                                      : string());
+                                               
to_filesystem8bit(from_utf8(command)));
                                if (!real_outfile.empty()) {
                                        Mover const & mover = getMover(conv.to);
                                        if (!mover.rename(outfile, 
real_outfile))
@@ -472,8 +468,7 @@
                                                " < " + quoteName(infile2 + 
".out") +
                                                " > " + quoteName(logfile);
                                        one.startscript(Systemcall::Wait,
-                                               
to_filesystem8bit(from_utf8(command2)),
-                                               buffer->filePath());
+                                               
to_filesystem8bit(from_utf8(command2)));
                                        if (!scanLog(*buffer, command, 
makeAbsPath(logfile, path), errorList))
                                                return false;
                                }
@@ -617,8 +612,7 @@
 
        // do the LaTeX run(s)
        string const name = buffer.latexName();
-       LaTeX latex(command, runparams, FileName(makeAbsPath(name)),
-                   buffer.filePath());
+       LaTeX latex(command, runparams, FileName(makeAbsPath(name)));
        TeXErrors terr;
        ShowMessage show(buffer);
        latex.message.connect(show);

Modified: lyx-devel/branches/BRANCH_2_0_X/src/Format.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/Format.cpp      Tue Jun 14 15:05:10 
2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/Format.cpp      Tue Jun 14 15:39:39 
2011        (r39039)
@@ -285,7 +285,7 @@
        }
        // viewer is 'auto'
        if (format->viewer() == "auto") {
-               if (os::autoOpenFile(filename.absFileName(), os::VIEW, 
buffer.filePath()))
+               if (os::autoOpenFile(filename.absFileName(), os::VIEW))
                        return true;
                else {
                        Alert::error(_("Cannot view file"),
@@ -320,7 +320,7 @@
        buffer.message(_("Executing command: ") + from_utf8(command));
 
        Systemcall one;
-       one.startscript(Systemcall::DontWait, command, buffer.filePath());
+       one.startscript(Systemcall::DontWait, command);
 
        // we can't report any sort of error, since we aren't waiting
        return true;
@@ -364,7 +364,7 @@
 
        // editor is 'auto'
        if (format->editor() == "auto") {
-               if (os::autoOpenFile(filename.absFileName(), os::EDIT, 
buffer.filePath()))
+               if (os::autoOpenFile(filename.absFileName(), os::EDIT))
                        return true;
                else {
                        Alert::error(_("Cannot edit file"),
@@ -387,7 +387,7 @@
        buffer.message(_("Executing command: ") + from_utf8(command));
 
        Systemcall one;
-       one.startscript(Systemcall::DontWait, command, buffer.filePath());
+       one.startscript(Systemcall::DontWait, command);
 
        // we can't report any sort of error, since we aren't waiting
        return true;

Modified: lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.cpp       Tue Jun 14 15:05:10 
2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.cpp       Tue Jun 14 15:39:39 
2011        (r39039)
@@ -93,8 +93,8 @@
  */
 
 LaTeX::LaTeX(string const & latex, OutputParams const & rp,
-            FileName const & f, string const & p)
-       : cmd(latex), file(f), path(p), runparams(rp)
+            FileName const & f)
+       : cmd(latex), file(f), runparams(rp)
 {
        num_errors = 0;
        if (prefixIs(cmd, "pdf")) { // Do we use pdflatex ?
@@ -421,7 +421,7 @@
                     + quoteName(onlyFileName(file.toFilesystemEncoding()))
                     + " > " + os::nulldev();
        Systemcall one;
-       return one.startscript(Systemcall::Wait, tmp, path);
+       return one.startscript(Systemcall::Wait, tmp);
 }
 
 
@@ -448,7 +448,7 @@
        tmp += quoteName(f);
        tmp += params;
        Systemcall one;
-       one.startscript(Systemcall::Wait, tmp, path);
+       one.startscript(Systemcall::Wait, tmp);
        return true;
 }
 
@@ -464,7 +464,7 @@
        tmp += " -o "
                + onlyFileName(changeExtension(file.toFilesystemEncoding(), 
nls));
        Systemcall one;
-       one.startscript(Systemcall::Wait, tmp, path);
+       one.startscript(Systemcall::Wait, tmp);
        return true;
 }
 
@@ -604,7 +604,7 @@
                tmp += quoteName(onlyFileName(removeExtension(
                                it->aux_file.absFileName())));
                Systemcall one;
-               one.startscript(Systemcall::Wait, tmp, path);
+               one.startscript(Systemcall::Wait, tmp);
        }
        // Return whether bibtex was run
        return result;

Modified: lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.h
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.h Tue Jun 14 15:05:10 2011        
(r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/LaTeX.h Tue Jun 14 15:39:39 2011        
(r39039)
@@ -151,8 +151,7 @@
           path = name of the files original path.
        */
        LaTeX(std::string const & cmd, OutputParams const &,
-             support::FileName const & file,
-             std::string const & path = empty_string());
+             support::FileName const & file);
 
        /// runs LaTeX several times
        int run(TeXErrors &);
@@ -211,9 +210,6 @@
        ///
        support::FileName file;
 
-       ///
-       std::string path;
-
        /// used by scanLogFile
        int num_errors;
 

Modified: lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.cpp       Tue Jun 14 15:05:10 
2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.cpp       Tue Jun 14 15:39:39 
2011        (r39039)
@@ -192,7 +192,6 @@
        { "\\template_path", LyXRC::RC_TEMPLATEPATH },
        { "\\tex_allows_spaces", LyXRC::RC_TEX_ALLOWS_SPACES },
        { "\\tex_expects_windows_paths", LyXRC::RC_TEX_EXPECTS_WINDOWS_PATHS },
-       { "\\texinputs_prefix", LyXRC::RC_TEXINPUTS_PREFIX },
        { "\\thesaurusdir_path", LyXRC::RC_THESAURUSDIRPATH },
        { "\\ui_file", LyXRC::RC_UIFILE },
        { "\\use_converter_cache", LyXRC::RC_USE_CONVERTER_CACHE },
@@ -228,8 +227,6 @@
        bind_file = "cua";
        def_file = "default";
        ui_file = "default";
-       // The current document directory
-       texinputs_prefix = ".";
        // Get printer from the environment. If fail, use default "",
        // assuming that everything is set up correctly.
        printer = getEnv("PRINTER");
@@ -502,10 +499,6 @@
                        lexrc >> tex_allows_spaces;
                        break;
 
-               case RC_TEXINPUTS_PREFIX:
-                       lexrc >> texinputs_prefix;
-                       break;
-
                case RC_KBMAP:
                        lexrc >> use_kbmap;
                        break;
@@ -2221,14 +2214,6 @@
                   << "# TEX SECTION #######################################\n"
                   << "#\n\n";
 
-       case RC_TEXINPUTS_PREFIX:
-               if (ignore_system_lyxrc ||
-                   texinputs_prefix != system_lyxrc.texinputs_prefix) {
-                       os << "\\texinputs_prefix \"" << texinputs_prefix << 
"\"\n";
-               }
-               if (tag != RC_LAST)
-                       break;
-
        case RC_FONT_ENCODING:
                if (ignore_system_lyxrc ||
                    fontenc != system_lyxrc.fontenc) {
@@ -3034,7 +3019,6 @@
                if (lyxrc_orig.windows_style_tex_paths != 
lyxrc_new.windows_style_tex_paths) {
                        
os::windows_style_tex_paths(lyxrc_new.windows_style_tex_paths);
                }
-       case LyXRC::RC_TEXINPUTS_PREFIX:
        case LyXRC::RC_THESAURUSDIRPATH:
        case LyXRC::RC_UIFILE:
        case LyXRC::RC_USER_EMAIL:
@@ -3327,7 +3311,7 @@
 
        case RC_PATH_PREFIX:
                str = _("Specify those directories which should be "
-                        "prepended to the PATH environment variable.\n"
+                        "prepended to the PATH environment variable. "
                         "Use the OS native format.");
                break;
 
@@ -3484,13 +3468,6 @@
        case RC_TEX_EXPECTS_WINDOWS_PATHS:
                break;
 
-       case RC_TEXINPUTS_PREFIX:
-               str = _("Specify those directories which should be "
-                        "prepended to the TEXINPUTS environment variable.\n"
-                        "A '.' represents the current document directory. "
-                        "Use the OS native format.");
-               break;
-
        case RC_UIFILE:
                str = _("The UI (user interface) file. Can either specify an 
absolute path, or LyX will look in its global and local ui/ directories.");
                break;

Modified: lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.h
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.h Tue Jun 14 15:05:10 2011        
(r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/LyXRC.h Tue Jun 14 15:39:39 2011        
(r39039)
@@ -174,7 +174,6 @@
                RC_TEMPLATEPATH,
                RC_TEX_ALLOWS_SPACES,
                RC_TEX_EXPECTS_WINDOWS_PATHS,
-               RC_TEXINPUTS_PREFIX,
                RC_THESAURUSDIRPATH,
                RC_UIFILE,
                RC_USELASTFILEPOS,
@@ -470,11 +469,6 @@
         *  The string is input, stored and output in native format.
         */
        std::string path_prefix;
-       /** Prepend paths to the TEXINPUTS environment variable.
-        *  The string is input, stored and output in native format.
-        *  A '.' here stands for the current document directory.
-        */
-       std::string texinputs_prefix;
        /// Use the cache for file converters?
        bool use_converter_cache;
        /// The maximum age of cache files in seconds

Modified: lyx-devel/branches/BRANCH_2_0_X/src/VCBackend.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/VCBackend.cpp   Tue Jun 14 15:05:10 
2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/VCBackend.cpp   Tue Jun 14 15:39:39 
2011        (r39039)
@@ -43,7 +43,7 @@
        LYXERR(Debug::LYXVC, "doVCCommandCall: " << cmd);
        Systemcall one;
        support::PathChanger p(path);
-       return one.startscript(Systemcall::Wait, cmd, string(), false);
+       return one.startscript(Systemcall::Wait, cmd, false);
 }
 
 

Modified: lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiPrefs.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiPrefs.cpp      Tue Jun 
14 15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiPrefs.cpp      Tue Jun 
14 15:39:39 2011        (r39039)
@@ -1334,9 +1334,6 @@
 
        connect(pathPrefixED, SIGNAL(textChanged(QString)),
                this, SIGNAL(changed()));
-
-       connect(texinputsPrefixED, SIGNAL(textChanged(QString)),
-               this, SIGNAL(changed()));
 }
 
 
@@ -1350,7 +1347,6 @@
        rc.thesaurusdir_path = internal_path(fromqstr(thesaurusDirED->text()));
        rc.hunspelldir_path = internal_path(fromqstr(hunspellDirED->text()));
        rc.path_prefix = internal_path_list(fromqstr(pathPrefixED->text()));
-       rc.texinputs_prefix = 
internal_path_list(fromqstr(texinputsPrefixED->text()));
        // FIXME: should be a checkbox only
        rc.lyxpipes = internal_path(fromqstr(lyxserverDirED->text()));
 }
@@ -1366,7 +1362,6 @@
        thesaurusDirED->setText(toqstr(external_path(rc.thesaurusdir_path)));
        hunspellDirED->setText(toqstr(external_path(rc.hunspelldir_path)));
        pathPrefixED->setText(toqstr(external_path_list(rc.path_prefix)));
-       
texinputsPrefixED->setText(toqstr(external_path_list(rc.texinputs_prefix)));
        // FIXME: should be a checkbox only
        lyxserverDirED->setText(toqstr(external_path(rc.lyxpipes)));
 }

Modified: lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/ui/PrefPathsUi.ui
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/ui/PrefPathsUi.ui Tue Jun 
14 15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/ui/PrefPathsUi.ui Tue Jun 
14 15:39:39 2011        (r39039)
@@ -19,7 +19,7 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="12" column="0" colspan="3" >
+   <item row="11" column="0" colspan="3" >
     <spacer>
      <property name="orientation" >
       <enum>Qt::Vertical</enum>
@@ -46,28 +46,7 @@
     </widget>
    </item>
    <item row="10" column="1" colspan="2" >
-    <widget class="QLineEdit" name="pathPrefixED">
-     <property name="toolTip">
-      <string>Specify those directories which should be prepended to the PATH 
environment variable.&#x0a;Use the OS native format.</string>
-     </property>
-    </widget>
-   </item>
-   <item row="11" column="0">
-    <widget class="QLabel" name="texinputsPrefixLA">
-     <property name="text">
-      <string>TEX&amp;INPUTS prefix:</string>
-     </property>
-     <property name="buddy">
-      <cstring>texinputsPrefixED</cstring>
-     </property>
-    </widget>
-   </item>
-   <item row="11" column="1" colspan="2">
-    <widget class="QLineEdit" name="texinputsPrefixED">
-     <property name="toolTip">
-      <string>Specify those directories which should be prepended to the 
TEXINPUTS environment variable.&#x0a;A '.' represents the current document 
directory. Use the OS native format.</string>
-     </property>
-    </widget>
+    <widget class="QLineEdit" name="pathPrefixED" />
    </item>
    <item row="6" column="2" >
     <widget class="QPushButton" name="thesaurusDirPB" >

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.cpp  Tue Jun 14 
15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.cpp  Tue Jun 14 
15:39:39 2011        (r39039)
@@ -14,8 +14,6 @@
 #include <config.h>
 
 #include "support/debug.h"
-#include "support/environment.h"
-#include "support/filetools.h"
 #include "support/lstrings.h"
 #include "support/qstring_helpers.h"
 #include "support/Systemcall.h"
@@ -23,7 +21,6 @@
 #include "support/os.h"
 #include "support/ProgressInterface.h"
 
-#include "LyXRC.h"
 
 #include <cstdlib>
 #include <iostream>
@@ -99,26 +96,9 @@
 // Reuse of instance
 #ifndef USE_QPROCESS
 int Systemcall::startscript(Starttype how, string const & what,
-                           std::string const & path, bool /*process_events*/)
+                                                       bool /*process_events*/)
 {
-       string command;
-       string const texinputs = os::latex_path_list(
-                       replaceCurdirPath(path, lyxrc.texinputs_prefix));
-       string const sep = string(1, os::path_separator(os::TEXENGINE));
-       string const env = getEnv("TEXINPUTS");
-
-       switch (os::shell()) {
-       case os::UNIX:
-               command = path.empty() || lyxrc.texinputs_prefix.empty() ? what
-                       : "env TEXINPUTS='." + sep + texinputs
-                                            + sep + env + "' " + what;
-               break;
-       case os::CMD_EXE:
-               command = path.empty() || lyxrc.texinputs_prefix.empty() ? what
-                       : "set TEXINPUTS=." + sep + texinputs
-                                           + sep + env + " & " + what;
-               break;
-       }
+       string command = what;
 
        if (how == DontWait) {
                switch (os::shell()) {
@@ -224,8 +204,7 @@
 
 
 
-int Systemcall::startscript(Starttype how, string const & what,
-                           string const & path, bool process_events)
+int Systemcall::startscript(Starttype how, string const & what, bool 
process_events)
 {
        string outfile;
        QString cmd = toqstr(parsecmd(what, outfile));
@@ -233,7 +212,7 @@
        SystemcallPrivate d(outfile);
 
 
-       d.startProcess(cmd, path);
+       d.startProcess(cmd);
        if (!d.waitWhile(SystemcallPrivate::Starting, process_events, -1)) {
                LYXERR0("Systemcall: '" << cmd << "' did not start!");
                LYXERR0("error " << d.errorMessage());
@@ -285,24 +264,10 @@
 
 
 
-void SystemcallPrivate::startProcess(QString const & cmd, string const & path)
+void SystemcallPrivate::startProcess(const QString& cmd)
 {
        cmd_ = cmd;
        if (process_) {
-               if (!path.empty() && !lyxrc.texinputs_prefix.empty()) {
-                       QString const texinputs = toqstr(os::latex_path_list(
-                               replaceCurdirPath(path, 
lyxrc.texinputs_prefix)));
-                       QChar const sep = os::path_separator(os::TEXENGINE);
-                       QString const prefix = QLatin1String("TEXINPUTS=.")
-                                               + sep + texinputs + sep;
-                       QStringList env = QProcess::systemEnvironment();
-                       if (env.filter("TEXINPUTS=").isEmpty())
-                               env << prefix;
-                       else
-                               env.replaceInStrings(QRegExp("^TEXINPUTS=(.*)"),
-                                                    prefix + "\\1");
-                       process_->setEnvironment(env);
-               }
                state = SystemcallPrivate::Starting;
                process_->start(cmd_);
        }

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.h
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.h    Tue Jun 14 
15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/Systemcall.h    Tue Jun 14 
15:39:39 2011        (r39039)
@@ -40,13 +40,10 @@
 
        /** Start child process.
         *  The string "what" contains a commandline with arguments separated
-        *  by spaces. The string "path" contains the path to be prepended to
-        *  the TEXINPUTS environment variable. Unset "process_events" in
-        *  case UI should be blocked while processing the external command.
+        *  by spaces. Unset "process_events" in case UI should be blocked while
+        *  processing the external command.
         */
-       int startscript(Starttype how, std::string const & what,
-                       std::string const & path = empty_string(),
-                       bool process_events = false);
+       int startscript(Starttype how, std::string const & what, bool 
process_events = false);
 };
 
 } // namespace support

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/SystemcallPrivate.h
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/SystemcallPrivate.h     Tue Jun 
14 15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/SystemcallPrivate.h     Tue Jun 
14 15:39:39 2011        (r39039)
@@ -44,7 +44,7 @@
        State state;
 
        bool waitWhile(State, bool processEvents, int timeout = -1);
-       void startProcess(QString const & cmd, std::string const & path);
+       void startProcess(const QString& cmd);
        
        int exitCode();
 

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.cpp   Tue Jun 14 
15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.cpp   Tue Jun 14 
15:39:39 2011        (r39039)
@@ -577,42 +577,6 @@
 }
 
 
-// Replace current directory in all elements of a path list with a given path.
-string const replaceCurdirPath(string const & path, string const & pathlist)
-{
-       string const oldpathlist = replaceEnvironmentPath(pathlist);
-       char const sep = os::path_separator();
-       string newpathlist;
-
-       for (size_t i = 0, k = 0; i != string::npos; k = i) {
-               i = oldpathlist.find(sep, i);
-               string p = oldpathlist.substr(k, i - k);
-               if (FileName::isAbsolute(p)) {
-                       newpathlist += p;
-               } else if (i > k) {
-                       size_t offset = 0;
-                       if (p == ".") {
-                               offset = 1;
-                       } else if (prefixIs(p, "./")) {
-                               offset = 2;
-                               while (p[offset] == '/')
-                                       ++offset;
-                       }
-                       newpathlist += addPath(path, p.substr(offset));
-                       if (suffixIs(p, "//"))
-                               newpathlist += '/';
-               }
-               if (i != string::npos) {
-                       newpathlist += sep;
-                       // Stop here if the last element is empty 
-                       if (++i == oldpathlist.length())
-                               break;
-               }
-       }
-       return newpathlist;
-}
-
-
 // Make relative path out of two absolute paths
 docstring const makeRelPath(docstring const & abspath, docstring const & 
basepath)
 // Makes relative path out of absolute path. If it is deeper than basepath,

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.h
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.h     Tue Jun 14 
15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/filetools.h     Tue Jun 14 
15:39:39 2011        (r39039)
@@ -247,12 +247,6 @@
 */
 std::string const replaceEnvironmentPath(std::string const & path);
 
-/** Replace all references to a current directory (a lonely '.' or
-    the prefix "./") in \c pathlist with \c path. Also prefixes
-    all non-absolute paths with \c path.
-*/
-std::string const replaceCurdirPath(std::string const & path, std::string 
const & pathlist);
-
 /** Set \c link to the path \c file points to as a symbolic link.
     \return true if successful.
  */

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/os.h
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/os.h    Tue Jun 14 15:05:10 
2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/os.h    Tue Jun 14 15:39:39 
2011        (r39039)
@@ -104,12 +104,6 @@
  */
 std::string latex_path(std::string const & p);
 
-/**
- * Converts a platform style path list into a form suitable for the TeX engine.
- * \p p is encoded in utf8.
- */
-std::string latex_path_list(std::string const & p);
-
 /// Checks if the format string is suitable on the OS
 bool is_valid_strftime(std::string const & p);
 
@@ -118,15 +112,10 @@
  */
 char const * popen_read_mode();
 
-enum path_type {
-       PLATFORM,
-       TEXENGINE
-};
-
-/** The character used to separate paths for platform environment variables
- *  (such as PATH) or for the TeX engine.
+/** The character used to separate paths returned by the
+ *  PATH environment variable.
  */
-char path_separator(path_type type = PLATFORM);
+char path_separator();
 
 /** If @c use_windows_paths is true, LyX will output Windows-style paths to
  *  latex files rather than posix ones. Obviously, this option is used only
@@ -144,15 +133,14 @@
  *  \param mode can be opened in VIEW or EDIT mode
  *  \returns whether or not the format can be opened according to \p mode
  */
-bool canAutoOpenFile(std::string const & ext, auto_open_mode const mode);
+bool canAutoOpenFile(std::string const & ext, auto_open_mode const mode = 
VIEW);
 
 /** View or edit a file with the default viewer or editor.
  *  \param filename file to open (encoded in utf8)
  *  \param mode open in VIEW or EDIT mode
  *  \returns whether or not the file is viewed (or edited) successfully.
  */
-bool autoOpenFile(std::string const & filename, auto_open_mode const mode,
-                 std::string const & path = empty_string());
+bool autoOpenFile(std::string const & filename, auto_open_mode const mode = 
VIEW);
 
 /** Resolves a path such that it does not contain '.', '..', or symbolic links.
   * \p path and the return value are encoded in utf8.

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/os_cygwin.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/os_cygwin.cpp   Tue Jun 14 
15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/os_cygwin.cpp   Tue Jun 14 
15:39:39 2011        (r39039)
@@ -15,16 +15,12 @@
 
 #include <config.h>
 
-#include "LyXRC.h"
-
 #include "support/os.h"
 
-#include "support/debug.h"
-#include "support/environment.h"
 #include "support/FileName.h"
-#include "support/filetools.h"
 #include "support/lassert.h"
 #include "support/lstrings.h"
+#include "support/debug.h"
 
 #include <windows.h>
 #include <io.h>
@@ -347,19 +343,6 @@
 }
 
 
-string latex_path_list(string const & p)
-{
-       // We may need a posix style path or a windows style path (depending
-       // on windows_style_tex_paths_), but we use always forward slashes,
-       // since this is standard for all tex engines.
-
-       if (windows_style_tex_paths_)
-               return convert_path_list(p, PathStyle(windows));
-
-       return convert_path_list(p, PathStyle(posix));
-}
-
-
 bool is_valid_strftime(string const & p)
 {
        string::size_type pos = p.find_first_of('%');
@@ -404,11 +387,8 @@
 }
 
 
-char path_separator(path_type type)
+char path_separator()
 {
-       if (type == TEXENGINE)
-               return windows_style_tex_paths_ ? ';' : ':';
-
        return ':';
 }
 
@@ -435,30 +415,13 @@
 }
 
 
-bool autoOpenFile(string const & filename, auto_open_mode const mode,
-                 string const & path)
+bool autoOpenFile(string const & filename, auto_open_mode const mode)
 {
-       string const texinputs = os::latex_path_list(
-                       replaceCurdirPath(path, lyxrc.texinputs_prefix));
-       string const sep = windows_style_tex_paths_ ? ";" : ":";
-       string const oldval = getEnv("TEXINPUTS");
-       string const newval = "." + sep + texinputs + sep + oldval;
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty()) {
-               setEnv("TEXINPUTS", newval);
-               cygwin_internal(CW_SYNC_WINENV);
-       }
-
        // reference: http://msdn.microsoft.com/en-us/library/bb762153.aspx
        string const win_path = to_local8bit(from_utf8(convert_path(filename, 
PathStyle(windows))));
        char const * action = (mode == VIEW) ? "open" : "edit";
-       bool success = reinterpret_cast<int>(ShellExecute(NULL, action,
-                                       win_path.c_str(), NULL, NULL, 1)) > 32;
-
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty()) {
-               setEnv("TEXINPUTS", oldval);
-               cygwin_internal(CW_SYNC_WINENV);
-       }
-       return success;
+       return reinterpret_cast<int>(ShellExecute(NULL, action,
+               win_path.c_str(), NULL, NULL, 1)) > 32;
 }
 
 

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/os_unix.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/os_unix.cpp     Tue Jun 14 
15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/os_unix.cpp     Tue Jun 14 
15:39:39 2011        (r39039)
@@ -12,13 +12,9 @@
 
 #include <config.h>
 
-#include "LyXRC.h"
-
 #include "support/os.h"
 #include "support/docstring.h"
-#include "support/environment.h"
 #include "support/FileName.h"
-#include "support/filetools.h"
 #include "support/lstrings.h"
 #include "support/lassert.h"
 
@@ -180,12 +176,6 @@
 }
 
 
-string latex_path_list(string const & p)
-{
-       return p;
-}
-
-
 bool is_valid_strftime(string const & p)
 {
        string::size_type pos = p.find_first_of('%');
@@ -228,7 +218,7 @@
 }
 
 
-char path_separator(path_type)
+char path_separator()
 {
        return ':';
 }
@@ -268,8 +258,7 @@
 }
 
 
-bool autoOpenFile(string const & filename, auto_open_mode const mode,
-                 string const & path)
+bool autoOpenFile(string const & filename, auto_open_mode const mode)
 {
 #ifdef __APPLE__
 // Reference: 
http://developer.apple.com/documentation/Carbon/Reference/LaunchServicesReference/
@@ -290,13 +279,6 @@
        if (status == kLSApplicationNotFoundErr)
                return false;
 
-       string const texinputs = os::latex_path_list(
-                       replaceCurdirPath(path, lyxrc.texinputs_prefix));
-       string const oldval = getEnv("TEXINPUTS");
-       string const newval = ".:" + texinputs + ":" + oldval;
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty())
-               setEnv("TEXINPUTS", newval);
-
        LSLaunchFSRefSpec inLaunchSpec;
        inLaunchSpec.appRef = &outAppRef;
        inLaunchSpec.numDocs = 1;
@@ -306,15 +288,11 @@
        inLaunchSpec.asyncRefCon = NULL;
        status = LSOpenFromRefSpec(&inLaunchSpec, NULL);
 
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty())
-               setEnv("TEXINPUTS", oldval);
-
        return status != kLSApplicationNotFoundErr;
 #else
        // silence compiler warnings
        (void)filename;
        (void)mode;
-       (void)path;
 
        // currently, no default viewer is tried for non-windows system
        // support for KDE/Gnome/Macintosh may be added later

Modified: lyx-devel/branches/BRANCH_2_0_X/src/support/os_win32.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/support/os_win32.cpp    Tue Jun 14 
15:05:10 2011        (r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/src/support/os_win32.cpp    Tue Jun 14 
15:39:39 2011        (r39039)
@@ -15,13 +15,10 @@
 
 #include <config.h>
 
-#include "LyXRC.h"
-
 #include "support/os.h"
 #include "support/os_win32.h"
 
 #include "support/debug.h"
-#include "support/environment.h"
 #include "support/FileName.h"
 #include "support/gettext.h"
 #include "support/filetools.h"
@@ -388,38 +385,6 @@
 }
 
 
-string latex_path_list(string const & p)
-{
-       if (p.empty())
-               return p;
-
-       // We may need a posix style path or a windows style path (depending
-       // on windows_style_tex_paths_), but we use always forward slashes,
-       // since this is standard for all tex engines.
-
-       if (!windows_style_tex_paths_) {
-               string pathlist;
-               for (size_t i = 0, k = 0; i != string::npos; k = i) {
-                       i = p.find(';', i);
-                       string path = subst(p.substr(k, i - k), '\\', '/');
-                       if (FileName::isAbsolute(path)) {
-                               string const drive = path.substr(0, 2);
-                               string const cygprefix = cygdrive + "/"
-                                                       + drive.substr(0, 1);
-                               path = subst(path, drive, cygprefix);
-                       }
-                       pathlist += path;
-                       if (i != string::npos) {
-                               pathlist += ':';
-                               ++i;
-                       }
-               }
-               return pathlist;
-       }
-       return subst(p, '\\', '/');
-}
-
-
 bool is_valid_strftime(string const & p)
 {
        string::size_type pos = p.find_first_of('%');
@@ -464,11 +429,8 @@
 }
 
 
-char path_separator(path_type type)
+char path_separator()
 {
-       if (type == TEXENGINE)
-               return windows_style_tex_paths_ ? ';' : ':';
-
        return ';';
 }
 
@@ -545,25 +507,12 @@
 }
 
 
-bool autoOpenFile(string const & filename, auto_open_mode const mode,
-                 string const & path)
+bool autoOpenFile(string const & filename, auto_open_mode const mode)
 {
-       string const texinputs = os::latex_path_list(
-                       replaceCurdirPath(path, lyxrc.texinputs_prefix));
-       string const sep = windows_style_tex_paths_ ? ";" : ":";
-       string const oldval = getEnv("TEXINPUTS");
-       string const newval = "." + sep + texinputs + sep + oldval;
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty())
-               setEnv("TEXINPUTS", newval);
-
        // reference: http://msdn.microsoft.com/en-us/library/bb762153.aspx
        char const * action = (mode == VIEW) ? "open" : "edit";
-       bool success = reinterpret_cast<int>(ShellExecute(NULL, action,
+       return reinterpret_cast<int>(ShellExecute(NULL, action,
                to_local8bit(from_utf8(filename)).c_str(), NULL, NULL, 1)) > 32;
-
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty())
-               setEnv("TEXINPUTS", oldval);
-       return success;
 }
 
 

Modified: lyx-devel/branches/BRANCH_2_0_X/status.20x
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/status.20x  Tue Jun 14 15:05:10 2011        
(r39038)
+++ lyx-devel/branches/BRANCH_2_0_X/status.20x  Tue Jun 14 15:39:39 2011        
(r39039)
@@ -30,11 +30,6 @@
 
 - Improved XHTML output of various fractions.
 
-- A prefix for the TEXINPUTS environment variable can be specified in the
-  preferences. The directory of a LyX document is represented by a single
-  dot '.' or by the prefix "./". Also, any non-absolute path will be
-  prepended with the LyX document directory.
-
 - Updated templates to current LyX format, so no conversion will be needed.
 
 

Reply via email to