Есть ли встроенная форма Emacs Lisp для установки переменной только в том случае, если она не связана?

В elisp я создал следующий макрос. Он будет устанавливать значение "val" в переменную "var" только в том случае, если переменная является несвязанной. Он существует для того, чтобы переменные, заданные в вашем файле .emacs, не были растоптаны где-нибудь еще.

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

Конечно, это должен быть общий шаблон. Есть ли встроенный способ сделать то же самое?

5
задан Luke Girvin 6 September 2011 в 21:17
поделиться