From: Luc Teirlinck Date: Thu, 16 Jun 2005 20:32:01 +0000 (+0000) Subject: (Instrumenting): Eliminate duplicate link. X-Git-Tag: emacs-pretest-22.0.90~8857 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=67c1390d8c1264ff5e58ef6b25a5c33c91a40086;p=emacs.git (Instrumenting): Eliminate duplicate link. (Specification List): Replace references to "below", referring to a later node, with one @ref to that node. --- diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 112d6e81ae5..e3011293f54 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog @@ -1,3 +1,15 @@ +2005-06-16 Luc Teirlinck + + * edebug.texi (Instrumenting): Eliminate duplicate link. + (Specification List): Replace references to "below", referring to + a later node, with one @ref to that node. + + * os.texi (Timers): Timers should save and restore the match data + if they change it. + + * debugging.texi (Debugger Commands): Mention that the Lisp + debugger can not step through primitive functions. + 2005-06-16 Juanma Barranquero * functions.texi (Obsolete Functions): Update argument names of diff --git a/lispref/edebug.texi b/lispref/edebug.texi index 981afbb894c..6447fbe37c5 100644 --- a/lispref/edebug.texi +++ b/lispref/edebug.texi @@ -203,14 +203,13 @@ function. @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. +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 -(@pxref{Edebug and Macros}) associated with a package you are -using, but only when you use Edebug. +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,7 +1184,8 @@ balanced parentheses, recursive processing of forms, and recursion via indirect specifications. Here's a table of the possible elements of a specification list, with -their meanings: +their meanings (see @ref{Specification Examples}, for the referenced +examples): @table @code @item sexp @@ -1221,7 +1221,7 @@ 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 @var{specs}@dots{}]}. To specify that several elements must all match or none, use @code{&optional -[@var{specs}@dots{}]}. See the @code{defun} example below. +[@var{specs}@dots{}]}. See the @code{defun} example. @item &rest @c @kindex &rest @r{(Edebug)} @@ -1262,15 +1262,14 @@ a list specification. @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. +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 -below. +@ref{Backtracking}, for more details. Also see the @code{let} example. @item @var{other-symbol} @cindex indirect specifications @@ -1281,7 +1280,7 @@ If the symbol has an Edebug specification, this @dfn{indirect 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. +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,7 +1301,7 @@ of @var{symbol} is the @var{string}, but the string form is preferred. @item (vector @var{elements}@dots{}) The argument should be a vector whose elements must match the -@var{elements} in the specification. See the backquote example below. +@var{elements} in the specification. See the backquote example. @item (@var{elements}@dots{}) Any other list is a @dfn{sublist specification} and the argument must be @@ -1315,7 +1314,7 @@ dotted list specification may be another sublist specification (via a grouping or an indirect specification, e.g., @code{(spec . [(more specs@dots{})])}) 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 +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,7 +1326,7 @@ sublist-elements@dots{})}. @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. +@code{&define}. See the @code{defun} example. @table @code @item name @@ -1364,7 +1363,7 @@ The argument is a single, highest-level form in a definition. This is 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. +@code{interactive} example. @end table @node Backtracking