emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-28 9529e1d: Update doc of Edebug specification for macros


From: Stephen Gildea
Subject: emacs-28 9529e1d: Update doc of Edebug specification for macros
Date: Thu, 21 Oct 2021 23:14:13 -0400 (EDT)

branch: emacs-28
commit 9529e1d2fbec706dad9d126a8678bbfc6063ba79
Author: Stephen Gildea <stepheng+emacs@gildea.com>
Commit: Stephen Gildea <stepheng+emacs@gildea.com>

    Update doc of Edebug specification for macros
    
    doc/lispref/edebug.texi:  Update documentation of Edebug specification:
    - Do not document "0" as a recommended shortcut for non-instrumented
    arguments; nobody knows about nor uses this, so don't encourage it.
    - Add an example equivalent to (declare (debug (&rest sexp))).
---
 doc/lispref/edebug.texi | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 323130f..7d67cc3 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -1216,9 +1216,7 @@ directs processing of arguments.
 @table @asis
 @item @code{t}
 All arguments are instrumented for evaluation.
-
-@item @code{0}
-None of the arguments is instrumented.
+This is short for @code{(body)}.
 
 @item a symbol
 The symbol must have an Edebug specification, which is used instead.
@@ -1528,6 +1526,16 @@ example of the @code{let} specification.
 It may be easier to understand Edebug specifications by studying
 the examples provided here.
 
+Consider a hypothetical macro @code{my-test-generator} that runs
+tests on supplied lists of data.  Although it is Edebug's default
+behavior to not instrument arguments as code, as controlled by
+@code{edebug-eval-macro-args} (@pxref{Instrumenting Macro Calls}),
+it can be useful to explicitly document that the arguments are data:
+
+@example
+(def-edebug-spec my-test-generator (&rest sexp))
+@end example
+
 A @code{let} special form has a sequence of bindings and a body.  Each
 of the bindings is either a symbol or a sublist with a symbol and
 optional expression.  In the specification below, notice the @code{gate}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]