对不起,我试过几次,我不能建立简单的defmacro
- 任何人可以帮助我与:的elisp:与拉姆达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
@barmar是啊,它似乎是更简单和更有用的解决方案。顺便说一句,我只是想在这里了解一些关于defmacro的信息。谢谢! – Rustem