emacs - 是否有内置的 Emacs Lisp 表单仅在未绑定(bind)时设置变量?

标签 emacs elisp

我在 elisp 中创建了以下宏。仅当变量未绑定(bind)时,它才会将值“val”设置为变量“var”。这是存在的,因此在您的 .emacs 文件中设置的变量不会在其他地方被践踏。

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

当然,这必须是一种常见的模式。是否有内置的方法来做同样的事情?

最佳答案

defvar正是这样做的。它仅在变量未绑定(bind)时为其赋值。

关于emacs - 是否有内置的 Emacs Lisp 表单仅在未绑定(bind)时设置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7301113/

相关文章:

c - 是否可以使用 C 为 GNU Emacs 编写自定义原语?

emacs - 替代前向词/后向词以包含符号——例如,***

winapi - 如何在 Win32 上从 Emacs 打印?

pdf - Mac OS X 上的 emacs.app 的组织模式导出为 pdf

emacs - 在 repl 中重新加载一个 ns

emacs - 如何在 Emacs 上显示弹出窗口?

emacs - AUCTeX 中的自动标记环境

emacs - 将邪恶移位宽度设置为emacs中的缓冲区局部缩进

emacs - (重新)编号 emacs 中的编号列表(缪斯)

Emacs 颜色和字体困惑