GNU bug report logs - #64928
29.1; format-decode-buffer fails for de646 and duden

Previous Next

Package: emacs;

Reported by: Ulrich Müller <ulm <at> gentoo.org>

Date: Sat, 29 Jul 2023 10:54:02 UTC

Severity: normal

Found in version 29.1

Fixed in version 30.1

Done: Ulrich Müller <ulm <at> gentoo.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64928 in the body.
You can then email your comments to 64928 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#64928; Package emacs. (Sat, 29 Jul 2023 10:54:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ulrich Müller <ulm <at> gentoo.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 29 Jul 2023 10:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ulrich Müller <ulm <at> gentoo.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.1; format-decode-buffer fails for de646 and duden
Date: Sat, 29 Jul 2023 12:52:40 +0200
The following command results in an error:

M-x format-decode-buffer RET de646 RET
Format decoding failed
recode: Request `iso646-ge:latin1' is erroneous

The "duden" encoding does not work either:

M-x format-decode-buffer RET duden RET
Format decoding failed
/bin/bash: line 1: diac: command not found

A trivial patch is included below.

(Not sure if fixing this is even worth the effort. AFAICS Recode never
recognised a charset "iso646-ge". The ISO 646 variants were added
in 1993 with recode-3.3, and its label for the German variant was
"iso646de" even back then. So nobody has reported this since almost
30 years.)

----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< -----
From d5a7b6c0fdc93e3ad74d9798729b3036e30f0b19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm <at> gentoo.org>
Date: Sat, 29 Jul 2023 11:37:45 +0200
Subject: [PATCH] ; Fix conversions in format.el

* lisp/format.el (format-alist): Fix duden and de646 conversions.
---
 lisp/format.el | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lisp/format.el b/lisp/format.el
index b2dba16659b..20c25b0b937 100644
--- a/lisp/format.el
+++ b/lisp/format.el
@@ -87,11 +87,16 @@ format-alist
 	   rot13-region rot13-region t nil)
     (duden ,(purecopy "Duden Ersatzdarstellung")
 	   nil
-	   ,(purecopy "diac") iso-iso2duden t nil)
+	   ;; FROM-FN used to call the "diac" command which is not widely
+	   ;; available and apparently not under a free software license:
+	   ;; https://tug.ctan.org/support/umlaut_tex.txt
+	   ;; Reliable round-trip conversion is not possible anyway
+	   ;; and would be by heuristic method, so use nil for now.
+	   nil iso-iso2duden t nil)
     (de646 ,(purecopy "German ASCII (ISO 646)")
 	   nil
-	   ,(purecopy "recode -f iso646-ge:latin1")
-	   ,(purecopy "recode -f latin1:iso646-ge") t nil)
+	   ,(purecopy "iconv -f iso646-de -t utf-8")
+	   ,(purecopy "iconv -f utf-8 -t iso646-de") t nil)
     (denet ,(purecopy "net German")
 	   nil
 	   iso-german iso-cvt-read-only t nil)
-- 
2.41.0

----- >8 ----- >8 ----- >8 ----- >8 ----- >8 ----- >8 ----- >8 -----




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64928; Package emacs. (Sat, 29 Jul 2023 13:48:01 GMT) Full text and rfc822 format available.

Message #8 received at 64928 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Ulrich Müller <ulm <at> gentoo.org>
Cc: 64928 <at> debbugs.gnu.org
Subject: Re: bug#64928: 29.1; format-decode-buffer fails for de646 and duden
Date: Sat, 29 Jul 2023 16:46:53 +0300
> From: Ulrich Müller <ulm <at> gentoo.org>
> Date: Sat, 29 Jul 2023 12:52:40 +0200
> 
> The following command results in an error:
> 
> M-x format-decode-buffer RET de646 RET
> Format decoding failed
> recode: Request `iso646-ge:latin1' is erroneous
> 
> The "duden" encoding does not work either:
> 
> M-x format-decode-buffer RET duden RET
> Format decoding failed
> /bin/bash: line 1: diac: command not found
> 
> A trivial patch is included below.
> 
> (Not sure if fixing this is even worth the effort. AFAICS Recode never
> recognised a charset "iso646-ge". The ISO 646 variants were added
> in 1993 with recode-3.3, and its label for the German variant was
> "iso646de" even back then. So nobody has reported this since almost
> 30 years.)

I see no harm in installing this on master.

Thanks.




bug marked as fixed in version 30.1, send any further explanations to 64928 <at> debbugs.gnu.org and Ulrich Müller <ulm <at> gentoo.org> Request was from Ulrich Müller <ulm <at> gentoo.org> to control <at> debbugs.gnu.org. (Sat, 29 Jul 2023 14:16:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 27 Aug 2023 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 26 days ago.

Previous Next


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