Subject: Re: bug#8789: 23.3; debug backtrace buffer changes window on step-through

From: martin rudalics <[email-masked]>
Date: Thu, 20 Sep 2012 15:50:30 +0200

> emacs -Q
 >
 > M-x load-file MARTIN-debug.elc
 >
 > ;; That's debug.el, with your patch.
 > ;; If I load the .el instead of the .elc, then the debugger is
 > ;; called even for implement-debugger etc. - a mess.
 >
 > M-x load-library files.el
 >
 > M-x debug-on-entry file-remote-p
 >
 > That puts me immediately into the debugger, with a call to `file-remote-p'.  Why
 > does debugging file-remote-p cause the debugger to enter even for that M-x
 > invocation?  There is not even any reading of a file name.
 >
 > Thereafter, I cannot exit the debugger, no matter what I do.  `c' and `q' seem
 > to do nothing.  `d' just steps into `file-remote-p'.  Even `C-]' does not exit
 > the debugger.  I can use C-x k to kill the *Backtrace* buffer, but that leaves
 > Emacs in a recursive edit, and `C-]' then brings Emacs back into the debugger.
 > After the `C-x k', *Messages* shows this multiple times, always ending by
 > entering:
 >
 > Entering debugger...
 > Quit
 > Entering debugger...
 > Quit
 > Entering debugger...
 > Quit
 > Entering debugger...
 > Quit
 > Entering debugger...
 >
 > This really seems to be a mess.  For me, the debugger is not usable now, even
 > with emacs -Q.

Suppose I do

(progn
   (load-library "files.el")
   (debug-on-entry 'file-remote-p))

then I can observe the same behavior as you, more or less.

Emacs 23 reacts in precisely the same manner here.  Emacs 22 doesn't.
So this is something that must have changed in between these two
versions.  I don't have the slightest idea what may have caused this and
whether this qualifies as an error.

martin