diff options
| author | Thierry Volpiatto <thievol@posteo.net> | 2021-08-16 13:29:07 +0200 |
|---|---|---|
| committer | Thierry Volpiatto <thievol@posteo.net> | 2021-08-16 13:29:07 +0200 |
| commit | 58cff913fe7d7f38e9771c82730abb24dbaa2982 (patch) | |
| tree | 77e7952abc81ea9b5f0109f416748220586bfb4a | |
| parent | d6658c49b83b5e525f3b33bde09fd245870025fd (diff) | |
Create numbered backup of attached file when already exists #2090
| -rw-r--r-- | mu4e/mu4e-view-gnus.el | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/mu4e/mu4e-view-gnus.el b/mu4e/mu4e-view-gnus.el index 3901074..eb04ae9 100644 --- a/mu4e/mu4e-view-gnus.el +++ b/mu4e/mu4e-view-gnus.el @@ -503,7 +503,19 @@ containing commas." dir (if arg (read-directory-name "Save to directory: ") mu4e-attachment-dir)) (cl-loop for (f . h) in handles when (member f files) - do (mm-save-part-to-file h (expand-file-name f dir)))) + do (mm-save-part-to-file + h (let ((file (expand-file-name f dir))) + (if (file-exists-p file) + (let (newname + (count 1)) + (while (progn + (setq newname (concat (file-name-sans-extension file) + (format "(%s)" count) + (file-name-extension file t))) + (file-exists-p newname)) + (cl-incf count)) + newname) + file))))) (mu4e-message "No attached files found")))) |
