X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/bdf35b6a6a78e444563a8e321ccb42b4b4a419bd..37b2bf43a95249276ecf0671c74dfa924a144f2c:/doc/lispref/edebug.texi diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index 9d50f5fb31..85998fd383 100644 --- a/doc/lispref/edebug.texi +++ b/doc/lispref/edebug.texi @@ -1,6 +1,7 @@ @comment -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1992-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc. +@c Copyright (C) 1992-1994, 1998-1999, 2001-2014 Free Software +@c Foundation, Inc. @c See the file elisp.texi for copying conditions. @c This file can also be used by an independent Edebug User @@ -9,7 +10,7 @@ @c , Bugs and Todo List, Top, Top -@node Edebug, Syntax Errors, Debugger, Debugging +@node Edebug @section Edebug @cindex Edebug debugging facility @@ -150,6 +151,7 @@ display a list of all Edebug commands. @node Instrumenting @subsection Instrumenting for Edebug +@cindex instrumenting for Edebug In order to use Edebug to debug Lisp code, you must first @dfn{instrument} the code. Instrumenting code inserts additional code @@ -179,9 +181,11 @@ to loading or evaluations in the minibuffer. The command @kbd{M-x edebug-all-forms} toggles this option. @findex edebug-eval-top-level-form +@findex edebug-defun Another command, @kbd{M-x edebug-eval-top-level-form}, is available to instrument any top-level form regardless of the values of @code{edebug-all-defs} and @code{edebug-all-forms}. +@code{edebug-defun} is an alias for @code{edebug-eval-top-level-form}. While Edebug is active, the command @kbd{I} (@code{edebug-instrument-callee}) instruments the definition of the @@ -975,8 +979,8 @@ unless @code{edebug-continue-kbd-macro} is non-@code{nil}. @c needs an xref to be on just one line. When Edebug needs to display something (e.g., in trace mode), it saves the current window configuration from ``outside'' Edebug -(@pxref{Window Configurations}). When you exit Edebug (by continuing -the program), it restores the previous window configuration. +(@pxref{Window Configurations}). When you exit Edebug, it restores +the previous window configuration. Emacs redisplays only when it pauses. Usually, when you continue execution, the program re-enters Edebug at a breakpoint or after @@ -1035,10 +1039,10 @@ The current match data. @xref{Match Data}. @item The variables @code{last-command}, @code{this-command}, -@code{last-input-event}, @code{last-command-event}, +@code{last-command-event}, @code{last-input-event}, @code{last-event-frame}, @code{last-nonmenu-event}, and -@code{track-mouse}. Commands used within Edebug do not affect these -variables outside of Edebug. +@code{track-mouse}. Commands in Edebug do not affect these variables +outside of Edebug. Executing commands within Edebug can change the key sequence that would be returned by @code{this-command-keys}, and there is no way to @@ -1113,7 +1117,7 @@ definition, but specifications are much more general than macro arguments. @xref{Defining Macros}, for more explanation of the @code{declare} form. -@c See eg http://debbugs.gnu.org/10577 +@c See, e.g., http://debbugs.gnu.org/10577 @c FIXME Maybe there should be an Edebug option to get it to @c automatically load the entire source file containing the function @c being instrumented. That would avoid this. @@ -1128,14 +1132,14 @@ from the macro definition with @code{def-edebug-spec}. Adding definitions in Lisp, but @code{def-edebug-spec} makes it possible to define Edebug specifications for special forms implemented in C. -@deffn Macro def-edebug-spec macro specification +@defmac def-edebug-spec macro specification Specify which expressions of a call to macro @var{macro} are forms to be evaluated. @var{specification} should be the edebug specification. Neither argument is evaluated. The @var{macro} argument can actually be any symbol, not just a macro name. -@end deffn +@end defmac Here is a table of the possibilities for @var{specification} and how each directs processing of arguments. @@ -1208,9 +1212,7 @@ A single unevaluated Lisp object, which is not instrumented. A single evaluated expression, which is instrumented. @item place -@c I can't see that this index entry is useful without any explanation. -@c @findex edebug-unwrap -A place to store a value, as in the Common Lisp @code{setf} construct. +A generalized variable. @xref{Generalized Variables}. @item body Short for @code{&rest form}. See @code{&rest} below.