* lisp/international/mule-cmds.el (char-to-name): New function. This is
the inverse of 'char-from-name'.
* doc/lispref/nonascii.texi (Character Codes): Document it.
* etc/NEWS: Announce it.
(cherry picked from commit
3a4cf1aa1efb79b52c0aca18281593ba0e8175ca)
@end example
@end defun
+@defun char-to-name char
+This function returns the Unicode name of @var{char}. Returns
+@code{nil} if @var{char} is not a character or has no Unicode name.
+@end defun
+
@defun get-byte &optional pos string
This function returns the byte at character position @var{pos} in the
current buffer. If the current buffer is unibyte, this is literally
In either case, the string is propertized so clicking on it gives
further details.
+** New function 'char-to-name'.
+This is a convenience function to return the Unicode name of a char (if
+it has one).
+
** New function 'cl-type-of'.
This function is like 'type-of' except that it sometimes returns
a more precise type. For example, for nil and t it returns 'null'
(script (and char (aref char-script-table char))))
(if script (symbol-name script) "ungrouped"))))
+(defun char-to-name (char)
+ "Return the Unicode name for CHAR, if it has one, else nil.
+Return nil if CHAR is not a character."
+ (and (characterp char)
+ (or (get-char-code-property char 'name)
+ (get-char-code-property char 'old-name))))
+
(defun char-from-name (string &optional ignore-case)
"Return a character as a number from its Unicode name STRING.
If optional IGNORE-CASE is non-nil, ignore case in STRING.