[CM] Let formatted incorrectly
chohag at jtan.com
chohag at jtan.com
Mon Mar 30 03:43:45 PDT 2026
It seems like it's printing a let's components ~A-like when it
should be printing ~S-like. It is correct when the directive in the
format string is ~S.
(format #t "LIST ~A\n" '(a "b c d" e 'f))
; LIST (a "b c d" e 'f)
(format #t "HASH ~A\n" (hash-table 'a "b c d" 'e #t))
; HASH (hash-table 'a "b c d" 'e #t)
(format #t "LET ~A\n" (inlet 'a "b c d" 'e 'f))
; LET (inlet 'a b c d 'e f)
^^^^^ not quoted
The patch does result in the correct output but I'm not sure if
it's the correct way to do it.
Tested on today's s7.c (S7_DATE "31-Mar-2026").
Matthew
--- ../s7/s7.c Mon Mar 30 11:33:30 2026
+++ s7.c Mon Mar 30 11:35:07 2026
@@ -38204,7 +38204,7 @@
else strport = port;
if (use_write == p_Readable)
sc->has_openlets = false;
- object_out(sc, obj, strport, use_write);
+ object_out(sc, obj, strport, p_Write);
if (use_write == p_Readable)
sc->has_openlets = old_openlets;
if (columnized)
More information about the Cmdist
mailing list