Function: nnselect-request-expire-articles

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

Signature

(nnselect-request-expire-articles ARTICLES GROUP &optional SERVER FORCE)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnselect.el.gz
(deffoo nnselect-request-expire-articles
    (articles group &optional _server force)
  (let ((nnimap-expunge 'immediately) not-deleted)
    (if (and (not force)
             (not nnselect-allow-ephemeral-expiry)
	     (gnus-ephemeral-group-p (nnselect-add-prefix group)))
	articles
      (pcase-dolist (`(,artgroup . ,artids) (ids-by-group articles))
	(let ((artlist (sort (mapcar #'cdr artids) #'<)))
	  (unless
	      (gnus-check-backend-function 'request-expire-articles artgroup)
	    (error "Group %s does not support article expiration" artgroup))
	  (unless (gnus-check-server (gnus-find-method-for-group artgroup))
	    (error "Couldn't open server for group %s" artgroup))
	  (setq not-deleted
                (append
                 (mapcar (lambda (art) (car (rassq art artids)))
			 (gnus-request-expire-articles artlist artgroup
                                                       force))
		 not-deleted))))
      (sort (delq nil not-deleted) #'<))))