GNU bug report logs - #75084
bug report with patch 0003-Fix-make-custom-port-in-case-encoding-is-f.patch

Previous Next

Package: guile;

Reported by: Hannes Müller <h.c.f.mueller <at> gmx.de>

Date: Wed, 25 Dec 2024 12:51:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Hannes Müller <h.c.f.mueller <at> gmx.de>
Subject: bug#75084: closed (Re: bug#75084: bug report with patch
 0003-Fix-make-custom-port-in-case-encoding-is-f.patch)
Date: Fri, 28 Feb 2025 20:29:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#75084: bug report with patch 0003-Fix-make-custom-port-in-case-encoding-is-f.patch

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 75084 <at> debbugs.gnu.org.

-- 
75084: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75084
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Hannes Müller <h.c.f.mueller <at> gmx.de>
Cc: 75084-done <at> debbugs.gnu.org
Subject: Re: bug#75084: bug report with patch
 0003-Fix-make-custom-port-in-case-encoding-is-f.patch
Date: Fri, 28 Feb 2025 21:28:39 +0100
[Message part 3 (text/plain, inline)]
Hi,

Hannes Müller <h.c.f.mueller <at> 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’.

[Message part 4 (text/x-patch, inline)]
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
[Message part 5 (message/rfc822, inline)]
From: Hannes Müller <h.c.f.mueller <at> gmx.de>
To: bug-guile <at> gnu.org
Subject: bug report with patch
 0003-Fix-make-custom-port-in-case-encoding-is-f.patch
Date: Wed, 25 Dec 2024 12:50:13 +0000
[Message part 6 (text/html, inline)]
[0003-Fix-make-custom-port-in-case-encoding-is-f.patch (text/x-patch, attachment)]

This bug report was last modified 83 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.