• Eric Abrahamsen's avatar
    Fix Gnus registry pruning and sorting, and rename file · d20acfe0
    Eric Abrahamsen authored
    * lisp/gnus/gnus-registry.el (gnus-registry-prune-factor): Add new variable.
    (gnus-registry-max-pruned-entries): Remove obsolete variable.
    (gnus-registry-cache-file): Change default
    filename extension to "eieio".
    (gnus-registry-read): Add new function, split out from
    `gnus-registry-load', that does the actual object reading.
    (gnus-registry-load): Use it. Add condition case handler to check for
    old filename extension and rename to the new one.
    (gnus-registry-default-sort-function): New variable to specify a sort
    function to use when pruning.
    (gnus-registry-save, gnus-registry-insert): Use it.
    (gnus-registry-sort-by-creation-time): Define a default sort function.
    
    * lisp/gnus/registry.el (registry-db): Consolidate the :max-hard and
    :max-soft slots into a :max-size slot.
    (registry-db-version): Add new variable for database version number.
    (registry-prune): Use :max-size slot. Accept and use a sort-function
    argument.
    (registry-collect-prune-candidates): Add new function for finding
    non-precious pruning candidates.
    (registry-prune-hard-candidates, registry-prune-soft-candidates):
    Remove obsolete functions.
    (initialize-instance): Upgrade registry version when starting.
    
    * doc/misc/gnus.texi (Gnus Registry Setup): Explain pruning changes.
    Mention gnus-registry-prune-factor. Explain sorting changes and
    gnus-registry-default-sort-function. Correct file extension.
    d20acfe0
ChangeLog 376 KB