• Stefan Monnier's avatar
    * lisp/gnus/gnus.el (gnus-info): Define with `cl-defstruct` · b1a69505
    Stefan Monnier authored
    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.
    b1a69505
gnus-start.el 116 KB