summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>1999-01-07 19:45:32 +0000
committerDave Love <fx@gnu.org>1999-01-07 19:45:32 +0000
commit6b33933225f5e9b11e85d4d89dd41cd7d227538d (patch)
tree2ec747c2bd2fcb70bbca390580b7df7ac007b844 /lisp/emacs-lisp
parentaa924debea65aa6636dd5a202e44f7b91c250281 (diff)
downloademacs-6b33933225f5e9b11e85d4d89dd41cd7d227538d.tar.gz
emacs-6b33933225f5e9b11e85d4d89dd41cd7d227538d.tar.bz2
emacs-6b33933225f5e9b11e85d4d89dd41cd7d227538d.zip
(edebug-eval-defun): Deal with defcustom
like eval-defun does.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/edebug.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index a1c7b1e3a03..4312f771c36 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -1,6 +1,6 @@
;;; edebug.el --- a source-level debugger for Emacs Lisp
-;; Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 1997
+;; Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 97, 1999
;; Free Software Foundation, Inc.
;; Author: Daniel LaLiberte <dlaliberte@gte.com>
@@ -558,9 +558,14 @@ Otherwise, it prints in the minibuffer."
(let ((edebug-all-forms edebugging)
(edebug-all-defs (eq edebug-all-defs (not edebug-it))))
(edebug-read-top-level-form))))
- (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)))))
(setq edebug-result (eval form))
(if (not edebugging)
(princ edebug-result)