emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/dired-preview e2da14de12 30/67: Fix scope of action to


From: ELPA Syncer
Subject: [elpa] externals/dired-preview e2da14de12 30/67: Fix scope of action to close preview upon buffer switch
Date: Sat, 8 Jul 2023 15:57:53 -0400 (EDT)

branch: externals/dired-preview
commit e2da14de126e6ac281b5ef13aec6f74fadec2a43
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Fix scope of action to close preview upon buffer switch
    
    Thanks to Bruno Boal for taking a look into this 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, 3 insertions(+), 5 deletions(-)

diff --git a/dired-preview.el b/dired-preview.el
index 3df6f85005..4ccaa827c9 100644
--- a/dired-preview.el
+++ b/dired-preview.el
@@ -232,7 +232,8 @@ conforms with `dired-preview--preview-p'."
 (defun dired-preview--close-previews-outside-dired ()
   "Call `dired-preview--close-previews' if BUFFER is not in Dired mode."
   (when (not (eq major-mode 'dired-mode))
-    (dired-preview--close-previews)))
+    (dired-preview--close-previews)
+    (remove-hook 'window-state-change-hook 
#'dired-preview--close-previews-outside-dired)))
 
 ;; NOTE 2023-06-29: See the FIXME for `dired-preview-display-action-alist'.
 (defun dired-preview-set-up-preview-window (window &rest _)
@@ -241,10 +242,7 @@ Use this as the `body-function' in the user option
 `dired-preview-display-action-alist'."
   (set-window-parameter window 'dired-preview-window :preview)
   (with-current-buffer (window-buffer window)
-    ;; FIXME 2023-06-30: This is the wrong scope, because it will not
-    ;; be relevant when using `switch-to-buffer', `previous-buffer',
-    ;; etc.  Basically, it assumes we are in a Dired-only environment.
-    (add-hook 'post-command-hook #'dired-preview--close-previews-outside-dired 
nil :local)))
+    (add-hook 'window-state-change-hook 
#'dired-preview--close-previews-outside-dired)))
 
 (defun dired-preview--display-buffer (buffer)
   "Call `display-buffer' for BUFFER.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]