partially reverted changes made in 4caebcfa57, filename can be set on tempfilename

This commit is contained in:
Basile Burg 2015-01-04 05:18:21 +01:00
parent 1ecb859698
commit f69949b882
3 changed files with 12 additions and 17 deletions

View File

@ -1302,7 +1302,7 @@ procedure TCEMainForm.compileAndRunFile(const edIndex: NativeInt; const runArgs:
var
editor: TCESynMemo;
dmdproc: TProcess;
fname, fBasename: string;
fname: string;
begin
FreeRunnableProc;
@ -1320,14 +1320,9 @@ begin
subjLmFromString(fLogMessager, 'compiling ' + shortenPath(editor.fileName, 25),
editor, amcEdit, amkInf);
if fileExists(editor.fileName) then begin
editor.save;
fname := editor.fileName;
end else begin
editor.saveTempFile;
fname := editor.tempFilename;
end;
fBasename := stripFileExt(fname);
if fileExists(editor.fileName) then editor.save
else editor.saveTempFile;
fname := stripFileExt(editor.fileName);
if fRunnableSw = '' then
fRunnableSw := '-vcolumns'#13'-w'#13'-wi';
@ -1336,9 +1331,9 @@ begin
{$ENDIF}
dmdproc.Options := [poStdErrToOutput, poUsePipes];
dmdproc.Executable := DCompiler;
dmdproc.Parameters.Add(fname);
dmdproc.Parameters.Add(editor.fileName);
dmdproc.Parameters.AddText(fRunnableSw);
dmdproc.Parameters.Add('-of' + fBasename + exeExt);
dmdproc.Parameters.Add('-of' + fname + exeExt);
LibMan.getLibFiles(nil, dmdproc.Parameters);
LibMan.getLibSources(nil, dmdproc.Parameters);
dmdproc.Execute;
@ -1352,10 +1347,10 @@ begin
fRunProc.CurrentDirectory := extractFilePath(fRunProc.Executable);
if runArgs <> '' then
fRunProc.Parameters.DelimitedText := symbolExpander.get(runArgs);
fRunProc.Executable := fBasename + exeExt;
fRunProc.Executable := fname + exeExt;
fPrInpWidg.process := fRunProc;
fRunProc.Execute;
sysutils.DeleteFile(fBasename + objExt);
sysutils.DeleteFile(fname + objExt);
end
else begin
subjLmFromString(fLogMessager, shortenPath(editor.fileName,25)

View File

@ -407,10 +407,10 @@ begin
// focused source
fJsonFname := fDoc.tempFilename + '.json';
srcFname := fDoc.fileName;
if not fileExists(srcFname) then begin
srcFname := fDoc.tempFilename;
if not fileExists(srcFname) or (srcFname = fDoc.tempFilename) then
fDoc.saveTempFile;
end;
srcFname := fDoc.fileName;
//else fDoc.save; refreshonChange/autorefresh don't work until existing doc is saved
fDmdProc.Parameters.Add(srcFname);

View File

@ -445,7 +445,7 @@ end;
procedure TCESynMemo.saveTempFile;
begin
Lines.SaveToFile(fTempFileName);
saveToFile(fTempFileName);
fModified := false;
end;