summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-04-10 05:58:24 +0000
committerRichard M. Stallman <rms@gnu.org>1997-04-10 05:58:24 +0000
commit2c66f5d19633aaed36d7da8722dd06a2cc108132 (patch)
treefebba811a7e79eaf50c762894c20fa63c03197c3 /lisp/emacs-lisp
parent328c069714ae705f93fc09607e47f5c19ddf2353 (diff)
downloademacs-2c66f5d19633aaed36d7da8722dd06a2cc108132.tar.gz
emacs-2c66f5d19633aaed36d7da8722dd06a2cc108132.tar.bz2
emacs-2c66f5d19633aaed36d7da8722dd06a2cc108132.zip
(eval-defun): For defcustom, always set the value.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/lisp-mode.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index ebdee0673ee..be328b30329 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -329,9 +329,14 @@ With argument, insert value in current buffer after the defun."
(end-of-defun)
(beginning-of-defun)
(read (current-buffer)))))
- (if (and (eq (car form) 'defvar)
- (cdr-safe (cdr-safe form)))
- (setq form (cons 'defconst (cdr form))))
+ (cond ((and (eq (car form) 'defvar)
+ (cdr-safe (cdr-safe form)))
+ ;; Force variable to be bound.
+ (setq form (cons 'defconst (cdr form))))
+ ((and (eq (car form) 'defcustom)
+ (default-boundp (nth 1 form)))
+ ;; Force variable to be bound.
+ (set-default (nth 1 form) (eval (nth 2 form)))))
(prin1 (eval form))))
(defun lisp-comment-indent ()