+2002-12-13 Kevin Greiner <kgreiner@xpediantsolutions.com>
+
+ * gnus-agent.el (gnus-agent-max-fetch-size): New, defcustom.
+ (gnus-agent-fetch-headers): Initialize gnus-agent-overview-buffer
+ even though no headers may have been fetched
+ (gnus-agent-fetch-group-1, and perhaps others, require this
+ behavior).
+ (gnus-agent-fetch-group-1): Fetch articles in chucks so that the
+ server buffer is constrained by gnus-agent-max-fetch-size.
+ Multiple chunks in the same group may perform arbitrarily large
+ updates.
+
+2002-12-12 Kevin Greiner <kgreiner@xpediantsolutions.com>
+
+ * gnus-agent.el (gnus-agent-fetch-selected-article): Added call to
+ gnus-summary-update-download-mark to update the article in the
+ summary.
+
+2002-12-11 Kevin Greiner <kgreiner@xpediantsolutions.com>
+
+ * gnus.el (gnus-summary-high-uncached-face,
+ gnus-summary-normal-uncached-face, gnus-summary-low-uncached-face)
+ New faces.
+
+ * gnus-agent.el (gnus-agent-downloaded-article-face): REMOVED. I
+ added this on 2002-11-23 but it just wasn't working out as
+ intended. The idea isn't entirely dead, three new faces
+ gnus-summary-*-uncached-face are being added to gnus.el to provide
+ the basis for an improved implementation.
+ (gnus-agent-read-servers): Undo the change made on 2002-11-23. The
+ proper file to open is lib/servers.
+ (gnus-summary-set-agent-mark): Expanded documentation. Unmarking
+ (i.e. removing the article from gnus-newsgroup-downloadable) will
+ now restore the article's default mark rather than simply setting
+ no mark.
+ (gnus-agent-get-undownloaded-list): Corrected documentation.
+ Added code to set new summary local variable,
+ gnus-newsgroup-agentized. Reworked impl so that it doesn't create
+ a temporary list. No longer sets gnus-newsgroup-downloadable.
+ (gnus-agent-summary-fetch-group): Keep gnus-newsgroup-undownloaded
+ up to date. Call new gnus-summary-update-download-mark to keep
+ summary buffer up-to-date.
+ (gnus-agent-fetch-selected-article): Keep
+ gnus-newsgroup-undownloaded up to date.
+ (gnus-agent-fetch-articles): Return list of articles that were
+ successfully fetched.
+ (gnus-agent-check-overview-buffer): No more thingatpt.
+ (gnus-agent-expire): No longer deletes NOV entries of unread
+ articles.
+ (gnus-agent-unread-articles): New function.
+ (gnus-agent-regenerate-group): The article number must be
+ terminated by a tab character. Added more messages to report
+ repairs. Inhibit quits while writing changes so it is now safe
+ have to quit regeneration. Renamed gnus-tmp-downloaded back to
+ downloaded to 1) resolve the unbound references and 2) avoid
+ confusing this list with the gnus-tmp-downloaded in gnus-sum.el
+
+ * gnus-art.el (gnus-article-prepare): The agent
+ downloaded/undownloaded mark is no longer stored as the article's
+ mark.
+
+ * gnus-salt.el (gnus-tree-highlight-node): Added uncached as
+ gnus-summary-highlight may use it. Added downloaded as
+ gnus-summary-highlight was using it.
+
+ * gnus-sum.el (gnus-undownloaded-mark): Changed from ?@ to ?- as
+ the download mark now follows Kai's +/- convention.
+ (gnus-downloaded-mark): Added ?+ mark.
+ (gnus-summary-highlight): Added rules to select
+ gnus-summary-high-uncached-face,
+ gnus-summary-normal-uncached-face, and
+ gnus-summary-low-uncached-face. Removed the
+ gnus-agent-downloaded-article-face.
+ (gnus-summary-line-format-alist): Implemented the download flag
+ format (?O) as named in the manual. This implementation displays
+ either gnus-undownloaded-mark, gnus-downloaded-mark, or
+ gnus-no-mark.
+ (gnus-newsgroup-agentized): New local variable that identifies
+ which groups are agentized. While the agent is now on by default,
+ you don't have to agentize every server that you use.
+ (gnus-update-summary-mark-positions): Completed support for the
+ download type of mark.
+ (gnus-summary-insert-line): Added undownloaded to the parameters.
+ (gnus-summary-prepare-threads): Set gnus-tmp-downloaded for
+ reference by the gnus-summary-line-format-spec.
+
+ * nntp.el (nntp-with-open-group): This macro handles dropped or
+ broken connections by opening a new connection and repeating the
+ failed command.
+ (nntp-retrieve-headers-with-xover): Some NNTP servers respond to
+ XOVER commands preceeding the active articles with the nov entry
+ of the first available article. When gnus connected to such a
+ server, the unexpected nov entry would result in duplicate lines
+ in the agent's overview file. This patch fixes the duplicate
+ lines problem and improves performance by skipping over all
+ articles IDs that preceed the first nov entry in the server's
+ reply.
+
2002-12-11 Katsumi Yamaoka <yamaoka@jpl.org>
- * gnus-sum.el (gnus-summary-highlight): Protect against non-
- existent of the variable `downloaded'.
+ * gnus-sum.el (gnus-tmp-downloaded): New internal variable.
+ (gnus-summary-highlight): Use it instead of `downloaded'.
+ (gnus-summary-highlight-line): Ditto.
+
+ * gnus-agent.el (gnus-agent-regenerate-group): Ditto.
2002-12-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.el (gnus-variable-list): Add gnus-agent-covered-methods.
* gnus-agent.el (gnus-agent-check-overview-buffer): Remove debug
- calls.
+ calls.
* gnus-sum.el (gnus-summary-highlight-line): Don't set the
downloaded variable if we're in an uncovered group.
(gnus-agent-article-alist): Format change. Add documentation.
(gnus-agent-summary-mode-map): New keybinding `J s' for fetching
process-marked articles.
- (gnus-agent-summary-fetch-series): Command for `J s'.
+ (gnus-agent-summary-fetch-series): Command for `J s'. Articles
+ in the series are individually fetched to minimize lose of
+ content due to an error/quit.
(gnus-agent-synchronize-flags-server, gnus-agent-add-server): Use
gnus-message instead of message.
(gnus-agent-read-servers): Use file lib/methods instead of
(gnus-summary-set-agent-mark): Adapt to new agent-alist format.
(gnus-agent-get-undownloaded-list): Remove articles that appear to
come from the agent. This means that they are not downloaded.
- TODO: Correct?
(gnus-agent-fetch-selected-article): Don't use history.
(gnus-agent-save-history, gnus-agent-enter-history)
(gnus-agent-article-in-history-p, gnus-agent-history-path):
Removed function; history is not used anymore.
(gnus-agent-fetch-articles): Fix handling of crossposted articles.
- (gnus-agent-crosspost): TODO: What happened here?
+ (gnus-agent-crosspost): Started rewrite then realized that a typo
+ in gnus-agent-fetch-articles ensures that this function is never
+ called. This will need to be fixed later.
(gnus-agent-check-overview-buffer): Some sanity checks on the
agent overview buffer. This is a safety net used during
development.
GROUP, FORCE. Do not restrict usage.
(gnus-agent-uncached-articles): New function.
(gnus-agent-retrieve-headers): Use it.
- (gnus-agent-regenerate-group): Rewrite. TODO: Why?
- (gnus-agent-regenerate): Ditto. TODO: Why?
+ (gnus-agent-regenerate-group): No longer needs to be called from
+ gnus-agent-regenerate. Individual groups may be regenerated. The
+ regeneration code now fixes duplicate, and mis-ordered, NOV entries.
+ The article fetch dates are validated in the article alist. The
+ article alist is pruned of entries that do not reference existing
+ NOV entries. All changes are computed then applied with
+ inhibit-quit bound to t. As a result, it is now safe to quit out of
+ regeneration. The optional clean parameter has been replaced with
+ an optional reread parameter. Clean is no longer necessary as
+ regeneration gets the appropriate setting from
+ gnus-agent-consider-all-articles. The new reread parameter will
+ result in fetched, or all, articles being marked as unread.
+ (gnus-agent-regenerate): Removed code to regenerate the history
+ file as it is no longer used.
* gnus-start.el (gnus-make-ascending-articles-unread): New
function, for efficient mass-marking.
line.
(gnus-summary-highlight-line): Use new face for downloaded
articles.
- (gnus-summary-insert-old-articles): TODO: What does this change
- do?
+ (gnus-summary-insert-old-articles): Improved performance by
+ replacing the initial LIST of older articles with a compressed
+ RANGE of older articles. Some servers appear to lie about
+ their active range so the original list could contain millions
+ of article numbers. The range is not expanded into a list
+ until the optional ALL parameter has been applied.
2002-11-18 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>