Hi, Hannes Müller <h.c.f.muel...@gmx.de> skribis:
> From 72b85f8e6a369e6aef4c6bd6bb233c0cacb80b03 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Hannes=20M=C3=BCller?= <> > Date: Sat, 21 Dec 2024 16:55:13 +0100 > Subject: [PATCH] Fix make-custom-port in case encoding is #f > > * module/ice-9/custom-ports.scm (make-custom-port): Code fails if > (fluid-ref %default-port-encoding) returns #f. In fact this was the > case why readline support on MSYS2 failed for guile 3.0.10, ref. > https://github.com/msys2/MSYS2-packages/issues/5079 > But later used canonicalize-encoding is prepared to handle #f for > encoding. So allow encoding to also handle this case. Applied with the simplification below. Thanks, Ludo’.
diff --git a/module/ice-9/custom-ports.scm b/module/ice-9/custom-ports.scm index bc9de8f64..c4376db7b 100644 --- a/module/ice-9/custom-ports.scm +++ b/module/ice-9/custom-ports.scm @@ -127,9 +127,7 @@ (id "custom-port") (print (make-default-print #:id id)) (truncate default-truncate) - (encoding (if (string? (fluid-ref %default-port-encoding)) - (string->symbol (fluid-ref %default-port-encoding)) - (fluid-ref %default-port-encoding))) + (encoding (and=> (fluid-ref %default-port-encoding) string->symbol)) (conversion-strategy (fluid-ref %default-port-conversion-strategy)) (close-on-gc? #f)) "Create a custom port whose behavior is determined by the methods passed