fix: use stdbuf -o0 cat for unbuffered pipe input, remove debug
- Changed cat subprocess to stdbuf -o0 cat (unbuffered output) so characters arrive immediately through the pipe - Added cat PID to startup messages for diagnostics - Removed pipe debug logging (trace.log, pipe.log) - Cat pipe input confirmed working: read-char returns #\a, #\b, #\Newline - Remaining issue: frame-message format mismatch with daemon (pre-existing, not related to input changes)
This commit is contained in:
@@ -912,11 +912,12 @@ Event handlers + daemon I/O + main loop.
|
|||||||
;; works. A cat subprocess inherits the terminal and provides
|
;; works. A cat subprocess inherits the terminal and provides
|
||||||
;; bytes through a pipe that SBCL reads reliably.
|
;; bytes through a pipe that SBCL reads reliably.
|
||||||
(uiop:run-program '("stty" "-echo") :output nil :ignore-error-status t)
|
(uiop:run-program '("stty" "-echo") :output nil :ignore-error-status t)
|
||||||
(let* ((cat-proc (uiop:launch-program '("cat")
|
(let* ((cat-proc (uiop:launch-program '("stdbuf" "-o0" "cat")
|
||||||
:output :stream
|
:output :stream
|
||||||
:input :interactive
|
:input :interactive
|
||||||
:stderr nil))
|
:stderr nil))
|
||||||
(tty-in (uiop:process-info-output cat-proc)))
|
(tty-in (uiop:process-info-output cat-proc)))
|
||||||
|
(add-msg :system (format nil "* cat pid=~a *" (uiop:process-info-pid cat-proc)))
|
||||||
;; Log backend info and terminal dimensions
|
;; Log backend info and terminal dimensions
|
||||||
(cl-tty.backend:backend-clear be)
|
(cl-tty.backend:backend-clear be)
|
||||||
(view-status be w h)
|
(view-status be w h)
|
||||||
|
|||||||
Reference in New Issue
Block a user