GNU bug report logs - #28646
25.2; Emoji BED cannot be inserted with its name

Previous Next

Package: emacs;

Reported by: ynyaaa <at> gmail.com

Date: Fri, 29 Sep 2017 14:03:02 UTC

Severity: normal

Found in version 25.2

Fixed in version 26.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: Robert Pluim <rpluim <at> gmail.com>
To: ynyaaa <at> gmail.com
Cc: 28646 <at> debbugs.gnu.org
Subject: Re: bug#28646: 25.2; Emoji BED cannot be inserted with its name
Date: Fri, 29 Sep 2017 17:48:53 +0200
ynyaaa <at> gmail.com writes:

> Typing 'C-x 8 RET B E D RET' inserts #xBED(TAMIL DIGIT SEVEN).
> Emoji #x1F6CF(BED) cannot be inserted with its name.
> Although the completion list for insert-char with 'BE' includes Emoji BED,
> the result of clicking 'BED' is TAMIL DIGIT SEVEN.

Indeed it is. 25.3 behaves the same, but 26 correctly inserts #x1F6CF.

I've bisected it down to the following commit, which changed the
interpretation of 'BED' to be less surprising.

You can either upgrade to the not-yet-released emacs-26, or try
applying this commit locally (if you build your own emacs)

commit 86d083438dba60dc00e9e96414bf7e832720c05a (HEAD)
Author:     Paul Eggert <eggert <at> cs.ucla.edu>
AuthorDate: Mon Apr 25 10:41:29 2016 -0700
Commit:     Paul Eggert <eggert <at> cs.ucla.edu>
CommitDate: Mon Apr 25 10:42:48 2016 -0700

    New function ‘char-from-name’
    
    This also fixes the mishandling of "\N{CJK COMPATIBILITY
    IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
    Problem reported by Eli Zaretskii in:
    http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00614.html
    * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
    * lisp/international/mule-cmds.el (char-from-name): New function.
    (read-char-by-name): Use it.  Document that "BED" is treated as
    a name, not as a hexadecimal number.  Reject out-of-range integers,
    floating-point numbers, and strings with trailing junk.
    * src/lread.c (character_name_to_code): Call char-from-name
    instead of inspecting ucs-names directly, so that we handle
    computed names like "VARIATION SELECTOR-1".  Do not use an auto
    string, since char-from-name might GC.
    * test/src/lread-tests.el: Add tests for new behavior, and
    fix some old tests that were wrong.

Regards

Robert




This bug report was last modified 7 years and 320 days ago.

Previous Next


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