Function: nnmh-request-expire-articles

nnmh-request-expire-articles is a byte-compiled function defined in nnmh.el.gz.

Signature

(nnmh-request-expire-articles ARTICLES NEWSGROUP &optional SERVER FORCE)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnmh.el.gz
(deffoo nnmh-request-expire-articles (articles newsgroup
					       &optional server force)
  (nnmh-possibly-change-directory newsgroup server)
  (let ((is-old t)
	(dir nnmh-current-directory)
	article rest mod-time)
    (nnheader-init-server-buffer)

    (while (and articles is-old)
      (setq article (concat dir (int-to-string (car articles))))
      (when (setq mod-time (file-attribute-modification-time
			    (file-attributes article)))
	(if (and (nnmh-deletable-article-p newsgroup (car articles))
		 (setq is-old
		       (nnmail-expired-article-p newsgroup mod-time force)))
	    (progn
	      ;; Allow a special target group. -- jcn
	      (unless (eq nnmail-expiry-target 'delete)
		(with-temp-buffer
		  (nnmh-request-article (car articles)
					newsgroup server (current-buffer))
		  (nnmail-expiry-target-group
		   nnmail-expiry-target newsgroup)))
	      (nnheader-message 5 "Deleting article %s in %s..."
				article newsgroup)
	      (condition-case ()
		  (funcall nnmail-delete-file-function article)
		(file-error
		 (nnheader-message 1 "Couldn't delete article %s in %s"
				   article newsgroup)
		 (push (car articles) rest))))
	  (push (car articles) rest)))
      (setq articles (cdr articles)))
    (nnheader-message 5 "")
    (nconc rest articles)))