defadvice
関数の挙動を変更するのにdefadviceが便利
- GNU Emacs Lispリファレンスマニュアル: 16. Emacs Lisp関数のアドバイス
- = (car emacs-advent-calendar-2010) ;=>defadvice - ぺっくブログミラー@peccul
(defun foo (x) (+ x 1)) (defadvice foo (before my-foo (x) activate) ;; foo関数を実行する前に動作させる。 (ad-set-arg 0 5)) ;; 第一引数に5をセットする。 (foo 1) ⇒ 6 ;; 第一引数に常に5がセットされるため6になる。
上のプログラムは何の意味もないプログラムだし、アドバイスした意味もないプログラムだが、動きがわかりやすいと思う。
すごく簡単に関数に変更加えれるね。