From: Michael Sperber <sperber@deinprogramm.de>
To: ding@gnus.org
Subject: Re: Patch submission: Allow group-local mail sources for nnmail
Date: Wed, 16 Jan 2008 08:20:15 +0100 [thread overview]
Message-ID: <y9l8x2qi6ds.fsf@deinprogramm.de> (raw)
In-Reply-To: <v9hcht2453.fsf@marauder.physik.uni-ulm.de>
[-- Attachment #1: Type: text/plain, Size: 736 bytes --]
The copyright assignment has just been confirmed by the FSF. Here's the
current version of the patch. Could it be applied? Many thanks for the
review, everyone!
lisp/ChangeLog
2008-01-01 Michael Sperber <sperber@deinprogramm.de>
* mail-source.el (mail-sources): Add `group' choice.
* nnmail.el (nnmail-get-new-mail-1): Abstract this out to add another
parameter `in-group' to control into which group the articles go.
Add treatment of `group' mail-source.
texi/ChangeLog
2008-01-01 Michael Sperber <sperber@deinprogramm.de>
* gnus.texi (Mail Source Specifiers): Document `group' specifier.
(Group Parameters): Document `mail-source' parameter.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
[-- Attachment #2: Type: text/plain, Size: 4215 bytes --]
Index: lisp/mail-source.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/mail-source.el,v
retrieving revision 7.24
diff -u -r7.24 mail-source.el
--- lisp/mail-source.el 16 Dec 2007 04:23:18 -0000 7.24
+++ lisp/mail-source.el 16 Jan 2008 07:18:40 -0000
@@ -74,6 +74,8 @@
(repeat :tag "List"
(choice :format "%[Value Menu%] %v"
:value (file)
+ (cons :tag "Group parameter `mail-source'"
+ (const :format "" group))
(cons :tag "Spool file"
(const :format "" file)
(checklist :tag "Options" :greedy t
Index: lisp/nnmail.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnmail.el,v
retrieving revision 7.38
diff -u -r7.38 nnmail.el
--- lisp/nnmail.el 16 Dec 2007 04:23:18 -0000 7.38
+++ lisp/nnmail.el 16 Jan 2008 07:18:40 -0000
@@ -1766,11 +1766,15 @@
(symbol-value sym))))
(defun nnmail-get-new-mail (method exit-func temp
- &optional group spool-func)
+ &optional group spool-func)
"Read new incoming mail."
+ (nnmail-get-new-mail-1 method exit-func temp group nil spool-func))
+
+(defun nnmail-get-new-mail-1 (method exit-func temp
+ group in-group spool-func)
+
(let* ((sources mail-sources)
fetching-sources
- (group-in group)
(i 0)
(new 0)
(total 0)
@@ -1778,6 +1782,18 @@
(when (and (nnmail-get-value "%s-get-new-mail" method)
sources)
(while (setq source (pop sources))
+
+ ;; Use group's parameter
+ (when (eq (car source) 'group)
+ (let ((mail-sources
+ (list
+ (gnus-group-find-parameter
+ (concat (symbol-name method) ":" group)
+ 'mail-source t))))
+ (nnmail-get-new-mail-1 method exit-func temp
+ group group spool-func))
+ (setq source nil))
+
;; Hack to only fetch the contents of a single group's spool file.
(when (and (eq (car source) 'directory)
(null nnmail-scan-directory-mail-source-once)
@@ -1816,9 +1832,10 @@
(nnmail-split-incoming
file ',(intern (format "%s-save-mail" method))
',spool-func
- (if (equal file orig-file)
- nil
- (nnmail-get-split-group orig-file ',source))
+ (or in-group
+ (if (equal file orig-file)
+ nil
+ (nnmail-get-split-group orig-file ',source)))
',(intern (format "%s-active-number" method)))))))
(incf total new)
(incf i)))
Index: texi/gnus.texi
===================================================================
RCS file: /usr/local/cvsroot/gnus/texi/gnus.texi,v
retrieving revision 7.267
diff -u -r7.267 gnus.texi
--- texi/gnus.texi 28 Dec 2007 22:28:04 -0000 7.267
+++ texi/gnus.texi 16 Jan 2008 07:18:46 -0000
@@ -3035,6 +3035,12 @@
If it is set, the value is used as the method for posting message
instead of @code{gnus-post-method}.
+@item mail-source
+@cindex mail-source
+If it is set, and the setting of @code{mail-sources} includes a
+@code{group} mail source (@pxref{Mail Sources}), the value is a
+mail source for this group.
+
@item banner
@cindex banner
An item like @code{(banner . @var{regexp})} causes any part of an article
@@ -14156,6 +14162,21 @@
@dfn{keywords}. Keywords that are not explicitly specified are given
default values.
+The @code{mail-sources} is global for all mail groups. You can specify
+an additional mail source for a particular group by including the
+@code{group} mail specifier in @code{mail-sources}, and setting a
+@code{mail-source} group parameter (@pxref{Group Parameters}) specifying
+a single mail source. When this is used, @code{mail-sources} is
+typically just @code{(group)}; the @code{mail-source} parameter for a
+group might look like this:
+
+@lisp
+(mail-source . (file :path "home/user/spools/foo.spool"))
+@end lisp
+
+This means that the group's (and only this group's) messages will be
+fetched from the spool file @samp{/user/spools/foo.spool}.
+
The following mail source types are available:
@table @code
@@ -14546,6 +14567,11 @@
:user "user-name"
:password "secret")
@end lisp
+
+@item group
+Get the actual mail source from the @code{mail-source} group parameter,
+@xref{Group Parameters}.
+
@end table
@table @dfn
next prev parent reply other threads:[~2008-01-16 7:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-01 17:23 Michael Sperber
2008-01-02 19:29 ` Reiner Steib
2008-01-03 6:48 ` Michael Sperber
2008-01-03 12:42 ` Ted Zlatanov
2008-01-03 14:12 ` Michael Sperber
2008-01-03 17:58 ` Ted Zlatanov
2008-01-04 7:24 ` Michael Sperber
2008-01-04 11:59 ` Reiner Steib
2008-01-04 12:28 ` Michael Sperber
2008-01-16 7:20 ` Michael Sperber [this message]
2008-01-24 22:23 ` Reiner Steib
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=y9l8x2qi6ds.fsf@deinprogramm.de \
--to=sperber@deinprogramm.de \
--cc=ding@gnus.org \
/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).