* gnus.el (gnus-agent-target-move-group-header): New variable.
authorKai Grossjohann <kgrossjo@eu.uu.net>
Sun, 23 Feb 2003 20:43:22 +0000 (20:43 +0000)
committerKai Grossjohann <kgrossjo@eu.uu.net>
Sun, 23 Feb 2003 20:43:22 +0000 (20:43 +0000)
* gnus-draft.el (gnus-draft-send): If special header
"X-Gnus-Agent-Target-Move-Group" is present, do like Gcc into
that group, instead of performing the regular sending functions.

lisp/ChangeLog
lisp/gnus-draft.el
lisp/gnus.el

index 6bdef9b..f409ebc 100644 (file)
@@ -1,3 +1,10 @@
+2003-02-23  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@uni-duisburg.de>
+
+       * gnus.el (gnus-agent-target-move-group-header): New variable.
+       * gnus-draft.el (gnus-draft-send): If special header
+       "X-Gnus-Agent-Target-Move-Group" is present, do like Gcc into
+       that group, instead of performing the regular sending functions.
+
 2003-02-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-xmas.el (gnus-xmas-mime-button-menu): Accept a prefix arg.
index d65bb39..3dbcb7c 100644 (file)
                                message-send-hook))
        (message-setup-hook (and group (not (equal group "nndraft:queue"))
                                 message-setup-hook))
-       type method)
+       type method move-to)
     (gnus-draft-setup article (or group "nndraft:queue"))
     ;; We read the meta-information that says how and where
     ;; this message is to be sent.
     (save-restriction
       (message-narrow-to-head)
+      (when (re-search-forward
+            (concat "^" (regexp-quote gnus-agent-target-move-group-header)
+                    ":") nil t)
+       (skip-syntax-forward "-")
+       (setq move-to (buffer-substring (point) (progn (end-of-line)
+                                                      (point))))
+       (message-remove-header gnus-agent-target-move-group-header))
+      (goto-char (point-min))
       (when (re-search-forward
             (concat "^" (regexp-quote gnus-agent-meta-information-header) ":")
             nil t)
                         (message-this-is-mail (eq type 'mail))
                         (gnus-post-method method)
                         (message-post-method method))
-                    (message-send-and-exit))
-                (message-send-and-exit)))
+                    (if move-to
+                        (gnus-inews-do-gcc move-to)
+                      (message-send-and-exit)))
+                (if move-to
+                    (gnus-inews-do-gcc move-to)
+                  (message-send-and-exit))))
       (let ((gnus-verbose-backends nil))
        (gnus-request-expire-articles
         (list article) (or group "nndraft:queue") t)))))
index 189b166..4f6cb3f 100644 (file)
@@ -2115,6 +2115,7 @@ This should be an alist for Emacs, or a plist for XEmacs."
 
 (defvar gnus-agent-gcc-header "X-Gnus-Agent-Gcc")
 (defvar gnus-agent-meta-information-header "X-Gnus-Agent-Meta-Information")
+(defvar gnus-agent-target-move-group-header "X-Gnus-Agent-Move-To")
 (defvar gnus-draft-meta-information-header "X-Draft-From")
 (defvar gnus-group-get-parameter-function 'gnus-group-get-parameter)
 (defvar gnus-original-article-buffer " *Original Article*")