|
From: | pillule |
Subject: | bug#48493: 28.0.50; quit-window doesn't work |
Date: | Tue, 25 May 2021 13:01:05 +0000 |
martin rudalics <rudalics@gmx.at> writes:
Then I suppose that the dedicated window parameter must be restored after a kill-buffer accordingly; this solve the previous test butask for more modifications.Who makes any of these buffers dedicared?
All windows created by `display-buffer-in-side-window' have the state
(dedicated . side)Tiers libraries such as the module popup from Doom emacs come at this
subject with the rule : --quitting/killing a buffer in a side window, always delete its window-- (it is done with a local value of kill-buffer-hook installed from their own `display-buffer-alist') instead of the rule : --quitting/killing a buffer in any window, 1 switch to its previous buffer 2 delete the window if no available 3 switch to another buffer if the window is not deletable-- Which is what I think you are asking and IMHO ask to deal with the dedicated window state to not cripple side-windows.
I can modify to `switch-to-prev-buffer' (and its sibling`switch-to-prev-buffer') to return nil instead of the current buffer; however the result is the same : the window rest in place with anundesired buffer inside.Note that we may want that anyway if it can solve the cases where`quit-restore-window' display the same buffer again.I am still looking to find what may be messing the prev-buffers list.Try to experiment with an idiom like (if prev-buffer;; If a previous buffer exists, try to switch to it. If that ;; fails for whatever reason, try to delete the window.(unless (switch-to-prev-buffer window bury-or-kill) (window--delete window nil (eq bury-or-kill 'kill)));; If no previous buffer exists, try to delete the window. If ;; that fails for whatever reason, try to switch to some other;; buffer.(unless (window--delete window nil (eq bury-or-kill 'kill))(switch-to-prev-buffer window bury-or-kill)))
Thanks for the snippet, I think I am confused by this window dedication, please help me to clarify my mind before I try to implement a solution
with or without the dedicated window state. --
[Prev in Thread] | Current Thread | [Next in Thread] |