From: Georg Baum Date: Sun, 3 Jul 2016 17:48:15 +0000 (+0200) Subject: Fix CAS input on windows (bug 10262) X-Git-Tag: 2.2.1~67 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=3fb8d718695f013ecc48c63706207a4004daa390;p=features.git 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. --- diff --git a/src/mathed/MathExtern.cpp b/src/mathed/MathExtern.cpp index 7fbb4af732..c6ba26fc61 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(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 f4d5840c25..e384377c64 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