Function: nnimap-request-article
nnimap-request-article is a byte-compiled function defined in
nnimap.el.gz.
Signature
(nnimap-request-article ARTICLE &optional GROUP SERVER TO-BUFFER)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nnimap.el.gz
(deffoo nnimap-request-article (article &optional group server to-buffer)
(with-current-buffer nntp-server-buffer
(let ((result (nnimap-change-group group server))
parts structure)
(when (stringp article)
(setq article (nnimap-find-article-by-message-id group server article)))
(when (and result
article)
(erase-buffer)
(with-current-buffer (nnimap-buffer)
(erase-buffer)
(when nnimap-fetch-partial-articles
(nnimap-command "UID FETCH %d (BODYSTRUCTURE)" article)
(goto-char (point-min))
(when (re-search-forward "FETCH.*BODYSTRUCTURE" nil t)
(setq structure (ignore-errors
(let ((start (point)))
(forward-sexp 1)
(downcase-region start (point))
(goto-char start)
(read (current-buffer))))
parts (nnimap-find-wanted-parts structure))))
(when (if parts
(nnimap-get-partial-article article parts structure)
(nnimap-get-whole-article article))
(let ((buffer (current-buffer)))
(with-current-buffer (or to-buffer nntp-server-buffer)
(nnheader-insert-buffer-substring buffer)
(nnheader-ms-strip-cr)))
(cons group article)))))))