]> git.lyx.org Git - lyx.git/blobdiff - src/support/ForkedCalls.cpp
Set correctly the spacing between atoms in MathData
[lyx.git] / src / support / ForkedCalls.cpp
index 1c5e663723f765e3aa547e4b108d729135007fdc..4827947d370a2f22abf5848914724dcade3ba37c 100644 (file)
@@ -47,7 +47,6 @@
 using namespace std;
 
 
-
 namespace lyx {
 namespace support {
 
@@ -59,7 +58,7 @@ namespace {
 //
 /////////////////////////////////////////////////////////////////////
 
-class Murder : public boost::signals::trackable {
+class Murder : public boost::signals2::trackable {
 public:
        //
        static void killItDead(int secs, pid_t pid)
@@ -113,7 +112,7 @@ bool ForkedProcess::IAmAChild = false;
 
 void ForkedProcess::emitSignal()
 {
-       if (signal_.get()) {
+       if (signal_) {
                signal_->operator()(pid_, retval_);
        }
 }
@@ -270,8 +269,8 @@ int ForkedProcess::waitForChild()
 //
 /////////////////////////////////////////////////////////////////////
 
-ForkedCall::ForkedCall(string const & path)
-       : cmd_prefix_(to_filesystem8bit(from_utf8(latexEnvCmdPrefix(path))))
+ForkedCall::ForkedCall(string const & path, string const & lpath)
+       : cmd_prefix_(to_filesystem8bit(from_utf8(latexEnvCmdPrefix(path, lpath))))
 {}
 
 
@@ -282,7 +281,7 @@ int ForkedCall::startScript(Starttype wait, string const & what)
                return retval_;
        }
 
-       command_ = trim(what);
+       command_ = commandPrep(trim(what));
        signal_.reset();
        return run(Wait);
 }
@@ -290,7 +289,7 @@ int ForkedCall::startScript(Starttype wait, string const & what)
 
 int ForkedCall::startScript(string const & what, SignalTypePtr signal)
 {
-       command_ = trim(what);
+       command_ = commandPrep(trim(what));
        signal_  = signal;
 
        return run(DontWait);
@@ -303,7 +302,10 @@ int ForkedCall::generateChild()
        if (command_.empty())
                return 1;
 
-       string const line = cmd_prefix_ + command_;
+       // Make sure that a V2 python is run, if available.
+       string const line = cmd_prefix_ +
+               (prefixIs(command_, "python -tt")
+                ? os::python() + command_.substr(10) : command_);
 
 #if !defined (_WIN32)
        // POSIX
@@ -378,7 +380,7 @@ int ForkedCall::generateChild()
                vector<char *>::iterator ait = argv.begin();
                vector<char *>::iterator const aend = argv.end();
                lyxerr << "<command>\n\t" << line
-                      << "\n\tInterpretted as:\n\n";
+                      << "\n\tInterpreted as:\n\n";
                for (; ait != aend; ++ait)
                        if (*ait)
                                lyxerr << '\t'<< *ait << '\n';
@@ -472,7 +474,7 @@ void callNext()
        Process pro = callQueue_.front();
        callQueue_.pop();
        // Bind our chain caller
-       pro.second->connect(lyx::bind(&ForkedCallQueue::callback, _1, _2));
+       pro.second->connect(callback);
        ForkedCall call;
        //If we fail to fork the process, then emit the signal
        //to tell the outside world that it failed.