This can either be a string, a list of strings; or an alist
of regexps/functions/forms to be evaluated to return a string (or a list
of strings). The functions are called with the name of the current
-group (or nil) as a parameter.")
+group (or nil) as a parameter.
+
+Normally the group names returned by this variable should be
+unprefixed -- which implictly means \"store on the archive server\".
+However, you may wish to store the message on some other server. In
+that case, just return a fully prefixed name of the group --
+\"nnml+private:mail.misc\", for instance.")
(defvar gnus-mailing-list-groups nil
"*Regexp matching groups that are really mailing lists.
(put 'gnus-setup-message 'lisp-indent-function 1)
(put 'gnus-setup-message 'lisp-indent-hook 1)
+(put 'gnus-setup-message 'edebug-form-spec '(form body))
;;; Post news commands of Gnus group mode and summary mode
(or (memq gnus-article-copy gnus-buffer-list)
(setq gnus-buffer-list (cons gnus-article-copy gnus-buffer-list)))
(let ((article-buffer (or article-buffer gnus-article-buffer))
- end)
+ end beg contents)
(when (and (get-buffer article-buffer)
(buffer-name (get-buffer article-buffer)))
(save-excursion
(set-buffer article-buffer)
(save-restriction
(widen)
- (copy-to-buffer gnus-article-copy (point-min) (point-max))
+ (setq contents (format "%s" (buffer-string)))
(set-buffer gnus-original-article-buffer)
(goto-char (point-min))
+ (while (looking-at message-unix-mail-delimiter)
+ (forward-line 1))
+ (setq beg (point))
(setq end (or (search-forward "\n\n" nil t) (point)))
(set-buffer gnus-article-copy)
- (gnus-set-text-properties (point-min) (point-max) nil)
+ (erase-buffer)
+ (insert contents)
(delete-region (goto-char (point-min))
(or (search-forward "\n\n" nil t) (point)))
- (insert-buffer-substring gnus-original-article-buffer 1 end)))
+ (insert-buffer-substring gnus-original-article-buffer beg end)))
gnus-article-copy)))
(defun gnus-post-news (post &optional group header article-buffer yank subject
(t
(eval (car var)))))))
(setq var (cdr var)))
- result))))
+ result)))
+ name)
(when groups
(when (stringp groups)
(setq groups (list groups)))
(gnus-inews-narrow-to-headers)
(goto-char (point-max))
(insert "Gcc: ")
- (while groups
- (insert (gnus-group-prefixed-name
- (pop groups) gnus-message-archive-method))
- (insert " "))
+ (while (setq name (pop groups))
+ (insert (if (string-match ":" name)
+ name
+ (gnus-group-prefixed-name
+ name gnus-message-archive-method)))
+ (if groups (insert " ")))
(insert "\n"))))))
(defun gnus-summary-send-draft ()