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

Re: mm-w3m



>> On Wed, 30 Jan 2002 18:51:25 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> 1. kill-new の advice は (eq this-command 'kill-ring-save) が枷に
山>    なって、機能しない場合が多いのではないかと思います。以下のよう
山>    にして良いですか?

土> これは,kill-new() で文字列をコピーするときに local-map の 
土> property が保存されることを期待している別のプログラムとの干渉を防
土> ぐために,わざとそうしてあります.

山> ふーむ。ぼくは (mouse-2 . mime-w3m-view-this-url) のようなものを含
山> む keymap が w3m-href-anchor プロパティとともに他のバッファにコピー
山> されてしまうのがマズいのだと解釈していたのですが、そうではないので
山> すね(?)。

いえ,そうですよ.

;; どうも行き違いになっているような気がしてきた….

えーっと,local-map も込みで文字列をコピーしてくれることを期待してくれ
るプログラムがあるとし仮定し,かつそのプログラムは文字列をコピーするた
めに kill-new() を使っているとします.この時,山岡さんが提案されたよう
な advice を kill-new() に対して定義すると,そのプログラムは正常に動か
なくなりますよね?

いえその,この仮定を満たすプログラムって,あまりにもださい設計だとは思
いますし,そんなプログラムの存在には疑問を禁じ得ませんから,山岡さんが
提案されたように変更しても構わないような気は確かにするのです.しかし,
この直感が正しいならば,そもそも,

    (let (current-load-list)
      (defadvice kill-new (before mime-w3m-remove-text-properties activate)
        (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))))

としても構わないような気がしてきませんか? って,これ要するに,
[emacs-w3m:01626] からのスレッドの議論の繰り返しなんですけど.

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )