[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

decode-char of Mule-UCS and Emacs21 (was: sb-cnet*.el)



>> On Wed, 14 Jan 2004 13:25:46 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> 以下の各記事で話題に上がっている Emacs 21 の decode-char() が
山> Mule-UCS の mucs.el で上書きされてしまう問題の結論、というかユーザ
山> への指針はありますか?

うーん,ないんじゃないでしょうか.

山> [emacs-w3m:03478]
山> [emacs-w3m:03780]

これらは,ちょっと記憶にないのでパスさせて貰って.

山> [emacs-w3m:05508]
山> [emacs-w3m:05528]
山> [emacs-w3m:05534]

これらは,Emacs21 由来の decode-char / encode-char と,Mule-UCS 由来の 
decode-char / encode-char を混用した場合は,文字変換テーブルが一致する
ことが保証されていないから,decode + encode が可逆変換とはならない可能
性がある,という問題について議論していますが,最後に,

土> とりあえず様子見かなあと思っています.

と書いてある通り,致命的な問題ではないと認識しています.

問題になるのは,

山> [emacs-w3m:05143]

のケースだと思うので,もう一度見返してみました.ちょっと長目に引用しま
す.

>> On Sun, 15 Jun 2003 09:09:58 +0900
>> 「中」== minakaji@namazu.org (NAKAJIMA Mikio) said as follows:

中> xml.el は、

中> (let (v)
中> (dolist (c '(#x00B7 #x02D0 #x02D1 #x0387 #x0640 #x0E46 #x0EC6 #x3005
中> 		      #x3031 #x3032 #x3033 #x3034 #x3035 #x309D #x309E #x30FC
中> 		      #x30FD #x30FE))
中> (setq v (cons (decode-char 'ucs c) v)))
中> v)

中> が

中> (nil nil nil nil nil nil nil nil nil nil nil nil ...)

中> になってしまうために、modify-syntax-entry の引数に nil が渡ってしまい
中> エラーになるのでした。decode-char を別途提供してくれている Mule-UCS と
中> ぶつかってるんだな、きっと。Mule-UCS の Mule-UCS-current を再度入れて
中> 試したんですが、やはり駄目だったので、xml.el の該当の部分をコメントにして、
中> site-lisp に入れて動かしています。

しかし,この現象が,私の手元では再現できません.

    (featurep 'mucs)
    => t
    (symbol-file 'decode-char)
    => "mucs"

となっているので,間違いなく Mule-UCS 由来の decode-char を使っている
はずなんですが,

    (decode-char 'ucs #x00B7)
    => 2231

と普通の値が得られます.使っている Mule-UCS は 2003年6月20日の CVS 版
です(と,changelog.Debian.gz で木下さんが言っている).

山> jisx0213 は mucs を load するので、この後で decode-char を使ってい
山> る Emacs 21.3.50 の xml.el を load することができないことに、たっ
山> た今気がついたのでした。とりあえず jisx0213 を捨てましたが。

というわけで,

  (1) Mule-UCS を更新する
  (2) attic/xml.el を代わりに使う

と状況が改善されるかも知れません.なお,私の環境では Emacs-21.3 付属の 
xml.el で動作確認しています.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )