[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/dired-preview ec09d4b856 27/67: Fix how delayed-mode-ho
From: |
ELPA Syncer |
Subject: |
[elpa] externals/dired-preview ec09d4b856 27/67: Fix how delayed-mode-hooks are handled |
Date: |
Sat, 8 Jul 2023 15:57:53 -0400 (EDT) |
branch: externals/dired-preview
commit ec09d4b8566906884a2cfee6dfa385f6aa703803
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Fix how delayed-mode-hooks are handled
Before, the 'dired-preview--run-mode-hooks' would only be installed if
the preview was shown in a window. This, however, led to a situation
where the buffer would be prepared for preview but never have time to
be displayed because the user visited the file in the meantime. The
delayed hooks would never be called in that case.
---
dired-preview.el | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/dired-preview.el b/dired-preview.el
index a9b92f9615..b59dcd2dd5 100644
--- a/dired-preview.el
+++ b/dired-preview.el
@@ -96,10 +96,7 @@ Used by the default value of
`dired-preview-display-action-alist'."
(dedicated . t)
;; FIXME 2023-06-29: Should `dired-preview-set-up-preview-window'
;; be part of the `body-function'? It seems wrong as the user may
- ;; omit this entry from the alist, thus breaking the preview. It
- ;; is better to handle the `delayed-mode-hooks' in
- ;; `dired-preview--find-file-no-select' and then find out another
- ;; place to set the window parameter.
+ ;; omit this entry from the alist, thus breaking the preview.
(body-function . dired-preview-set-up-preview-window)
(window-parameters . ((no-other-window . t)
(mode-line-format . ("%e"
@@ -155,6 +152,8 @@ Always return FILE buffer."
(if (buffer-live-p buffer)
buffer
(setq buffer (dired-preview--find-file-no-select file))
+ (with-current-buffer buffer
+ (add-hook 'post-command-hook #'dired-preview--run-mode-hooks nil
:local))
(add-to-list 'dired-preview--buffers buffer)
buffer)))
@@ -242,8 +241,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)
- (add-hook 'post-command-hook #'dired-preview--close-previews-outside-dired
nil :local)
- (add-hook 'post-command-hook #'dired-preview--run-mode-hooks nil :local)))
+ (add-hook 'post-command-hook #'dired-preview--close-previews-outside-dired
nil :local)))
(defun dired-preview--display-buffer (buffer)
"Call `display-buffer' for BUFFER.
- [elpa] externals/dired-preview 8d545491d4 05/67: Update documentation to match commit 3304286 (command+keymap removal), (continued)
- [elpa] externals/dired-preview 8d545491d4 05/67: Update documentation to match commit 3304286 (command+keymap removal), ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview a653299672 09/67: Do not preview already visible file, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 16a2e9e835 18/67: Fix test for current command in dired-preview-trigger, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 5ffcfb0c85 24/67: Tweak the format of the timer call, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview e2da14de12 30/67: Fix scope of action to close preview upon buffer switch, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 75f1b11e99 29/67: Add FIXME for the scope of dired-preview--close-previews-outside-dired, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 3f2588abb3 32/67: Make all preview state be handled by the trigger, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 49bea8f6d4 34/67: Delete windows, then kill buffers, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 070f02a1b0 42/67: Stop changing the mode-line-format, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 5338f5c1a7 26/67: Make commit 3ba4c3f more resilient, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview ec09d4b856 27/67: Fix how delayed-mode-hooks are handled,
ELPA Syncer <=
- [elpa] externals/dired-preview b367550663 28/67: Rewrite how the timer is started, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview c20af9c9eb 31/67: Fix how the window is set up and closed outside Dired, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 8c1c73716e 37/67: Tighten the event loop to avoid inconsistencies, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 18b607fc48 40/67: Simplify dired-preview-return-window-size, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 86e11c105b 41/67: Make dired-preview-display-file delete windows eagerly, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview ca176e11e4 36/67: Simplify dired-preview--run-mode-hooks, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview b3ef9a2595 43/67: Define predicate function to check for window parameter, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 11bb038063 47/67: Do not try to delete selected preview window, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview 077f24db3c 45/67: Tweak how window size is calculated, ELPA Syncer, 2023/07/08
- [elpa] externals/dired-preview f52ed4774c 48/67: Remove 'dedicated' parameter from selected window, ELPA Syncer, 2023/07/08