(defcustom gnus-nocem-liberal-fetch nil
"*If t try to fetch all messages which have @@NCM in the subject.
Otherwise don't fetch messages which have references or whose message-id
-matches an previously scanned and verified nocem message."
+matches a previously scanned and verified nocem message."
:group 'gnus-nocem
:type 'boolean)
the end of an article.
If nil, the marking commands do NOT go to the next unread article
-(they go to the next article instead). If `never', commands that
+\(they go to the next article instead). If `never', commands that
usually go to the next unread article, will go to the next article,
whether it is read or not."
:group 'gnus-summary-marks
(when message-auto-save-directory
(unless (file-directory-p
(directory-file-name message-auto-save-directory))
- (gnus-make-directory message-auto-save-directory))
+ (make-directory message-auto-save-directory t))
(if (gnus-alive-p)
(setq message-draft-article
(nndraft-request-associate-buffer "drafts"))
"Update the unseen count in `nnimap-mailbox-info'."
(gnus-sethash
(gnus-group-prefixed-name group server)
- (let ((old (gnus-gethash-safe (gnus-group-prefixed-name group server)
+ (let ((old (gnus-gethash-safe (gnus-group-prefixed-name group server)
nnimap-mailbox-info)))
(list (nth 0 old) (nth 1 old)
(imap-mailbox-status group 'unseen nnimap-server-buffer)
'asyncgroups
'slowgroups)
(list group (imap-mailbox-status-asynch
- group '(uidvalidity uidnext unseen)
+ group '(uidvalidity uidnext unseen)
nnimap-server-buffer))))
(dolist (asyncgroup asyncgroups)
(let ((group (nth 0 asyncgroup))
(nth 0 (gnus-gethash (gnus-group-prefixed-name
group server)
nnimap-mailbox-info))
- (imap-mailbox-get 'uidvalidity group
+ (imap-mailbox-get 'uidvalidity group
nnimap-server-buffer)))
(not (string=
(nth 1 (gnus-gethash (gnus-group-prefixed-name
nnmail-expiry-wait)))
(cond ((or force (eq days 'immediate))
(let ((oldarts (imap-search
- (concat "UID "
+ (concat "UID "
(imap-range-to-message-set artseq)))))
(when oldarts
(nnimap-expiry-target oldarts group server)
(nnimap-expiry-target oldarts group server)
(when (imap-message-flags-add
(imap-range-to-message-set oldarts) "\\Deleted")
- (setq articles (gnus-set-difference
+ (setq articles (gnus-set-difference
articles oldarts)))))))))))
;; return articles not deleted
articles)
;;;
(defun nnlistserv-kk-create-mapping ()
- "Perform the search and create an number-to-url alist."
+ "Perform the search and create a number-to-url alist."
(save-excursion
(set-buffer nnweb-buffer)
(let ((case-fold-search t)
(caar map))))
(defun nnweb-google-create-mapping ()
- "Perform the search and create an number-to-url alist."
+ "Perform the search and create a number-to-url alist."
(save-excursion
(set-buffer nnweb-buffer)
(erase-buffer)
+2002-11-17 Simon Josefsson <jas@extundo.com>
+
+ * gnus.texi (Expiring in IMAP): Add.
+ (Group Parameters): Add reference.
+
2002-10-24 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus.texi (RSS): Add gnus-summary-mark-as-read-forward into the
@sc{imap}
* Splitting in IMAP:: nnimap \e$B$G%a!<%k$rJ,3d$9$k\e(B
+* Expiring in IMAP:: nnimap \e$B$K$h$k%a!<%k$N4|8B@Z$l>C5n\e(B
* Editing IMAP ACLs:: \e$B%a!<%k%\%C%/%9$X$NB>$NMxMQ<T$N;HMQ$r@)8B\e(B
/\e$B5v2D$9$k\e(B
* Expunging mailboxes:: "\e$B%a!<%k%\%C%/%905=L\e(B" \e$B%\%?%s$HEy2A$J$b$N\e(B
\e$B%0%k!<%W%Q%i%a!<%?$K\e(B @code{(expiry-wait . 10)} \e$B$N$h$&$JMWAG$,$"$l$P!"$3\e(B
\e$B$NCM$O5-;v$r;~8B>C5n$9$k$H$-\e(B
\e$B$K\e(B @code{nnmail-expiry-wait} \e$B$H\e(B @code{nnmail-expiry-wait-function} \e$B$N@_\e(B
-\e$BDj$h$j$bM%@h$5$l$^$9!#$3$NCM$O;~8B>C5n$NF|?t\e(B (\e$B@0?t$G$"$kI,MW$O$J$$\e(B) \e$B$+$b\e(B
-\e$B$7$/$O\e(B @code{never} \e$B$+\e(B @code{immediate} \e$B$N%7%s%\%k$r;XDj$G$-$^$9!#\e(B
+\e$BDj\e(B (@pxref{Expiring Mail}) \e$B$h$j$bM%@h$5$l$^$9!#$3$NCM$O;~8B>C5n$NF|\e(B
+\e$B?t\e(B (\e$B@0?t$G$"$kI,MW$O$J$$\e(B) \e$B$+$b$7$/$O\e(B @code{never} \e$B$+\e(B @code{immediate} \e$B$N\e(B
+\e$B%7%s%\%k$r;XDj$G$-$^$9!#\e(B
@item score-file
@cindex score file group parameter
@menu
* Splitting in IMAP:: nnimap \e$B$G%a!<%k$rJ,3d$9$k\e(B
+* Expiring in IMAP:: nnimap \e$B$K$h$k%a!<%k$N4|8B@Z$l>C5n\e(B
* Editing IMAP ACLs:: \e$B%a!<%k%\%C%/%9$X$NB>$NMxMQ<T$N;HMQ$r@)8B\e(B
/\e$B5v2D$9$k\e(B
* Expunging mailboxes:: "\e$B%a!<%k%\%C%/%905=L\e(B" \e$B%\%?%s$HEy2A$J$b$N\e(B
Nnmail \e$B$GBP1~$9$k$b$N\e(B: @code{nnmail-split-fancy}.
@end table
+@node Expiring in IMAP
+@subsection IMAP \e$B$G$N4|8B@Z$l>C5n\e(B
+@cindex expiring imap mail
+
+@sc{nnimap} \e$B$O40A4$J\e(B @sc{nnmail} \e$BM3Mh$N%P%C%/%(%s%I$G$O$"$j$^$;$s$,!"$?\e(B
+\e$B$$$F$$$N4|8B@Z$l>C5n\e(B (@pxref{Expiring Mail}) \e$B$NI8=`5!G=$r%5%]!<%H$7$^$9!#\e(B
+IMAP \e$B$NJ,3d\e(B (@pxref{Splitting in IMAP}) \e$B$G$O\e(B @sc{nnmail} \e$B$NJQ?t$rJ#@=$7\e(B
+\e$B$J$$\e(B (\e$BNc$($P\e(B @var{nnimap-expiry-wait} \e$B$r@8@.$7$J$$\e(B) \e$BE@$,0c$&$N$G$9$,!"\e(B
+@sc{nnmail} \e$B$NJQ?t$rN.MQ$7$^$9!#0J2<$O\e(B @sc{nnimap} \e$B$N4|8B@Z$l>C5n=hM}$G\e(B
+\e$B;H$o$l$kJQ?t$H!";HMQJ}K!$K4XO"$7$?Cm<a$G$9!#\e(B
+
+\e$B4|8B@Z$l>C5n$N0u$,$I$N$h$&$KE,@Z$K\e(B @sc{imap} \e$B%5!<%P!<$K5-O?$5$l$k$+$K$D\e(B
+\e$B$$$F$b$3$3$G8@5Z$7$F$*$-$^$7$g$&!#4|8B@Z$l>C5n$N0u$O\e(B @sc{imap} \e$B%/%i%$%"\e(B
+\e$B%s%HFCM-$N0u$G$"$k\e(B @code{gnus-expire} \e$B$KJQ49$5$l!"%a%C%;!<%8$K5-O?$5$l$^\e(B
+\e$B$9!#$3$l$O!"B>$N%/%i%$%"%s%H$O%a%C%;!<%8$N%/%i%$%"%s%HFCM-$N%U%i%0$r8+$k\e(B
+\e$B$+$b$7$l$J$$$N$KBP$7$F!"\e(BGnus \e$B$O$?$V$s\e(B @code{gnus-expire} \e$B$N0u$rE,@Z$K07\e(B
+\e$B$$M}2r$9$k$@$1$G$"$k$3$H$r0UL#$7$^$9!#$^$?$3$l$O%5!<%P!<$,!"%/%i%$%"%s%H\e(B
+\e$BFCM-$N%U%i%0$N%a%C%;!<%8$X$N915WE*$JJ]B8$r%5%]!<%H$7$J$1$l$P$J$i$J$$$3$H\e(B
+\e$B$b0UL#$7$^$9!#9,$$$K!"$?$$$F$$$O%5%]!<%H$7$^$9!#\e(B
+
+@table @code
+@item nnmail-expiry-wait
+@item nnmail-expiry-wait-function
+
+\e$B$3$l$i$NJQ?t$O40A4$K%5%]!<%H$5$l$F$$$^$9!#4|8B@Z$l>C5n$NCM$O!"?t!"%7%s%\\e(B
+\e$B%k$N\e(B @var{immediate} \e$B$^$?$O\e(B @var{never} \e$B$G$9!#\e(B
+
+@item nnmail-expiry-target
+
+\e$B$3$NJQ?t$O%5%]!<%H$5$l$F$$$F!"FbItE*$K$O$3$l$r07$&\e(B @sc{nnmail} \e$B4X?t$r8F\e(B
+\e$B$V$3$H$K$h$C$F<BAu$5$l$F$$$^$9!#$b$79T$-@h$,F1$8%5!<%P!<$N\e(B IMAP \e$B%0%k!<%W\e(B
+\e$B$@$C$?$i!"5-;v$ODI2C$5$l$kBe$o$j$K%3%T!<$5$l$k\e(B (\e$B%"%C%W%m!<%I$7D>$5$l\e(B
+\e$B$k\e(B) \e$B$H$$$&:GE,2=$b4^$_$^$9!#\e(B
+@end table
+
@node Editing IMAP ACLs
@subsection IMAP \e$B$N\e(B ACL \e$B$rJT=8$9$k!#\e(B
@cindex editing imap acls
@sc{imap}
* Splitting in IMAP:: Splitting mail with nnimap.
+* Expiring in IMAP:: Expiring 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.
@item expiry-wait
@cindex expiry-wait
@vindex nnmail-expiry-wait-function
-If the group parameter has an element that looks like @code{(expiry-wait
-. 10)}, this value will override any @code{nnmail-expiry-wait} and
-@code{nnmail-expiry-wait-function} when expiring expirable messages.
-The value can either be a number of days (not necessarily an integer) or
-the symbols @code{never} or @code{immediate}.
+If the group parameter has an element that looks like
+@code{(expiry-wait . 10)}, this value will override any
+@code{nnmail-expiry-wait} and @code{nnmail-expiry-wait-function}
+(@pxref{Expiring Mail}) when expiring expirable messages. The value
+can either be a number of days (not necessarily an integer) or the
+symbols @code{never} or @code{immediate}.
@item score-file
@cindex score file group parameter
@menu
* Splitting in IMAP:: Splitting mail with nnimap.
+* Expiring in IMAP:: Expiring 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 table
+@node Expiring in IMAP
+@subsection Expiring in IMAP
+@cindex expiring imap mail
+
+Even though @sc{nnimap} is not a proper @sc{nnmail} derived backend,
+it supports most features in regular expiring (@pxref{Expiring Mail}).
+Unlike splitting in IMAP (@pxref{Splitting in IMAP}) it do not clone
+the @sc{nnmail} variables (i.e., creating @var{nnimap-expiry-wait})
+but reuse the @sc{nnmail} variables. What follows below are the
+variables used by the @sc{nnimap} expiry process and any related notes
+on their usage.
+
+A note on how the expire mark is stored on the @sc{imap} server is
+appropriate here as well. The expire mark is translated into a
+@sc{imap} client specific mark @code{gnus-expire} and store on the
+message. This means that only likely only Gnus will understand and
+treat the @code{gnus-expire} mark properly, although other clients may
+allow to view client specific flags on a message. It also means that
+your server must support the permanent storage of client specific
+flags on messages. Most do, fortunately.
+
+@table @code
+
+@item nnmail-expiry-wait
+@item nnmail-expiry-wait-function
+
+These variables are fully supported. The expire value can be a
+number, the symbol @var{immediate} or @var{never}.
+
+@item nnmail-expiry-target
+
+This variable is supported, and internally implemented by calling the
+@sc{nnmail} functions that handle this. It contains an optimization
+that if the destination is a IMAP group on the same server, the
+article is copied instead of appended (that is, uploaded again).
+
+@end table
+
@node Editing IMAP ACLs
@subsection Editing IMAP ACLs
@cindex editing imap acls