Gnus development mailing list
 help / color / mirror / Atom feed
From: Gaute B Strokkenes <biggaute@uwc.net>
Subject: Re: Gnus v5.10.5 is released
Date: Sun, 04 Jan 2004 08:21:37 +0100	[thread overview]
Message-ID: <878ykokwla.fsf@srcf.ucam.org> (raw)
In-Reply-To: <m3oetk8sgl.fsf@quimbies.gnus.org> (Lars Magne Ingebrigtsen's message of "Sun, 04 Jan 2004 01:32:01 +0100")

[-- Attachment #1: Type: text/plain, Size: 783 bytes --]

On 4 jan 2004, larsi@gnus.org wrote:

> Possibly the last Gnus 5.10 release.

I think that before we make the transition to No Gnus, the follwoing
almost-trivial patch should be applied.

Kevin Greiner gave his approval to this patch way back in May, but did
not apply it straight away, since this was straight after Lars
announced that he wanted there to be more focus on fixing bugs rather
than new features in anticipation of No Gnus.  See
<87bry4sk0n.fsf@cam.ac.uk> and the surrounding discussion.

I think that the patch should be applied now since it is small and
tidy, serves a demonstrable need and has been very thoroughly tested
by yours truly in the months following May (more than half a year).
There have been lots of other patches applied that are far more
intrusive.


[-- Attachment #2: gnus-agent.diff --]
[-- Type: text/plain, Size: 6249 bytes --]

Index: lisp/gnus-agent.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/gnus-agent.el,v
retrieving revision 6.186
diff -u -r6.186 gnus-agent.el
--- lisp/gnus-agent.el	3 Jan 2004 18:52:57 -0000	6.186
+++ lisp/gnus-agent.el	4 Jan 2004 07:07:39 -0000
@@ -181,6 +181,21 @@
   :type 'boolean
   :group 'gnus-agent)
 
+(defcustom gnus-agent-queue-mail t
+  "Whether and when outgoing mail should be queued by the agent.  When
+`always', always queue outgoing mail.  When `nil', never queue.
+Otherwise, queue if and only if unplugged."
+  :group 'gnus-agent
+  :type '(radio (const :format "Always" always)
+		(const :format "Never" nil)
+		(const :format "When plugged" t)))
+
+(defcustom gnus-agent-prompt-send-queue nil
+  "If non-nil, `gnus-group-send-queue' will prompt if called when
+unplugged."
+  :group 'gnus-agent
+  :type 'boolean)
+
 (defcustom gnus-agent-auto-agentize-methods '(nntp nnimap)
   "Initially, all servers from these methods are agentized.
 The user may remove or add servers using the Server buffer.
@@ -642,7 +657,8 @@
      'gnus-dummy '((gnus-draft-mode)))))
 
 (defun gnus-agent-send-mail ()
-  (if gnus-plugged
+  (if (or (not gnus-agent-queue-mail)
+	  (and gnus-plugged (not (eq gnus-agent-queue-mail 'always))))
       (funcall gnus-agent-send-mail-function)
     (goto-char (point-min))
     (re-search-forward
Index: lisp/gnus-draft.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/gnus-draft.el,v
retrieving revision 6.24
diff -u -r6.24 gnus-draft.el
--- lisp/gnus-draft.el	12 Dec 2003 16:31:46 -0000	6.24
+++ lisp/gnus-draft.el	4 Jan 2004 07:07:40 -0000
@@ -142,6 +142,9 @@
 				message-send-hook))
 	(message-setup-hook (and group (not (equal group "nndraft:queue"))
 				 message-setup-hook))
+	(gnus-agent-queue-mail (if (equal group "nndraft:queue")
+				   nil
+				 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
@@ -196,22 +199,25 @@
 (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 "nndraft:queue"))))))))
 
 ;;;###autoload
 (defun gnus-draft-reminder ()
Index: texi/gnus.texi
===================================================================
RCS file: /usr/local/cvsroot/gnus/texi/gnus.texi,v
retrieving revision 6.601
diff -u -r6.601 gnus.texi
--- texi/gnus.texi	4 Jan 2004 03:20:18 -0000	6.601
+++ texi/gnus.texi	4 Jan 2004 07:08:03 -0000
@@ -18388,16 +18388,24 @@
 @node Outgoing Messages
 @subsection Outgoing Messages
 
-When Gnus is unplugged, all outgoing messages (both mail and news) are
-stored in the draft group ``queue'' (@pxref{Drafts}).  You can view
-them there after posting, and edit them at will.
-
-When Gnus is plugged again, you can send the messages either from the
-draft group with the special commands available there, or you can use
-the @kbd{J S} command in the group buffer to send all the sendable
-messages in the draft group.
-
-
+By default, when Gnus is unplugged, all outgoing messages (both mail
+and news) are stored in the draft group ``queue'' (@pxref{Drafts}).
+You can view them there after posting, and edit them at will.
+
+You can control the circumstances under which outgoing mail is queued
+(see @code{gnus-agent-queue-mail}, @pxref{Agent Variables}).  Outgoing
+news is always queued when Gnus is unplugged, and never otherwise.
+
+You can send the messages either from the draft group with the special
+commands available there, or you can use the @kbd{J S} command in the
+group buffer to send all the sendable messages in the draft group.
+Posting news will only work when Gnus is plugged, but you can send
+mail at any time.
+
+If sending mail while unplugged does not work for you and you worry
+about hitting @kbd{J S} by accident when unplugged, you can have Gnus
+ask you to confirm your action (see
+@code{gnus-agent-prompt-send-queue}, @pxref{Agent Variables}).
 
 @node Agent Variables
 @subsection Agent Variables
@@ -18496,6 +18504,19 @@
 have not been fetched), @code{always-undownloaded} (maneuvering always
 ignores articles that have not been fetched), @code{unfetched}
 (maneuvering ignores articles whose headers have not been fetched).
+
+@item gnus-agent-queue-mail
+@vindex gnus-agent-queue-mail
+When @code{gnus-agent-queue-mail} is @code{always}, Gnus will always
+queue mail rather than sending it straight away.  When @code{t}, Gnus
+will queue mail when unplugged only.  When @code{nil}, never queue
+mail.  The default is @code{t}.
+
+@item gnus-agent-prompt-send-queue
+@vindex gnus-agent-prompt-send-queue
+When @code{gnus-agent-prompt-send-queue} is non-@code{nil} Gnus will
+prompt you to confirm that you really wish to proceed if you hit
+@kbd{J S} while unplugged.  The default is @code{nil}.
 
 @item gnus-agent-auto-agentize-methods
 @vindex gnus-agent-auto-agentize-methods

[-- Attachment #3: Type: text/plain, Size: 241 bytes --]


-- 
Gaute Strokkenes                        http://www.srcf.ucam.org/~gs234/
If a person is FAMOUS in this country, they have to go on the ROAD
 for MONTHS at a time and have their name misspelled on the SIDE
 of a GREYHOUND SCENICRUISER!!

  reply	other threads:[~2004-01-04  7:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-04  0:32 Lars Magne Ingebrigtsen
2004-01-04  7:21 ` Gaute B Strokkenes [this message]
2004-01-04 20:35   ` Lars Magne Ingebrigtsen
2004-01-08 18:26     ` Gaute B Strokkenes
2004-01-04 14:46 ` Simon Josefsson
2004-01-04 20:15   ` Steinar Bang
2004-01-04 20:36     ` Lars Magne Ingebrigtsen
2004-01-05 20:16       ` Steinar Bang
2004-01-05 21:16         ` Wes Hardaker
2004-01-06  5:03         ` Lars Magne Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878ykokwla.fsf@srcf.ucam.org \
    --to=biggaute@uwc.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).