[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lispref/edebug.texi
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lispref/edebug.texi |
Date: |
Fri, 04 Apr 2003 01:23:21 -0500 |
Index: emacs/lispref/edebug.texi
diff -c emacs/lispref/edebug.texi:1.14 emacs/lispref/edebug.texi:1.15
*** emacs/lispref/edebug.texi:1.14 Thu Apr 18 20:17:47 2002
--- emacs/lispref/edebug.texi Tue Feb 4 09:47:53 2003
***************
*** 1,10 ****
@comment -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
! @c Copyright (C) 1992, 1993, 1994, 1998, 1999 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
! @c This file can also be used by an independent Edebug User
! @c Manual in which case the Edebug node below should be used
@c with the following links to the Bugs section and to the top level:
@c , Bugs and Todo List, Top, Top
--- 1,10 ----
@comment -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
! @c Copyright (C) 1992, 1993, 1994, 1998, 1999 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
! @c This file can also be used by an independent Edebug User
! @c Manual in which case the Edebug node below should be used
@c with the following links to the Bugs section and to the top level:
@c , Bugs and Todo List, Top, Top
***************
*** 35,41 ****
Display expression results and evaluate expressions as if outside of
Edebug.
! @item
Automatically re-evaluate a list of expressions and
display their results each time Edebug updates the display.
--- 35,41 ----
Display expression results and evaluate expressions as if outside of
Edebug.
! @item
Automatically re-evaluate a list of expressions and
display their results each time Edebug updates the display.
***************
*** 117,123 ****
@cindex stop points
The places within a function where Edebug can stop execution are called
@dfn{stop points}. These occur both before and after each subexpression
! that is a list, and also after each variable reference.
Here we use periods to show the stop points in the function
@code{fac}:
--- 117,123 ----
@cindex stop points
The places within a function where Edebug can stop execution are called
@dfn{stop points}. These occur both before and after each subexpression
! that is a list, and also after each variable reference.
Here we use periods to show the stop points in the function
@code{fac}:
***************
*** 142,148 ****
@end example
When Edebug stops execution after an expression, it displays the
! expression's value in the echo area.
Other frequently used commands are @kbd{b} to set a breakpoint at a stop
point, @kbd{g} to execute until a breakpoint is reached, and @kbd{q} to
--- 142,148 ----
@end example
When Edebug stops execution after an expression, it displays the
! expression's value in the echo area.
Other frequently used commands are @kbd{b} to set a breakpoint at a stop
point, @kbd{g} to execute until a breakpoint is reached, and @kbd{q} to
***************
*** 445,451 ****
program.
@item u
! Unset the breakpoint (if any) at the stop point at or after
point (@code{edebug-unset-breakpoint}).
@item x @var{condition} @key{RET}
--- 445,451 ----
program.
@item u
! Unset the breakpoint (if any) at the stop point at or after
point (@code{edebug-unset-breakpoint}).
@item x @var{condition} @key{RET}
***************
*** 490,496 ****
point in the buffer.
@menu
! * Global Break Condition:: Breaking on an event.
* Source Breakpoints:: Embedding breakpoints in source code.
@end menu
--- 490,496 ----
point in the buffer.
@menu
! * Global Break Condition:: Breaking on an event.
* Source Breakpoints:: Embedding breakpoints in source code.
@end menu
***************
*** 692,698 ****
The expressions you enter interactively (and their results) are lost
when you continue execution; but you can set up an @dfn{evaluation list}
! consisting of expressions to be evaluated each time execution stops.
@cindex evaluation list group
To do this, write one or more @dfn{evaluation list groups} in the
--- 692,698 ----
The expressions you enter interactively (and their results) are lost
when you continue execution; but you can set up an @dfn{evaluation list}
! consisting of expressions to be evaluated each time execution stops.
@cindex evaluation list group
To do this, write one or more @dfn{evaluation list groups} in the
***************
*** 771,777 ****
printing results. The default value is @code{50}.
@end defopt
! @defopt edebug-print-level
If address@hidden, Edebug binds @code{print-level} to this value while
printing results. The default value is @code{50}.
@end defopt
--- 771,777 ----
printing results. The default value is @code{50}.
@end defopt
! @defopt edebug-print-level
If address@hidden, Edebug binds @code{print-level} to this value while
printing results. The default value is @code{50}.
@end defopt
***************
*** 794,800 ****
structure. This notation is used for any shared elements of lists or
vectors.
! @defopt edebug-print-circle
If address@hidden, Edebug binds @code{print-circle} to this value while
printing results. The default value is @code{nil}.
@end defopt
--- 794,800 ----
structure. This notation is used for any shared elements of lists or
vectors.
! @defopt edebug-print-circle
If address@hidden, Edebug binds @code{print-circle} to this value while
printing results. The default value is @code{nil}.
@end defopt
***************
*** 900,912 ****
@example
(defun fac (n)
(if (= n 0) (edebug))
! ;#6 1 0 =5
(if (< 0 n)
! ;#5 =
(* n (fac (1- n)))
! ;# 5 0
1))
! ;# 0
@end example
The comment lines show that @code{fac} was called 6 times. The
--- 900,912 ----
@example
(defun fac (n)
(if (= n 0) (edebug))
! ;#6 1 0 =5
(if (< 0 n)
! ;#5 =
(* n (fac (1- n)))
! ;# 5 0
1))
! ;# 0
@end example
The comment lines show that @code{fac} was called 6 times. The
***************
*** 939,950 ****
program.
@itemize @bullet
! @item
@code{max-lisp-eval-depth} and @code{max-specpdl-size} are both
incremented once to reduce Edebug's impact on the stack. You could,
however, still run out of stack space when using Edebug.
! @item
The state of keyboard macro execution is saved and restored. While
Edebug is active, @code{executing-macro} is bound to
@code{edebug-continue-kbd-macro}.
--- 939,950 ----
program.
@itemize @bullet
! @item
@code{max-lisp-eval-depth} and @code{max-specpdl-size} are both
incremented once to reduce Edebug's impact on the stack. You could,
however, still run out of stack space when using Edebug.
! @item
The state of keyboard macro execution is saved and restored. While
Edebug is active, @code{executing-macro} is bound to
@code{edebug-continue-kbd-macro}.
***************
*** 958,964 ****
@c This paragraph is not filled, because LaLiberte's conversion script
@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.
--- 958,964 ----
@c This paragraph is not filled, because LaLiberte's conversion script
@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.
***************
*** 974,985 ****
error or quit signal occurs).
@itemize @bullet
! @item
@cindex current buffer point and mark (Edebug)
Which buffer is current, and the positions of point and the mark in the
current buffer, are saved and restored.
! @item
@cindex window configuration (Edebug)
The outside window configuration is saved and restored if
@code{edebug-save-windows} is address@hidden (@pxref{Edebug Display Update}).
--- 974,985 ----
error or quit signal occurs).
@itemize @bullet
! @item
@cindex current buffer point and mark (Edebug)
Which buffer is current, and the positions of point and the mark in the
current buffer, are saved and restored.
! @item
@cindex window configuration (Edebug)
The outside window configuration is saved and restored if
@code{edebug-save-windows} is address@hidden (@pxref{Edebug Display Update}).
***************
*** 1002,1008 ****
@code{overlay-arrow-string} are saved and restored. So you can safely
invoke Edebug from the recursive edit elsewhere in the same buffer.
! @item
@code{cursor-in-echo-area} is locally bound to @code{nil} so that
the cursor shows up in the window.
@end itemize
--- 1002,1008 ----
@code{overlay-arrow-string} are saved and restored. So you can safely
invoke Edebug from the recursive edit elsewhere in the same buffer.
! @item
@code{cursor-in-echo-area} is locally bound to @code{nil} so that
the cursor shows up in the window.
@end itemize
***************
*** 1047,1053 ****
by the @code{recursive-edit}, but Edebug temporarily restores them during
evaluations.
! @item
The state of keyboard macro definition is saved and restored. While
Edebug is active, @code{defining-kbd-macro} is bound to
@code{edebug-continue-kbd-macro}.
--- 1047,1053 ----
by the @code{recursive-edit}, but Edebug temporarily restores them during
evaluations.
! @item
The state of keyboard macro definition is saved and restored. While
Edebug is active, @code{defining-kbd-macro} is bound to
@code{edebug-continue-kbd-macro}.
***************
*** 1187,1193 ****
@item &optional
@kindex &optional @r{(Edebug)}
All following elements in the specification list are optional; as soon
! as one does not match, Edebug stops matching at this level.
To make just a few elements optional followed by non-optional elements,
use @code{[&optional @address@hidden To specify that several
--- 1187,1193 ----
@item &optional
@kindex &optional @r{(Edebug)}
All following elements in the specification list are optional; as soon
! as one does not match, Edebug stops matching at this level.
To make just a few elements optional followed by non-optional elements,
use @code{[&optional @address@hidden To specify that several
***************
*** 1222,1228 ****
of them match, nothing is matched, but the @code{¬} specification
succeeds.
! @item &define
@kindex &define @r{(Edebug)}
Indicates that the specification is for a defining form. The defining
form itself is not instrumented (that is, Edebug does not stop before and
--- 1222,1228 ----
of them match, nothing is matched, but the @code{¬} specification
succeeds.
! @item &define
@kindex &define @r{(Edebug)}
Indicates that the specification is for a defining form. The defining
form itself is not instrumented (that is, Edebug does not stop before and
***************
*** 1302,1308 ****
@table @code
@item name
! The argument, a symbol, is the name of the defining form.
A defining form is not required to have a name field; and it may have
multiple name fields.
--- 1302,1308 ----
@table @code
@item name
! The argument, a symbol, is the name of the defining form.
A defining form is not required to have a name field; and it may have
multiple name fields.
***************
*** 1349,1355 ****
exhausted. Eventually every element of the argument list must be
matched by some element in the specification, and every required element
in the specification must match some argument.
!
When a syntax error is detected, it might not be reported until much
later after higher-level alternatives have been exhausted, and with the
point positioned further from the real error. But if backtracking is
--- 1349,1355 ----
exhausted. Eventually every element of the argument list must be
matched by some element in the specification, and every required element
in the specification must match some argument.
!
When a syntax error is detected, it might not be reported until much
later after higher-level alternatives have been exhausted, and with the
point positioned further from the real error. But if backtracking is
***************
*** 1405,1412 ****
@smallexample
(def-edebug-spec defmacro defun) ; @r{Indirect ref to @code{defun} spec.}
! (def-edebug-spec defun
! (&define name lambda-list
[&optional stringp] ; @r{Match the doc string, if present.}
[&optional ("interactive" interactive)]
def-body))
--- 1405,1412 ----
@smallexample
(def-edebug-spec defmacro defun) ; @r{Indirect ref to @code{defun} spec.}
! (def-edebug-spec defun
! (&define name lambda-list
[&optional stringp] ; @r{Match the doc string, if present.}
[&optional ("interactive" interactive)]
def-body))
***************
*** 1479,1485 ****
variable to @code{nil}.
If the value is a list, only the listed windows are saved and
! restored.
You can use the @kbd{W} command in Edebug to change this variable
interactively. @xref{Edebug Display Update}.
--- 1479,1485 ----
variable to @code{nil}.
If the value is a list, only the listed windows are saved and
! restored.
You can use the @kbd{W} command in Edebug to change this variable
interactively. @xref{Edebug Display Update}.
***************
*** 1505,1530 ****
@code{step}, @code{next}, @code{go}, @code{Go-nonstop}, @code{trace},
@code{Trace-fast}, @code{continue}, and @code{Continue-fast}.
! The default value is @code{step}.
@xref{Edebug Execution Modes}.
@end defopt
@defopt edebug-trace
address@hidden means display a trace of function entry and exit.
Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
! function entry or exit per line, indented by the recursion level.
! The default value is @code{nil}.
Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
@end defopt
! @defopt edebug-test-coverage
If address@hidden, Edebug tests coverage of all expressions debugged.
@xref{Coverage Testing}.
@end defopt
! @defopt edebug-continue-kbd-macro
If address@hidden, continue defining or executing any keyboard macro
that is executing outside of Edebug. Use this with caution since it is not
debugged.
--- 1505,1530 ----
@code{step}, @code{next}, @code{go}, @code{Go-nonstop}, @code{trace},
@code{Trace-fast}, @code{continue}, and @code{Continue-fast}.
! The default value is @code{step}.
@xref{Edebug Execution Modes}.
@end defopt
@defopt edebug-trace
address@hidden means display a trace of function entry and exit.
Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
! function entry or exit per line, indented by the recursion level.
! The default value is @code{nil}.
Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
@end defopt
! @defopt edebug-test-coverage
If address@hidden, Edebug tests coverage of all expressions debugged.
@xref{Coverage Testing}.
@end defopt
! @defopt edebug-continue-kbd-macro
If address@hidden, continue defining or executing any keyboard macro
that is executing outside of Edebug. Use this with caution since it is not
debugged.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lispref/edebug.texi,
Miles Bader <=