Function: gnus-article-goto-part
gnus-article-goto-part is a byte-compiled function defined in
gnus-art.el.gz.
Signature
(gnus-article-goto-part N)
Documentation
Go to MIME part N.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-article-goto-part (n)
"Go to MIME part N."
(when gnus-break-pages
(widen))
(article-goto-body)
(prog1
(let ((start (or (text-property-any (point) (point-max) 'gnus-part n)
;; There may be header buttons.
(text-property-any (point-min) (point) 'gnus-part n)))
part handle end next handles)
(when start
(goto-char start)
(if (setq handle (get-text-property start 'gnus-data))
start
;; Go to the displayed subpart, assuming this is
;; multipart/alternative.
(setq part start
end (point-at-eol))
(while (and (not handle)
part
(< part end)
(setq next (text-property-not-all part end
'gnus-data nil)))
(setq part next
handle (get-text-property part 'gnus-data))
(push (cons handle part) handles)
(unless (mm-handle-displayed-p handle)
(setq handle nil
part (text-property-any part end 'gnus-data nil))))
(unless handle
;; No subpart is displayed, so we find preferred one.
(setq part
(cdr (assq (mm-preferred-alternative
(nreverse (mapcar #'car handles)))
handles))))
(if part
(goto-char (1+ part))
start))))
(when gnus-break-pages
(gnus-narrow-to-page))))