[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [mime-w3m] local-map
>> On Wed, 03 Oct 2001 17:25:36 +0900
>> 「土」== tsuchiya@pine.kuee.kyoto-u.ac.jp (TSUCHIYA Masatoshi) said as follows:
土> (1) local-map を利用している mime-w3m.el の実装が悪いのだか
土> ら、mime-w3m.el 内部で閉じた解決を行うべきである。具体的
土> には kill-ring-save() 相当のコマンドを再定義する。
土> という解決策で行くべきなのでしょう。でもって、kill-ring-save() が
土> 結構色々とやっているので、非常に邪悪な方法で上書きする手段を思いつ
土> きました。
もう少し穏やか(?)な方法で誤魔化すことにしました。
(defadvice kill-new
(after mime-w3m-remove-text-properties activate compile)
(and (eq this-command 'kill-ring-save)
(eq major-mode 'mime-view-mode)
(put-text-property 0 (length (car kill-ring))
(w3m-static-if (featurep 'xemacs)
'keymap 'local-map)
nil
(car kill-ring))))
<余談>
kill-ring-save() 自体に advice すると、内部で呼び出されている
interactive-p() が nil を返すようになり、マーカーの位置にしばらくカー
ソルを移動するという機能が使えなくなってしまうので、kill-new() に対
して advice を定義することにしました。
</余談>
アドバイス有難うございました。 > 山岡さん
--
土屋 雅稔 ( TSUCHIYA Masatoshi )