-(defmacro defconst (symbol value &optional doc)
- `(defconstant ,symbol (if (boundp ',symbol)
- (symbol-value ',symbol)
- ,value)
+(defmacro defconstant* (sym value &optional doc)
+ "Ensure VALUE is evaluated only once."
+ `(defconstant ,sym (if (boundp ',sym)
+ (symbol-value ',sym)
+ ,value)