[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#28646: 25.2; Emoji BED cannot be inserted with its name
From: |
Robert Pluim |
Subject: |
bug#28646: 25.2; Emoji BED cannot be inserted with its name |
Date: |
Fri, 29 Sep 2017 17:48:53 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.60 (gnu/linux) |
ynyaaa@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@cs.ucla.edu>
AuthorDate: Mon Apr 25 10:41:29 2016 -0700
Commit: Paul Eggert <eggert@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