[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lispref/edebug.texi
From: |
Luc Teirlinck |
Subject: |
[Emacs-diffs] Changes to emacs/lispref/edebug.texi |
Date: |
Thu, 16 Jun 2005 16:30:12 -0400 |
Index: emacs/lispref/edebug.texi
diff -c emacs/lispref/edebug.texi:1.31 emacs/lispref/edebug.texi:1.32
*** emacs/lispref/edebug.texi:1.31 Tue Jun 14 23:33:21 2005
--- emacs/lispref/edebug.texi Thu Jun 16 20:30:12 2005
***************
*** 203,216 ****
@code{interactive} forms with an expression argument, anonymous lambda
expressions, and other defining forms. However, Edebug cannot determine
on its own what a user-defined macro will do with the arguments of a
! macro call, so you must provide that information; see @ref{Edebug and
! Macros}, for details.
When Edebug is about to instrument code for the first time in a
session, it runs the hook @code{edebug-setup-hook}, then sets it to
@code{nil}. You can use this to load Edebug specifications
! (@pxref{Edebug and Macros}) associated with a package you are
! using, but only when you use Edebug.
@findex eval-expression @r{(Edebug)}
To remove instrumentation from a definition, simply re-evaluate its
--- 203,215 ----
@code{interactive} forms with an expression argument, anonymous lambda
expressions, and other defining forms. However, Edebug cannot determine
on its own what a user-defined macro will do with the arguments of a
! macro call, so you must provide that information using Edebug
! specifications; see @ref{Edebug and Macros}, for details.
When Edebug is about to instrument code for the first time in a
session, it runs the hook @code{edebug-setup-hook}, then sets it to
@code{nil}. You can use this to load Edebug specifications
! associated with a package you are using, but only when you use Edebug.
@findex eval-expression @r{(Edebug)}
To remove instrumentation from a definition, simply re-evaluate its
***************
*** 1185,1191 ****
indirect specifications.
Here's a table of the possible elements of a specification list, with
! their meanings:
@table @code
@item sexp
--- 1184,1191 ----
indirect specifications.
Here's a table of the possible elements of a specification list, with
! their meanings (see @ref{Specification Examples}, for the referenced
! examples):
@table @code
@item sexp
***************
*** 1221,1227 ****
To make just a few elements optional followed by non-optional elements,
use @code{[&optional @address@hidden To specify that several
elements must all match or none, use @code{&optional
! address@hidden@dots{}]}. See the @code{defun} example below.
@item &rest
@c @kindex &rest @r{(Edebug)}
--- 1221,1227 ----
To make just a few elements optional followed by non-optional elements,
use @code{[&optional @address@hidden To specify that several
elements must all match or none, use @code{&optional
! address@hidden@dots{}]}. See the @code{defun} example.
@item &rest
@c @kindex &rest @r{(Edebug)}
***************
*** 1262,1276 ****
@item nil
This is successful when there are no more arguments to match at the
current argument list level; otherwise it fails. See sublist
! specifications and the backquote example below.
@item gate
@cindex preventing backtracking
No argument is matched but backtracking through the gate is disabled
while matching the remainder of the specifications at this level. This
is primarily used to generate more specific syntax error messages. See
! @ref{Backtracking}, for more details. Also see the @code{let} example
! below.
@item @var{other-symbol}
@cindex indirect specifications
--- 1262,1275 ----
@item nil
This is successful when there are no more arguments to match at the
current argument list level; otherwise it fails. See sublist
! specifications and the backquote example.
@item gate
@cindex preventing backtracking
No argument is matched but backtracking through the gate is disabled
while matching the remainder of the specifications at this level. This
is primarily used to generate more specific syntax error messages. See
! @ref{Backtracking}, for more details. Also see the @code{let} example.
@item @var{other-symbol}
@cindex indirect specifications
***************
*** 1281,1287 ****
specification} should be either a list specification that is used in
place of the symbol, or a function that is called to process the
arguments. The specification may be defined with @code{def-edebug-spec}
! just as for macros. See the @code{defun} example below.
Otherwise, the symbol should be a predicate. The predicate is called
with the argument and the specification fails if the predicate returns
--- 1280,1286 ----
specification} should be either a list specification that is used in
place of the symbol, or a function that is called to process the
arguments. The specification may be defined with @code{def-edebug-spec}
! just as for macros. See the @code{defun} example.
Otherwise, the symbol should be a predicate. The predicate is called
with the argument and the specification fails if the predicate returns
***************
*** 1302,1308 ****
@item (vector @address@hidden)
The argument should be a vector whose elements must match the
! @var{elements} in the specification. See the backquote example below.
@item (@address@hidden)
Any other list is a @dfn{sublist specification} and the argument must be
--- 1301,1307 ----
@item (vector @address@hidden)
The argument should be a vector whose elements must match the
! @var{elements} in the specification. See the backquote example.
@item (@address@hidden)
Any other list is a @dfn{sublist specification} and the argument must be
***************
*** 1315,1321 ****
grouping or an indirect specification, e.g., @code{(spec . [(more
address@hidden)])}) whose elements match the non-dotted list arguments.
This is useful in recursive specifications such as in the backquote
! example below. Also see the description of a @code{nil} specification
above for terminating such recursion.
Note that a sublist specification written as @code{(specs . nil)}
--- 1314,1320 ----
grouping or an indirect specification, e.g., @code{(spec . [(more
address@hidden)])}) whose elements match the non-dotted list arguments.
This is useful in recursive specifications such as in the backquote
! example. Also see the description of a @code{nil} specification
above for terminating such recursion.
Note that a sublist specification written as @code{(specs . nil)}
***************
*** 1327,1333 ****
@c Need to document extensions with &symbol and :symbol
Here is a list of additional specifications that may appear only after
! @code{&define}. See the @code{defun} example below.
@table @code
@item name
--- 1326,1332 ----
@c Need to document extensions with &symbol and :symbol
Here is a list of additional specifications that may appear only after
! @code{&define}. See the @code{defun} example.
@table @code
@item name
***************
*** 1364,1370 ****
like @code{def-body}, except use this to match a single form rather than
a list of forms. As a special case, @code{def-form} also means that
tracing information is not output when the form is executed. See the
! @code{interactive} example below.
@end table
@node Backtracking
--- 1363,1369 ----
like @code{def-body}, except use this to match a single form rather than
a list of forms. As a special case, @code{def-form} also means that
tracing information is not output when the form is executed. See the
! @code{interactive} example.
@end table
@node Backtracking