Emacs Lispから修正した例を取り上げましょう: ad-get-arg と ad-get-args の使用方法?
(defun my-add (a b &optional c)
(+ a b)
(unless c
(setq c 4)))
(defadvice my-add (after my-log-on (a b &optional c) activate)
(message "my-add a: %s" a)
(message "my-add: %s" c))
(my-add 1 2 3)
出力でうまく動作します:
my-add a: 1
my-add: 3
元の関数から値を(my-add 1 2)
取得できません:c
my-add a: 1
my-add: nil
私の質問は、本体で提供されていないオプションの引数 (または、より一般的には、元の関数の変数) をどのように使用できますdefadvice
か?