# HG changeset patch # User Richard M. Stallman # Date 1028311218 0 # Node ID 546f1e0c46c9947c36e045403ec8fbe09e987d18 # Parent a4e9eb2530cbd7a6cda40a30edfa9f4db0ea6ed0 (edebug-eval-top-level-form): Use eval-expression. diff -r a4e9eb2530cb -r 546f1e0c46c9 lisp/emacs-lisp/edebug.el --- a/lisp/emacs-lisp/edebug.el Fri Aug 02 17:59:22 2002 +0000 +++ b/lisp/emacs-lisp/edebug.el Fri Aug 02 18:00:18 2002 +0000 @@ -531,12 +531,24 @@ ;;;###autoload (defun edebug-eval-top-level-form () - "Evaluate a top level form, such as a defun or defmacro. -This is like `eval-defun', but the code is always instrumented for Edebug. -Print its name in the minibuffer and leave point where it is, -or if an error occurs, leave point after it with mark at the original point." + "Evaluate the top level form point is in, stepping through with Edebug. +This is like `eval-defun' except that it steps the code for Edebug +before evaluating it. It displays the value in the echo area +using `eval-expression' (which see). + +If you do this on a function definition +such as a defun or defmacro, it defines the function and instruments +its definition for Edebug, so it will do Edebug stepping when called +later. It displays `Edebug: FUNCTION' in the echo area to indicate +that FUNCTION is now instrumented for Edebug. + +If the current defun is actually a call to `defvar' or `defcustom', +evaluating it this way resets the variable using its initial value +expression even if the variable already has some other value. +\(Normally `defvar' and `defcustom' do not alter the value if there +already is one.)" (interactive) - (eval + (eval-expression ;; Bind edebug-all-forms only while reading, not while evalling ;; but this causes problems while edebugging edebug. (let ((edebug-all-forms t)