summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk-Jan C. Binnema <djcb@djcbsoftware.nl>2020-05-16 11:44:48 +0300
committerDirk-Jan C. Binnema <djcb@djcbsoftware.nl>2020-05-16 12:43:23 +0300
commitf016f257f9156c19e8e2288db45a04932bc020c9 (patch)
tree94608d71f19b6ac9561dc7e39f788017b32fdb42
parenta2d315df4ce903d967e4e63d1c223593ac85bcb0 (diff)
mu4e: support 'no trash flag' for all mark-for-trash
Use a non-macro implementation for mu4e-(view|headers)-mark-for-trash, and honor the no-trash flag. Fixes #1687.
-rw-r--r--mu4e/mu4e-headers.el15
-rw-r--r--mu4e/mu4e-view.el11
2 files changed, 8 insertions, 18 deletions
diff --git a/mu4e/mu4e-headers.el b/mu4e/mu4e-headers.el
index 054ccaf..3459023 100644
--- a/mu4e/mu4e-headers.el
+++ b/mu4e/mu4e-headers.el
@@ -806,7 +806,6 @@ after the end of the search results."
(mu4e~headers-defun-mark-for flag)
(mu4e~headers-defun-mark-for move)
(mu4e~headers-defun-mark-for read)
-(mu4e~headers-defun-mark-for trash)
(mu4e~headers-defun-mark-for unflag)
(mu4e~headers-defun-mark-for untrash)
(mu4e~headers-defun-mark-for unmark)
@@ -816,20 +815,18 @@ after the end of the search results."
(defvar mu4e-move-to-trash-patterns '()
"List of regexps to match for moving to trash instead of flagging them.
This is particularly useful for mailboxes that don't use the
-trash flag like Gmail. See `mu4e-headers-mark-or-move-to-trash'
-and `mu4e-view-mark-or-move-to-trash'.")
+trash flag like Gmail. See `mu4e-view-mark-for-trash'.")
-(defun mu4e-headers-mark-or-move-to-trash ()
+(defun mu4e-headers-mark-for-trash ()
"Mark message for \"move\" to the trash folder if the message
maildir matches any regexp in `mu4e-move-to-trash-patterns'.
-Otherwise mark with the \"trash\" flag.
-Also see `mu4e-view-mark-or-move-to-trash'."
+Otherwise mark with the \"trash\" flag."
(interactive)
(let ((msg-dir (mu4e-message-field (mu4e-message-at-point) :maildir)))
(if (not (seq-filter (lambda (re)
(string-match re msg-dir))
mu4e-move-to-trash-patterns))
- (mu4e-headers-mark-for-trash)
+ (mu4e-headers-mark-and-next 'trash)
(mu4e-mark-set 'move (if (functionp mu4e-trash-folder)
(funcall mu4e-trash-folder (mu4e-message-at-point))
(mu4e-get-trash-folder (mu4e-message-at-point))))
@@ -895,8 +892,8 @@ Also see `mu4e-view-mark-or-move-to-trash'."
(define-key map "y" 'mu4e-select-other-view)
;; marking/unmarking ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (define-key map (kbd "<backspace>") 'mu4e-headers-mark-or-move-to-trash)
- (define-key map (kbd "d") 'mu4e-headers-mark-or-move-to-trash)
+ (define-key map (kbd "<backspace>") 'mu4e-headers-mark-for-trash)
+ (define-key map (kbd "d") 'mu4e-headers-mark-for-trash)
(define-key map (kbd "<delete>") 'mu4e-headers-mark-for-delete)
(define-key map (kbd "<deletechar>") 'mu4e-headers-mark-for-delete)
(define-key map (kbd "D") 'mu4e-headers-mark-for-delete)
diff --git a/mu4e/mu4e-view.el b/mu4e/mu4e-view.el
index ded6ef4..077ee40 100644
--- a/mu4e/mu4e-view.el
+++ b/mu4e/mu4e-view.el
@@ -873,7 +873,7 @@ FUNC should be a function taking two arguments:
(define-key map "A" (mu4e~native-def mu4e-view-attachment-action))
;; marking/unmarking
- (define-key map "d" 'mu4e-view-mark-or-move-to-trash)
+ (define-key map "d" 'mu4e-view-mark-for-trash)
(define-key map (kbd "<delete>") 'mu4e-view-mark-for-delete)
(define-key map (kbd "<deletechar>") 'mu4e-view-mark-for-delete)
(define-key map (kbd "D") 'mu4e-view-mark-for-delete)
@@ -1614,8 +1614,8 @@ list."
(put ',funcname 'definition-name ',mark))))
(mu4e~view-defun-mark-for move)
-(mu4e~view-defun-mark-for trash)
(mu4e~view-defun-mark-for refile)
+(mu4e~view-defun-mark-for trash)
(mu4e~view-defun-mark-for delete)
(mu4e~view-defun-mark-for flag)
(mu4e~view-defun-mark-for unflag)
@@ -1631,13 +1631,6 @@ list."
(mu4e~view-in-headers-context
(mu4e-mark-execute-all)))
-(defun mu4e-view-mark-or-move-to-trash (&optional n)
- "See `mu4e-headers-mark-or-move-to-trash'."
- (interactive "P")
- (mu4e~view-in-headers-context
- (mu4e-headers-mark-or-move-to-trash)
- (mu4e~headers-move (or n 1))))
-
;;; URL handling
(defun mu4e~view-get-urls-num (prompt &optional multi)