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

From: Gemini Lasswell <[email-masked]>
Date: Sun, 20 Oct 2019 22:18:54 -0700

Lars Ingebrigtsen <[email-masked]> writes:

> I'm unable to reproduce this in Emacs 27.  When I hit `i', I'm then
> edebugging the `push' macro, and then I can step through it, and then
> I'm back to stepping through my-try-thing.
>
> Are you still seeing this bug in Emacs 27?

In Emacs 26, eager macro expansion happened when instrumenting code for
Edebug using eval-defun.  In current master, it's not getting done.
Looking at (symbol-function 'my-try-thing) in both versions will show
you the difference.

The lack of macroexpansion doesn't only happen when instrumenting for
Edebug.  If you evaluate a function definition with eval-buffer or
eval-last-sexp then macroexpansion is done, but if you evaluate it with
eval-defun with or without the universal argument, then no
macroexpansion happens. This is a change from Emacs 26, and is masking
the original bug.

If you use these steps to reproduce, with the same sample code:

M-x edebug-all-defs RET
M-x eval-buffer RET
M-: (my-try-thing 'a) RET
i

then the original bug still occurs.