[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [mime-w3m] local-map
>> On Wed, 03 Oct 2001 20:53:13 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:
山> advice を使わない同じ案を M-x report-emacs-bug してみませんか?
折角なんですが、反例を見つけてしまいました。
(defadvice next-line
(before double-move activate)
(when (integerp (ad-get-arg 0))
(ad-set-arg 0 (* 2 (ad-get-arg 0)))))
というように、引数に細工をするタイプの advice が無視されてしまいます。
よくよく考えてみると、primitive で、かつ command であるような関数に対
して完全に透過な advice を提供することは、advice.el を工夫するだけでは
不可能だ、という結論に達しました。
;; non-primitive の場合は、disassemble して関数定義を結合してしまう(つ
;; まり、funcall を使わない)ことによって、回避できる可能性があります
;; が、これもかなり面倒でしょう。
というわけで、やっぱり kill-new() に advice を定義しておくしかなさそう
です。
--
土屋 雅稔 ( TSUCHIYA Masatoshi )