Improve documentation of 'edebug-defun'

* doc/lispref/edebug.texi (Instrumenting): Document a workaround
for a failure to instrument due to unknown macros.  (Bug#30243)
(Bug#10577)
This commit is contained in:
Eli Zaretskii 2018-01-27 12:01:54 +02:00
parent 4dd1b33a48
commit 085ee439bf

View file

@ -209,6 +209,20 @@ session, it runs the hook @code{edebug-setup-hook}, then sets it to
@code{nil}. You can use this to load Edebug specifications
associated with a package you are using, but only when you use Edebug.
@cindex edebug, failure to instrument
If Edebug detects a syntax error while instrumenting, it leaves point
at the erroneous code and signals an @code{invalid-read-syntax} error.
@c FIXME? I can't see that it "leaves point at the erroneous code".
Example:
@example
@error{} Invalid read syntax: "Expected lambda expression"
@end example
One potential reason for such a failure to instrument is that some
macro definitions are not yet known to Emacs. To work around this,
load the file which defines the function you are about to instrument.
@findex eval-expression @r{(Edebug)}
To remove instrumentation from a definition, simply re-evaluate its
definition in a way that does not instrument. There are two ways of
@ -216,10 +230,6 @@ evaluating forms that never instrument them: from a file with
@code{load}, and from the minibuffer with @code{eval-expression}
(@kbd{M-:}).
If Edebug detects a syntax error while instrumenting, it leaves point
at the erroneous code and signals an @code{invalid-read-syntax} error.
@c FIXME? I can't see that it "leaves point at the erroneous code".
@xref{Edebug Eval}, for other evaluation functions available
inside of Edebug.