- int file_format;
- ReadStatus const ret_plf = parseLyXFormat(lex, fn, file_format);
- if (ret_plf != ReadSuccess)
- return ret_plf;
-
- if (file_format != LYX_FORMAT) {
- if (fromstring)
- // lyx2lyx would fail
- return ReadWrongVersion;
-
- FileName const tmpfile = FileName::tempName("Buffer_readFile");
- if (tmpfile.empty()) {
- Alert::error(_("Conversion failed"),
- bformat(_("%1$s is from a different"
- " version of LyX, but a temporary"
- " file for converting it could"
- " not be created."),
- from_utf8(fn.absFileName())));
- return ReadFailure;
- }
- FileName const lyx2lyx = libFileSearch("lyx2lyx", "lyx2lyx");
- if (lyx2lyx.empty()) {
- Alert::error(_("Conversion script not found"),
- bformat(_("%1$s is from a different"
- " version of LyX, but the"
- " conversion script lyx2lyx"
- " could not be found."),
- from_utf8(fn.absFileName())));
- return ReadFailure;
- }
- ostringstream command;
- command << os::python()
- << ' ' << quoteName(lyx2lyx.toFilesystemEncoding())
- << " -t " << convert<string>(LYX_FORMAT)
- << " -o " << quoteName(tmpfile.toFilesystemEncoding())
- << ' ' << quoteName(fn.toSafeFilesystemEncoding());
- string const command_str = command.str();
-
- LYXERR(Debug::INFO, "Running '" << command_str << '\'');
-
- cmd_ret const ret = runCommand(command_str);
- if (ret.first != 0) {
- if (file_format < LYX_FORMAT)
- Alert::error(_("Conversion script failed"),
- bformat(_("%1$s is from an older version"
- " of LyX, but the lyx2lyx script"
- " failed to convert it."),
- from_utf8(fn.absFileName())));
- else
- Alert::error(_("Conversion script failed"),
- bformat(_("%1$s is from a newer version"
- " of LyX and cannot be converted by the"
- " lyx2lyx script."),
- from_utf8(fn.absFileName())));
- return ReadFailure;
- } else {
- // Do stuff with tmpfile name and buffer name here.
- return readFile(tmpfile);
- }
-
+ tmpfile = FileName::tempName("Buffer_convertLyXFormat");
+ if(tmpfile.empty()) {
+ Alert::error(_("Conversion failed"),
+ bformat(_("%1$s is from a different"
+ " version of LyX, but a temporary"
+ " file for converting it could"
+ " not be created."),
+ from_utf8(fn.absFileName())));
+ return LyX2LyXNoTempFile;