You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit dde1550
Browse filesBrowse the repository at this point in the historyBrowse files
fix(io): read-line reads process stdin — *in* root is now a stdin reader
Smell-audited: 1: the user-filed bug note suspected a TTY-only line-editor
path; the actual root cause was *in*'s nil root (D-414's known "no
process-stdin reader yet" hole) — read-line returned nil EVERYWHERE
including interactive terminals, not just pipes.
rt/__stdin-reader mints a text_io Reader in stdin mode: demand-filled via
blocking std.posix.read (clj System.in parity) — readLine buffers until a
full line or EOF, .read/.peek buffer one codepoint (chunk-boundary
multibyte-safe); a zero-byte read latches stdin_eof. core.clj's *in* root
is now (rt/__stdin-reader); with-in-str still shadows it with a string
reader via binding. Fixes `printf 'x\n' | cljw -e '(read-line)'` -> nil
(clj/bb read the line); unblocks cw-arcade rush-hour's piped playthrough.
e2e phase16_stdin_read_line (6 cases: pipe/redirect/EOF-line/CRLF/
with-in-str-shadow/.read codepoints) + registered in run_all.sh same
commit; line-seq over *in* verified.
0 commit comments