2000-10-07 08:19:17 ShengHuo ZHU <zsh@cs.rochester.edu>
authorShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 7 Oct 2000 11:46:13 +0000 (11:46 +0000)
committerShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 7 Oct 2000 11:46:13 +0000 (11:46 +0000)
* gnus-art.el: Define dynamic variables in eval-when-compile.
* message.el (message-sending-message): New variable.
(message-send): Use it.
* gnus-draft.el (gnus-draft-send-message): Ditto.
(gnus-group-send-drafts): Ditto.

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

index b6c5815..34f8432 100644 (file)
@@ -1,3 +1,11 @@
+2000-10-07 08:19:17  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-art.el: Define dynamic variables in eval-when-compile.
+       * message.el (message-sending-message): New variable.
+       (message-send): Use it.
+       * gnus-draft.el (gnus-draft-send-message): Ditto.
+       (gnus-group-send-drafts): Ditto.
+
 2000-10-06  Dave Love  <fx@gnu.org>
 
        * gnus-audio.el: Don't require cl.
index 3e85863..d8f5fe0 100644 (file)
@@ -4743,11 +4743,13 @@ For example:
          (funcall (cadr elem)))))))
 
 ;; Dynamic variables.
-(defvar part-number)
-(defvar total-parts)
-(defvar type)
-(defvar condition)
-(defvar length)
+(eval-when-compile
+  (defvar part-number)
+  (defvar total-parts)
+  (defvar type)
+  (defvar condition)
+  (defvar length))
+
 (defun gnus-treat-predicate (val)
   (cond
    ((null val)
index 519a943..09c6e68 100644 (file)
 (defun gnus-draft-send-message (&optional n)
   "Send the current draft."
   (interactive "P")
-  (let ((articles (gnus-summary-work-articles n))
-       article)
+  (let* ((articles (gnus-summary-work-articles n))
+        total (length articles)
+        article)
     (while (setq article (pop articles))
       (gnus-summary-remove-process-mark article)
       (unless (memq article gnus-newsgroup-unsendable)
-       (gnus-draft-send article gnus-newsgroup-name t)
+       (let ((message-sending-message 
+              (format "Sending message %d of %d..." 
+                      (- total (length articles)) total)))
+         (gnus-draft-send article gnus-newsgroup-name t))
        (gnus-summary-mark-article article gnus-canceled-mark)))))
 
 (defun gnus-draft-send (article &optional group interactive)
   (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"))))))
-         article)
+    (let* ((articles (nndraft-articles))
+          (unsendable (gnus-uncompress-range
+                       (cdr (assq 'unsend
+                                  (gnus-info-marks
+                                   (gnus-get-info "nndraft:queue"))))))
+          (total (length articles))
+          article)
       (while (setq article (pop articles))
        (unless (memq article unsendable)
-         (gnus-draft-send article))))))
+         (let ((message-sending-message 
+                (format "Sending message %d of %d..." 
+                        (- total (length articles)) total)))
+           (gnus-draft-send article)))))))
 
 ;;; Utility functions
 
index c3952df..38073b4 100644 (file)
@@ -911,6 +911,7 @@ The first matched address (not primary one) is used in the From field."
 
 ;;; Internal variables.
 
+(defvar message-sending-message "Sending...")
 (defvar message-buffer-list nil)
 (defvar message-this-is-news nil)
 (defvar message-this-is-mail nil)
@@ -2119,7 +2120,7 @@ It should typically alter the sending method in some way or other."
     (put-text-property (point-min) (point-max) 'read-only nil))
   (message-fix-before-sending)
   (run-hooks 'message-send-hook)
-  (message "Sending...")
+  (message message-sending-message)
   (let ((alist message-send-method-alist)
        (success t)
        elem sent)