# HG changeset patch # User Dave Love # Date 973553949 0 # Node ID 9b3030bf32fc1fc7f0a0eb0922dd9c8cdf4b37cf # Parent 93c83ac38c92f8821aca797e70f9bd411da1c129 2000-11-06 ShengHuo ZHU * gnus-msg.el (gnus-inews-group-method): New function. (gnus-inews-do-gcc): Use it. *gnus-msg.el: (gnus-inews-add-send-actions): Use `gnus-agent-possibly-do-gcc' if Agentized. (gnus-inews-add-send-actions): Add `gnus-agent-possibly-save-gcc' to `message-header-hook'. diff -r 93c83ac38c92 -r 9b3030bf32fc lisp/gnus/gnus-msg.el --- a/lisp/gnus/gnus-msg.el Mon Nov 06 23:26:20 2000 +0000 +++ b/lisp/gnus/gnus-msg.el Mon Nov 06 23:39:09 2000 +0000 @@ -4,6 +4,7 @@ ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen +;; Maintainer: bugs@gnus.org ;; Keywords: news ;; This file is part of GNU Emacs. @@ -276,7 +277,11 @@ (defun gnus-inews-add-send-actions (winconf buffer article) (make-local-hook 'message-sent-hook) - (add-hook 'message-sent-hook 'gnus-inews-do-gcc nil t) + (add-hook 'message-sent-hook (if gnus-agent 'gnus-agent-possibly-do-gcc + 'gnus-inews-do-gcc) nil t) + (when gnus-agent + (make-local-hook 'message-header-hook) + (add-hook 'message-header-hook 'gnus-agent-possibly-save-gcc nil t)) (setq message-post-method `(lambda (arg) (gnus-post-method arg ,gnus-newsgroup-name))) @@ -1037,6 +1042,21 @@ ;;; Gcc handling. +(defun gnus-inews-group-method (group) + (cond ((and (null (gnus-get-info group)) + (eq (car gnus-message-archive-method) + (car + (gnus-server-to-method + (gnus-group-method group))))) + ;; If the group doesn't exist, we assume + ;; it's an archive group... + gnus-message-archive-method) + ;; Use the method. + ((gnus-info-method (gnus-get-info group)) + (gnus-info-method (gnus-get-info group))) + ;; Find the method. + (t (gnus-group-method group)))) + ;; Do Gcc handling, which copied the message over to some group. (defun gnus-inews-do-gcc (&optional gcc) (interactive) @@ -1055,21 +1075,7 @@ ;; Copy the article over to some group(s). (while (setq group (pop groups)) (gnus-check-server - (setq method - (cond ((and (null (gnus-get-info group)) - (eq (car gnus-message-archive-method) - (car - (gnus-server-to-method - (gnus-group-method group))))) - ;; If the group doesn't exist, we assume - ;; it's an archive group... - gnus-message-archive-method) - ;; Use the method. - ((gnus-info-method (gnus-get-info group)) - (gnus-info-method (gnus-get-info group))) - ;; Find the method. - (t (gnus-group-method group))))) - (gnus-check-server method) + (setq method (gnus-inews-group-method group))) (unless (gnus-request-group group t method) (gnus-request-create-group group method)) (save-excursion