是否有一个内置的Emacs Lisp表单,仅在未绑定时设置变量



我在elisp中创建了以下宏。只有当变量未绑定时,它才会将值"val"设置为变量"var"。这样,在.emacs文件中设置的变量就不会在其他地方被忽略。

(defmacro set-ifunbound (var val)
  `(if (not (boundp ',var))
       (setq ,var ,val)
     (identity ,var)))

当然,这必须是一个共同的模式。有没有一种内在的方式来做同样的事情?

defvar就是这样做的。

相关内容

最新更新