]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve documentation of 'edebug-defun'
authorEli Zaretskii <eliz@gnu.org>
Sat, 27 Jan 2018 10:01:54 +0000 (12:01 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 27 Jan 2018 10:01:54 +0000 (12:01 +0200)
* doc/lispref/edebug.texi (Instrumenting): Document a workaround
for a failure to instrument due to unknown macros.  (Bug#30243)
(Bug#10577)

doc/lispref/edebug.texi

index 1b0d314ee71417f78cefaad7e953d55dd6169331..39430deb48e3e7af0d38ae57602e2886f8888b01 100644 (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.