mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-16 00:40:06 +00:00
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:
parent
4dd1b33a48
commit
085ee439bf
1 changed files with 14 additions and 4 deletions
|
@ -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
|
@code{nil}. You can use this to load Edebug specifications
|
||||||
associated with a package you are using, but only when you use Edebug.
|
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)}
|
@findex eval-expression @r{(Edebug)}
|
||||||
To remove instrumentation from a definition, simply re-evaluate its
|
To remove instrumentation from a definition, simply re-evaluate its
|
||||||
definition in a way that does not instrument. There are two ways of
|
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}
|
@code{load}, and from the minibuffer with @code{eval-expression}
|
||||||
(@kbd{M-:}).
|
(@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
|
@xref{Edebug Eval}, for other evaluation functions available
|
||||||
inside of Edebug.
|
inside of Edebug.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue