emcws-22.1-20080115 (was Re: suppress-keymap)

Katsumi Yamaoka <[email protected]> Tue, 15 Jan 2008 20:33:46 +0900
Newsgroups gmane.emacs.gnus.semi.japanese
Organization Emacsen advocacy group
Message-ID <[email protected]>
>>>>> In [ELF : No.02404] 山岡 wrote:

> 後で Canna ともども emcws, sj3-egg, および XEmacs の egg で改善
> を行なうことにします。

宛先を追加したので、もう一度説明を書きます。
(講読登録していなくても投稿できるのは semi-gnus-ja だけだと思い
ます。すみません。)

Emcws パッチ[1] およびそこから派生した sj3-egg[2] を改良しました。
また XEmacs の Egg と Canna のためのパッチ[3] を投稿しました。
さらに Wnn7egg[4] のためのパッチ[5] も添付しました。

これは、Gnus や emacs-w3m で使っている `suppress-keymap' が効か
ないために、例えば Gnus では article-mode のバッファーでたたいた
キーで summary-mode のバッファーの keymap にあるコマンドを呼ぶ機
能 (`gnus-article-read-summary-keys') が使えなかったり、emacs-w3m
で特定のコマンドに割り当てられていないキーが "Buffer is read-only"
エラーを起こす問題を解消します。

`suppress-keymap' が効かない理由は、それが `self-insert-command'
だけを対象にしているのに対して、古い Egg や Canna が Emacs を起
動した後の早い時点に `global-map' で多くのキーに割り当てられてい
る `self-insert-command' を (egg|canna)-self-insert-command で置
き換えてしまうためです。

Egg と Canna 以外の道具の動作は把握していないのですが、例えば次
の式を eval した結果が `undefined' にならない Emacs の環境はだめ
です。

(let ((keymap (make-sparse-keymap)))
  (suppress-keymap keymap)
  (with-temp-buffer
    (use-local-map keymap)
    (key-binding "a")))

[1] ftp://ftp.jpl.org/pub/misc/emcws-22.1-20080115.gz
    または http://www.jpl.org/ftp/pub/misc/emcws-22.1-20080115.gz
    (22.1.50 用と 23.0.50 用のパッチはいつもの場所にあります。)
[2] ftp://ftp.jpl.org/pub/elisp/sj3-egg-0.6.tar.gz
    または http://www.jpl.org/ftp/pub/elisp/sj3-egg-0.6.tar.gz
[3] http://calypso.tux.org/pipermail/xemacs-patches/2008-January/001296.html
[4] http://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/wnn7egg/wnn7-elisp-el-1.02-1.tgz
[5] ↓
wnn7-elisp-el-1.02-1.patch.gz (application/octet-stream, 740 B) - not displayed