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

Re: mm-w3m



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>