diff options
| author | Glenn Morris | 2017-11-14 17:43:06 -0500 |
|---|---|---|
| committer | Glenn Morris | 2017-11-14 17:43:06 -0500 |
| commit | 52d822f31bc7cb57694c1e209b2d02e5efb8f48c (patch) | |
| tree | a3d07b0e0e1e4a692a2420c7e5c0d7c05e3ab62b /doc | |
| parent | 13248f7444630508cfc3b78a07e8d96613af11c8 (diff) | |
| parent | 796c7f7a949c83d64ae37cadb9a0ca28a2f1823a (diff) | |
| download | emacs-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.texi | 32 |
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 |
| 1147 | you instrument code. If you are instrumenting a function from a file | 1147 | you instrument code. If you are instrumenting a function which uses a |
| 1148 | that uses @code{eval-when-compile} to require another file containing | 1148 | macro defined in another file, you may first need to either evaluate |
| 1149 | macro definitions, you may need to explicitly load that file. | 1149 | the @code{require} forms in the file containing your function, or |
| 1150 | explicitly load the file containing the macro. If the definition of a | ||
| 1151 | macro is wrapped by @code{eval-when-compile}, you may need to evaluate | ||
| 1152 | it. | ||
| 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 |
| 1152 | from the macro definition with @code{def-edebug-spec}. Adding | 1155 | from 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 |
| 1234 | A single evaluated expression, which is instrumented. | 1237 | A single evaluated expression, which is instrumented. If your macro |
| 1238 | wraps 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 |
| 1237 | A generalized variable. @xref{Generalized Variables}. | 1242 | A generalized variable. @xref{Generalized Variables}. |
| 1238 | 1243 | ||
| 1239 | @item body | 1244 | @item body |
| 1240 | Short for @code{&rest form}. See @code{&rest} below. | 1245 | Short for @code{&rest form}. See @code{&rest} below. If your macro |
| 1246 | wraps 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 |
| 1243 | A function form: either a quoted function symbol, a quoted lambda | 1250 | A 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)} |
| 1295 | Indicates that the specification is for a defining form. The defining | 1302 | |
| 1296 | form itself is not instrumented (that is, Edebug does not stop before and | 1303 | Indicates that the specification is for a defining form. Edebug's |
| 1297 | after the defining form), but forms inside it typically will be | 1304 | definition of a defining form is a form containing one or more code |
| 1298 | instrumented. The @code{&define} keyword should be the first element in | 1305 | forms which are saved and executed later, after the execution of the |
| 1299 | a list specification. | 1306 | defining form. |
| 1307 | |||
| 1308 | The defining form itself is not instrumented (that is, Edebug does not | ||
| 1309 | stop before and after the defining form), but forms inside it | ||
| 1310 | typically will be instrumented. The @code{&define} keyword should be | ||
| 1311 | the first element in a list specification. | ||
| 1300 | 1312 | ||
| 1301 | @item nil | 1313 | @item nil |
| 1302 | This is successful when there are no more arguments to match at the | 1314 | This is successful when there are no more arguments to match at the |