branch: externals/dired-preview commit 86e11c105b5b2bdd481f73aff5678d55411984df Author: Protesilaos Stavrou <i...@protesilaos.com> Commit: Protesilaos Stavrou <i...@protesilaos.com>
Make dired-preview-display-file delete windows eagerly The previous behaviour would produce more than one preview windows in the case where (i) the Emacs frame displayed a preview per the function 'dired-preview-display-action-alist-dwim', (ii) the frame was resized, and (iii) a new preview was requested. Thanks to Bruno Boal for bringing this matter to my attention and for checking the workaround with me: <https://git.sr.ht/~bboal>. This was done in a private channel and the information is shared with permission. --- dired-preview.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dired-preview.el b/dired-preview.el index 11040ab4c3..6c56d69144 100644 --- a/dired-preview.el +++ b/dired-preview.el @@ -261,12 +261,12 @@ Only do it with the current major mode is Dired." (defun dired-preview-display-file (file) "Display preview of FILE if appropriate." + (dired-preview--delete-windows) (when-let ((buffer (dired-preview--return-preview-buffer file))) (dired-preview--display-buffer buffer) - (if-let ((window (get-buffer-window buffer))) - (with-selected-window window - (set-window-parameter window 'dired-preview-window :preview)) - (dired-preview--close-previews)))) + (when-let ((window (get-buffer-window buffer))) + (with-selected-window window + (set-window-parameter window 'dired-preview-window :preview))))) (defun dired-preview--preview-p (file) "Return non-nil if FILE can be previewed."