commit 3fb8d718695f013ecc48c63706207a4004daa390
Author: Georg Baum <[email protected]>
Date:   Sun Jul 3 19:48:15 2016 +0200

    Fix CAS input on windows (bug 10262)
    
    This is the well known file locking problem: The TempFile class keeps the
    created file locked for the own process, and this prevents the CAS to read 
it.
---
 src/mathed/MathExtern.cpp |   10 ++++++++--
 status.22x                |    2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/mathed/MathExtern.cpp b/src/mathed/MathExtern.cpp
index 7fbb4af..c6ba26f 100644
--- a/src/mathed/MathExtern.cpp
+++ b/src/mathed/MathExtern.cpp
@@ -1000,8 +1000,13 @@ namespace {
        {
                // In order to avoid parsing problems with command interpreters
                // we pass input data through a file
-               TempFile tempfile("casinput");
-               FileName const cas_tmpfile = tempfile.name();
+               // Since the CAS is supposed to read the temp file we need
+               // to unlock it on windows (bug 10262).
+               auto_ptr<TempFile> tempfile(new TempFile("casinput"));
+               tempfile->setAutoRemove(false);
+               FileName const cas_tmpfile = tempfile->name();
+               tempfile.reset();
+
                if (cas_tmpfile.empty()) {
                        lyxerr << "Warning: cannot create temporary file."
                               << endl;
@@ -1015,6 +1020,7 @@ namespace {
                lyxerr << "calling: " << cmd
                       << "\ninput: '" << data << "'" << endl;
                cmd_ret const ret = runCommand(command);
+               cas_tmpfile.removeFile();
                return ret.second;
        }
 
diff --git a/status.22x b/status.22x
index f4d5840..e384377 100644
--- a/status.22x
+++ b/status.22x
@@ -81,6 +81,8 @@ What's new
 
 - Load math packages automatically with JSS template (bug 9242).
 
+- Calling a Computer Algebra System from LyX works again (windows only bug 
10262).
+
 
 * LYX2LYX
 

Reply via email to