At Wed, 30 Jan 2002 11:44:03 +0900, Katsumi Yamaoka wrote: > ;;; mm-w3m.el --- functions for viewing HTML text using emacs-w3m mime-w3m.el を眺めていて気が付いたことが二点あります。 1. kill-new の advice は (eq this-command 'kill-ring-save) が枷 になって、機能しない場合が多いのではないかと思います。以下の ようにして良いですか? (let (current-load-list) (defadvice kill-new (before mime-w3m-remove-text-properties activate) "Advised by Emacs-W3M. Strip `keymap' of `local-map' property from a killed string." (if (eq major-mode 'mime-view-mode) (progn (remove-text-properties 0 (length (ad-get-arg 0)) '(keymap nil local-map nil) (ad-get-arg 0)) (ad-set-arg 0 (ad-get-arg 0)))))) 2. Emacs 21 では local-map だけでなく、XEmacs と同じ keymap とい う property がローカルキー用に使えるようで、Gnus は Emacs 21 で keymap を使っています。そこで mime-w3m.el でも試してみたの ですが、html メールを mime-view-mode で表示しているバッファの link の上で、なぜかマウスだけが効きません。local-map を使えば 問題無いのですが、しかし以下のテストは動作してしまうのです。 (let ((map (make-sparse-keymap)) (fn (lambda () (interactive) (message "Hello World!"))) (buffer (get-buffer-create "*testing*")) start) (define-key map [return] fn) (define-key map [mouse-2] fn) (pop-to-buffer buffer) (erase-buffer) (insert "Press [return] or [mouse-2] -> ") (setq start (point)) (insert "***") (add-text-properties start (point) (list 'keymap map 'mouse-face 'highlight))) これって何だかわかりますか? 1 と 2 の変更を反映するパッチを添付します。
Attachment:
mime-w3m.el.diff
Description: Binary data
-- Katsumi Yamaoka <yamaoka@jpl.org>