diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2019-11-29 12:26:31 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2019-11-29 12:26:31 -0500 |
commit | b1a69505843c593a3a757a614dea16e2a7185579 (patch) | |
tree | 043919f98b2980e39924c5a52858da57f8cbb7bf /lisp/gnus/nnmairix.el | |
parent | 7fff418edf56244a1fcf54718523aa9b5cb3a854 (diff) | |
download | emacs-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.el | 40 |
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) |