Function: gnus-agent-unfetch-articles
gnus-agent-unfetch-articles is a byte-compiled function defined in
gnus-agent.el.gz.
Signature
(gnus-agent-unfetch-articles GROUP ARTICLES)
Documentation
Delete ARTICLES that were fetched from GROUP into the agent.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-agent.el.gz
(defun gnus-agent-unfetch-articles (group articles)
"Delete ARTICLES that were fetched from GROUP into the agent."
(when articles
(gnus-agent-with-refreshed-group
group
(gnus-agent-load-alist group)
(let* ((alist (cons nil gnus-agent-article-alist))
(articles (sort articles #'<))
(next-possibility alist)
(delete-this (pop articles)))
(while (and (cdr next-possibility) delete-this)
(let ((have-this (caar (cdr next-possibility))))
(cond
((< delete-this have-this)
(setq delete-this (pop articles)))
((= delete-this have-this)
(let ((timestamp (cdar (cdr next-possibility))))
(when timestamp
(let* ((file-name (concat (gnus-agent-group-pathname group)
(number-to-string have-this)))
(size-file
(float (or (and gnus-agent-total-fetched-hashtb
(file-attribute-size
(file-attributes file-name)))
0)))
(file-name-coding-system
nnmail-pathname-coding-system))
(delete-file file-name)
(gnus-agent-update-files-total-fetched-for
group (- size-file)))))
(setcdr next-possibility (cddr next-possibility)))
(t
(setq next-possibility (cdr next-possibility))))))
(setq gnus-agent-article-alist (cdr alist))
(gnus-agent-save-alist group)))))