diff options
author | Stephen Gildea <stepheng+emacs@gildea.com> | 2021-10-21 20:10:53 -0700 |
---|---|---|
committer | Stephen Gildea <stepheng+emacs@gildea.com> | 2021-10-21 20:12:49 -0700 |
commit | 9529e1d2fbec706dad9d126a8678bbfc6063ba79 (patch) | |
tree | e8b1e9644fbb28940b4925ed0fffbf81a05f46bc | |
parent | 5bc522b4f45f17c44449a05df562d8f0ae00bcb4 (diff) | |
download | emacs-9529e1d2fbec706dad9d126a8678bbfc6063ba79.tar.gz |
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))).
-rw-r--r-- | doc/lispref/edebug.texi | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index 323130f2378..7d67cc3af11 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} |