> The patch was against the Emacs-CVS code. After patching the > file, you have to byte-compile it and you have to redump Emacs > because it's a preloaded file, IIRC.
> I can download the CVS > file, patch it, byte-compile it, and load the byte-compiled > file (using load-file). Wouldn't that be sufficient? > I did that, and I don't see the bug using only my steps 1-6 from before. Good, thanks. > If I do (setq special-display-regexps '("[ ]?[*][^*]+[*]")), then when I hit > `d' in the debugger, the debugger frame iconifies. Doesn't it de-iconify right after (thus flashing)? That's very odd. > That is, I use the same steps 1-6 as before, except this time *Backtrace* > is considered a special-display buffer: emacs -q, load the patched cvs > debug.elc, set variables pop-up-frames and display-buffer-reuse-frames to > `t'. Yes, the special-display buffer case is what I've been using for years ;-) > I also tried substituting `quit-window' for `bury-buffer' in the code. That > solves the iconification problem, but the frame is effectively erased and > redrawn at each debugger `d', producing a flashing effect. With bury-buffer I see the flashing. > I don't understand: > - Why bury-buffer iconifies. Because of the case where you hit `q' or `c' or ... rather than `d'. > - Why we would want to use bury-buffer here at all? Why not leave it, since > we are still in the debugger? What was wrong with the way it worked before > (say, in Emacs 20)? Actually the code is used when we leave the debugger. It's just that when you use `d' you only leave the debugger temporarily. If you look at what happens in a single-frame case, the code deletes/creates a window at each step. Just like the iconify/deiconify flashing you see with quit-window. Can you try the additional patch below? Stefan --- debug.el 07 jun 2005 14:31:08 -0400 1.81 +++ debug.el 07 jun 2005 17:58:11 -0400 @@ -226,12 +226,16 @@ (erase-buffer) (fundamental-mode) (with-selected-window (get-buffer-window debugger-buffer 0) - (when (window-dedicated-p (selected-window)) + (when (and (window-dedicated-p (selected-window)) + (not debugger-step-after-exit)) ;; If the window is not dedicated, burying the buffer ;; will mean that the frame created for it is left - ;; around showing smoe random buffer, and next time we + ;; around showing some random buffer, and next time we ;; pop to the debugger buffer we'll create yet ;; another frame. + ;; If debugger-step-after-exit is non-nil, burying the + ;; buffer will iconify the frame, but only to de-iconofy + ;; immediately after when we re-enter the debugger. (bury-buffer)))) (kill-buffer debugger-buffer)) (set-match-data debugger-outer-match-data))) _______________________________________________ Emacs-pretest-bug mailing list Emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug