From: yamaoka Date: Fri, 6 Jun 2008 01:10:32 +0000 (+0000) Subject: (Searching): Translating... X-Git-Tag: ngnus-0_11-doc-ja~164 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95b0550ebd9efe2c9edfb2ed139c61a19d282c96;p=elisp%2Fgnus-doc-ja.git (Searching): Translating... --- diff --git a/gnus-ja.texi b/gnus-ja.texi index 28c4fe5..afd2205 100644 --- a/gnus-ja.texi +++ b/gnus-ja.texi @@ -479,6 +479,7 @@ Group Buffer * Exiting Gnus:: $B%K%e!<%9$rFI$`$N$r$d$a$F!";E;v$r$7$h$&(B * Group Topics:: $B%0%k!<%W$r@Z$j:.$<$F!"%H%T%C%/$4$H$KJ,3d$9$k(B * Non-ASCII Group Names:: $B1Q;z0J30$NL>A0$N%0%k!<%W$X$N%"%/%;%9(B +* Searching:: $B%a!<%k$N8!:w%(%s%8%s(B * Misc Group Stuff:: $BB>$K$G$-$k$3$H(B Group Buffer Format @@ -1734,6 +1735,7 @@ Maintenance})$B!#(B * Exiting Gnus:: $B%K%e!<%9FI$`$N$r$d$a$F!";E;v$r$7$h$&(B * Group Topics:: $B%0%k!<%W$r@Z$j:.$<$F!"%H%T%C%/$4$H$KJ,3d$9$k(B * Non-ASCII Group Names:: $B1Q;z0J30$NL>A0$N%0%k!<%W$X$N%"%/%;%9(B +* Searching:: $B%a!<%k$N8!:w%(%s%8%s(B * Misc Group Stuff:: $BB>$K$G$-$k$3$H(B @end menu @@ -3125,8 +3127,8 @@ form $B$N(B @code{nil} $B$O$=$3$G(B @code{eval} ($BI>2A(B) $B$5$l$^$9!#( $B$K:n$i$l$?%a%C%;!<%8$N(B) $B%a%C%;!<%8%P%C%U%!!<$GI>2A$5$l$^$9!#Be$o$j$K!"Ld(B $BBj$NJQ?t$r(B @code{gnus-newsgroup-variables} $B$K2C$($k$3$H$,=u$1$K$J$k$+$b(B $B$7$l$^$;$s!#$7$?$,$C$F!"%0%k!<%W%Q%i%a!<%?!<$r2p$7(B -$B$F(B @code{message-from-style} $B$r@_Dj$7$?$$$J$i$P!"(B@file{~/.gnus} $B%U%!%$%k(B -$B$N$I$3$+B>$N$H$3$m$K!"$N$H$3$m$K!"$N8!:w%D!<%k$[$I$K$O(B mairix $B$OM;DL$,$-$+$J$$$+$b$7$l$^$;$s$,!"$=$l(B +$B$K$O?.$8$i$l$J$$$[$IB.$$$H$$$&$9$P$i$7$$FCD9$,$"$j$^$9!#8=:_$N%7%9%F%`$G(B +$B$O(B 1$BIC$G2?@iDL$b$N%a!<%k$N%X%C%@!<$H5-;v$N%\%G%#!<$N6y!9$^$G$rMF0W$KA\$9(B +$B$3$H$,$G$-$^$9!#8!:w$9$k$?$a$KI,MW$J%G!<%?%Y!<%9$N9=C[$K$O(B 1$B!A(B2$BJ,$+$+$k(B +$B$+$b$7$l$^$;$s$,!"0lEY$=$l$r40A4$K9T$J$($PNI$$$N$G$9!#$=$l0J8e!"99?7$O%$(B +$B%s%/%j%a%s%?%k$K9T$J$o$l$k$3$H$b$"$C$F!"K\Ev$KB.$$$N$G$9!#IU$12C$($F$*$/(B +$B$H!"(Bmairix $B$N@_Dj$O$H$F$b$d$5$7$$$G$9!#(B + +$B$7$+$7:G9bB.$N$?$a$K$O(B mairix $B$O(B @code{Maildir} $B$^$?$O(B @code{MH} $B$N7A(B +$B<0(B ($B$3$l$O(B @code{nnml} $B%P%C%/%(%s%I$r4^$_$^$9(B) $B$G3JG<$5$l$?%a!<%k$G;H$o(B +$B$J$1$l$P$J$j$^$;$s!#$b$C$H$b(B mbox $B$G$bF0:n$9$k$N$G$9$,!#(BMairix $B$OA[!W$N(B maildir/MH $B%U%)(B +$B%k%@!<$KCV$/$3$H$K$h$C$F8!:w7k2L$rDs<($7$^$9(B (mbox $B$r;H$C$F$$$k>l9g$O%3(B +$B%T!<$,:n$i$l$^$9(B)$B!#(BMairix $B$O$=$N$h$&$J2>A[%U%)%k%@!<$K$9$G$K8!:w7k2L$rDs(B +$B<($7$F$$$k$N$G!"$"$k%a!<%k8!:w$N7k2L$rDs<($9$k!V8-$$!W%a!<%k!&%U%)%k%@!<(B +$B$r:n@.$9$k$?$a$K30It$N%W%m%0%i%`$H$7$F;HMQ$9$k$N$KHs>o$K$h$/E,$7$F$$$^$9!#(B +$B$3$l$O(B Kiboze $B%0%k!<%W(B (@pxref{Kibozed Groups}) $B$K;w$F$$$^$9$,!"$O$k$+$K(B +$BB.$$$G$9!#(B + +@node nnmairix requirements +@subsubsection nnmairix requirements + +Mairix $B$O%m!<%+%k$J%a!<%k$r8!:w$7$^$9(B - $B$D$^$j(B mairix $B$O%a!<%k!&%U%)%k%@!<(B +$B$rI,$:D>@\$K%"%/%;%9$G$-$J$1$l$P$J$j$^$;$s!#$b$7%a!<%k$,JL$N%5!<%P!<(B ($BNc(B +$B$($P(B @acronym{IMAP} $B%5!<%P!<$K$"$C$F!"$?$^$?$^(B shell $B$G%"%/%;%9$9$k$3$H(B +$B$,$G$-$k$N$J$i$P!"(B@code{nnmairix} $B$ONc$($P(B ssh $B$r2p$7$F(B mairix $B$r1s3V$G(B +$BF0:n$5$;$k$3$H$b$G$-$^$9!#(B + +$B2C$($F!"(B@code{nnmairix} $B$O(B Gnus $B$N%P%C%/%(%s%I(B @code{nnml}$B!"(B +@code{nnmaildir} $B$*$h$S(B @code{nnimap} $B$@$1$r%5%]!<%H$7$^$9!#(B +@code{nnmairix} $B$r;H$&$K$O!"(B@strong{$BI,$:(B}$B$3$l$i$N%P%C%/%(%s%I$N0l$D$r;H(B +$B$o$J$1$l$P$J$j$^$;$s!#(B@code{nnmbox}$B!"(B@code{nnfolder} $B$^$?(B +$B$O(B @code{nnmh} $B$N$h$&$JB>$N%P%C%/%(%s%I$G$OF0:n$7$J$$$G$7$g$&!#(B + +$B$b$7$I$&$7$F$b(B mbox $B$r;H$o$J$1$l$P$J$i$J$/$F!"$=$l$G(B +$B$b(B @code{nnmairix} $B$r;H$$$?$$$N$J$i$P!"%m!<%+%k$J(B @acronym{IMAP} $B%5!<%P!<(B +$B$rN)$A>e$2$k$3$H$K$h$C$F(B @code{nnimap} $B$r2p$7$F%"%/%;%9$9$k$3$H$,$G$-$^(B +$B$9!#$3$l$O$$$/$D$+$N(B mbox $B%U%!%$%k$K%"%/%;%9$9$k$?$a$H$7$F$O$+$J$jBg5,LO(B +$B$J:n6H$K$J$k$N$G!"$b$&(B MH $B$+(B Maildir $B$KC1$KJQ$($^$7$g$&!#(B + +@c TRANSLATEME +@node What nnmairix does +@subsubsection What nnmairix does + +The back end @code{nnmairix} enables you to call mairix from within Gnus, +either to query mairix with a search term or to update the +database. While visiting a message in the summary buffer, you can use +several pre-defined shortcuts for calling mairix, e.g. to quickly +search for all mails from the sender of the current message or to +display the whole thread associated with the message, even if the +mails are in different folders. + +Additionally, you can create permanent @code{nnmairix} groups which are bound +to certain mairix searches. This way, you can easily create a group +containing mails from a certain sender, with a certain subject line or +even for one specific thread based on the Message-ID. If you check for +new mail in these folders (e.g. by pressing @kbd{g} or @kbd{M-g}), they +automatically update themselves by calling mairix. + +You might ask why you need @code{nnmairix} at all, since mairix already +creates the group, populates it with links to the mails so that you can +then access it with Gnus, right? Well, this @emph{might} work, but often +does not - at least not without problems. Most probably you will get +strange article counts, and sometimes you might see mails which Gnus +claims have already been canceled and are inaccessible. This is due to +the fact that Gnus isn't really amused when things are happening behind +its back. Another problem can be the mail back end itself, e.g. if you +use mairix with an @acronym{IMAP} server (I had Dovecot complaining +about corrupt index files when mairix changed the contents of the search +group). Using @code{nnmairix} should circumvent these problems. + +@code{nnmairix} is not really a mail back end - it's actually more like a +wrapper, sitting between a ``real'' mail back end where mairix stores the +searches and the Gnus front end. You can choose between three different +mail back ends for the mairix folders: @code{nnml}, @code{nnmaildir} or +@code{nnimap}. @code{nnmairix} will call the mairix binary so that the +search results are stored in folders named +@code{zz_mairix--} on this mail back end, but it will +present these folders in the Gnus front end only with @code{}. You +can use an existing mail back end where you already store your mail, but +if you're uncomfortable with @code{nnmairix} creating new mail groups +alongside your other mail, you can also create e.g. a new +@code{nnmaildir} server exclusively for mairix. However, a special case +exists if you want to use mairix remotely on an IMAP server with +@code{nnimap} - here the mairix folders and your other mail must be on +the same @code{nnimap} back end. + +@node Setting up mairix +@subsubsection Setting up mairix + +First: create a backup of your mail folders (@pxref{nnmairix caveats}). + +Setting up mairix is easy: simply create a @file{.mairixrc} file with +(at least) the following entries: + +@example +# Your Maildir/MH base folder +base=~/Maildir +@end example + +This is the base folder for your mails. All the following paths are +relative to this base folder. If you want to use @code{nnmairix} with +@code{nnimap}, this base path has to point to the mail path where the +@acronym{IMAP} server stores the mail folders! + +@c FIXME: Add typical examples? +@example +maildir= ... your maildir folders which should be indexed ... +mh= ... your nnml/mh folders which should be indexed ... +mbox = ... your mbox files which should be indexed ... +@end example + +Specify all your maildir/nnml folders and mbox files (relative to the +base path!) you want to index with mairix. See the man-page for +mairixrc for details. + +@example +omit=zz_mairix-* +@end example + +@vindex nnmairix-group-prefix +This should make sure that you don't accidentally index the mairix +search results. You can change the prefix of these folders with the +variable @code{nnmairix-group-prefix}. + +@c FIXME: Add typical examples? +@example +mformat= ... 'maildir' or 'mh' ... +database= ... location of database file ... +@end example + +The @code{format} setting specifies the output format for the mairix +search folder. Set this to @code{mh} if you want to access search results +with @code{nnml}. Otherwise choose @code{maildir}. + +See the man pages for mairix and mairixrc for further options. Now +simply call @code{mairix} to create the index for the first time. + +@node Configuring nnmairix +@subsubsection Configuring nnmairix + +In group mode, type @kbd{G b c} +(@code{nnmairix-create-server-and-default-group}). This will ask you for all +necessary information and create a @code{nnmairix} server as a foreign +server. You will have to specify the following: + +@itemize @bullet + +@item +The @strong{name} of the @code{nnmairix} server - choose whatever you +want. + +@item +The @strong{mail back end} where mairix should stores its +searches. Currently @code{nnmaildir}, @code{nnimap} and @code{nnml} are +supported. As explained above, for locally stored mails, this can be an +existing mail back end where you store your mails. However, you can also +create e.g. a new @code{nnmaildir} server exclusively for +@code{nnmairix} in your secondary select methods (@pxref{Finding the +News}). If you want to use mairix remotely on an @acronym{IMAP} server, +you have to choose the corresponding @code{nnimap} back end here. + +@item +@vindex nnmairix-mairix-search-options +The @strong{command} to call the mairix binary. This will usually just +be @code{mairix}, but you can also choose something like @code{ssh +SERVER mairix} if you want to call mairix remotely, e.g. on your +@acronym{IMAP} server. If you want to add some default options to +mairix, you could do this here, but better use the variable +@code{nnmairix-mairix-search-options} instead. + +@item +The name of the @strong{default search group}. This will be the group +where all temporary mairix searches are stored, i.e. all searches which +are not bound to permanent @code{nnmairix} groups. Choose whatever you +like. + +@item +If the mail back end is @code{nnimap} or @code{nnmaildir}, you will be +asked if you work with @strong{Maildir++}, i.e. with hidden maildir +folders (=beginning with a dot). For example, you have to answer +@samp{yes} here if you work with the Dovecot @acronym{IMAP} +server. Otherwise, you should answer @samp{no} here. + +@end itemize + +@node nnmairix keyboard shortcuts +@subsubsection nnmairix keyboard shortcuts + +In group mode: + +@table @kbd + +@item G b c +@kindex G b c (Group) +@findex nnmairix-create-server-and-default-group +Creates @code{nnmairix} server and default search group for this server +(@code{nnmairix-create-server-and-default-group}). You should have done +this by now (@pxref{Configuring nnmairix}). + +@item G b s +@kindex G b s (Group) +@findex nnmairix-search +Prompts for query which is then sent to the mairix binary. Search +results are put into the default search group which is automatically +displayed (@code{nnmairix-search}). + +@item G b m +@kindex G b m (Group) +@findex nnmairix-widget-search +Allows you to create a mairix search or a permanent group more +comfortably using graphical widgets, similar to a customization +group. Just try it to see how it works (@code{nnmairix-widget-search}). + +@item G b i +@kindex G b i (Group) +@findex nnmairix-search-interactive +Another command for creating a mairix query more comfortably, but uses +only the minibuffer (@code{nnmairix-search-interactive}). + +@item G b g +@kindex G b g (Group) +@findex nnmairix-create-search-group +Creates a permanent group which is associated with a search query +(@code{nnmairix-create-search-group}). The @code{nnmairix} back end +automatically calls mairix when you update this group with @kbd{g} or +@kbd{M-g}. + +@item G b q +@kindex G b q (Group) +@findex nnmairix-group-change-query-this-group +Changes the search query for the @code{nnmairix} group under cursor +(@code{nnmairix-group-change-query-this-group}). + +@item G b t +@kindex G b t (Group) +@findex nnmairix-group-toggle-threads-this-group +Toggles the 'threads' parameter for the @code{nnmairix} group under cursor, +i.e. if you want see the whole threads of the found messages +(@code{nnmairix-group-toggle-threads-this-group}). + +@item G b u +@kindex G b u (Group) +@findex nnmairix-update-database +@vindex nnmairix-mairix-update-options +Calls mairix binary for updating the database +(@code{nnmairix-update-database}). The default parameters are @code{-F} +and @code{-Q} for making this as fast as possible (see variable +@code{nnmairix-mairix-update-options} for defining these default +options). + +@item G b r +@kindex G b r (Group) +@findex nnmairix-group-toggle-readmarks-this-group +Keep articles in this @code{nnmairix} group always read or unread, or leave the +marks unchanged (@code{nnmairix-group-toggle-readmarks-this-group}). + +@item G b d +@kindex G b d (Group) +@findex nnmairix-group-delete-recreate-this-group +Recreate @code{nnmairix} group on the ``real'' mail back end +(@code{nnmairix-group-delete-recreate-this-group}). You can do this if +you always get wrong article counts with a @code{nnmairix} group. + +@item G b a +@kindex G b a (Group) +@findex nnmairix-group-toggle-allowfast-this-group +Toggles the @code{allow-fast} parameters for group under cursor +(@code{nnmairix-group-toggle-allowfast-this-group}). The default +behavior of @code{nnmairix} is to do a mairix search every time you +update or enter the group. With the @code{allow-fast} parameter set, +mairix will only be called when you explicitly update the group, but not +upon entering. This makes entering the group faster, but it may also +lead to dangling symlinks if something changed between updating and +entering the group which is not yet in the mairix database. + +@item G b p +@kindex G b p (Group) +@findex nnmairix-group-toggle-propmarks-this-group +Toggle marks propagation for this group +(@code{nnmairix-group-toggle-propmarks-this-group}). (@pxref{Propagating +marks}). + +@item G b o +@kindex G b o (Group) +@findex nnmairix-propagate-marks +Manually propagate marks (@code{nnmairix-propagate-marks}); needed only when +@code{nnmairix-propagate-marks-upon-close} is set to @code{nil}. + +@end table + +In summary mode: + +@table @kbd + +@item $ m +@kindex $ m (Summary) +@findex nnmairix-widget-search-from-this-article +Allows you to create a mairix query or group based on the current +message using graphical widgets (same as @code{nnmairix-widget-search}) +(@code{nnmairix-widget-search-from-this-article}). + +@item $ g +@kindex $ g (Summary) +@findex nnmairix-create-search-group-from-message +Interactively creates a new search group with query based on the current +message, but uses the minibuffer instead of graphical widgets +(@code{nnmairix-create-search-group-from-message}). + +@item $ t +@kindex $ t (Summary) +@findex nnmairix-search-thread-this-article +Searches thread for the current article +(@code{nnmairix-search-thread-this-article}). This is effectively a +shortcut for calling @code{nnmairix-search} with @samp{m:msgid} of the +current article and enabled threads. + +@item $ f +@kindex $ f (Summary) +@findex nnmairix-search-from-this-article +Searches all messages from sender of the current article +(@code{nnmairix-search-from-this-article}). This is a shortcut for +calling @code{nnmairix-search} with @samp{f:From}. + +@item $ o +@kindex $ o (Summary) +@findex nnmairix-goto-original-article +(Only in @code{nnmairix} groups!) Tries determine the group this article +originally came from and displays the article in this group, so that +e.g. replying to this article the correct posting styles/group +parameters are applied (@code{nnmairix-goto-original-article}). This +function will use the registry if available, but can also parse the +article file path as a fallback method. + +@item $ u +@kindex $ u (Summary) +@findex nnmairix-remove-tick-mark-original-article +Remove possibly existing tick mark from original article +(@code{nnmairix-remove-tick-mark-original-article}). (@pxref{nnmairix +tips and tricks}). + +@end table + +@node Propagating marks +@subsubsection Propagating marks + +First of: you really need a patched mairix binary for using the marks +propagation feature efficiently. Otherwise, you would have to update +the mairix database all the time. You can get the patch at + +@uref{http://m61s02.vlinux.de/mairix-maildir-patch.tar} + +You need the mairix v0.21 source code for this patch; everything else +is explained in the accompanied readme file. If you don't want to use +marks propagation, you don't have to apply these patches, but they also +fix some annoyances regarding changing maildir flags, so it might still +be useful to you. + +With the patched mairix binary, you can use @code{nnmairix} as an +alternative to mail splitting (@pxref{Fancy Mail Splitting}). For +example, instead of splitting all mails from @samp{david@@foobar.com} +into a group, you can simply create a search group with the query +@samp{f:david@@foobar.com}. This is actually what ``smart folders'' are +all about: simply put everything in one mail folder and dynamically +create searches instead of splitting. This is more flexible, since you +can dynamically change your folders any time you want to. This also +implies that you will usually read your mails in the @code{nnmairix} +groups instead of your ``real'' mail groups. + +There is one problem, though: say you got a new mail from +@samp{david@@foobar.com} - it will now show up in two groups, the +``real'' group (your INBOX, for example) and in the @code{nnmairix} +search group (provided you have updated the mairix database). Now you +enter the @code{nnmairix} group and read the mail. The mail will be +marked as read, but only in the @code{nnmairix} group - in the ``real'' +mail group it will be still shown as unread. + +You could now catch up the mail group (@pxref{Group Data}), but this is +tedious and error prone, since you may overlook mails you don't have +created @code{nnmairix} groups for. Of course, you could first use +@code{nnmairix-goto-original-article} (@pxref{nnmairix keyboard +shortcuts}) and then read the mail in the original group, but that's +even more cumbersome. + +Clearly, the easiest way would be if marks could somehow be +automatically set for the original article. This is exactly what +@emph{marks propagation} is about. + +Marks propagation is deactivated by default. You can activate it for a +certain @code{nnmairix} group with +@code{nnmairix-group-toggle-propmarks-this-group} (bound to @kbd{G b +p}). This function will warn you if you try to use it with your default +search group; the reason is that the default search group is used for +temporary searches, and it's easy to accidentally propagate marks from +this group. However, you can ignore this warning if you really want to. + +With marks propagation enabled, all the marks you set in a @code{nnmairix} +group should now be propagated to the original article. For example, +you can now tick an article (by default with @kbd{!}) and this mark should +magically be set for the original article, too. + +A few more remarks which you may or may not want to know: + +@vindex nnmairix-propagate-marks-upon-close +Marks will not be set immediately, but only upon closing a group. This +not only makes marks propagation faster, it also avoids problems with +dangling symlinks when dealing with maildir files (since changing flags +will change the file name). You can also control when to propagate marks +via @code{nnmairix-propagate-marks-upon-close} (see the doc-string for +details). + +Obviously, @code{nnmairix} will have to look up the original group for every +article you want to set marks for. If available, @code{nnmairix} will first use +the registry for determining the original group. The registry is very +fast, hence you should really, really enable the registry when using +marks propagation. If you don't have to worry about RAM and disc space, +set @code{gnus-registry-max-entries} to a large enough value; to be on +the safe side, choose roughly the amount of mails you index with mairix. + +@vindex nnmairix-only-use-registry +If you don't want to use the registry or the registry hasn't seen the +original article yet, @code{nnmairix} will use an additional mairix search +for determining the file path of the article. This, of course, is way +slower than the registry - if you set hundreds or even thousands of +marks this way, it might take some time. You can avoid this situation +by setting @code{nnmairix-only-use-registry} to t. + +Maybe you also want to propagate marks the other way round, i.e. if you +tick an article in a "real" mail group, you'd like to have the same +article in a @code{nnmairix} group ticked, too. For several good +reasons, this can only be done efficiently if you use maildir. To +immediately contradict myself, let me mention that it WON'T work with +@code{nnmaildir}, since @code{nnmaildir} stores the marks externally and +not in the file name. Therefore, propagating marks to @code{nnmairix} +groups will usually only work if you use an IMAP server which uses +maildir as its file format. + +@vindex nnmairix-propagate-marks-to-nnmairix-groups +If you work with this setup, just set +@code{nnmairix-propagate-marks-to-nnmairix-groups} to @code{t} and see what +happens. If you don't like what you see, just set it to @code{nil} again. One +problem might be that you get a wrong number of unread articles; this +usually happens when you delete or expire articles in the original +groups. When this happens, you can recreate the @code{nnmairix} group on the +back end using @kbd{G b d}. + +@node nnmairix tips and tricks +@subsubsection nnmairix tips and tricks + +@itemize +@item +Checking Mail + +@findex nnmairix-update-groups +I put all my important mail groups at group level 1. The mairix groups +have group level 5, so they do not get checked at start up (@pxref{Group +Levels}). + +I use the following to check for mails: + +@lisp +(defun my-check-mail-mairix-update (level) + (interactive "P") + ;; if no prefix given, set level=1 + (gnus-group-get-new-news (or level 1)) + (nnmairix-update-groups "mairixsearch" t t) + (gnus-group-list-groups)) + +(define-key gnus-group-mode-map "g" 'my-check-mail-mairix-update) +@end lisp + +Instead of @samp{"mairixsearch"} use the name of your @code{nnmairix} +server. See the doc string for @code{nnmairix-update-groups} for +details. + +@item +Example: search group for ticked articles + +For example, you can create a group for all ticked articles, where the +articles always stay unread: + +Hit @kbd{G b g}, enter group name (e.g. @samp{important}), use +@samp{F:f} as query and do not include threads. + +Now activate marks propagation for this group by using @kbd{G b p}. Then +activate the always-unread feature by using @kbd{G b r} twice. + +So far so good - but how do you remove the tick marks in the @code{nnmairix} +group? There are two options: You may simply use +@code{nnmairix-remove-tick-mark-original-article} (bound to @kbd{$ u}) to remove +tick marks from the original article. The other possibility is to set +@code{nnmairix-propagate-marks-to-nnmairix-groups} to @code{t}, but see the above +comments about this option. If it works for you, the tick marks should +also exist in the @code{nnmairix} group and you can remove them as usual, +e.g. by marking an article as read. + +When you have removed a tick mark from the original article, this +article should vanish from the @code{nnmairix} group after you have updated the +mairix database and updated the group. Fortunately, there is a function +for doing exactly that: @code{nnmairix-update-groups}. See the previous code +snippet and the doc string for details. + +@item +Dealing with auto-subscription of mail groups + +As described before, all @code{nnmairix} groups are in fact stored on +the mail back end in the form @samp{zz_mairix--}. You can +see them when you enter the back end server in the server buffer. You +should not subscribe these groups! Unfortunately, these groups will +usually get @strong{auto-subscribed} when you use @code{nnmaildir} or +@code{nnml}, i.e. you will suddenly see groups of the form +@samp{zz_mairix*} pop up in your group buffer. If this happens to you, +simply kill these groups with C-k. For avoiding this, turn off +auto-subscription completely by setting the variable +@code{gnus-auto-subscribed-groups} to @code{nil} (@pxref{Filtering New +Groups}), or if you like to keep this feature use the following kludge +for turning it off for all groups beginning with @samp{zz_}: + +@lisp +(setq gnus-auto-subscribed-groups + "^\\(nnml\\|nnfolder\\|nnmbox\\|nnmh\\|nnbabyl\\|nnmaildir\\).*:\\([^z]\\|z$\\|\\z[^z]\\|zz$\\|zz[^_]\\|zz_$\\).*") +@end lisp + +@end itemize + +@node nnmairix caveats +@subsubsection nnmairix caveats + +@itemize +@item +If you use the Gnus agent (@pxref{Gnus Unplugged}): don't agentize +@code{nnmairix} groups (though I have no idea what happens if you do). + +@item +If you use the Gnus registry: don't use the registry with +@code{nnmairix} groups (put them in +@code{gnus-registry-unfollowed-groups}). Be @strong{extra careful} if +you use @code{gnus-registry-split-fancy-with-parent} - mails which are +split into @code{nnmairix} groups are usually gone for good as soon as +you check the group for new mail (yes, it has happened to me...). + +@item +Therefore: @strong{Never ever} put ``real'' mails into @code{nnmairix} +groups (you shouldn't be able to, anyway). + +@item +mairix does only support us-ascii characters. + +@item +@code{nnmairix} uses a rather brute force method to force Gnus to +completely reread the group on the mail back end after mairix was +called - it simply deletes and re-creates the group on the mail +back end. So far, this has worked for me without any problems, and I +don't see how @code{nnmairix} could delete other mail groups than its +own, but anyway: you really should have a backup of your mail +folders. + +@item +All necessary information is stored in the group parameters +(@pxref{Group Parameters}). This has the advantage that no active file +is needed, but also implies that when you kill a @code{nnmairix} group, +it is gone for good. + +@item +@findex nnmairix-purge-old-groups +If you create and kill a lot of @code{nnmairix} groups, the +``zz_mairix-*'' groups will accumulate on the mail back end server. To +delete old groups which are no longer needed, call +@code{nnmairix-purge-old-groups}. Note that this assumes that you don't +save any ``real'' mail in folders of the form +@code{zz_mairix--}. You can change the prefix of +@code{nnmairix} groups by changing the variable +@code{nnmairix-group-prefix}. + +@item +The following only applies if you @strong{don't} use the mentioned patch +for mairix (@pxref{Propagating marks}): + +A problem can occur when using @code{nnmairix} with maildir folders and +comes with the fact that maildir stores mail flags like @samp{Seen} or +@samp{Replied} by appending chars @samp{S} and @samp{R} to the message +file name, respectively. This implies that currently you would have to +update the mairix database not only when new mail arrives, but also when +mail flags are changing. The same applies to new mails which are indexed +while they are still in the @samp{new} folder but then get moved to +@samp{cur} when Gnus has seen the mail. If you don't update the database +after this has happened, a mairix query can lead to symlinks pointing to +non-existing files. In Gnus, these messages will usually appear with +``(none)'' entries in the header and can't be accessed. If this happens +to you, using @kbd{G b u} and updating the group will usually fix this. + +@end itemize + @node Misc Group Stuff @section $B$=$NB>$N%0%k!<%W4XO"(B