这是对该答案的评论的后续。以下代码似乎是等效的: (and a b) (when a b) 当然,and让你把更多的条件:(and a b c d)手段(when (and a b c) d) 我倾向于when只用来表示分支。有实际差异吗?使用其中一个更好吗? 我手头没有Emacs的C源代码;and是C函数;when是一个扩展为的宏if,它本身是C函数。
我正在优化我的emacs配置,可以为列表中的所有主题动态创建交互式功能。 以下是我尝试制作的结构的简化版本。 ;; List containing names of functions that I want to create (setq my/defun-list '(zz-abc zz-def zz-ghi)) ;; Elisp macro to create an interactive defun whose name ;; is passed as the macro argument (defmacro my/create-defun (defun-name) `(defun ,defun-name () (interactive) (let ((fn-name (symbol-name ',defun-name))) (message "Testing creation of …