Function: gnus-post-news
gnus-post-news is an autoloaded and byte-compiled function defined in
gnus-msg.el.gz.
Signature
(gnus-post-news POST &optional GROUP HEADER ARTICLE-BUFFER YANK SUBJECT FORCE-NEWS)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-msg.el.gz
(defun gnus-post-news (post &optional group header article-buffer yank _subject
force-news)
(when article-buffer
(gnus-copy-article-buffer))
(let ((gnus-article-reply (and article-buffer (gnus-summary-article-number)))
(gnus-article-yanked-articles yank)
(add-to-list gnus-add-to-list))
(gnus-setup-message (cond (yank 'reply-yank)
(article-buffer 'reply)
(t 'message))
(let* ((group (or group gnus-newsgroup-name))
(charset (gnus-group-name-charset nil group))
(pgroup group)
to-address to-group mailing-list to-list
newsgroup-p)
(when group
(setq to-address (gnus-parameter-to-address group)
to-group (gnus-group-find-parameter group 'to-group)
to-list (gnus-parameter-to-list group)
newsgroup-p (gnus-group-find-parameter group 'newsgroup)
mailing-list (when gnus-mailing-list-groups
(string-match gnus-mailing-list-groups group))
group (gnus-group-name-decode (gnus-group-real-name group)
charset)))
(if (or (and to-group
(gnus-news-group-p to-group))
newsgroup-p
force-news
(and (gnus-news-group-p
(or pgroup gnus-newsgroup-name)
(or header gnus-current-article))
(not mailing-list)
(not to-list)
(not to-address)))
;; This is news.
(if post
(message-news
(or to-group
(and (not (gnus-virtual-group-p pgroup)) group)))
(set-buffer gnus-article-copy)
(gnus-msg-treat-broken-reply-to)
(message-followup (if (or newsgroup-p force-news)
(if (save-restriction
(article-narrow-to-head)
(message-fetch-field "newsgroups"))
nil
"")
to-group)))
;; The is mail.
(if post
(progn
(message-mail (or to-address to-list))
;; Arrange for mail groups that have no `to-address' to
;; get that when the user sends off the mail.
(when (and (not to-list)
(not to-address)
add-to-list)
(push (list 'gnus-inews-add-to-address pgroup)
message-send-actions)))
(set-buffer gnus-article-copy)
(gnus-msg-treat-broken-reply-to)
(message-wide-reply to-address)))
(when yank
(gnus-inews-yank-articles yank))))))