summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2022-07-19 22:53:49 -0700
committerSean Whitton <spwhitton@spwhitton.name>2022-07-20 10:10:42 -0700
commitb326984149d1537311d6b41441460d2ba5fee591 (patch)
tree2c2c4078f4337955460072f38c222d96becdffa5
parent560f42f4c7923c3f9fceba2ae9c119bee88a586b (diff)
downloaddotfiles-b326984149d1537311d6b41441460d2ba5fee591.tar.gz
make 'd' more consistent between processing and non-processing views
-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]