Function: nnmaildir-request-move-article
nnmaildir-request-move-article is a byte-compiled function defined in
nnmaildir.el.gz.
Signature
(nnmaildir-request-move-article ARTICLE GNAME SERVER ACCEPT-FORM &optional LAST MOVE-IS-INTERNAL)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nnmaildir.el.gz
(defun nnmaildir-request-move-article (article gname server accept-form
&optional _last _move-is-internal)
(let ((group (nnmaildir--prepare server gname))
pgname suffix result nnmaildir--file deactivate-mark)
(catch 'return
(unless group
(setf (nnmaildir--srv-error nnmaildir--cur-server)
(concat "No such group: " gname))
(throw 'return nil))
(setq gname (nnmaildir--grp-name group)
pgname (nnmaildir--pgname nnmaildir--cur-server gname)
article (nnmaildir--nlist-art group article))
(unless article
(setf (nnmaildir--srv-error nnmaildir--cur-server) "No such article")
(throw 'return nil))
(setq suffix (nnmaildir--art-suffix article)
nnmaildir--file (nnmaildir--srv-dir nnmaildir--cur-server)
nnmaildir--file (nnmaildir--srvgrp-dir nnmaildir--file gname)
nnmaildir--file (if (nnmaildir--param pgname 'read-only)
(nnmaildir--new nnmaildir--file)
(nnmaildir--cur nnmaildir--file))
nnmaildir--file (concat nnmaildir--file
(nnmaildir--art-prefix article)
suffix))
(unless (file-exists-p nnmaildir--file)
(nnmaildir--expired-article group article)
(setf (nnmaildir--srv-error nnmaildir--cur-server)
"Article has expired")
(throw 'return nil))
(nnmaildir--with-move-buffer
(erase-buffer)
(nnheader-insert-file-contents nnmaildir--file)
(setq result (eval accept-form t)))
(unless (or (null result) (nnmaildir--param pgname 'read-only))
(nnmaildir--unlink nnmaildir--file)
(nnmaildir--expired-article group article))
result)))