diff options
author | Araq <rumpf_a@web.de> | 2012-10-24 01:13:44 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2012-10-24 01:13:44 +0200 |
commit | de338526ecaaf86072b7d7c8053db3815238bc1c (patch) | |
tree | a1dcfbfff5c9bbb308e7e7326000c27388340ea0 /compiler/msgs.nim | |
parent | b1c44c9ae12f14162dcff060d786fd478349bf94 (diff) | |
download | Nim-de338526ecaaf86072b7d7c8053db3815238bc1c.tar.gz |
caas barely works now
Diffstat (limited to 'compiler/msgs.nim')
-rwxr-xr-x | compiler/msgs.nim | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/compiler/msgs.nim b/compiler/msgs.nim index 0d9a05240..50d7e2904 100755 --- a/compiler/msgs.nim +++ b/compiler/msgs.nim @@ -413,6 +413,7 @@ type fileIndex*: int32 ERecoverableError* = object of EInvalidValue + ESuggestDone* = object of EBase var filenameToIndexTbl = initTable[string, int32]() @@ -471,11 +472,15 @@ var proc SuggestWriteln*(s: string) = if gSilence == 0: if isNil(stdoutSocket): Writeln(stdout, s) - else: stdoutSocket.send(s & "\c\L") + else: + Writeln(stdout, s) + stdoutSocket.send(s & "\c\L") proc SuggestQuit*() = if isNil(stdoutSocket): quit(0) - else: stdoutSocket.send("\c\L") + else: + stdoutSocket.send("\c\L") + raise newException(ESuggestDone, "suggest done") # this format is understood by many text editors: it is the same that # Borland and Freepascal use @@ -599,8 +604,10 @@ proc handleError(msg: TMsgKind, eh: TErrorHandling, s: string) = maybeTrace() inc(gErrorCounter) options.gExitcode = 1'i8 - if gErrorCounter >= gErrorMax or eh == doAbort: - quit(1) # one error stops the compiler + if gErrorCounter >= gErrorMax: + quit(1) + elif eh == doAbort and gCmd != cmdIdeTools: + quit(1) elif eh == doRaise: raiseRecoverableError(s) |