Mercurial > emacs
changeset 46784:546f1e0c46c9
(edebug-eval-top-level-form): Use eval-expression.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 02 Aug 2002 18:00:18 +0000 |
parents | a4e9eb2530cb |
children | 28581ef4c224 |
files | lisp/emacs-lisp/edebug.el |
diffstat | 1 files changed, 17 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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)