# HG changeset patch # User Dave Love # Date 915738332 0 # Node ID 2981304f5015806fa3ae17700815cedbd34c6563 # Parent 4d7de66c650eff2428c672cb1dd14d5eb1f4a509 (edebug-eval-defun): Deal with defcustom like eval-defun does. diff -r 4d7de66c650e -r 2981304f5015 lisp/emacs-lisp/edebug.el --- a/lisp/emacs-lisp/edebug.el Thu Jan 07 19:40:25 1999 +0000 +++ b/lisp/emacs-lisp/edebug.el Thu Jan 07 19:45:32 1999 +0000 @@ -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 @@ -558,9 +558,14 @@ (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)