[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/helm a30f78a7c7 3/3: Stop asking for killing buffers when
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/helm a30f78a7c7 3/3: Stop asking for killing buffers when deleting files |
Date: |
Sat, 27 Jul 2024 19:00:16 -0400 (EDT) |
branch: elpa/helm
commit a30f78a7c73d8b72eba4288f0a32d278f48611c7
Author: Thierry Volpiatto <thievol@posteo.net>
Commit: Thierry Volpiatto <thievol@posteo.net>
Stop asking for killing buffers when deleting files
Allow answering "!" aka yes for all for both quick delete and
*delete-marked-files.
---
helm-files.el | 60 ++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 35 insertions(+), 25 deletions(-)
diff --git a/helm-files.el b/helm-files.el
index 2022a9edaf..859dcf71fc 100644
--- a/helm-files.el
+++ b/helm-files.el
@@ -6110,13 +6110,20 @@ When a prefix arg is given, meaning of
(trash (helm-ff--delete-by-moving-to-trash (car marked)))
(helm-ff--trashed-files
(and trash (helm-ff-trash-list (helm-trash-directory))))
- (old--allow-recursive-deletes helm-ff-allow-recursive-deletes))
+ (old--allow-recursive-deletes helm-ff-allow-recursive-deletes)
+ (buffers (cl-loop for f in marked
+ append (helm-file-buffers f))))
(unwind-protect
- (helm-read-answer-dolist-with-action
- "Really %s file `%s'"
- marked
- (lambda (file) (helm-ff--quick-delete-action file trash))
- (list (if trash "Trash" "Delete") #'abbreviate-file-name))
+ (progn
+ (helm-read-answer-dolist-with-action
+ "Really %s file `%s'"
+ marked
+ (lambda (file) (helm-ff--quick-delete-action file trash))
+ (list (if trash "Trash" "Delete") #'abbreviate-file-name))
+ (when buffers
+ (helm-read-answer-dolist-with-action
+ "Kill buffer `%s', too? "
+ buffers #'kill-buffer)))
(setq helm-marked-candidates nil
helm-visible-mark-overlays nil)
(helm-force-update
@@ -6137,7 +6144,8 @@ When a prefix arg is given, meaning of
(not (helm-ff-dot-file-p candidate)))
(helm-basename candidate) candidate))))
(helm-acase (helm-delete-file
- candidate helm-ff-signal-error-on-dot-files trash)
+ candidate helm-ff-signal-error-on-dot-files
+ trash)
(skip
;; This happens only when trying to
;; trash a file already trashed.
@@ -6172,8 +6180,7 @@ is nil."
(when (and error-if-dot-file-p
(helm-ff-dot-file-p file))
(error "Error: Cannot operate on `.' or `..'"))
- (let ((buffers (helm-file-buffers file))
- (helm--reading-passwd-or-string t)
+ (let ((helm--reading-passwd-or-string t)
(file-attrs (file-attributes file))
(trash (or trash (helm-ff--delete-by-moving-to-trash file)))
(delete-by-moving-to-trash trash)
@@ -6186,7 +6193,7 @@ is nil."
(message "User error: `%s' is already trashed" file)
(sit-for 1.5)
(cl-return 'skip))
- ((and (eq (nth 0 file-attrs) t) ; a directory.
+ ((and (eq (nth 0 file-attrs) t) ; a not empty directory.
(directory-files file t directory-files-no-dot-files-regexp))
(if (or helm-ff-allow-recursive-deletes trash)
(delete-directory file 'recursive trash)
@@ -6202,13 +6209,9 @@ is nil."
("q" (throw 'helm-abort-delete-file
(progn
(message "Abort file deletion") (sleep-for 1)))))))
- ((eq (nth 0 file-attrs) t)
+ ((eq (nth 0 file-attrs) t) ; a directory.
(delete-directory file nil trash))
- (t (delete-file file trash)))
- (when buffers
- (dolist (buf buffers)
- (when (y-or-n-p (format "Kill buffer %s, too? " buf))
- (kill-buffer buf)))))))
+ (t (delete-file file trash))))))
(defun helm-delete-marked-files (_ignore)
"Delete marked files with `helm-delete-file'.
@@ -6221,7 +6224,9 @@ When a prefix arg is given, meaning of
(helm-ff--trashed-files
(and trash (helm-ff-trash-list (helm-trash-directory))))
(prmt (if trash "Trash" "Delete"))
- (old--allow-recursive-deletes helm-ff-allow-recursive-deletes))
+ (old--allow-recursive-deletes helm-ff-allow-recursive-deletes)
+ (buffers (cl-loop for f in files
+ append (helm-file-buffers f))))
(with-helm-display-marked-candidates
helm-marked-buffer-name
(helm-ff--count-and-collect-dups files)
@@ -6229,14 +6234,19 @@ When a prefix arg is given, meaning of
(message "(No deletions performed)")
(catch 'helm-abort-delete-file
(unwind-protect
- (dolist (i files)
- (set-text-properties 0 (length i) nil i)
- (let ((res (helm-delete-file
- i helm-ff-signal-error-on-dot-files trash)))
- (if (eq res 'skip)
- (progn (message "Directory is not empty, skipping")
- (sleep-for 1))
- (cl-incf len))))
+ (progn
+ (dolist (i files)
+ (set-text-properties 0 (length i) nil i)
+ (let ((res (helm-delete-file
+ i helm-ff-signal-error-on-dot-files trash)))
+ (if (eq res 'skip)
+ (progn (message "Directory is not empty, skipping")
+ (sleep-for 1))
+ (cl-incf len))))
+ (when buffers
+ (helm-read-answer-dolist-with-action
+ "Kill buffer `%s', too? "
+ buffers #'kill-buffer)))
(setq helm-ff-allow-recursive-deletes
old--allow-recursive-deletes)))
(message "%s File(s) %s" len (if trash "trashed" "deleted"))))))