summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.emacs.d/init.el19
1 files changed, 9 insertions, 10 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 2713f8bb..990bd720 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -3076,18 +3076,17 @@ mutt's review view, after exiting EDITOR."
(error "This group/range may contain articles from processing views"))))
(advice-add 'gnus-summary-catchup :before #'spw/guard-gnus-summary-catchup)
-(defun spw/gnus-summary-mark-as-read-forward ()
- (interactive)
- (if (not (or (spw/gnus-summary-processing-view-p)
- (spw/check-group-process-view-ids
- (gnus-summary-header "message-id"))))
- (call-interactively #'gnus-summary-mark-as-read-forward)
- ;; We want an 'R' mark, not 'r'.
+(defun spw/gnus-summary-mark-as-read-forward (n)
+ (interactive "p")
+ (let* ((processing-p (or (spw/gnus-summary-processing-view-p)
+ (spw/check-group-process-view-ids
+ (gnus-summary-header "message-id"))))
+ (mark (if processing-p gnus-read-mark gnus-del-mark)))
+ (when processing-p (setq n 1))
(gnus-set-global-variables)
(if (not (get-buffer-window gnus-article-buffer t))
- (gnus-summary-mark-forward 1 gnus-read-mark
- gnus-inhibit-user-auto-expire)
- (save-excursion (gnus-summary-mark-forward 1 gnus-read-mark))
+ (gnus-summary-mark-forward n mark gnus-inhibit-user-auto-expire)
+ (save-excursion (gnus-summary-mark-forward n mark))
(gnus-summary-next-unread-article))))
(with-eval-after-load 'gnus-sum
(define-key gnus-summary-mode-map [remap gnus-summary-mark-as-read-forward]