[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: debugger with pop-up-frames non-nil: keeps creating new frames
From: |
Stefan Monnier |
Subject: |
Re: debugger with pop-up-frames non-nil: keeps creating new frames |
Date: |
Wed, 08 Jun 2005 14:51:45 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
>> 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.
> No; it does not deiconify.
Oh, I think I know what it is: that's because of Richard's new code which
uses just `select-window' instead of `pop-to-buffer' and thus fails to
de-iconify.
> If it did, I would consider that too to be a bug - why would one want the
> debugger frame to first be iconified and then be deiconified each time you
> issue a debugger command?
Yes, it'd also be a bug. But it'd be fixed by the last patch I sent.
>> I don't understand:
>> - Why bury-buffer iconifies.
> Because of the case where you hit `q' or `c' or ... rather than `d'.
> I don't understand what you are saying here.
I'm saying that in the case of `q' or `c', I don't want the keep displaying
the frame, instead I want it iconified.
> It iconifies with every command, including `d'. But, aside from `d', why
> should it iconify with `q' or `c'?
Because `q' and `c' both really leave the debugger so you don't want to keep
an empty *Backtrace* buffer/window/frame staring at you.
> If you hit `q', perhaps iconifying is OK. However, I think quit-window or
> killing the buffer and deleting the window (and frame) would be better than
> iconifying the frame.
Have you read the patches I sent and the corresponding code? It includes
a comment explaining why.
> Even if iconifying were OK for `q', why do that when you hit `c'? You are
> still using the debugger window/buffer/frame, no?
Sometimes, but usually no. Or at least I won't get back into the debugger
immediately (contrary to `d').
> Why would you want to bury or iconify the buffer with `c'? It should
> remain displayed, so you can use it.
You can't really use it any more: at that point it's empty (until you
re-enter the debugger).
> Actually the code is used when we leave the debugger. It's just that
> when you use `d' you only leave the debugger temporarily.
> I don't see why you (or the code) would consider `d' to "leave" the
> debugger, even temporarily. In what sense is the user leaving it?
The debugger is entered by calling the function `debug' and is exited when
the `debug' function returns. The code in question is executed at the end
of `debug' just before exiting. I.e. technically, `d' causes Emacs to
leave the debugger while setting up the evaluator to "immediately" re-enter
the debugger.
This is admittedly irrelevant to the user, so the last patch I sent you
tries to hide it, but it is the reason why I consider `d' to "leave"
the debugger.
> Even if one considers `d' to "leave" the debugger, that way of "leaving" it
> requires a completely different behavior from quitting it (`q)', IMO.
Agreed, thus my patch.
> If you look at what happens in a single-frame case, the code
> deletes/creates a window at each step.
> I don't see why it should do that either.
The why is not really relevant: it's what it does (by wrapping the body of
`debug' within a save-window-excursion).
> You're still in the debugger; why delete and re-create the window? Does
> that perhaps represent some kind of optimization? It's invisible to the
> user in this case, so I don't mind, but I don't understand why it should
> be done.
Yes, it's invisible as long as Emacs doesn't refresh the display between the
time when you hit `d' and the next function call which causes Emacs to
re-enter the debugger. Sadly, contrary to what happens for window where
window creation/deletion is propagated to the display upon redisplay, frame
creation/deletion is effected immediately so the iconify/deiconify causes
flashing whereas the deletion&re-creation of the window is usually
not visible.
> I still don't see why any of the debugger commands should delete and
> recreate, or iconify and deiconify, or erase and redraw ... windows and
> frames. As long as you are in the debugger, it should remain displayed, IMO.
> When you quit, the debugger buffer and its window or frame (if one-window-p)
> should be deleted completely.
There's no way to know, when you quit, that you're quitting "for ever".
In practice, when I hit `q' it's quite frequent that I'll be getting back to
the debugger pretty soon.
Deleting the buffer+window+frame means losing the size&placement
information, which I find very annoying.
Stefan
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, (continued)
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/06
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/06
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/06
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/06
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/06
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/06
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/06
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/06
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/07
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/08
- Re: debugger with pop-up-frames non-nil: keeps creating new frames,
Stefan Monnier <=
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/08
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/08
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/10
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/10
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/10
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/10
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/10
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/17
- Re: debugger with pop-up-frames non-nil: keeps creating new frames, Stefan Monnier, 2005/06/17
- RE: debugger with pop-up-frames non-nil: keeps creating new frames, Drew Adams, 2005/06/17