[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
customize w3m-use-mule-ucs
の謎
- From: Hideyuki SHIRAI (
白井秀行
) <shirai@xxxxxxxxxxxxxxxxxxx>
- Date: Fri, 31 May 2002 16:13:23 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 03478
Emacs-21.2 での話です。(21.1 や 21.3, XEmacs では確かめていません)
w3m-use-mule-ucs は
(defcustom w3m-use-mule-ucs
(and (eq w3m-type 'w3m) (featurep 'un-define))
"*Non nil means using multi-script support with Mule-UCS."
:group 'w3m
:type 'boolean
:require 'w3m-ucs)
となっていて、customize で t とかにすると、~/.emacs では
(custom-set-variables
'(w3m-use-mule-ucs t nil (w3m-ucs)))
のようになります。しかし、~/.emacs にこれが書かれた状態で、emacs
を立ち上げ直して M-x w3m とすると、なぜだか、w3m-ucs-to-char()
が w3m-e21.el で定義されている方を使います。
(defun w3m-ucs-to-char (codepoint)
(decode-char 'ucs codepoint)) <== w3m-e21
w3m-use-mule-ucs を自動設定にするか、(setq w3m-use-mule-ucs t)
とするか、または、defcustom から require を外して
(defcustom w3m-use-mule-ucs
(and (eq w3m-type 'w3m) (featurep 'un-define))
"*Non nil means using multi-script support with Mule-UCS."
:group 'w3m
:type 'boolean)
にして、customize の結果が
(custom-set-variables
'(w3m-use-mule-ucs t))
の状態だと、ちゃんと w3m-ucs.el をロードして、w3m-ucs.el 内の
w3m-ucs-to-char() を使うようになります。
(defun w3m-ucs-to-char (codepoint)
(or (ucs-to-char codepoint) ?~)) <== w3m-ucs
私にはなんでこうなるのか全然わからないのです ^^;;;
対応は、defcustom から :require を外すだけでも良いような気がする
のですが、正直言って、:require がついていると load しない理由が
わかっていないので気持ち悪いです。どんなものでしょう。
## というのが mew-shimbun がエラーになります、とダイレクトメール
## をいただいて解析した結果です。調べてみると、その方の環境では、
## 上記のために w3m-e21 から Mule-UCS 付属の
## mucs.el:decode-char() が呼ばれるんだけど、こいつは、
## unicode.el が load されるまで nil が帰ってくるのでした。
## で、
## shimbun-decode-entities() => w3m-entity-value("#45")
## => (w3m-ucs-to-char 45) => nil => 爆発
P.S.
注意一秒怪我一生という言葉を思い出してしまいました。ご愁傷さまで
す。> 山岡さん
--
白井秀行 (mailto:shirai@rdmg.mgcs.mei.co.jp)