Function: nnmaildir--article-set-flags

nnmaildir--article-set-flags is a byte-compiled function defined in nnmaildir.el.gz.

Signature

(nnmaildir--article-set-flags ARTICLE NEW-SUFFIX CURDIR)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnmaildir.el.gz
  (target-prefix nil :type string))        ;; symlink target prefix

(defun nnmaildir--article-set-flags (article new-suffix curdir)
  (let* ((prefix (nnmaildir--art-prefix article))
	 (suffix (nnmaildir--art-suffix article))
	 (article-file (concat curdir prefix suffix))
	 (new-name (concat curdir prefix new-suffix)))
    (unless (file-exists-p article-file)
      (let ((possible (file-expand-wildcards (concat curdir prefix "*"))))
	(cond ((length= possible 1)
	       (unless (string-match-p "\\`\\(.+\\):2,.*?\\'" (car possible))
		 (error "Couldn't find updated article file %s" article-file))
	       (setq article-file (car possible)))
	      ((length> possible 1)
	       (error "Couldn't determine exact article file %s" article-file))
	      ((null possible)
	       (error "Couldn't find article file %s" article-file)))))
    (rename-file article-file new-name 'replace)
    (setf (nnmaildir--art-suffix article) new-suffix)))