Next: , Previous: , Up: Edebug   [Index]


K.3.3 Instrumenting for Edebug

I (edebug-instrument-callee)

instruments the definition of the function or macro called by the list form after point.

i (edebug-step-in)

steps into the call after instrumenting the function

User-Defined Macros

Edebug knows how to instrument all the standard special forms, ‘interactive’ forms with an expression argument, anonymous lambda expressions, and other defining forms. However, Edebug cannot determine on its own what a user-defined macro will do with the arguments of a macro call, so you must provide that information using Edebug specifications. (elisp)Edebug and Macros.

Syntax Errors

If Edebug detects a syntax error while instrumenting, it leaves point at the erroneous code and signals an ‘invalid-read-syntax’ error. 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.

Remove Instrumentation

To remove instrumentation from a definition, simply re-evaluate its definition in a way that does not instrument. There are two ways of evaluating forms that never instrument them: from a file with load, and from the minibuffer with eval-expression (‘M-:’).