From: ShengHuo ZHU Date: Sat, 7 Oct 2000 11:46:13 +0000 (+0000) Subject: 2000-10-07 08:19:17 ShengHuo ZHU X-Git-Url: https://cgit.sxemacs.org/?a=commitdiff_plain;h=91a0e9f6bf84b6a4e011e8104ca68bda9135dcb2;p=gnus 2000-10-07 08:19:17 ShengHuo ZHU * 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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b6c58159e..34f84329d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2000-10-07 08:19:17 ShengHuo ZHU + + * 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 * gnus-audio.el: Don't require cl. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 3e85863c8..d8f5fe0ed 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -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) diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index 519a9439e..09c6e68b4 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -112,12 +112,16 @@ (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) @@ -172,15 +176,19 @@ (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 diff --git a/lisp/message.el b/lisp/message.el index c3952dfdd..38073b401 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -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)