bug#75084: bug report with patch 0003-Fix-make-custom-port-in-case-encoding-is-f.patch
Ludovic Courtès <[email protected]> Fri, 28 Feb 2025 21:28:39 +0100
| Newsgroups | gmane.lisp.guile.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hi, Hannes Müller <[email protected]> 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’.
(unnamed)
(text/x-patch, 792 B)
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