GNU bug report logs - #5380
Problem with command sgml-name-8bit-mode in GNU emacs 23.1

Previous Next

Package: emacs;

Reported by: Volker Kiefel <volker.kiefel <at> freenet.de>

Date: Thu, 14 Jan 2010 22:39:01 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

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 5380 in the body.
You can then email your comments to 5380 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 owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5380; Package emacs. (Thu, 14 Jan 2010 22:39:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Volker Kiefel <volker.kiefel <at> freenet.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 14 Jan 2010 22:39:02 GMT) Full text and rfc822 format available.

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

From: Volker Kiefel <volker.kiefel <at> freenet.de>
To: bug-gnu-emacs <at> gnu.org
Subject: Problem with command sgml-name-8bit-mode in GNU emacs 23.1
Date: Thu, 14 Jan 2010 23:16:09 +0100
Hello, dear maintainers of emacs and sgml-mode.el,

as a regular user of the html-mode of emacs I encountered a
problem with the function ``sgml-name-8bit-mode'', (menu option
(SGML/Toggle 8 bit insertion), as I changed to v23.1 of GNU
emacs. The problem encountered on the precompiled win32 version
and on the version in Linux compiled by myself.

After switching on the ``sgml name entity mode'' typing an umlaut
character like ä (a umlaut) now no more (as in previous emacs
versions and as expected) produces ``&auml;'' but ``\344''.

I hope that the problem can be fixed.

With kind regards
Volker Kiefel
Germany
---

In GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.10.11)
 of 2010-01-09 on ubuntu
Windowing system distributor `The X.Org Foundation', version 11.0.70200000
configured using `configure  '--prefix=/home/kiefel/emacs-23.1''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  show-paren-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t






Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5380; Package emacs. (Thu, 21 Jan 2010 01:57:02 GMT) Full text and rfc822 format available.

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

From: Chong Yidong <cyd <at> stupidchicken.com>
To: emacs-devel <at> gnu.org
Cc: 5380 <at> debbugs.gnu.org
Subject: Re: Problem with command sgml-name-8bit-mode in GNU emacs 23.1
Date: Wed, 20 Jan 2010 20:56:23 -0500
Could someone with a non-English keyboard please try to debug Bug#5380?

> I encountered a problem with the function ``sgml-name-8bit-mode'',
> (menu option (SGML/Toggle 8 bit insertion)...  After switching on the
> ``sgml name entity mode'' typing an umlaut character like ä (a umlaut)
> now no more (as in previous emacs versions and as expected) produces
> ``&auml;'' but ``\344''.

In sgml-mode-map, we do the following:

    (let ((c 127)
          (map (nth 1 map)))
      (while (< (setq c (1+ c)) 256)
        (aset map c 'sgml-maybe-name-self)))

where

(defun sgml-maybe-name-self ()
  "Insert a symbolic character name according to `sgml-char-names'."
  (interactive "*")
  (if sgml-name-8bit-mode
      (let ((mc last-command-event))
	(if (< mc 256)
	    (setq mc (unibyte-char-to-multibyte mc)))
	(or mc (setq mc last-command-event))
	(sgml-name-char mc))
    (self-insert-command 1)))

This must have broken with the switch to unicode, but it's inconvenient
for me to debug without a keyboard that can produce these characters.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5380; Package emacs. (Thu, 21 Jan 2010 02:48:02 GMT) Full text and rfc822 format available.

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

From: Kenichi Handa <handa <at> m17n.org>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: 5380 <at> debbugs.gnu.org, emacs-devel <at> gnu.org
Subject: Re: bug#5380: Problem with command sgml-name-8bit-mode in GNU emacs
	23.1
Date: Thu, 21 Jan 2010 11:47:46 +0900
In article <87tyugfcfs.fsf <at> stupidchicken.com>, Chong Yidong <cyd <at> stupidchicken.com> writes:

> Could someone with a non-English keyboard please try to debug Bug#5380?
> > I encountered a problem with the function ``sgml-name-8bit-mode'',
> > (menu option (SGML/Toggle 8 bit insertion)...  After switching on the
> > ``sgml name entity mode'' typing an umlaut character like ä (a umlaut)
> > now no more (as in previous emacs versions and as expected) produces
> > ``&auml;'' but ``\344''.

> In sgml-mode-map, we do the following:

>     (let ((c 127)
>           (map (nth 1 map)))
>       (while (< (setq c (1+ c)) 256)
>         (aset map c 'sgml-maybe-name-self)))

> where

> (defun sgml-maybe-name-self ()
>   "Insert a symbolic character name according to `sgml-char-names'."
>   (interactive "*")
>   (if sgml-name-8bit-mode
>       (let ((mc last-command-event))
> 	(if (< mc 256)
> 	    (setq mc (unibyte-char-to-multibyte mc)))
> 	(or mc (setq mc last-command-event))
> 	(sgml-name-char mc))
>     (self-insert-command 1)))

> This must have broken with the switch to unicode, 

As Emacs receives already decoded character event now,
defining sgml-maybe-name-self simply as below will work.

(defun sgml-maybe-name-self ()
  "Insert a symbolic character name according to `sgml-char-names'."
  (interactive "*")
  (if sgml-name-8bit-mode
      (sgml-name-char last-command-event)
    (self-insert-command 1)))

> but it's inconvenient for me to debug without a keyboard
> that can produce these characters.

You can test it as below:

(let ((sgml-name-8bit-mode t)
      (last-command-event #xC0))
  (call-interactively 'sgml-maybe-name-self))

---
Kenichi Handa
handa <at> m17n.org




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5380; Package emacs. (Thu, 21 Jan 2010 14:03:02 GMT) Full text and rfc822 format available.

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

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Kenichi Handa <handa <at> m17n.org>
Cc: 5380 <at> debbugs.gnu.org, emacs-devel <at> gnu.org
Subject: Re: bug#5380: Problem with command sgml-name-8bit-mode in GNU emacs
	23.1
Date: Thu, 21 Jan 2010 09:02:29 -0500
Kenichi Handa <handa <at> m17n.org> writes:

> As Emacs receives already decoded character event now,
> defining sgml-maybe-name-self simply as below will work.

Ah, that seems to work.  Thanks very much.




bug closed, send any further explanations to Volker Kiefel <volker.kiefel <at> freenet.de> Request was from Chong Yidong <cyd <at> stupidchicken.com> to control <at> debbugs.gnu.org. (Thu, 21 Jan 2010 14:04:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <bug-gnu-emacs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 19 Feb 2010 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 15 years and 123 days ago.

Previous Next


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