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

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

[elpa] externals/filechooser dfc15de25e 1/6: Don't loose changes on exit


From: ELPA Syncer
Subject: [elpa] externals/filechooser dfc15de25e 1/6: Don't loose changes on exit
Date: Sat, 24 Feb 2024 12:58:06 -0500 (EST)

branch: externals/filechooser
commit dfc15de25e84f6b4a0707946c3ca5b80662057ab
Author: Rahguzar <rahguzar@zohomail.eu>
Commit: Rahguzar <rahguzar@zohomail.eu>

    Don't loose changes on exit
---
 filechooser.el | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/filechooser.el b/filechooser.el
index ae1c24b36c..eccbe24c1c 100644
--- a/filechooser.el
+++ b/filechooser.el
@@ -418,6 +418,9 @@ is used, othewise the selected frame is used.  PROMPT and 
DIR are as in
         names))))
 
 ;;; Dired based selection
+(declare-function filechooser--adjust-selection-buffer nil)
+(declare-function filechooser--process-changed-marks nil)
+
 (let (marked unmarked timer)
   (defun filechooser--adjust-selection-buffer ()
     (when (buffer-live-p (cdr filechooser--selection))
@@ -445,7 +448,7 @@ is used, othewise the selected frame is used.  PROMPT and 
DIR are as in
           (push (dired-get-filename nil t) unmarked))
         (unless timer
           (setq timer (run-with-timer
-                       0.2 nil 'filechooser--adjust-selection-buffer)))))))
+                       0.2 nil #'filechooser--adjust-selection-buffer)))))))
 
 (defun filechooser-dired (&optional dir filters)
   "Select some files using Dired.
@@ -483,17 +486,18 @@ editing session.  FILTERS are in the format of 
`filechooser-filters'."
                    (jit-lock-mode t))
                  (push overriding-map emulation-mode-map-alists)
                  (add-hook 'window-buffer-change-functions apply-filters)
-                 (add-hook 'after-change-functions 
'filechooser--process-changed-marks)
+                 (add-hook 'after-change-functions 
#'filechooser--process-changed-marks)
                  (setq filechooser--filters (append filechooser-filters 
filters))
                  (other-window 1)
                  (dired (or dir default-directory))
                  (funcall apply-filters nil)
                  (unless (recursive-edit)
+                   (filechooser--adjust-selection-buffer)
                    (with-current-buffer (cdr filechooser--selection)
                      (cdr dired-directory))))
         (cl-callf2 delq overriding-map emulation-mode-map-alists)
         (remove-hook 'window-buffer-change-functions apply-filters)
-        (remove-hook 'after-change-functions 
'filechooser--process-changed-marks)
+        (remove-hook 'after-change-functions 
#'filechooser--process-changed-marks)
         (kill-buffer (cdr filechooser--selection))
         (setcdr filechooser--selection nil)
         (dolist (buf (match-buffers `(derived-mode . dired-mode) 
(frame-parameter nil 'buffer-list)))



reply via email to

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