From f69949b882c3c13f744b8e20549f3c0f1938f43f Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sun, 4 Jan 2015 05:18:21 +0100 Subject: [PATCH] partially reverted changes made in 4caebcfa57667c268b4b411404d4f42dbd360376, filename can be set on tempfilename --- src/ce_main.pas | 21 ++++++++------------- src/ce_staticexplorer.pas | 6 +++--- src/ce_synmemo.pas | 2 +- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/ce_main.pas b/src/ce_main.pas index fa0afb26..2bca47ac 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -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) diff --git a/src/ce_staticexplorer.pas b/src/ce_staticexplorer.pas index 5264cd0a..fcf8d24d 100644 --- a/src/ce_staticexplorer.pas +++ b/src/ce_staticexplorer.pas @@ -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); diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index 51adaed2..3f8128fb 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -445,7 +445,7 @@ end; procedure TCESynMemo.saveTempFile; begin - Lines.SaveToFile(fTempFileName); + saveToFile(fTempFileName); fModified := false; end;