【发布时间】:2015-04-29 23:52:35
【问题描述】:
抱歉,我尝试了几次,但我无法构建简单的defmacro - 任何人都可以帮助我:
所以,我想定义将扩展为的宏:
(define-key keymap "*" (lambda ()
(interactive)
(some-func "*")))
我尝试了类似的方法:
(defmacro wrap-and-define-key (keymap key func)
`(define-key ,keymap ,key (lambda () (interactive) (,func ,key))))
它适用于:
(wrap-and-define-key keymap key func)
但不适用于
(wrap-and-define-key keymap key 'func)
如何更改 defmacro 语句以使最后一个表单正常工作?谢谢!
【问题讨论】:
-
为什么一定要宏?只需定义一个普通函数即可。
-
@barmar 是的,这似乎是更简单、更有用的解决方案。顺便说一句,我只是想在这里了解一下 defmacro。谢谢!