mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-16 07:34:45 +03:00
c725b11c89
On Unix-like operating systems stdio.h is usually line-buffered. As putStr uses fputs(3) from stdio.h internally, output will be written to standard out after a newline character is written to the buffer. Since the prompt does not contain a newline, it will only be written to standard output after the user presses return. I encountered this issue on Alpine Linux which uses musl libc (instead of glibc). However, I believe this issue is likely also reproducible with glibc. This commit fixes this issue by flushing standard output after writing the prompt to it. Surprisingly, `src/Idris/IDEMode/REPL.idr` already does this correctly, `src/Idris/REPL.idr` does not though.
18 lines
339 B
Plaintext
18 lines
339 B
Plaintext
1/1: Building StringParser (StringParser.idr)
|
|
Main> hiya
|
|
2
|
|
Parse failed at position 0: satisfy
|
|
Parse failed at position 0: Not good
|
|
['7', '6', '6', '7', '7', '5']
|
|
['6', '3', '5', '5', '3']
|
|
"887"
|
|
"123"
|
|
""
|
|
True
|
|
False
|
|
['a', '1', 'b', '2']
|
|
['a', 'b', 'c', 'd']
|
|
()
|
|
Parse failed at position 0: Purposefully changed OK to Fail
|
|
Main> Bye for now!
|