mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-20 18:21:47 +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.
11 lines
781 B
Plaintext
11 lines
781 B
Plaintext
1/1: Building Buffer (Buffer.idr)
|
|
Main> 100
|
|
94
|
|
94.42
|
|
"Hello"
|
|
"there!"
|
|
65535
|
|
[0, 94, 0, 0, 0, 65, 65, 65, 65, 0, 123, 20, 174, 71, 225, 154, 87, 64, 0, 0, 72, 101, 108, 108, 111, 32, 116, 104, 101, 114, 101, 33, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
[0, 94, 0, 0, 0, 65, 65, 65, 65, 0, 123, 20, 174, 71, 225, 154, 87, 64, 0, 0, 72, 101, 108, 108, 111, 32, 116, 104, 101, 114, 101, 33, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
Main> Bye for now!
|