GNU bug report logs -
#48367
28.0.50; quit-restore-buffer may jam
Previous Next
Reported by: pillule <pillule <at> riseup.net>
Date: Tue, 11 May 2021 20:27:02 UTC
Severity: normal
Found in version 28.0.50
Done: pillule <pillule <at> riseup.net>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello there,
I think there is a small bug with quit-window /
quit-restore-window :
with emacs -Q
;; set some rules
(setq display-buffer-alist
'(("\\*\\(Backtrace\\|Messages\\)\\*"
(display-buffer-in-side-window)
(window-height . 0.2)
(side . bottom))))
;; trigger a logical error to display the *Backtrace* buffer
(> vim emacs)
;; display the *Messages* buffer
(view-echo-area-messages)
;; mess the `quit-restore' window parameter
(kill-buffer (get-buffer "*Backtrace*"))
;; which looks now like that in the *Messages* window :
;; ((quit-restore) (window-slot . 0) (window-side . bottom))
;; try to quit the *Messages* window
(progn (select-window (view-echo-area-messages))
(quit-window))
;; nothing happens :
The first `cond' of quit-restore-window end up to 't,
it calls (switch-to-prev-buffer window bury-or-kill)
but there is no previous-window available.
The first patch adress this, and a similar one : when there is a previous-buffer available, but it referes to the
same buffer. (eg: try the recipe again but exchange the role of
*Messages* and *Backtrace*, you will finish with a blank buffer for backtrace, that you can quit again to end up to the same point)
The second patch is a proposition to clarify a little the code.
[quit-restore-window.patch (text/x-diff, attachment)]
[quit-restore-window2.patch (text/x-diff, attachment)]
[Message part 4 (text/plain, inline)]
--
This bug report was last modified 4 years and 86 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.