aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorGlenn Morris2017-11-14 17:43:06 -0500
committerGlenn Morris2017-11-14 17:43:06 -0500
commit52d822f31bc7cb57694c1e209b2d02e5efb8f48c (patch)
treea3d07b0e0e1e4a692a2420c7e5c0d7c05e3ab62b /doc
parent13248f7444630508cfc3b78a07e8d96613af11c8 (diff)
parent796c7f7a949c83d64ae37cadb9a0ca28a2f1823a (diff)
downloademacs-52d822f31bc7cb57694c1e209b2d02e5efb8f48c.tar.gz
emacs-52d822f31bc7cb57694c1e209b2d02e5efb8f48c.zip
Merge from origin/emacs-26
796c7f7 (origin/emacs-26) ; Fix last fix of 'mouse-drag-and-drop-region' 40d41dd (emacs-26) Fix Bug#28139 a5ec644 Fix Bug#29291 8b900e5 Fix Bug#2928 ff7bd84 Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect... 0491de8 * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems caa39f4 Fix cookie handling (bug#29282) 93304e3 Improve documentation of Edebug and macros
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/edebug.texi32
1 files changed, 22 insertions, 10 deletions
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 651bfacb4cf..979add9f319 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -1144,9 +1144,12 @@ the @code{declare} form.
1144@c automatically load the entire source file containing the function 1144@c automatically load the entire source file containing the function
1145@c being instrumented. That would avoid this. 1145@c being instrumented. That would avoid this.
1146 Take care to ensure that the specifications are known to Edebug when 1146 Take care to ensure that the specifications are known to Edebug when
1147you instrument code. If you are instrumenting a function from a file 1147you instrument code. If you are instrumenting a function which uses a
1148that uses @code{eval-when-compile} to require another file containing 1148macro defined in another file, you may first need to either evaluate
1149macro definitions, you may need to explicitly load that file. 1149the @code{require} forms in the file containing your function, or
1150explicitly load the file containing the macro. If the definition of a
1151macro is wrapped by @code{eval-when-compile}, you may need to evaluate
1152it.
1150 1153
1151 You can also define an edebug specification for a macro separately 1154 You can also define an edebug specification for a macro separately
1152from the macro definition with @code{def-edebug-spec}. Adding 1155from the macro definition with @code{def-edebug-spec}. Adding
@@ -1231,13 +1234,17 @@ A single unevaluated Lisp object, which is not instrumented.
1231@c an "expression" is not necessarily intended for evaluation. 1234@c an "expression" is not necessarily intended for evaluation.
1232 1235
1233@item form 1236@item form
1234A single evaluated expression, which is instrumented. 1237A single evaluated expression, which is instrumented. If your macro
1238wraps the expression with @code{lambda} before it is evaluated, use
1239@code{def-form} instead. See @code{def-form} below.
1235 1240
1236@item place 1241@item place
1237A generalized variable. @xref{Generalized Variables}. 1242A generalized variable. @xref{Generalized Variables}.
1238 1243
1239@item body 1244@item body
1240Short for @code{&rest form}. See @code{&rest} below. 1245Short for @code{&rest form}. See @code{&rest} below. If your macro
1246wraps its body of code with @code{lambda} before it is evaluated, use
1247@code{def-body} instead. See @code{def-body} below.
1241 1248
1242@item function-form 1249@item function-form
1243A function form: either a quoted function symbol, a quoted lambda 1250A function form: either a quoted function symbol, a quoted lambda
@@ -1292,11 +1299,16 @@ succeeds.
1292 1299
1293@item &define 1300@item &define
1294@c @kindex &define @r{(Edebug)} 1301@c @kindex &define @r{(Edebug)}
1295Indicates that the specification is for a defining form. The defining 1302
1296form itself is not instrumented (that is, Edebug does not stop before and 1303Indicates that the specification is for a defining form. Edebug's
1297after the defining form), but forms inside it typically will be 1304definition of a defining form is a form containing one or more code
1298instrumented. The @code{&define} keyword should be the first element in 1305forms which are saved and executed later, after the execution of the
1299a list specification. 1306defining form.
1307
1308The defining form itself is not instrumented (that is, Edebug does not
1309stop before and after the defining form), but forms inside it
1310typically will be instrumented. The @code{&define} keyword should be
1311the first element in a list specification.
1300 1312
1301@item nil 1313@item nil
1302This is successful when there are no more arguments to match at the 1314This is successful when there are no more arguments to match at the