If I have a buffer with the contents
(defun foo()
(interactive)
(bar)
(message "foo"))
(defun bar()
(interactive)
(message "bar"))
...and call eval-buffer
with edebug-all-defs
set to t
, then both calls to foo
and bar
directly throw me into edebug-mode
(despite not having set any breakpoints).
On the other hand, if I set edebug-all-defs
to nil
, evaluate the buffer with eval-buffer
and then manually instrument the foo
definition with edebug-eval-defun
(C-u C-M-x
) things work a little better: calling foo
invokes the debugger, and calling bar
does not. However, when stepping through foo
, I'm now unable to step into the bar
function (presumably because it hasn't been instrumented, the error is Don't know where `bar' is defined
. Stepping over the call to bar
works just fine and gives the correct result).
Is there a way to instrument all functions in a buffer without making them breakpoints at the same time?
Emacs 24.4.1 on Debian Jessie. Running with -Q
does not seem to make a difference.
SPC
while in debug mode, then it works for me without instrumenting. All I need is to enter some instrumented function, which will call the function in question.C-u C-M-x
on a function, calling that function always invokes edebug, regardless of whether I've usededebug-on-entry
.