* gnus-agent.el (gnus-agent-enable-expiration): New
variable. Either ENABLE or DISABLE. Sets default behavior for
selecting which groups are expired.
(gnus-agent-cat-set-property, gnus-agent-cat-defaccessor,
gnus-agent-set-cat-groups): Provides abstract interface for
accessing agent category. Category now implemented by an alist.
(gnus-agent-add-group, gnus-agent-remove-group,
gnus-category-insert-line, gnus-category-edit-predicate,
gnus-category-edit-score, gnus-category-edit-groups,
gnus-category-copy, gnus-category-add, gnus-group-category): Use
new agent category abstraction.
(gnus-agent-find-parameter): New function. Search for agent
configuration parameter first in the group's parameters, then its
topics (if any), and then the group's category. If not found
anywhere, use the original defined constants.
(gnus-agent-fetch-headers, gnus-agent-fetch-group-1): Use new
gnus-agent-find-parameter.
(gnus-agent-fetch-headers, gnus-agent-uncached-articles): Clearing
gnus-agent-cache now blocks retrieving headers and articles from
the local cache. Fetched content is still added to the cache
before being returned.
(gnus-agent-fetch-session): Use error-message-string to generate
displayed error message.
(gnus-agent-customize-category): New Command. 'e' in category
buffer opens category customization buffer.
(gnus-category-read): Reads either positional or alist format;
returns alist format.
(gnus-category-write): Writes category file compatible with
current, and previous, versions of gnus-agent.
(gnus-category-make-function, gnus-category-make-function-1):
Corrected documentation; parameter is predicate NOT category.
(gnus-predicate-implies-unread): Now works in more cases per the
todo comment.
(gnus-function-implies-unread-1): New function. Supports
gnus-predicate-implies-unread.
(gnus-agent-expire-group): Command now provides default of group
under point.
(gnus-agent-expire-group-1): Obeys new agent-enable-expiration and
agent-days-until-old parameters. No longer supports
gnus-agent-expire-days being set to an alist.
(gnus-agent-request-article): Now performs its own checks of
gnus-agent, gnus-agent-cache, and gnus-plugged rather than
assuming that the caller will do them correctly.
(): Added one-time hook to gnus-group-prepare-hook. Detects when
gnus-agent-expire-days is set to an alist. Converts said alist
into group parameter so that gnus-agent-expire-days will not be
needed.