From c2b58f3a542655d877c2b6f6662466338cc4606b Mon Sep 17 00:00:00 2001 From: Reimer Behrends Date: Mon, 2 Jun 2014 19:38:51 +0200 Subject: Properly terminate "nimrod i" on end of file. Nimrod in interactive mode got stuck in an infinite loop when encountering EOF (Ctrl-D), unless GNU Readline was being used. This change mimics the GNU Readline behavior in rdstdin.nim and calls quit(0) when encountering EOF while reading from stdin in interactive mode. --- compiler/llstream.nim | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compiler/llstream.nim') diff --git a/compiler/llstream.nim b/compiler/llstream.nim index 510880ffd..86bfeaabd 100644 --- a/compiler/llstream.nim +++ b/compiler/llstream.nim @@ -82,6 +82,9 @@ when not defined(readLineFromStdin): proc readLineFromStdin(prompt: string, line: var string): bool = stdout.write(prompt) result = readLine(stdin, line) + if not result: + stdout.write("\n") + quit(0) proc endsWith*(x: string, s: set[char]): bool = var i = x.len-1 -- cgit 1.4.1-2-gfad0