[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [mime-w3m] local-map
>>>>> In [emacs-w3m : No.01629]
>>>>> TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:
土屋さん> そうすると、
土> (1) local-map を利用している mime-w3m.el の実装が悪いのだか
土> ら、mime-w3m.el 内部で閉じた解決を行うべきである。具体的
土> には kill-ring-save() 相当のコマンドを再定義する。
土屋さん> という解決策で行くべきなのでしょう。でもって、
土屋さん> kill-ring-save() が結構色々とやっているので、非常に邪悪な方
土屋さん> 法で上書きする手段を思いつきました。
なるほど、こういう手がありましたか。doc-string もそっくり。
土屋さん> でも、こうしてしまうと、mime-w3m-kill-ring-save() が
土屋さん> byte-compile されなくて少し悲しいのですが、何とかする方法は
土屋さん> ないでしょうか?
compile しても一切の warning が出ない関数定義だったら、
(require 'bytecomp)
(byte-compile 'mime-w3m-kill-ring-save)
土屋さん> (provide 'mime-w3m)
土屋さん> ;;; mime-w3m.el ends here
で可能だと思います。
これも邪悪の内に入るかもしれませんが、advice を使っている人の環
境では (すでに bytecomp があるので) それほど気にならないでしょう。
も一つおまけ。:-p
(require 'bytecomp)
(defmacro defun-and-compile (name &rest args)
"Define a function just like `defun' and byte-compile it. [~/.emacs]"
`(prog1
(defun ,name ,@args)
(byte-compile (function ,name))))
.emacs のように compile しないファイルに書く関数を、defun ではな
くてこの defun-and-compile で定義すると、定義と同時に compile も
してしまいます。ただし warning が出ないように関数を書かないと、
非常にうるさいです。^^;;
--
Katsumi Yamaoka <yamaoka@namazu.org>