Function: gnus-summary-read-document
gnus-summary-read-document is an interactive and byte-compiled
function defined in gnus-sum.el.gz.
Signature
(gnus-summary-read-document N)
Documentation
Open a new group based on the current article(s).
This will allow you to read digests and other similar documents as newsgroups. Obeys the standard process/prefix convention.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-summary-read-document (n)
"Open a new group based on the current article(s).
This will allow you to read digests and other similar
documents as newsgroups.
Obeys the standard process/prefix convention."
(interactive "P" gnus-summary-mode)
(let* ((ogroup gnus-newsgroup-name)
(params (append (gnus-info-params (gnus-get-info ogroup))
(list (cons 'to-group ogroup))))
group egroup groups vgroup)
(dolist (article (gnus-summary-work-articles n))
(setq group (format "%s-%d" gnus-newsgroup-name article))
(gnus-summary-remove-process-mark article)
(when (gnus-summary-display-article article)
(save-excursion ;;What for?
(with-temp-buffer
(insert-buffer-substring gnus-original-article-buffer)
;; Remove some headers that may lead nndoc to make
;; the wrong guess.
(message-narrow-to-head)
(goto-char (point-min))
(delete-matching-lines "^Path:\\|^From ")
(widen)
(if (setq egroup
(gnus-group-read-ephemeral-group
group `(nndoc ,group (nndoc-address ,(current-buffer))
(nndoc-article-type guess))
t nil t))
(progn
;; Make all postings to this group go to the parent group.
(nconc (gnus-info-params (gnus-get-info egroup))
params)
(push egroup groups))
;; Couldn't select this doc group.
(gnus-error 3 "Article couldn't be entered"))))))
;; Now we have selected all the documents.
(cond
((not groups)
(error "None of the articles could be interpreted as documents"))
((gnus-group-read-ephemeral-group
(setq vgroup (format
"nnvirtual:%s-%s" gnus-newsgroup-name
(format-time-string "%Y%m%dT%H%M%S")))
`(nnvirtual ,vgroup (nnvirtual-component-groups ,groups))
t
(cons (current-buffer) 'summary)))
(t
(error "Couldn't select virtual nndoc group")))))