Dear Bug Team!
There are two problems in the latest XEmacs 21.5 CVS.
1. The regexp "\\cj" doesn't match Japanese characters.
Though I don't know why the category table has not been set
for the whole Japanese characters in mule-category.el, I could
solve this problem by redefining the category table using the
4th argument of `modify-category-entry'. I will attach that
code.
2. The function `japanese-hiragana' doesn't work.
It is caused by the simple bug that japan-util.el uses the
function `integerp' for characters. I will attach the patch
for it.
;; There are some Japanese characters in the following part.
;;; The code for 1.
(unless (char-category-list ?あ)
(modify-category-entry 'japanese-jisx0208 ?j nil t)
(loop for char in (string-to-list kinsoku-jis-bol)
do (modify-category-entry char ?s))
(loop for char in (string-to-list kinsoku-jis-eol)
do (modify-category-entry char ?e))
(modify-category-entry [japanese-jisx0208 33] ?S)
(modify-category-entry [japanese-jisx0208 34] ?S)
(modify-category-entry [japanese-jisx0208 40] ?S)
(modify-category-entry [japanese-jisx0208 35] ?A)
(modify-category-entry [japanese-jisx0208 36] ?H)
(modify-category-entry [japanese-jisx0208 37] ?K)
(modify-category-entry [japanese-jisx0208 38] ?G)
(modify-category-entry [japanese-jisx0208 39] ?Y)
(loop for row from 48 to 126
do (modify-category-entry `[japanese-jisx0208 ,row] ?C))
(loop for char in '(?ー ?゛ ?゜)
do (modify-category-entry char ?K)
(modify-category-entry char ?H))
(loop for char in '(?ヽ ?ヾ ?ゝ ?ゞ ?〃 ?仝 ?々 ?〆 ?〇)
do (modify-category-entry char ?C))
(modify-category-entry 'japanese-jisx0212 ?C))
;;; The patch for 2.
--- japan-util.el~ 2002-03-17 22:19:10.000000000 +0000
+++ japan-util.el 2002-05-28 11:34:44.000000000 +0000
@@ -89,7 +89,7 @@
(get-char-code-property hira 'kana-composition)))))
(put-char-code-property hiragana 'katakana katakana)
(put-char-code-property hiragana 'jisx0201 jisx0201)))
- (when (integerp katakana)
+ (when (characterp katakana)
(put-char-code-property katakana 'hiragana hiragana)
(put-char-code-property katakana 'jisx0201 jisx0201))
(if jisx0201