Import No Gnus v0.2.
[elisp/gnus.git-] / lisp / gnus-draft.el
index f8286b4..12fa9c2 100644 (file)
@@ -74,7 +74,7 @@
       ;; Set up the menu.
       (when (gnus-visual-p 'draft-menu 'menu)
        (gnus-draft-make-menu-bar))
-      (gnus-add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map)
+      (add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map)
       (mml-mode)
       (gnus-run-hooks 'gnus-draft-mode-hook))))
 
 
 (defun gnus-draft-send (article &optional group interactive)
   "Send message ARTICLE."
-  (let ((message-syntax-checks (if interactive message-syntax-checks
-                                'dont-check-for-anything-just-trust-me))
-       (message-hidden-headers nil)
-       (message-inhibit-body-encoding (or (not group)
-                                          (equal group "nndraft:queue")
-                                          message-inhibit-body-encoding))
-       (message-send-hook (and group (not (equal group "nndraft:queue"))
-                               message-send-hook))
-       (message-setup-hook (and group (not (equal group "nndraft:queue"))
-                                message-setup-hook))
-       type method move-to)
+  (let* ((is-queue (or (not group)
+                       (equal group "nndraft:queue")))
+         (message-syntax-checks (if interactive message-syntax-checks
+                                  'dont-check-for-anything-just-trust-me))
+         (message-hidden-headers nil)
+         (message-inhibit-body-encoding (or is-queue
+                                            message-inhibit-body-encoding))
+         (message-send-hook (and (not is-queue)
+                                 message-send-hook))
+         (message-setup-hook (and (not is-queue)
+                                  message-setup-hook))
+         (gnus-agent-queue-mail (and (not is-queue)
+                                     gnus-agent-queue-mail))
+         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.
             (concat "^" (regexp-quote gnus-agent-target-move-group-header)
                     ":") nil t)
        (skip-syntax-forward "-")
-       (setq move-to (buffer-substring (point) (gnus-point-at-eol)))
+       (setq move-to (buffer-substring (point) (point-at-eol)))
        (message-remove-header gnus-agent-target-move-group-header))
       (goto-char (point-min))
       (when (re-search-forward
 (defun gnus-group-send-queue ()
   "Send all sendable articles from the queue group."
   (interactive)
-  (gnus-activate-group "nndraft:queue")
-  (save-excursion
-    (let* ((articles (nndraft-articles))
-          (unsendable (gnus-uncompress-range
-                       (cdr (assq 'unsend
-                                  (gnus-info-marks
-                                   (gnus-get-info "nndraft:queue"))))))
-          (gnus-posting-styles nil)
-          (total (length articles))
-          article)
-      (while (setq article (pop articles))
-       (unless (memq article unsendable)
-         (let ((message-sending-message
-                (format "Sending message %d of %d..."
-                        (- total (length articles)) total)))
-           (gnus-draft-send article)))))))
+  (when (or gnus-plugged
+           (not gnus-agent-prompt-send-queue)
+           (gnus-y-or-n-p "Gnus is unplugged; really send queue? "))
+    (gnus-activate-group "nndraft:queue")
+    (save-excursion
+      (let* ((articles (nndraft-articles))
+            (unsendable (gnus-uncompress-range
+                         (cdr (assq 'unsend
+                                    (gnus-info-marks
+                                     (gnus-get-info "nndraft:queue"))))))
+            (gnus-posting-styles nil)
+            (total (length articles))
+            article)
+       (while (setq article (pop articles))
+         (unless (memq article unsendable)
+           (let ((message-sending-message
+                  (format "Sending message %d of %d..."
+                          (- total (length articles)) total)))
+             (gnus-draft-send article))))))))
 
 ;;;###autoload
 (defun gnus-draft-reminder ()