Add display, simple-format and format variants

Which call put-bytevector for performing output. When used in
combination with an unbuffered port, this should be safer than using
the normal Guile procedures, as I think it'll avoid writing to the
buffers, while still avoiding single character at a time output.

More research is needed though in to how to output to stdout/stderr
when using fibers with a parallelism greater than 1.
This commit is contained in:
Christopher Baines 2026-01-12 10:00:35 +00:00
parent 39ae5177f2
commit 094259b049
3 changed files with 69 additions and 25 deletions

View file

@ -90,7 +90,7 @@
(set-record-type-printer!
<resource-pool>
(lambda (resource-pool port)
(display
(display/knots
(simple-format #f "#<resource-pool name: \"~A\">"
(resource-pool-name resource-pool))
port)))
@ -488,8 +488,8 @@
(stack-ref stack 3)
'%exception
(list exn))))))
(display error-string
(current-error-port)))
(display/knots error-string
(current-error-port)))
(raise-exception exn))
(lambda ()
(start-stack
@ -1146,8 +1146,8 @@
(stack-ref stack 3)
'%exception
(list exn))))))
(display error-string
(current-error-port)))
(display/knots error-string
(current-error-port)))
(raise-exception exn))
(lambda ()
(start-stack