Subject: bug#18536: closed (Re: bug#18536: [PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in UTF-8)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 24 Sep 2014 01:47:03 +0000

Your bug report

#18536: [PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in UTF-8

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 [email-masked].

-- 
18536: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18536
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#18536: [PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in UTF-8
From: Mark H Weaver <[email-masked]>
To: David Kastrup <[email-masked]>
Cc: [email-masked]
Date: Tue, 23 Sep 2014 21:44:38 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Pushed to master, commit f7582f9807d9a10fba86f54c4aeaa7444c51a315.
I'm closing this bug now.

     Thanks,
       Mark

Subject: [PATCH] Fix unread-string for characters 0x80 <= c < 0xf0 in UTF-8
From: David Kastrup <[email-masked]>
To: [email-masked]
Cc: David Kastrup <[email-masked]>
Date: Tue, 23 Sep 2014 17:10:19 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* libguile/ports.c (scm_ungetc_unlocked): Fix bad reencoding.

The code

(with-input-from-string ""
  (lambda () (unread-string "\"ä\"" (current-input-port)) (read)))

returns "?" instead of "ä".  This bug was introduced in
commit be7ecef05c1eea66f30360f658c610710c5cb22e

Signed-off-by: David Kastrup <[email-masked]>
---
 libguile/ports.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libguile/ports.c b/libguile/ports.c
index 8185d85..3129282 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -2139,7 +2139,7 @@ scm_ungetc_unlocked (scm_t_wchar c, SCM port)
 
   if (pti->encoding_mode == SCM_PORT_ENCODING_MODE_UTF8)
     {
-      if (c < 0xf0)
+      if (c < 0x80)
         {
           result_buf[0] = (char) c;
           result = result_buf;
-- 
1.9.1