aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2011-08-23 20:48:07 +0900
committerKenichi Handa2011-08-23 20:48:07 +0900
commit0902a04edd7a2e0ca5d73fd996e46f26d5228501 (patch)
treef525281c4570fda4a5d45a5506f79be3f639a502
parent823564e519dd1f3e81a79949e1abc033c9e7c0a5 (diff)
downloademacs-0902a04edd7a2e0ca5d73fd996e46f26d5228501.tar.gz
emacs-0902a04edd7a2e0ca5d73fd996e46f26d5228501.zip
Fix default values of character properties.
-rw-r--r--admin/ChangeLog14
-rw-r--r--admin/unidata/unidata-gen.el103
-rw-r--r--lisp/ChangeLog18
-rw-r--r--lisp/international/charprop.el26
-rw-r--r--lisp/international/uni-bidi.elbin8719 -> 7981 bytes
-rw-r--r--lisp/international/uni-category.elbin11396 -> 12759 bytes
-rw-r--r--lisp/international/uni-combining.elbin8369 -> 6251 bytes
-rw-r--r--lisp/international/uni-comment.elbin2386 -> 2407 bytes
-rw-r--r--lisp/international/uni-decimal.elbin1869 -> 2710 bytes
-rw-r--r--lisp/international/uni-decomposition.elbin28459 -> 28497 bytes
-rw-r--r--lisp/international/uni-digit.elbin2187 -> 3028 bytes
-rw-r--r--lisp/international/uni-lowercase.elbin5347 -> 6421 bytes
-rw-r--r--lisp/international/uni-mirrored.elbin10452 -> 9342 bytes
-rw-r--r--lisp/international/uni-name.elbin158765 -> 158786 bytes
-rw-r--r--lisp/international/uni-numeric.elbin3688 -> 4522 bytes
-rw-r--r--lisp/international/uni-old-name.elbin19692 -> 19713 bytes
-rw-r--r--lisp/international/uni-titlecase.elbin5434 -> 6462 bytes
-rw-r--r--lisp/international/uni-uppercase.elbin5430 -> 6458 bytes
-rw-r--r--src/ChangeLog5
-rw-r--r--src/chartab.c2
20 files changed, 129 insertions, 39 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index bc38edfc8d4..f8eb071d96d 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,17 @@
12011-08-23 Kenichi Handa <handa@m17n.org>
2
3 * unidata/unidata-gen.el (unidata-prop-alist): Provide default
4 values for name, general-category, canonical-combining-class,
5 mirrored, and bidi-class. Describe the meaning of value nil for
6 decimal-digit-value, digit-value, numeric-value, uppercase,
7 lowercase, titlecase, and mirroring.
8 (unidata-gen-table): Handle the case that default-value is a
9 list. Set default values of characters not listed in a table.
10 (unidata-get-name): Return an empty string if a value in a
11 char-table is nil.
12 (unidata-get-decomposition): Return a list of character itself if
13 a value in a char-table is nil.
14
12011-08-15 Eli Zaretskii <eliz@gnu.org> 152011-08-15 Eli Zaretskii <eliz@gnu.org>
2 16
3 * unidata/bidimirror.awk: File removed. 17 * unidata/bidimirror.awk: File removed.
diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el
index ab1dcd134ac..03399eae213 100644
--- a/admin/unidata/unidata-gen.el
+++ b/admin/unidata/unidata-gen.el
@@ -146,7 +146,7 @@
146 (setq unidata-list (cdr table)))) 146 (setq unidata-list (cdr table))))
147 147
148;; Alist of this form: 148;; Alist of this form:
149;; (PROP INDEX GENERATOR FILENAME DOCSTRING DESCRIBER VAL-LIST) 149;; (PROP INDEX GENERATOR FILENAME DOCSTRING DESCRIBER DEFAULT VAL-LIST)
150;; PROP: character property 150;; PROP: character property
151;; INDEX: index to each element of unidata-list for PROP. 151;; INDEX: index to each element of unidata-list for PROP.
152;; It may be a function that generates an alist of character codes 152;; It may be a function that generates an alist of character codes
@@ -155,14 +155,20 @@
155;; FILENAME: filename to store the char-table 155;; FILENAME: filename to store the char-table
156;; DOCSTRING: docstring for the property 156;; DOCSTRING: docstring for the property
157;; DESCRIBER: function to call to get a description string of property value 157;; DESCRIBER: function to call to get a description string of property value
158;; DEFAULT: the default value of the property 158;; DEFAULT: the default value of the property. It may have the form
159;; (VAL0 (FROM1 TO1 VAL1) ...) which indicates that the default
160;; value is VAL0 except for characters in the ranges specified by
161;; FROMn and TOn (incusive). The default value of characters
162;; between FROMn and TOn is VALn.
159;; VAL-LIST: list of specially ordered property values 163;; VAL-LIST: list of specially ordered property values
160 164
161(defconst unidata-prop-alist 165(defconst unidata-prop-alist
162 '((name 166 '((name
163 1 unidata-gen-table-name "uni-name.el" 167 1 unidata-gen-table-name "uni-name.el"
164 "Unicode character name. 168 "Unicode character name.
165Property value is a string.") 169Property value is a string."
170 nil
171 "")
166 (general-category 172 (general-category
167 2 unidata-gen-table-symbol "uni-category.el" 173 2 unidata-gen-table-symbol "uni-category.el"
168 "Unicode general category. 174 "Unicode general category.
@@ -170,7 +176,7 @@ Property value is one of the following symbols:
170 Lu, Ll, Lt, Lm, Lo, Mn, Mc, Me, Nd, Nl, No, Pc, Pd, Ps, Pe, Pi, Pf, Po, 176 Lu, Ll, Lt, Lm, Lo, Mn, Mc, Me, Nd, Nl, No, Pc, Pd, Ps, Pe, Pi, Pf, Po,
171 Sm, Sc, Sk, So, Zs, Zl, Zp, Cc, Cf, Cs, Co, Cn" 177 Sm, Sc, Sk, So, Zs, Zl, Zp, Cc, Cf, Cs, Co, Cn"
172 unidata-describe-general-category 178 unidata-describe-general-category
173 nil 179 Cn
174 ;; The order of elements must be in sync with unicode_category_t 180 ;; The order of elements must be in sync with unicode_category_t
175 ;; in src/character.h. 181 ;; in src/character.h.
176 (Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po 182 (Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po
@@ -179,7 +185,8 @@ Property value is one of the following symbols:
179 3 unidata-gen-table-integer "uni-combining.el" 185 3 unidata-gen-table-integer "uni-combining.el"
180 "Unicode canonical combining class. 186 "Unicode canonical combining class.
181Property value is an integer." 187Property value is an integer."
182 unidata-describe-canonical-combining-class) 188 unidata-describe-canonical-combining-class
189 0)
183 (bidi-class 190 (bidi-class
184 4 unidata-gen-table-symbol "uni-bidi.el" 191 4 unidata-gen-table-symbol "uni-bidi.el"
185 "Unicode bidi class. 192 "Unicode bidi class.
@@ -187,7 +194,8 @@ Property value is one of the following symbols:
187 L, LRE, LRO, R, AL, RLE, RLO, PDF, EN, ES, ET, 194 L, LRE, LRO, R, AL, RLE, RLO, PDF, EN, ES, ET,
188 AN, CS, NSM, BN, B, S, WS, ON" 195 AN, CS, NSM, BN, B, S, WS, ON"
189 unidata-describe-bidi-class 196 unidata-describe-bidi-class
190 L 197 (L (#x0600 #x06FF AL) (#x0590 #x05FF R) (#x07C0 #x08FF R)
198 (#xFB1D #xFB4F R) (#x10800 #x10FFF R) (#x1E800 #x1EFFF R))
191 ;; The order of elements must be in sync with bidi_type_t in 199 ;; The order of elements must be in sync with bidi_type_t in
192 ;; src/dispextern.h. 200 ;; src/dispextern.h.
193 (L R EN AN BN B AL LRE LRO RLE RLO PDF ES ET CS NSM S WS ON)) 201 (L R EN AN BN B AL LRE LRO RLE RLO PDF ES ET CS NSM S WS ON))
@@ -202,19 +210,24 @@ one of these symbols representing compatibility formatting tag:
202 (decimal-digit-value 210 (decimal-digit-value
203 6 unidata-gen-table-integer "uni-decimal.el" 211 6 unidata-gen-table-integer "uni-decimal.el"
204 "Unicode numeric value (decimal digit). 212 "Unicode numeric value (decimal digit).
205Property value is an integer.") 213Property value is an integer 0..9, or nil.
214The value nil stands for NaN \"Numeric_Value\".")
206 (digit-value 215 (digit-value
207 7 unidata-gen-table-integer "uni-digit.el" 216 7 unidata-gen-table-integer "uni-digit.el"
208 "Unicode numeric value (digit). 217 "Unicode numeric value (digit).
209Property value is an integer.") 218Property value is an integer 0..9, or nil.
219The value nil stands for NaN \"Numeric_Value\".")
210 (numeric-value 220 (numeric-value
211 8 unidata-gen-table-numeric "uni-numeric.el" 221 8 unidata-gen-table-numeric "uni-numeric.el"
212 "Unicode numeric value (numeric). 222 "Unicode numeric value (numeric).
213Property value is an integer or a floating point.") 223Property value is an integer, a floating point, or nil.
224The value nil stands for NaN \"Numeric_Value\".")
214 (mirrored 225 (mirrored
215 9 unidata-gen-table-symbol "uni-mirrored.el" 226 9 unidata-gen-table-symbol "uni-mirrored.el"
216 "Unicode bidi mirrored flag. 227 "Unicode bidi mirrored flag.
217Property value is a symbol `Y' or `N'. See also the property `mirroring'.") 228Property value is a symbol `Y' or `N'. See also the property `mirroring'."
229 nil
230 N)
218 (old-name 231 (old-name
219 10 unidata-gen-table-name "uni-old-name.el" 232 10 unidata-gen-table-name "uni-old-name.el"
220 "Unicode old names as published in Unicode 1.0. 233 "Unicode old names as published in Unicode 1.0.
@@ -226,23 +239,30 @@ Property value is a string.")
226 (uppercase 239 (uppercase
227 12 unidata-gen-table-character "uni-uppercase.el" 240 12 unidata-gen-table-character "uni-uppercase.el"
228 "Unicode simple uppercase mapping. 241 "Unicode simple uppercase mapping.
229Property value is a character." 242Property value is a character or nil.
243The value nil means that the actual property value of a character
244is the character itself."
230 string) 245 string)
231 (lowercase 246 (lowercase
232 13 unidata-gen-table-character "uni-lowercase.el" 247 13 unidata-gen-table-character "uni-lowercase.el"
233 "Unicode simple lowercase mapping. 248 "Unicode simple lowercase mapping.
234Property value is a character." 249Property value is a character or nil.
250The value nil means that the actual property value of a character
251is the character itself."
235 string) 252 string)
236 (titlecase 253 (titlecase
237 14 unidata-gen-table-character "uni-titlecase.el" 254 14 unidata-gen-table-character "uni-titlecase.el"
238 "Unicode simple titlecase mapping. 255 "Unicode simple titlecase mapping.
239Property value is a character." 256Property value is a character or nil.
257The value nil means that the actual property value of a character
258is the character itself."
240 string) 259 string)
241 (mirroring 260 (mirroring
242 unidata-gen-mirroring-list unidata-gen-table-character "uni-mirrored.el" 261 unidata-gen-mirroring-list unidata-gen-table-character "uni-mirrored.el"
243 "Unicode bidi-mirroring characters. 262 "Unicode bidi-mirroring characters.
244Property value is a character that has the corresponding mirroring image, 263Property value is a character that has the corresponding mirroring image or nil.
245or nil for non-mirrored character."))) 264The value nil means that the actual property value of a character
265is the character itself.")))
246 266
247;; Functions to access the above data. 267;; Functions to access the above data.
248(defsubst unidata-prop-index (prop) (nth 1 (assq prop unidata-prop-alist))) 268(defsubst unidata-prop-index (prop) (nth 1 (assq prop unidata-prop-alist)))
@@ -393,9 +413,18 @@ or nil for non-mirrored character.")))
393 (while tail 413 (while tail
394 (setcar tail (cons (car tail) val-code)) 414 (setcar tail (cons (car tail) val-code))
395 (setq tail (cdr tail) val-code (1+ val-code))) 415 (setq tail (cdr tail) val-code (1+ val-code)))
396 (setq default-value (unidata-encode-val val-list default-value)) 416 (if (consp default-value)
397 (set-char-table-range table t default-value) 417 (setq default-value (copy-sequence default-value))
398 (set-char-table-range table nil default-value) 418 (setq default-value (list default-value)))
419 (setcar default-value
420 (unidata-encode-val val-list (car default-value)))
421 (set-char-table-range table t (car default-value))
422 (set-char-table-range table nil (car default-value))
423 (dolist (elm (cdr default-value))
424 (setcar (nthcdr 2 elm)
425 (unidata-encode-val val-list (nth 2 elm)))
426 (set-char-table-range table (cons (car elm) (nth 1 elm)) (nth 2 elm)))
427
399 (setq tail unidata-list) 428 (setq tail unidata-list)
400 (while tail 429 (while tail
401 (setq elt (car tail) tail (cdr tail)) 430 (setq elt (car tail) tail (cdr tail))
@@ -419,17 +448,27 @@ or nil for non-mirrored character.")))
419 (setq prev-range-data (cons (cons from to) val-code))))) 448 (setq prev-range-data (cons (cons from to) val-code)))))
420 (let* ((start (lsh (lsh range -7) 7)) 449 (let* ((start (lsh (lsh range -7) 7))
421 (limit (+ start 127)) 450 (limit (+ start 127))
422 str count new-val) 451 str count new-val from to vcode)
423 (fillarray vec 0) 452 (fillarray vec (car default-value))
424 ;; See the comment above. 453 (dolist (elm (cdr default-value))
425 (when (and prev-range-data 454 (setq from (car elm) to (nth 1 elm))
426 (>= (cdr (car prev-range-data)) start)) 455 (when (and (<= from limit)
427 (let ((from (car (car prev-range-data))) 456 (or (>= from start) (>= to start)))
428 (to (cdr (car prev-range-data))) 457 (setq from (max from start)
429 (vcode (cdr prev-range-data))) 458 to (min to limit)
459 vcode (nth 2 elm))
430 (while (<= from to) 460 (while (<= from to)
431 (aset vec (- from start) vcode) 461 (aset vec (- from start) vcode)
432 (setq from (1+ from))))) 462 (setq from (1+ from)))))
463 ;; See the comment above.
464 (when (and prev-range-data
465 (>= (cdr (car prev-range-data)) start))
466 (setq from (car (car prev-range-data))
467 to (cdr (car prev-range-data))
468 vcode (cdr prev-range-data))
469 (while (<= from to)
470 (aset vec (- from start) vcode)
471 (setq from (1+ from))))
433 (setq prev-range-data nil) 472 (setq prev-range-data nil)
434 (if val-code 473 (if val-code
435 (aset vec (- range start) val-code)) 474 (aset vec (- range start) val-code))
@@ -669,7 +708,7 @@ or nil for non-mirrored character.")))
669 (aset table c name) 708 (aset table c name)
670 (if (= c char) 709 (if (= c char)
671 (setq val name)))) 710 (setq val name))))
672 val))) 711 (or val ""))))
673 712
674 ((and (integerp val) (> val 0)) 713 ((and (integerp val) (> val 0))
675 (let* ((symbol-table (aref (char-table-extra-slot table 4) 1)) 714 (let* ((symbol-table (aref (char-table-extra-slot table 4) 1))
@@ -695,7 +734,9 @@ or nil for non-mirrored character.")))
695 ((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH) 734 ((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH)
696 (format "%s-%04X" sym char)) 735 (format "%s-%04X" sym char))
697 ((eq sym 'VARIATION\ SELECTOR) 736 ((eq sym 'VARIATION\ SELECTOR)
698 (format "%s-%d" sym (+ (- char #xe0100) 17)))))))) 737 (format "%s-%d" sym (+ (- char #xe0100) 17))))))
738
739 (t "")))
699 740
700;; Store VAL as the name of CHAR in TABLE. 741;; Store VAL as the name of CHAR in TABLE.
701 742
@@ -707,6 +748,9 @@ or nil for non-mirrored character.")))
707 748
708(defun unidata-get-decomposition (char val table) 749(defun unidata-get-decomposition (char val table)
709 (cond 750 (cond
751 ((not val)
752 (list char))
753
710 ((consp val) 754 ((consp val)
711 val) 755 val)
712 756
@@ -747,7 +791,8 @@ or nil for non-mirrored character.")))
747 (aset vec idx (nconc word-list tail-list))) 791 (aset vec idx (nconc word-list tail-list)))
748 (dotimes (i 128) 792 (dotimes (i 128)
749 (aset table (+ first-char i) (aref vec i))) 793 (aset table (+ first-char i) (aref vec i)))
750 (aref vec (- char first-char))))) 794 (setq val (aref vec (- char first-char)))
795 (or val (list char)))))
751 796
752 ;; Hangul syllable 797 ;; Hangul syllable
753 ((and (eq val 0) (>= char #xAC00) (<= char #xD7A3)) 798 ((and (eq val 0) (>= char #xAC00) (<= char #xD7A3))
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 38c536af62c..37fc5eb1a28 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,21 @@
12011-08-23 Kenichi Handa <handa@m17n.org>
2
3 * international/charprop.el:
4 * international/uni-bidi.el:
5 * international/uni-category.el:
6 * international/uni-combining.el:
7 * international/uni-comment.el:
8 * international/uni-decimal.el:
9 * international/uni-decomposition.el:
10 * international/uni-digit.el:
11 * international/uni-lowercase.el:
12 * international/uni-mirrored.el:
13 * international/uni-name.el:
14 * international/uni-numeric.el:
15 * international/uni-old-name.el:
16 * international/uni-titlecase.el:
17 * international/uni-uppercase.el: Regenerate.
18
12011-08-18 Chong Yidong <cyd@stupidchicken.com> 192011-08-18 Chong Yidong <cyd@stupidchicken.com>
2 20
3 * international/characters.el: Add L and R categories. 21 * international/characters.el: Add L and R categories.
diff --git a/lisp/international/charprop.el b/lisp/international/charprop.el
index 919666010b1..2424e87ae44 100644
--- a/lisp/international/charprop.el
+++ b/lisp/international/charprop.el
@@ -29,15 +29,18 @@ one of these symbols representing compatibility formatting tag:
29;; FILE: uni-decimal.el 29;; FILE: uni-decimal.el
30(define-char-code-property 'decimal-digit-value "uni-decimal.el" 30(define-char-code-property 'decimal-digit-value "uni-decimal.el"
31 "Unicode numeric value (decimal digit). 31 "Unicode numeric value (decimal digit).
32Property value is an integer.") 32Property value is an integer 0..9, or nil.
33The value nil stands for NaN \"Numeric_Value\".")
33;; FILE: uni-digit.el 34;; FILE: uni-digit.el
34(define-char-code-property 'digit-value "uni-digit.el" 35(define-char-code-property 'digit-value "uni-digit.el"
35 "Unicode numeric value (digit). 36 "Unicode numeric value (digit).
36Property value is an integer.") 37Property value is an integer 0..9, or nil.
38The value nil stands for NaN \"Numeric_Value\".")
37;; FILE: uni-numeric.el 39;; FILE: uni-numeric.el
38(define-char-code-property 'numeric-value "uni-numeric.el" 40(define-char-code-property 'numeric-value "uni-numeric.el"
39 "Unicode numeric value (numeric). 41 "Unicode numeric value (numeric).
40Property value is an integer or a floating point.") 42Property value is an integer, a floating point, or nil.
43The value nil stands for NaN \"Numeric_Value\".")
41;; FILE: uni-mirrored.el 44;; FILE: uni-mirrored.el
42(define-char-code-property 'mirrored "uni-mirrored.el" 45(define-char-code-property 'mirrored "uni-mirrored.el"
43 "Unicode bidi mirrored flag. 46 "Unicode bidi mirrored flag.
@@ -53,20 +56,27 @@ Property value is a string.")
53;; FILE: uni-uppercase.el 56;; FILE: uni-uppercase.el
54(define-char-code-property 'uppercase "uni-uppercase.el" 57(define-char-code-property 'uppercase "uni-uppercase.el"
55 "Unicode simple uppercase mapping. 58 "Unicode simple uppercase mapping.
56Property value is a character.") 59Property value is a character or nil.
60The value nil means that the actual property value of a character
61is the character itself.")
57;; FILE: uni-lowercase.el 62;; FILE: uni-lowercase.el
58(define-char-code-property 'lowercase "uni-lowercase.el" 63(define-char-code-property 'lowercase "uni-lowercase.el"
59 "Unicode simple lowercase mapping. 64 "Unicode simple lowercase mapping.
60Property value is a character.") 65Property value is a character or nil.
66The value nil means that the actual property value of a character
67is the character itself.")
61;; FILE: uni-titlecase.el 68;; FILE: uni-titlecase.el
62(define-char-code-property 'titlecase "uni-titlecase.el" 69(define-char-code-property 'titlecase "uni-titlecase.el"
63 "Unicode simple titlecase mapping. 70 "Unicode simple titlecase mapping.
64Property value is a character.") 71Property value is a character or nil.
72The value nil means that the actual property value of a character
73is the character itself.")
65;; FILE: uni-mirrored.el 74;; FILE: uni-mirrored.el
66(define-char-code-property 'mirroring "uni-mirrored.el" 75(define-char-code-property 'mirroring "uni-mirrored.el"
67 "Unicode bidi-mirroring characters. 76 "Unicode bidi-mirroring characters.
68Property value is a character that has the corresponding mirroring image, 77Property value is a character that has the corresponding mirroring image or nil.
69or nil for non-mirrored character.") 78The value nil means that the actual property value of a character
79is the character itself.")
70;; Local Variables: 80;; Local Variables:
71;; coding: utf-8 81;; coding: utf-8
72;; no-byte-compile: t 82;; no-byte-compile: t
diff --git a/lisp/international/uni-bidi.el b/lisp/international/uni-bidi.el
index e7682c6d8ff..9fa7b53b508 100644
--- a/lisp/international/uni-bidi.el
+++ b/lisp/international/uni-bidi.el
Binary files differ
diff --git a/lisp/international/uni-category.el b/lisp/international/uni-category.el
index a4455decc52..94b7c18b6e2 100644
--- a/lisp/international/uni-category.el
+++ b/lisp/international/uni-category.el
Binary files differ
diff --git a/lisp/international/uni-combining.el b/lisp/international/uni-combining.el
index 227b9d0af79..1437ff9acbd 100644
--- a/lisp/international/uni-combining.el
+++ b/lisp/international/uni-combining.el
Binary files differ
diff --git a/lisp/international/uni-comment.el b/lisp/international/uni-comment.el
index c9743064bd4..21ccfe3ffe7 100644
--- a/lisp/international/uni-comment.el
+++ b/lisp/international/uni-comment.el
Binary files differ
diff --git a/lisp/international/uni-decimal.el b/lisp/international/uni-decimal.el
index 2c424ffb5de..096257add20 100644
--- a/lisp/international/uni-decimal.el
+++ b/lisp/international/uni-decimal.el
Binary files differ
diff --git a/lisp/international/uni-decomposition.el b/lisp/international/uni-decomposition.el
index b0bf07bbe85..b9660cdab0a 100644
--- a/lisp/international/uni-decomposition.el
+++ b/lisp/international/uni-decomposition.el
Binary files differ
diff --git a/lisp/international/uni-digit.el b/lisp/international/uni-digit.el
index fc52fd8c28c..efb78b0e43d 100644
--- a/lisp/international/uni-digit.el
+++ b/lisp/international/uni-digit.el
Binary files differ
diff --git a/lisp/international/uni-lowercase.el b/lisp/international/uni-lowercase.el
index 41890018204..7afd9503cb3 100644
--- a/lisp/international/uni-lowercase.el
+++ b/lisp/international/uni-lowercase.el
Binary files differ
diff --git a/lisp/international/uni-mirrored.el b/lisp/international/uni-mirrored.el
index 006cf575591..e650166c24c 100644
--- a/lisp/international/uni-mirrored.el
+++ b/lisp/international/uni-mirrored.el
Binary files differ
diff --git a/lisp/international/uni-name.el b/lisp/international/uni-name.el
index 7fac18b278d..8b681631067 100644
--- a/lisp/international/uni-name.el
+++ b/lisp/international/uni-name.el
Binary files differ
diff --git a/lisp/international/uni-numeric.el b/lisp/international/uni-numeric.el
index d16e8c00870..a1865f1fb23 100644
--- a/lisp/international/uni-numeric.el
+++ b/lisp/international/uni-numeric.el
Binary files differ
diff --git a/lisp/international/uni-old-name.el b/lisp/international/uni-old-name.el
index 4e704e5cdd0..de2d67b9450 100644
--- a/lisp/international/uni-old-name.el
+++ b/lisp/international/uni-old-name.el
Binary files differ
diff --git a/lisp/international/uni-titlecase.el b/lisp/international/uni-titlecase.el
index b8098c81876..517edb20445 100644
--- a/lisp/international/uni-titlecase.el
+++ b/lisp/international/uni-titlecase.el
Binary files differ
diff --git a/lisp/international/uni-uppercase.el b/lisp/international/uni-uppercase.el
index 899276eb725..fcb22d72470 100644
--- a/lisp/international/uni-uppercase.el
+++ b/lisp/international/uni-uppercase.el
Binary files differ
diff --git a/src/ChangeLog b/src/ChangeLog
index 85a55b2b7c9..5b4e0023ac6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12011-08-22 Kenichi Handa <handa@m17n.org>
2
3 * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a
4 extra slot even if the purpose is char-code-property-table.
5
12011-08-19 Eli Zaretskii <eliz@gnu.org> 62011-08-19 Eli Zaretskii <eliz@gnu.org>
2 7
3 * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of 8 * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
diff --git a/src/chartab.c b/src/chartab.c
index 0cabaac4cf5..1d4ac04312a 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -589,8 +589,6 @@ DEFUN ("set-char-table-extra-slot", Fset_char_table_extra_slot,
589 (Lisp_Object char_table, Lisp_Object n, Lisp_Object value) 589 (Lisp_Object char_table, Lisp_Object n, Lisp_Object value)
590{ 590{
591 CHECK_CHAR_TABLE (char_table); 591 CHECK_CHAR_TABLE (char_table);
592 if (EQ (XCHAR_TABLE (char_table)->purpose, Qchar_code_property_table))
593 error ("Can't change extra-slot of char-code-property-table");
594 CHECK_NUMBER (n); 592 CHECK_NUMBER (n);
595 if (XINT (n) < 0 593 if (XINT (n) < 0
596 || XINT (n) >= CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (char_table))) 594 || XINT (n) >= CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (char_table)))