Merge changes from emacs-24; up to 2012-04-26T02:03:19Z!ueno@unixuser.org
[bpt/emacs.git] / admin / unidata / unidata-gen.el
index 03399ea..d927721 100644 (file)
 ;; DEFAULT: the default value of the property.  It may have the form
 ;;   (VAL0 (FROM1 TO1 VAL1) ...) which indicates that the default
 ;;   value is VAL0 except for characters in the ranges specified by
-;;   FROMn and TOn (incusive).  The default value of characters
+;;   FROMn and TOn (inclusive).  The default value of characters
 ;;   between FROMn and TOn is VALn.
 ;; VAL-LIST: list of specially ordered property values
 
   '((name
      1 unidata-gen-table-name "uni-name.el"
      "Unicode character name.
-Property value is a string."
+Property value is a string or nil.
+The value nil stands for the default value \"null string\")."
      nil
-     "")
+     nil)
     (general-category
      2 unidata-gen-table-symbol "uni-category.el"
      "Unicode general category.
@@ -194,7 +195,11 @@ Property value is one of the following symbols:
   L, LRE, LRO, R, AL, RLE, RLO, PDF, EN, ES, ET,
   AN, CS, NSM, BN, B, S, WS, ON"
      unidata-describe-bidi-class
-     (L (#x0600 #x06FF AL) (#x0590 #x05FF R) (#x07C0 #x08FF R)
+     ;; The assignment of default values to blocks of code points
+     ;; follows the file DerivedBidiClass.txt from the Unicode
+     ;; Character Database (UCD).
+     (L (#x0600 #x06FF AL) (#xFB50 #xFDFF AL) (#xFE70 #xFEFF AL)
+       (#x0590 #x05FF R) (#x07C0 #x08FF R)
        (#xFB1D #xFB4F R) (#x10800 #x10FFF R) (#x1E800 #x1EFFF R))
      ;; The order of elements must be in sync with bidi_type_t in
      ;; src/dispextern.h.
@@ -231,7 +236,8 @@ Property value is a symbol `Y' or `N'.  See also the property `mirroring'."
     (old-name
      10 unidata-gen-table-name "uni-old-name.el"
      "Unicode old names as published in Unicode 1.0.
-Property value is a string.")
+Property value is a string or nil.
+The value nil stands for the default value \"null string\").")
     (iso-10646-comment
      11 unidata-gen-table-name "uni-comment.el"
      "Unicode ISO 10646 comment.
@@ -708,7 +714,7 @@ is the character itself.")))
            (aset table c name)
            (if (= c char)
                (setq val name))))
-       (or val ""))))
+       val)))
 
    ((and (integerp val) (> val 0))
     (let* ((symbol-table (aref (char-table-extra-slot table 4) 1))
@@ -734,9 +740,7 @@ is the character itself.")))
            ((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH)
             (format "%s-%04X" sym char))
            ((eq sym 'VARIATION\ SELECTOR)
-            (format "%s-%d" sym (+ (- char #xe0100) 17))))))
-
-   (t "")))
+            (format "%s-%d" sym (+ (- char #xe0100) 17))))))))
 
 ;; Store VAL as the name of CHAR in TABLE.