]> code.delx.au - gnu-emacs/blobdiff - lispref/objects.texi
(Character Type): Clarify prev. change.
[gnu-emacs] / lispref / objects.texi
index 93848cffe0900df60aa24d4a0ba6ae076db0a010..b721809d18b75143be08e526ec90654cee929c59 100644 (file)
@@ -431,6 +431,19 @@ Numerically, the
 bit values are 2**22 for alt, 2**23 for super and 2**24 for hyper.
 @end ifnottex
 
+@cindex unicode character escape
+  Emacs provides a syntax for specifying characters by their Unicode
+code points.  @code{?\u@var{nnnn}} represents a character that maps to
+the Unicode code point @samp{U+@var{nnnn}}.  There is a slightly
+different syntax for specifying characters with code points above
+@code{#xFFFF}; @code{\U00@var{nnnnnn}} represents the character whose
+Unicode code point is @samp{U+@var{nnnnnn}}, if such a character
+is supported by Emacs.
+
+  This peculiar and inconvenient syntax was adopted for compatibility
+with other programming languages.  Unlike some other languages, Emacs
+Lisp supports this syntax in only character literals and strings.
+
 @cindex @samp{\} in character constant
 @cindex backslash in character constant
 @cindex octal character code
@@ -1000,6 +1013,9 @@ this produces a unibyte string.  However, using any hex escape in a
 string (even for an @acronym{ASCII} character) forces the string to be
 multibyte.
 
+  You can also specify characters in a string by their numeric values
+in Unicode, using @samp{\u} and @samp{\U} (@pxref{Character Type}).
+
   @xref{Text Representations}, for more information about the two
 text representations.
 
@@ -1779,6 +1795,12 @@ with references to further information.
 
 @item windowp
 @xref{Basic Windows, windowp}.
+
+@item booleanp
+@xref{nil and t, booleanp}.
+
+@item string-or-null-p
+@xref{Predicates for Strings, string-or-null-p}.
 @end table
 
   The most general way to check the type of an object is to call the