]> code.delx.au - gnu-emacs/commit
New function ‘char-from-name’
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 25 Apr 2016 17:41:29 +0000 (10:41 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 25 Apr 2016 17:42:48 +0000 (10:42 -0700)
commit86d083438dba60dc00e9e96414bf7e832720c05a
tree9ca5fac163acf4b1a3bca0e1e8b5c87af26e5a89
parentf069d854508946bcc03e4c77ceb430748e3ab6d7
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.
doc/lispref/nonascii.texi
etc/NEWS
lisp/international/mule-cmds.el
src/lread.c
test/src/lread-tests.el