[Date Prev][Date Next][Thread Prev][][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 )