2011-09-04 11 views
5

Ho creato la seguente macro in elisp. Imposta il valore "val" su una variabile "var" solo se la variabile non è associata. Questo esiste in modo che le variabili impostate nel tuo file .emacs non vengano calpestate da qualche altra parte.Esiste un modulo Lisp di Emacs incorporato per impostare una variabile solo se non è associata?

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

Sicuramente, questo deve essere uno schema comune. C'è un modo costruito per fare la stessa cosa?

risposta

5

defvar fa esattamente questo. Assegna un valore a una variabile solo se non è associato.

+1

Grazie. Suppongo che avrei dovuto leggere la documentazione. :) http://www.gnu.org/s/emacs/manual/html_node/elisp/Defining-Variables.html –

Problemi correlati