【发布时间】:2012-12-04 07:49:07
【问题描述】:
让我以Emacs Lisp: How to use ad-get-arg and 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 正文中使用未提供的可选参数(或更一般地说,原始函数中的变量)?
【问题讨论】:
标签: emacs elisp advising-functions defadvice