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
Under -q (*hush*), SBCL writes pr to file streams but CLISP and ECL silence it #2
The same port behaves differently across its Lisp backends: with *hush* set (-q), pr to an explicitly-opened file stream writes on SBCL but is silenced (zero-byte file) on CLISP and ECL. This is an intra-port inconsistency — the most clear-cut variant of the cross-port *hush*/pr divergence.
CLISP, ECL: silenced under *hush* → zero-byte file
Expected: all three backends should behave identically — pr to a non-stdout stream should write regardless of *hush*. SBCL is the correct reference (matches shen-go / ShenScript); CLISP and ECL fall back to the kernel's *hush*-gated path.
Root cause (likely)
shen-cl's native pr override is #+(or ccl sbcl), so CLISP and ECL use the kernel's portable pr, which respects *hush* for all streams. The portable fallback (or these backends' override) should ignore *hush* for non-stdout streams.
How it was found
Caught while building shen-cl's CLI parity tests across LISP_IMPL (sbcl/clisp/ecl) during the 2026-06-13 test build-out, and corroborated by the bifrost harness (hush-file-write case).
Activity
Merge pull request #6 from pyrex41/fix/cl-hush-and-absvector
pyrex41 commentedon Jun 14, 2026
Fixed by #6 (merged into kernel-41.2): the native pr override now covers CLISP and ECL, so pr to a file stream writes under -q on all backends.
fix(cl): pr writes to files under -q on all backends; cap absvector size
fix(cl): pr writes to files under -q on all backends; cap absvector size
fix(cl): pr writes to files under -q on all backends; cap absvector size