(M-44894): Separate C1-7A55, G1-6539 and U+9A2B.
[chise/xemacs-chise.git-] / lisp / utf-2000 / update-cdb.el
index 3666b41..efae357 100644 (file)
@@ -83,6 +83,8 @@
             (expand-file-name "system-char-id"
                               system-char-database-directory)
             nil nil t t))
+    (dolist (ccs (charset-list))
+      (reset-charset-mapping-table ccs))
     )))
  (t
   (load "dumped-chars.el")
     (pureload file))
   ))
 
-(defun char-ref= (cr1 cr2)
+(defun char-ref= (cr1 cr2 &optional tester)
   (cond ((char-ref-p cr1)
         (if (char-ref-p cr2)
             (char-spec= (plist-get cr1 :char)
-                        (plist-get cr2 :char))
-          (char-spec= (plist-get cr1 :char) cr2)))
+                        (plist-get cr2 :char) tester)
+          (char-spec= (plist-get cr1 :char) cr2 tester)))
        (t
         (char-spec= cr1
                     (if (char-ref-p cr2)
                         (plist-get cr2 :char)
-                      cr2)))))
+                      cr2)
+                    tester))))
 
-(defun char-spec= (cs1 cs2)
+(defun char-spec= (cs1 cs2 &optional tester)
+  (unless tester
+    (setq tester #'eq))
   (if (characterp cs1)
       (if (characterp cs2)
-         (eq cs1 cs2)
-       (eq cs1 (find-char cs2)))
+         (funcall tester cs1 cs2)
+       (funcall tester cs1 (find-char cs2)))
     (if (characterp cs2)
-       (eq (find-char cs1) cs2)
-      (eq (find-char cs1) (find-char cs2)))))
+       (funcall tester (find-char cs1) cs2)
+      (funcall tester (find-char cs1) (find-char cs2)))))
 
 (let (ret)
   (map-char-attribute