shithub: sl

Download patch

ref: edcb65b4aa71a20f38e936a8c07c7b8b7d685fdc
parent: 29c8d9ed10c6dacd49bb039bd7bbde2c47c1d47a
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Mon Mar 17 14:16:41 EDT 2025

print-to-str: allow multiple arguments, like in (print ...)

--- a/boot/sl.boot
+++ b/boot/sl.boot
@@ -356,9 +356,10 @@
 find-in-f)
   #fn("n220A01>321{863E0722374758651522662:27:" #(#fn("n02021AF>292524q:" #(#fn(for-each)
                                                                             #fn("n1A<0Fq63:" #())))
-join #fn(map) str reverse! "/" "λ") fname) reverse! length>
-  list-tail *interactive* filter closure? #fn(map) #fn("n10Z;380420061:" #(#fn(top-level-value)))
-  #fn(environment) #fn(for-each) #fn("n17021A<0KGF52524222374051==52470257652492<El23?0770KG0EG52@30q49292<KM_:" #(princ
+join #fn(map) str reverse! "/" "λ") fname) reverse! length>
+  list-tail *interactive* filter closure? #fn(map) #fn("n10Z;380420061:" #(#fn(top-level-value)))
+  #fn(environment) #fn(for-each) #fn("n17021A<0KGF52524222374051==52470257652492<El23?0770KG0EG52@30q49292<KM_:" #(princ
+  "(" #fn(for-each) #fn("n1702151472061:" #(princ " " print)) vec->list ")" *linefeed* fn-disasm))) print-stack-trace)
 2374051==52470257652492<El23?0770KG0EG52@30q49292<KM_:" #(princ
   "(" #fn(for-each) #fn("n1702151472061:" #(princ " " print)) vec->list ")" *linefeed* fn-disasm))) print-stack-trace)
             print-to-str #fn("n1205021085524228561:" #(#fn(buffer)
--- a/src/system.lsp
+++ b/src/system.lsp
@@ -895,9 +895,9 @@
 (def (str-rpad s n c)
   (str s (str-rep c (- n (str-length s)))))
 
-(def (print-to-str v)
+(def (print-to-str . args)
   (let ((b (buffer)))
-    (write v b)
+    (for-each (λ (a) (write a b)) args)
     (io->str b)))
 
 (def (str-join strlist sep)