Subject: bug#26847: 26.0.50; Using edebug-step-in on a macro switches to go-mode

From: Gemini Lasswell <[email-masked]>
Date: Mon, 08 May 2017 14:06:21 -0700

edebug-step-in doesn't behave well when you try to use it on a
macro. For an example, enter the following code in *scratch*:
  
(setq my-things nil)
(defun my-try-thing (thing)
  (push thing my-things))

Then:

M-x eval-buffer RET
navigate to my-try-thing and C-u C-M-x
M-: (my-try-thing 'a) RET
i

Result: Edebug exits and code runs to completion, result printed in
minibuffer.

Then navigate to my-try-thing again and C-M-x

Result: Edebug activates with the debugger prompt in `push'.

Stepping into macros would have made sense before eager
macro-expansion, but now by the time Edebug instruments the code the
macro has already run. Probably the simplest thing to do here is to
have edebug-step-in signal an error if asked to step into a macro. The
documentation for edebug-step-in also should be updated to remove
mention of stepping into macros.