From 3a7069f26b7afdd928009311bbb4635263505364 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Wed, 18 Sep 2002 10:48:05 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 5 +++++ lisp/nnimap.el | 20 ++++++++++---------- texi/ChangeLog | 4 ++++ texi/gnus-ja.texi | 45 +++++++++++++++++++++++++++++++++++++++++++++ texi/gnus.texi | 41 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 105 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bc1595a..dbe93ae 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2002-09-18 Simon Josefsson + + * nnimap.el (nnimap-request-expire-articles): Make flag setting + conditional. From Nevin Kapur . + 2002-09-17 Simon Josefsson * nnimap.el (nnimap-expiry-target): Don't search for which diff --git a/lisp/nnimap.el b/lisp/nnimap.el index 37afe96..3126385 100644 --- a/lisp/nnimap.el +++ b/lisp/nnimap.el @@ -1325,11 +1325,11 @@ function is generally only called when Gnus is shutting down." (concat "UID " (imap-range-to-message-set artseq))))) (when oldarts - (nnimap-expiry-target oldarts group server)) - (when (imap-message-flags-add - (imap-range-to-message-set oldarts) "\\Deleted") - (setq articles (gnus-set-difference - articles oldarts))))) + (nnimap-expiry-target oldarts group server) + (when (imap-message-flags-add + (imap-range-to-message-set oldarts) "\\Deleted") + (setq articles (gnus-set-difference + articles oldarts)))))) ((numberp days) (let ((oldarts (imap-search (format nnimap-expunge-search-string @@ -1338,11 +1338,11 @@ function is generally only called when Gnus is shutting down." (imap-fetch-data-hook '(nnimap-request-expire-articles-progress))) (when oldarts - (nnimap-expiry-target oldarts group server)) - (when (imap-message-flags-add - (imap-range-to-message-set oldarts) "\\Deleted") - (setq articles (gnus-set-difference - articles oldarts)))))))))) + (nnimap-expiry-target oldarts group server) + (when (imap-message-flags-add + (imap-range-to-message-set oldarts) "\\Deleted") + (setq articles (gnus-set-difference + articles oldarts))))))))))) ;; return articles not deleted articles) diff --git a/texi/ChangeLog b/texi/ChangeLog index 7a50ee1..70c266a 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +2002-09-18 Simon Josefsson + + * gnus.texi (A note on namespaces): New. + 2002-09-16 Kai Gro,A_(Bjohann * gnus.texi (Splitting Mail): "By default, splitting is performed diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index f69b22c..5873f8c 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -813,6 +813,7 @@ Browsing the Web * Editing IMAP ACLs:: $B%a!<%k%\%C%/%9$X$NB>$NMxMQA06u4V$r;H$&(B($B;H$o$J$$(B)$BJ}K!(B Other Sources @@ -14756,6 +14757,7 @@ nnimap $B$K5-;v$NFbItE*$JF|IU$NBe$o$j$K(B Date: $B$r;H$&$h$&$K$5$;$^$9!#$5$i$ * Editing IMAP ACLs:: $B%a!<%k%\%C%/%9$X$NB>$NMxMQA06u4V$r;H$&(B($B;H$o$J$$(B)$BJ}K!(B @end menu @node Splitting in IMAP @@ -14956,6 +14958,49 @@ ACL $B$O(B Access Control List ($B;HMQ@)8B0lMw(B) $B$NN,$G$9!#(B@sc{imap} $B8=;~E@$G$O!">C5n$5$l$?5-;v$rI=<($9$kJ}K!$O$"$j$^$;$s!#$?$@>C5n$G$-$k$@$1(B $B$G$9!#(B +@node A note on namespaces +@subsection $BL>A06u4V$K4X$9$kCm0U(B +@cindex IMAP namespace +@cindex namespaces + +IMAP $B%W%m%H%3%k$K$OL>A06u4V(B (namespaces) $B$H8F$P$l$k35G0$,$"$j!"0J2<(B +$B$N(B RFC2060 $B$NJ8=q$G5-=R$5$l$F$$$^$9!#(B + +@example +5.1.2. $B%a!<%k%\%C%/%9L>A06u4VL?L>5,B'(B + + $B=,47$K$h$j(B "#" $B$G;O$^$C$F$$$k$9$Y$F$N%a!<%k%\%C%/%9L>$N:G=i$N3,AXMWAG(B + $B$O!";D$j$NL>A0$N(B "$BL>A06u4V(B" $B$r<($7$F$$$k!#$3$l$O!"$=$l$>$lFH<+$NL>A0(B + $B6u4V$r;}$D0[$J$k%a!<%k%\%C%/%9J]4I$N4V$G$N!"[#Kf$5$rA06u4V$rB>$N%a!<%k%\%C%/%9$+$iJ,N%$9$k$?$a$K!"(B + "#news" $BL>A06u4V$rMQ$$$F$b$h$$!#$3$&$7$F(B comp.mail.misc $B%K%e!<%9%0(B + $B%k!<%W$O(B "#news.comp.mail.misc" $B$H$$$&%a!<%k%\%C%/%9L>$r;}$A!"L>A0(B + "comp.mail.misc" $B$OJL$N%*%V%8%'%/%H(B ($BNc$($P!"%f!<%6$N8D?M%a!<%k%\%C(B + $B%/%9(B) $B$r;X$9$3$H$O$"$j$&$k!#(B + +($BLuCp(B: http://kame.zit.to/~obata/imap/rfc/rfc2060ja.txt $B$h$jE>:\(B) +@end example + +$B$3$3$K$O(B gnus $B$K$*$1$k(B IMAP $B$NZ$9$kJ8=q$,L5$$$N$G$9(B +$B$,!"$$$/$D$+$N%5!<%P!<$O(B gnus $B$N%a!<%k%\%C%/%9$NL>A0$N;H$$J}$G$OF0:n$7$J(B +$B$$$d$jJ}$GL>A06u4V@\F,<-$r;H$C$F$$$^$9!#(B + +$B6qBNE*$K$O!"%o%7%s%H%sBg3X$N(B IMAP $B%5!<%P!<(B +$B$O(B @code{#driver.mbx/read-mail} $B$N$h$&$J%a!<%k%\%C%/%9L>$r;H$C$F$$$F!"$=(B +$B$l$O(B @sc{create} $B$H(B @sc{append} $B%3%^%s%I$G$@$1M-8z$G$9!#%a!<%k%\%C%/%9$,(B +$B:n$i$l$?8e(B ($B$^$?$O%a%C%;!<%8$,%a!<%k%\%C%/%9$KDI2C$5$l$?8e(B) $B$G$O!"$=$l$O(B +$BL>A06u4V@\F,<-$rIU$1$:$K%"%/%;%9!"$9$J$o$A(B @code{read-mail} $B$5$l$J$1$l$P(B +$B$J$j$^$;$s!#(Bgnus $B$O%f!<%6!<$,(B CREATE $B$H(B APPEND $B%3%^%s%I$@$1$GF~NO$7$?%a!<(B +$B%k%\%C%/%9L>$rJ]>Z$G$-$J$$$N$G!"@dBP$KL>A06u4V@\F,<-$,IU$$$?%a!<%k%\%C%/(B +$B%9L>$r(B gnus $B$G;H$C$F$O$$$1$^$;$s!#(B + +@code{#driver.*/} $B@\F,<-$K$D$$$F$N$5$i$J$k;H$$J}$N>pJs(B +$B$O(B UoW @sc{imapd} $B$NJ8=q$r8+$F2<$5$$!#$=$l$i$O6/NO$J9)6q$J$N$G!"$I$s$J8z(B +$B2L$,$"$k$+$,3N$+$J>l9g$@$1;H$C$F2<$5$$!#(B + @node Other Sources @section $B$=$NB>$N%0%k!<%W8;(B diff --git a/texi/gnus.texi b/texi/gnus.texi index b37e119..272ff2b 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -717,6 +717,7 @@ Browsing the Web * Splitting in IMAP:: Splitting mail with nnimap. * Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox. * Expunging mailboxes:: Equivalent of a "compress mailbox" button. +* A note on namespaces:: How to (not) use IMAP namespace in Gnus. Other Sources @@ -15169,6 +15170,7 @@ variable @code{nntp-authinfo-file} for exact syntax; also see * Splitting in IMAP:: Splitting mail with nnimap. * Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox. * Expunging mailboxes:: Equivalent of a "compress mailbox" button. +* A note on namespaces:: How to (not) use IMAP namespace in Gnus. @end menu @@ -15378,7 +15380,46 @@ manually. This is exactly what @kbd{G x} does. Currently there is no way of showing deleted articles, you can just delete them. +@node A note on namespaces +@subsection A note on namespaces +@cindex IMAP namespace +@cindex namespaces +The IMAP protocol has a concept called namespaces, described by the +following text in the RFC: + +@example +5.1.2. Mailbox Namespace Naming Convention + + By convention, the first hierarchical element of any mailbox name + which begins with "#" identifies the "namespace" of the remainder of + the name. This makes it possible to disambiguate between different + types of mailbox stores, each of which have their own namespaces. + + For example, implementations which offer access to USENET + newsgroups MAY use the "#news" namespace to partition the USENET + newsgroup namespace from that of other mailboxes. Thus, the + comp.mail.misc newsgroup would have an mailbox name of + "#news.comp.mail.misc", and the name "comp.mail.misc" could refer + to a different object (e.g. a user's private mailbox). +@end example + +While there is nothing in this text that warrants concern for the IMAP +implementation in Gnus, some servers use namespace prefixes in a way +that does not work with how Gnus uses mailbox names. + +Specifically, University of Washington's IMAP server uses mailbox +names like @code{#driver.mbx/read-mail} which are valid only in the +@sc{create} and @sc{append} commands. After the mailbox is created +(or a messages is appended to a mailbox), it must be accessed without +the namespace prefix, i.e @code{read-mail}. Since Gnus do not make it +possible for the user to guarantee that user entered mailbox names +will only be used with the CREATE and APPEND commands, you should +simply not use the namespace prefixed mailbox names in Gnus. + +See the UoW @sc{imapd} documentation for the @code{#driver.*/} prefix +for more information on how to use the prefixes. They are a power +tool and should be used only if you are sure what the effects are. @node Other Sources @section Other Sources -- 1.7.10.4