]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #16216 with 'name' Unicode property of control characters.
authorEli Zaretskii <eliz@gnu.org>
Sun, 22 Dec 2013 18:02:37 +0000 (20:02 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sun, 22 Dec 2013 18:02:37 +0000 (20:02 +0200)
 admin/unidata/unidata-gen.el (unidata-split-name): Don't give any NAME
 to <control> characters: the Unicode Standard says they have no
 name.

 doc/lispref/nonascii.texi (Character Properties): NAME or OLD-NAME
 properties can be nil (there's no empty string).

admin/ChangeLog
admin/unidata/unidata-gen.el
doc/lispref/ChangeLog
doc/lispref/nonascii.texi

index f49061e35dfeaf20c2d71d3da7b6641a14155a31..7671ae409cd187c49b4c7d28660e616af1fb7ec5 100644 (file)
@@ -1,3 +1,9 @@
+2013-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * unidata/unidata-gen.el (unidata-split-name): Don't give any NAME
+       to <control> characters: the Unicode Standard says they have no
+       name.  (Bug#16216)
+
 2013-12-12  David Engster  <deng@randomsample.de>
 
        * grammars/c.by (expr-binop): Add MOD.
index fa8f81636e36e1c66c882d3259f87f26637ce4d1..ed531eeea25513934edc45f5deeeff3511da569a 100644 (file)
@@ -984,7 +984,14 @@ is the character itself.")))
          (l nil)
          (idx 0)
          c)
-      (if (= len 0)
+      (if (or (= len 0)
+             ;; Unicode Standard, paragraph 4.8: "For all other
+             ;; Unicode code points of all other types (Control,
+             ;; Private-Use, Surrogate, Noncharacter, and Reserved),
+             ;; the value of the Name property is the null string."
+             ;; We already handle elsewhere all the characters except
+             ;; Cc, Control characters, which are handled here.
+             (string= str "<control>"))
          nil
        (dotimes (i len)
          (setq c (aref str i))
index d03f6ae39da91fed4123e3df50cc384b6a2c2624..c0a3c81e926149300875529493f410fefa1debbb 100644 (file)
@@ -1,12 +1,20 @@
+2013-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * nonascii.texi (Character Properties): NAME or OLD-NAME
+       properties can be nil (there's no empty string).
+
 2013-12-22  Xue Fuqiao  <xfq.free@gmail.com>
 
-       * sequences.texi (Bool-Vectors): Document new bool-vector set operation functions.
+       * sequences.texi (Bool-Vectors): Document new bool-vector set
+       operation functions.
 
        * text.texi (Examining Properties): Document `get-pos-property'.
 
-       * variables.texi (Directory Local Variables): Document `enable-dir-local-variables'.
+       * variables.texi (Directory Local Variables): Document
+       `enable-dir-local-variables'.
 
-       * debugging.texi (Debugger Commands): Document `debugger-toggle-locals'.
+       * debugging.texi (Debugger Commands): Document
+       `debugger-toggle-locals'.
 
 2013-12-21  Chong Yidong  <cyd@gnu.org>
 
index 4132c1f8de0fc7205d5d3fcb1bcb2f04416f590d..ee4c8b77f3d60874034cb7791f0ef47f4de888a9 100644 (file)
@@ -440,7 +440,7 @@ properties that Emacs knows about:
 Corresponds to the @code{Name} Unicode property.  The value is a
 string consisting of upper-case Latin letters A to Z, digits, spaces,
 and hyphen @samp{-} characters.  For unassigned codepoints, the value
-is an empty string.
+is @code{nil}.
 
 @cindex unicode general category
 @item general-category
@@ -522,7 +522,8 @@ is @code{nil}.
 
 @item old-name
 Corresponds to the Unicode @code{Unicode_1_Name} property.  The value
-is a string.  For unassigned codepoints, the value is an empty string.
+is a string.  Unassigned codepoints, and characters that have no value
+for this property, the value is @code{nil}.
 
 @item iso-10646-comment
 Corresponds to the Unicode @code{ISO_Comment} property.  The value is