【发布时间】:2011-02-13 05:11:05
【问题描述】:
我正在尝试使用宏生成函数:
(defmacro make-my-emacs-command-region (cmd name)
(list 'defun (intern (format "my-emacs-command-%s-%s" cmd name))
'(&optional arg)
(list 'interactive "p")
(list (intern (format "mark-%s" name)) 'arg)
(list (intern (format "my-emacs-command-%s-region" cmd))
'(region-beginning) '(region-end))))
生成器:
(mapcar (lambda (a) (make-my-emacs-command-region a buffer))
'(foo bar))
但我明白了:
my-emacs-command-a-buffer
我做错了什么?如何强制传递 a 的值?
【问题讨论】: