summaryrefslogtreecommitdiff
path: root/lisp/gnus/nnmairix.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2019-11-29 12:26:31 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2019-11-29 12:26:31 -0500
commitb1a69505843c593a3a757a614dea16e2a7185579 (patch)
tree043919f98b2980e39924c5a52858da57f8cbb7bf /lisp/gnus/nnmairix.el
parent7fff418edf56244a1fcf54718523aa9b5cb3a854 (diff)
downloademacs-b1a69505843c593a3a757a614dea16e2a7185579.tar.gz
* lisp/gnus/gnus.el (gnus-info): Define with `cl-defstruct`
This makes the accessors into (inlined) functions (instead of macros), which simplifies some uses, and it makes the gnus-info-set-<foo> macros redundant since we can use `setf` instead. Remove them and update all users. (gnus-info-group, gnus-info-rank, gnus-info-read, gnus-info-marks) (gnus-info-method, gnus-info-params): Auto-defined by defstruct. (gnus-info-level, gnus-info-score): Define as a function. Add gv-setter. (gnus-info-set-group, gnus-info-set-rank, gnus-info-set-read): Remove, use `setf` instead. (gnus-info-set-marks, gnus-info-set-method, gnus-info-set-params): Define as a function. (gnus-info-set-entry): Delete function. (gnus-info--grow-entry): New function, extracted from it. (gnus-info--set-level, gnus-info--set-score): New functions, extracted from the `gnus-info-set-level` and `gnus-info-set-score` which they replace. (gnus-get-info): Define as a function. * lisp/gnus/gnus-group.el (gnus-group-edit-group-done): Use the `extend` arg of `gnus-info-set-method`. (gnus-group-sort-selected-flat): eta-reduce.
Diffstat (limited to 'lisp/gnus/nnmairix.el')
-rw-r--r--lisp/gnus/nnmairix.el40
1 files changed, 20 insertions, 20 deletions
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index 6e527a5a7af..a4a1caac953 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -711,29 +711,29 @@ Other back ends might or might not work.")
(nnimap-request-update-info-internal folder folderinfo nnmairix-backend-server)
(nnmairix-call-backend "request-update-info" folder folderinfo nnmairix-backend-server))
;; set range of read articles
- (gnus-info-set-read
- info
- (if docorr
- (nnmairix-map-range
- `(lambda (x) (+ x ,(cadr corr)))
- (gnus-info-read folderinfo))
- (gnus-info-read folderinfo)))
+ (setf (gnus-info-read info)
+ (if docorr
+ (nnmairix-map-range
+ ;; FIXME: Use lexical-binding.
+ `(lambda (x) (+ x ,(cadr corr)))
+ (gnus-info-read folderinfo))
+ (gnus-info-read folderinfo)))
;; set other marks
- (gnus-info-set-marks
- info
- (if docorr
- (mapcar (lambda (cur)
- (cons
- (car cur)
- (nnmairix-map-range
- `(lambda (x) (+ x ,(cadr corr)))
- (list (cadr cur)))))
- (gnus-info-marks folderinfo))
- (gnus-info-marks folderinfo))))
+ (setf (gnus-info-marks info)
+ (if docorr
+ (mapcar (lambda (cur)
+ (cons
+ (car cur)
+ (nnmairix-map-range
+ ;; FIXME: Use lexical-binding.
+ `(lambda (x) (+ x ,(cadr corr)))
+ (list (cadr cur)))))
+ (gnus-info-marks folderinfo))
+ (gnus-info-marks folderinfo))))
(when (eq readmarks 'unread)
- (gnus-info-set-read info nil))
+ (setf (gnus-info-read info) nil))
(when (eq readmarks 'read)
- (gnus-info-set-read info (gnus-active qualgroup))))
+ (setf (gnus-info-read info) (gnus-active qualgroup))))
t)
(nnoo-define-skeleton nnmairix)