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

Re: Gnus: mm-w3m-mode-map



えーっと,ちょっと誤解があるのではないかと思うのですが.

Emacs21 / XEmacs では text property として keymap を使うことができて,

    keymap(= w3m-minor-mode-map)
    -> major-mode-map(= gnus-article-mode-map)

というようにキーの探索が行われます.この方法であれば,どのタイミングで 
w3m-minor-mode-map を変更したとしても,安全に反映されます.

しかし,Emacs20 では keymap が使えませんので,代わりに local-map で 
mm-w3m-mode-map を参照するようにしています.mm-w3m-mode-map は,

(or mm-w3m-mode-map
    (setq mm-w3m-mode-map (copy-keymap w3m-minor-mode-map))
    (set-keymap-parent mm-w3m-mode-map gnus-article-mode-map))

というようにして作成されるので,w3m-minor-mode-map と 
gnus-article-mode-map を足したものと見ることができます.しかし,この場
合,mm-w3m-mode-map の作成より後で w3m-minor-mode-map を変更しても,そ
の変更は反映されませんので,ちょっと分かりにくい仕様になってしまってい
ます.

;; w3m-minor-mode-map は小さいので,text property を貼付ける度に 
;; copy-keymap() するという方法も考えたのですが,あまりにも実行速度が
;; 犠牲になるかなあと思って見送っています.

というわけで,Emacs21 / XEmacs では,たとえ emacs-w3m を使っている場合
であっても,mm-w3m-mode-map はまったく参照されないのです.

そういう事情で,

>> On Fri, 21 Mar 2003 00:00:33 +0900
>> 「山」== Katsumi@Yamaoka.cc said as follows:

土> 条件を外してしまっても機能的には何ら問題はないです.全く参照されな
土> い変数が宣言・定義されているのはうれしくないなあ,という気持で条件
土> が入っているだけですから.どっちがいいですか?

と書いたのですが,

山> 無条件に defvar してしまって良いと思いますよ。emacs-w3m は十分に市
山> 民権を得ていると思いますから。

でしょうか?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )