* Summary Mail Commands:: \e$B%a!<%k$rAw$k\e(B
* Summary Post Commands:: \e$B%K%e!<%9$rAw$k\e(B
* Summary Message Commands:: \e$BB>$N%a%C%;!<%84XO"$NL?Na\e(B
-* Canceling and Superseding::
+* Canceling and Superseding::
Marking Articles
* Summary Group Information:: \e$B>pJs;X8~$NL?Na\e(B
* Searching for Articles:: \e$BJ#?t5-;vL?Na\e(B
-* Summary Generation Commands::
+* Summary Generation Commands::
* Really Various Summary Commands:: \e$B$"$N$d$C$+$$$JB>$KE,9g$7$J$$L?Na\e(B
Article Buffer
Browsing the Web
-* Archiving Mail::
+* Archiving Mail::
* Web Searches:: \e$BJ8;zNs$K%^%C%A$9$k5-;v$+$i%0%k!<%W$r:n$k\e(B
* Slashdot:: Slashdot \e$B$N%3%a%s%H$rFI$`\e(B
* Ultimate:: Ultimate Bulletin Board \e$B%7%9%F%`\e(B
* Anti-Spam Basics:: \e$B$?$/$5$s$N\e(B spam \e$B$r8:$i$94JC1$JJ}K!\e(B
* SpamAssassin:: Spam \e$BBP:v%D!<%k$N;H$$J}\e(B
* Hashcash:: CPU \e$B;~4V$rHq$d$7$F\e(B spam \e$BB`<#$9$k\e(B
-* Filtering Spam Using The Spam ELisp Package::
-* Filtering Spam Using Statistics with spam-stat::
+* Filtering Spam Using The Spam ELisp Package::
+* Filtering Spam Using Statistics with spam-stat::
Appendices
* Summary Mail Commands:: \e$B%a!<%k$rAw$k\e(B
* Summary Post Commands:: \e$B%K%e!<%9$rAw$k\e(B
* Summary Message Commands:: \e$BB>$N%a%C%;!<%84XO"$NL?Na\e(B
-* Canceling and Superseding::
+* Canceling and Superseding::
@end menu
@node Summary Mail Commands
@code{X-Face} \e$B%X%C%@!<$O>.$5$JGr9u2hA|$G!"%a%C%;!<%8%X%C%@!<$+$i6!5k$5$l\e(B
\e$B$^$9\e(B (@pxref{X-Face})\e$B!#\e(B
-\e$B0lJ}\e(B Picon \e$B$O$"$J$?<+?H$N%7%9%F%`$K0MB8$7!"\e(Bgnus \e$B$O%X%C%@!<$K%^%C%A$9$k$"\e(B
-\e$B$J$?$N;}$AJ*$rC5$7$F$_$^$9\e(B (@pxref{Picons})\e$B!#\e(B
+@code{Face} \e$B%X%C%@!<$O>.$5$J%+%i!<2hA|$G!"%a%C%;!<%8%X%C%@!<$+$i6!5k$5$l\e(B
+\e$B$^$9\e(B (@pxref{Face})\e$B!#\e(B
\e$B%9%^%$%j!<$O!"?M!9$,%a%C%;!<%8$K;6$i$+$7$?$,$k>.$5$J\e(B @samp{:-)} \e$B%7%s%\%k\e(B
\e$B$G$9!#\e(B
+\e$B0lJ}\e(B Picon \e$B$O$"$J$?<+?H$N%7%9%F%`$K0MB8$7!"\e(Bgnus \e$B$O%X%C%@!<$K%^%C%A$9$k$"\e(B
+\e$B$J$?$N;}$AJ*$rC5$7$F$_$^$9\e(B (@pxref{Picons})\e$B!#\e(B
+
\e$B$3$l$i$9$Y$F$N5!G=$O%H%0%k$G$9!#$b$7$9$G$K$=$l$i$,B8:_$7$F$$$?$J$i$P!"$=\e(B
\e$B$l$i$O:o=|$5$l$^$9!#\e(B
@menu
* Summary Group Information:: \e$B>pJs;X8~$NL?Na\e(B
* Searching for Articles:: \e$BJ#?t5-;vL?Na\e(B
-* Summary Generation Commands::
+* Summary Generation Commands::
* Really Various Summary Commands:: \e$B$"$N$d$C$+$$$JB>$KE,9g$7$J$$L?Na\e(B
@end menu
@xref{X-Face}.
+@item gnus-treat-display-face (head)
+
+@xref{Face}.
+
@item gnus-treat-emphasize (t, head, integer)
@item gnus-treat-fill-article (t, integer)
@item gnus-treat-fill-long-lines (t, integer)
\e$B$^$9!#\e(B
@menu
-* Archiving Mail::
+* Archiving Mail::
* Web Searches:: \e$BJ8;zNs$K%^%C%A$9$k5-;v$+$i%0%k!<%W$r:n$k\e(B
* Slashdot:: Slashdot \e$B$N%3%a%s%H$rFI$`\e(B
* Ultimate:: Ultimate Bulletin Board \e$B%7%9%F%`\e(B
\e$B$,\e(B 2.0.14 \e$BL$K~$N\e(B Cyrus IMAPD \e$B$K4^$^$l$F$$$k\e(B @samp{imtest} (\e$B%P!<%8%g\e(B
\e$B%s\e(B 1.5.x \e$B$H\e(B 1.6.x) \e$B$r;H$C$F$$$k$J$i!"\e(B
@code{imap-process-connection-type} \e$B$r$$$8$j2s$7$F!"\e(B
-@code{imap.el} \e$B$,\e(B @samp{imtest} \e$B$HDL?.$9$k$H$-$K%Q%$%W$G$O$J$/\e(B
+@file{imap.el} \e$B$,\e(B @samp{imtest} \e$B$HDL?.$9$k$H$-$K%Q%$%W$G$O$J$/\e(B
\e$B$F\e(B pty \e$B$r;H$&$h$&$K$5$;$kI,MW$,$"$j$^$9!#$=$&$9$k$H$"$J$?\e(B
\e$B$O\e(B @acronym{IMAP} \e$B%3%^%s%I$N9T$ND9$5$N@)8B$KG:$^$5$l$k$G$7$g$&!#$=$l$O%a!<\e(B
\e$B%k%\%C%/%9$K$?$/$5$s$N5-;v$,$"$k$H$-$K\e(B Gnus \e$B$rL54|8B$K%O%s%0$5$;$F$7$^$&\e(B
\e$B%`\e(B @code{imtest} \e$B$,I,MW$G$9!#\e(B
@item
@dfn{digest-md5:} DIGEST-MD5 \e$B$G0E9f2=$5$l$?\e(B \e$BMxMQ<TL>\e(B/\e$B%Q%9%o!<%I\e(B \e$B$G$9!#30\e(B
-\e$BIt%i%$%V%i%j\e(B @code{digest-md5.el} \e$B$,I,MW$G$9!#\e(B
+\e$BIt%i%$%V%i%j\e(B @file{digest-md5.el} \e$B$,I,MW$G$9!#\e(B
@item
@dfn{cram-md5:} CRAM-MD5 \e$B$G0E9f2=$5$l$?\e(B \e$BMxMQ<TL>\e(B/\e$B%Q%9%o!<%I\e(B \e$B$G$9!#\e(B
@item
gnus \e$B$O$3$l$rMxMQ$9$k$3$H$K$7$^$9!#\e(B
@menu
-* Picons:: \e$B$"$J$?$,FI$s$G$$$k$b$N$N3($rI=<($9$kJ}K!\e(B
+* X-Face:: \e$B%U%!%s%-!<$G$A$C$A$c$JGr9u$N3($rI=<($9$k\e(B
+* Face:: \e$B$h$j%U%!%s%-!<$G$A$C$A$c$J%+%i!<$N3($rI=<($9$k\e(B
* Smileys:: \e$BI=<($5$l$k$Y$/@8$^$l$?9,$;$=$&$J4i$rI=<($9$kJ}K!\e(B
-* X-Face:: \e$B%U%!%s%-!<$J$A$C$A$c$JGr9u$N3($rI=<($9$k\e(B
+* Picons:: \e$B$"$J$?$,FI$s$G$$$k$b$N$N3($rI=<($9$kJ}K!\e(B
* XVarious:: \e$B$=$NB>$N\e(B XEmacs \e$B$G\e(B Gnus \e$B$JJQ?t\e(B
@end menu
-@node Picons
-@subsection Picons
-
-@iftex
-@iflatex
-\include{picons}
-@end iflatex
-@end iftex
-
-\e$B$=$l$G!D!"$"$J$?$O$3$N%K%e!<%9%j!<%@!<$r$5$i$K$b$C$HCY$/$7$?$$$C$F$o$1$@\e(B
-\e$B$M\e(B! \e$B$3$l$O$=$&$9$k$N$K$T$C$?$j$JJ}K!$G$9!#$5$i$K$3$l$O!"$"$J$?$,%K%e!<%9\e(B
-\e$B$rFI$s$G$$$k$s$@$H$$$&$3$H$r!"$"$J$?$N8*1[$7$K8+$D$a$F$$$k?M$K0u>]$E$1$k\e(B
-\e$B$?$a$NAG@2$i$7$$J}K!$G$b$"$j$^$9!#\e(B
-
-Picon \e$B$H$O$J$s$G$7$g$&\e(B? Picons \e$B%&%'%V%5%$%H$+$iD>@\0zMQ$7$^$7$g$&!#\e(B
-
-@iftex
-@iflatex
-\margindex{}
-@end iflatex
-@end iftex
-
-@quotation
-@dfn{Picon} \e$B$H$O!"\e(B``\e$B8D?M%"%$%3%s\e(B (personal icons)'' \e$B$NN,$G$9!#$3$l$O!"%M%C\e(B
-\e$B%H>e$NMxMQ<T$d%I%a%$%s$rI=8=$9$k$N$K;H$o$l$k$?$a$N>.$5$J2hA|$G!"%G!<%?%Y!<\e(B
-\e$B%9$r;}$?$;$F!"$"$kEE;R%a!<%k%"%I%l%9$,$"$C$?$i!"$=$l$KE,@Z$J2hA|$r8+$D$1\e(B
-\e$B$i$l$k$h$&$K$7$F$*$/$b$N$G$9!#MxMQ<T$H%I%a%$%s0J30$K$b!"\e(BUsenet \e$B%K%e!<%9\e(B
-\e$B%0%k!<%W$dE75$M=Js$N$?$a$N\e(Bpicon \e$B%G!<%?%Y!<%9$,$"$j$^$9!#\e(Bpicon \e$B$OGr9u\e(B
-\e$B$N\e(B @code{XBM} \e$B7A<0$G$b%+%i!<$N\e(B @code{XPM} \e$B7A<0$G$b\e(B @code{GIF} \e$B7A<0$G$b9=\e(B
-\e$B$$$^$;$s!#\e(B
-@end quotation
-
-@vindex gnus-picon-databases
-Picon \e$B%G!<%?%Y!<%9$NF~<j$H%$%s%9%H!<%k$N<j=g$K$D$$$F$O!"%&%'%V%V%i%&%6!<\e(B
-\e$B$G\e(B @uref{http://www.cs.indiana.edu/picons/ftp/index.html} \e$B$rK,$M$F$_$F2<\e(B
-\e$B$5$$!#\e(B
-
-\e$B$b$7\e(B Debian GNU/Linux \e$B$r;H$C$F$$$k$N$J$i!"\e(B@samp{apt-get install
-picons.*} \e$B$H8@$($P\e(B gnus \e$B$,8+$D$1$k$3$H$,$G$-$k\e(B picon \e$B$,%$%s%9%H!<%k$5$l\e(B
-\e$B$^$9!#\e(B
-
-Picon \e$B$NI=<($,$G$-$k$h$&$K$9$k$?$a$K$O!"\e(Bpicon \e$B%G!<%?%Y!<%9$,$"$k%G%#%l%/\e(B
-\e$B%H%j$,!"$?$@C1$K\e(B @code{gnus-picon-databases} \e$B$K@_Dj$5$l$F$$$k$h$&$K$7$F\e(B
-\e$B2<$5$$!#\e(B
-
-\e$B$b$N$4$H$N=j:_$r4IM}$9$k$?$a$K!"0J2<$NJQ?t$r@_$1$F$$$^$9!#\e(B
-
-@table @code
-@item gnus-picon-database
-@vindex gnus-picon-database
-Picon \e$B%G!<%?%Y!<%9$N>l=j$G$9!#$3$l$O\e(B @file{news}, @file{domains},
-@file{users} (\e$B$J$I$J$I\e(B) \e$B$N%5%V%G%#%l%/%H%j!<$,4^$^$l$F$$$k%G%#%l%/%H%j!<\e(B
-\e$B$N%j%9%H$G$9!#\e(B@code{("/usr/lib/picon" "/usr/local/faces")} \e$B$,%G%#%U%)%k\e(B
-\e$B%H$G$9!#\e(B
-
-@item gnus-picon-news-directories
-@vindex gnus-picon-news-directories
-@code{gnus-picon-database} \e$B$+$i%K%e!<%9%0%k!<%WMQ$N%U%'!<%9$rC5$9$?$a$N\e(B
-\e$B%5%V%G%#%l%/%H%j!<$N%j%9%H$G$9!#%G%#%U%)%k%H$O\e(B @code{("news")} \e$B$G$9!#\e(B
-
-@item gnus-picon-user-directories
-@vindex gnus-picon-user-directories
-@code{gnus-picon-database} \e$B$+$i%f!<%6$N%U%'!<%9$rC5$9$?$a$N%5%V%G%#%l%/\e(B
-\e$B%H%j!<$N%j%9%H$G$9!#\e(B@code{("local" "users" "usenix" "misc")} \e$B$,%G%#%U%)\e(B
-\e$B%k%H$G$9!#\e(B
-
-@item gnus-picon-domain-directories
-@vindex gnus-picon-domain-directories
-@code{gnus-picon-database} \e$B$+$i%I%a%$%sL>$N%U%'!<%9$rC5$9$?$a$N%5%V%G%#\e(B
-\e$B%l%/%H%j!<$N%j%9%H$G$9!#%G%#%U%)%k%H$O\e(B @code{("domains")} \e$B$G$9!#$3$N%j%9\e(B
-\e$B%H$K\e(B @samp{"unknown"} \e$B$rDI2C$7$F$*$-$?$/$J$k?M$b$$$k$G$7$g$&!#\e(B
-
-@item gnus-picon-file-types
-@vindex gnus-picon-file-types
-Picon \e$B$N%U%!%$%kL>$H$7$F;n$7$F$_$k3HD%;R$N=gHV%j%9%H$G$9!#%G%#%U%)%k%H$O!"\e(B
-@code{("xpm" "gif" "xbm")} \e$B$+$i\e(B Emacs \e$B$KAH$_9~$^$l$F$$$J$$$b$N$r=|30$7$?\e(B
-\e$B$b$N$G$9!#\e(B
-@end table
-
-@node Smileys
-@subsection \e$B%9%^%$%j!<\e(B
-@cindex smileys
-
-@iftex
-@iflatex
-\gnusfig{-3cm}{0.5cm}{\epsfig{figure=ps/BigFace,height=20cm}}
-\input{smiley}
-@end iflatex
-@end iftex
-
-\e$B%9%^%$%j!<\e(B @dfn{smiley} \e$B$O\e(B gnus \e$B$H$OJL$N%Q%C%1!<%8$G$9$,!"%9%^%$%j!<$r;H$C\e(B
-\e$B$F$$$k%Q%C%1!<%8$O8=:_\e(B gnus \e$B$@$1$G$9$N$G!"$3$3$G@bL@$7$^$9!#\e(B
-
-\e$B0l8@$G8@$($P\e(B --- gnus \e$B$G%9%^%$%j!<$r;H$&$K$O!"0J2<\e(B
-\e$B$r\e(B @file{~/.gnus.el} \e$B%U%!%$%k$K=q$$$F$/$@$5$$!#\e(B
-
-@lisp
-(setq gnus-treat-display-smileys t)
-@end lisp
-
-\e$B%9%^%$%j!<$O!"J8;z$N4i%^!<%/\e(B --- @samp{:-)}, @samp{8-)}, @samp{:-(} \e$B$J$I\e(B
-\e$B$H$$$C$?$b$N\e(B --- \e$B$r3($KBP1~$5$;!"J8;z$N4i%^!<%/$NBe$o$j$K$=$N3($rI=<($7\e(B
-\e$B$^$9!#$3$NJQ49$OJ8;z$K%^%C%A$9$k@55,I=8=$H$=$l$N%U%!%$%kL>$X$NBP1~$N%j%9\e(B
-\e$B%H$G@)8f$5$l$^$9!#\e(B
-
-@vindex smiley-regexp-alist
-\e$B;H$o$l$kO"A[%j%9%H$O!"JQ?t\e(B @code{smiley-regexp-alist} \e$B$G@_Dj$7$^$9!#3FMW\e(B
-\e$BAG$N:G=i$N9`L\$O%^%C%A$5$;$?$$@55,I=8=$G!"FsHVL\$NMWAG$O3($GCV$-49$($?$$\e(B
-\e$B%0%k!<%W$K%^%C%A$9$k@55,I=8=!"$=$7$F;0HVL\$NMWAG$OI=<($5$;$?$$%U%!%$%k$N\e(B
-\e$BL>A0$G$9!#\e(B
-
-\e$B0J2<$NJQ?t$O!"%9%^%$%j!<$,$3$l$i$N%U%!%$%k$rC5$9>l=j$r%+%9%?%^%$%:$7$^$9\e(B:
-
-@table @code
-@item smiley-data-directory
-@vindex smiley-data-directory
-\e$B%9%^%$%j!<$,4i%U%!%$%k$rC5$9>l=j!#\e(B
-
-@item gnus-smiley-file-types
-@vindex gnus-smiley-file-types
-\e$B%9%^%$%j!<$N%U%!%$%kL>$H$7$F;n$7$F$_$k3HD%;R$N%j%9%H$G$9!#\e(B
-@end table
-
@node X-Face
@subsection X-Face
@cindex x-face
@cindex x-face
@findex gnus-article-display-x-face
-@findex gnus-article-x-face-command
@vindex gnus-article-x-face-command
@vindex gnus-article-x-face-too-ugly
@iftex
"~/My-face.gif"))))))
@end lisp
+@c TRANSLATEME
+@node Face
+@subsection Face
+@cindex face
+
+@c #### FIXME: faces and x-faces'implementations should really be harmonized.
+
+@code{Face} headers are essentially a funkier version of @code{X-Face}
+ones. They describe a 48x48 pixel colored image that's supposed to
+represent the author of the message.
+
+@cindex face
+@findex gnus-article-display-face
+The contents of a @code{Face} header must be a base64 encoded PNG image.
+See @url{http://quimby.gnus.org/circus/face/} for the precise
+specifications.
+
+Gnus provides a few convenience functions and variables to allow
+easier insertion of Face headers in outgoing messages.
+
+@findex gnus-convert-png-to-face
+@code{gnus-convert-png-to-face} takes a 48x48 PNG image, no longer than
+726 bytes long, and converts it to a face.
+
+@findex gnus-face-from-file
+@vindex gnus-convert-image-to-face-command
+@code{gnus-face-from-file} takes a JPEG file as the parameter, and then
+converts the file to Face format by using the
+@code{gnus-convert-image-to-face-command} shell command.
+
+Here's how you would typically use this function. Put something like the
+following in your @file{~/.gnus.el} file:
+
+@lisp
+(setq message-required-news-headers
+ (nconc message-required-news-headers
+ (list '(Face . (lambda ()
+ (gnus-face-from-file "~/face.jpg"))))))
+@end lisp
+
+@node Smileys
+@subsection \e$B%9%^%$%j!<\e(B
+@cindex smileys
+
+@iftex
+@iflatex
+\gnusfig{-3cm}{0.5cm}{\epsfig{figure=ps/BigFace,height=20cm}}
+\input{smiley}
+@end iflatex
+@end iftex
+
+\e$B%9%^%$%j!<\e(B @dfn{smiley} \e$B$O\e(B gnus \e$B$H$OJL$N%Q%C%1!<%8$G$9$,!"%9%^%$%j!<$r;H$C\e(B
+\e$B$F$$$k%Q%C%1!<%8$O8=:_\e(B gnus \e$B$@$1$G$9$N$G!"$3$3$G@bL@$7$^$9!#\e(B
+
+\e$B0l8@$G8@$($P\e(B --- gnus \e$B$G%9%^%$%j!<$r;H$&$K$O!"0J2<\e(B
+\e$B$r\e(B @file{~/.gnus.el} \e$B%U%!%$%k$K=q$$$F$/$@$5$$!#\e(B
+
+@lisp
+(setq gnus-treat-display-smileys t)
+@end lisp
+
+\e$B%9%^%$%j!<$O!"J8;z$N4i%^!<%/\e(B --- @samp{:-)}, @samp{8-)}, @samp{:-(} \e$B$J$I\e(B
+\e$B$H$$$C$?$b$N\e(B --- \e$B$r3($KBP1~$5$;!"J8;z$N4i%^!<%/$NBe$o$j$K$=$N3($rI=<($7\e(B
+\e$B$^$9!#$3$NJQ49$OJ8;z$K%^%C%A$9$k@55,I=8=$H$=$l$N%U%!%$%kL>$X$NBP1~$N%j%9\e(B
+\e$B%H$G@)8f$5$l$^$9!#\e(B
+
+@vindex smiley-regexp-alist
+\e$B;H$o$l$kO"A[%j%9%H$O!"JQ?t\e(B @code{smiley-regexp-alist} \e$B$G@_Dj$7$^$9!#3FMW\e(B
+\e$BAG$N:G=i$N9`L\$O%^%C%A$5$;$?$$@55,I=8=$G!"FsHVL\$NMWAG$O3($GCV$-49$($?$$\e(B
+\e$B%0%k!<%W$K%^%C%A$9$k@55,I=8=!"$=$7$F;0HVL\$NMWAG$OI=<($5$;$?$$%U%!%$%k$N\e(B
+\e$BL>A0$G$9!#\e(B
+
+\e$B0J2<$NJQ?t$O!"%9%^%$%j!<$,$3$l$i$N%U%!%$%k$rC5$9>l=j$r%+%9%?%^%$%:$7$^$9\e(B:
+
+@table @code
+@item smiley-data-directory
+@vindex smiley-data-directory
+\e$B%9%^%$%j!<$,4i%U%!%$%k$rC5$9>l=j!#\e(B
+
+@item gnus-smiley-file-types
+@vindex gnus-smiley-file-types
+\e$B%9%^%$%j!<$N%U%!%$%kL>$H$7$F;n$7$F$_$k3HD%;R$N%j%9%H$G$9!#\e(B
+@end table
+
+@node Picons
+@subsection Picons
+
+@iftex
+@iflatex
+\include{picons}
+@end iflatex
+@end iftex
+
+\e$B$=$l$G!D!"$"$J$?$O$3$N%K%e!<%9%j!<%@!<$r$5$i$K$b$C$HCY$/$7$?$$$C$F$o$1$@\e(B
+\e$B$M\e(B! \e$B$3$l$O$=$&$9$k$N$K$T$C$?$j$JJ}K!$G$9!#$5$i$K$3$l$O!"$"$J$?$,%K%e!<%9\e(B
+\e$B$rFI$s$G$$$k$s$@$H$$$&$3$H$r!"$"$J$?$N8*1[$7$K8+$D$a$F$$$k?M$K0u>]$E$1$k\e(B
+\e$B$?$a$NAG@2$i$7$$J}K!$G$b$"$j$^$9!#\e(B
+
+Picon \e$B$H$O$J$s$G$7$g$&\e(B? Picons \e$B%&%'%V%5%$%H$+$iD>@\0zMQ$7$^$7$g$&!#\e(B
+
+@iftex
+@iflatex
+\margindex{}
+@end iflatex
+@end iftex
+
+@quotation
+@dfn{Picon} \e$B$H$O!"\e(B``\e$B8D?M%"%$%3%s\e(B (personal icons)'' \e$B$NN,$G$9!#$3$l$O!"%M%C\e(B
+\e$B%H>e$NMxMQ<T$d%I%a%$%s$rI=8=$9$k$N$K;H$o$l$k$?$a$N>.$5$J2hA|$G!"%G!<%?%Y!<\e(B
+\e$B%9$r;}$?$;$F!"$"$kEE;R%a!<%k%"%I%l%9$,$"$C$?$i!"$=$l$KE,@Z$J2hA|$r8+$D$1\e(B
+\e$B$i$l$k$h$&$K$7$F$*$/$b$N$G$9!#MxMQ<T$H%I%a%$%s0J30$K$b!"\e(BUsenet \e$B%K%e!<%9\e(B
+\e$B%0%k!<%W$dE75$M=Js$N$?$a$N\e(Bpicon \e$B%G!<%?%Y!<%9$,$"$j$^$9!#\e(Bpicon \e$B$OGr9u\e(B
+\e$B$N\e(B @code{XBM} \e$B7A<0$G$b%+%i!<$N\e(B @code{XPM} \e$B7A<0$G$b\e(B @code{GIF} \e$B7A<0$G$b9=\e(B
+\e$B$$$^$;$s!#\e(B
+@end quotation
+
+@vindex gnus-picon-databases
+Picon \e$B%G!<%?%Y!<%9$NF~<j$H%$%s%9%H!<%k$N<j=g$K$D$$$F$O!"%&%'%V%V%i%&%6!<\e(B
+\e$B$G\e(B @uref{http://www.cs.indiana.edu/picons/ftp/index.html} \e$B$rK,$M$F$_$F2<\e(B
+\e$B$5$$!#\e(B
+
+\e$B$b$7\e(B Debian GNU/Linux \e$B$r;H$C$F$$$k$N$J$i!"\e(B@samp{apt-get install
+picons.*} \e$B$H8@$($P\e(B gnus \e$B$,8+$D$1$k$3$H$,$G$-$k\e(B picon \e$B$,%$%s%9%H!<%k$5$l\e(B
+\e$B$^$9!#\e(B
+
+Picon \e$B$NI=<($,$G$-$k$h$&$K$9$k$?$a$K$O!"\e(Bpicon \e$B%G!<%?%Y!<%9$,$"$k%G%#%l%/\e(B
+\e$B%H%j$,!"$?$@C1$K\e(B @code{gnus-picon-databases} \e$B$K@_Dj$5$l$F$$$k$h$&$K$7$F\e(B
+\e$B2<$5$$!#\e(B
+
+\e$B$b$N$4$H$N=j:_$r4IM}$9$k$?$a$K!"0J2<$NJQ?t$r@_$1$F$$$^$9!#\e(B
+
+@table @code
+@item gnus-picon-database
+@vindex gnus-picon-database
+Picon \e$B%G!<%?%Y!<%9$N>l=j$G$9!#$3$l$O\e(B @file{news}, @file{domains},
+@file{users} (\e$B$J$I$J$I\e(B) \e$B$N%5%V%G%#%l%/%H%j!<$,4^$^$l$F$$$k%G%#%l%/%H%j!<\e(B
+\e$B$N%j%9%H$G$9!#\e(B@code{("/usr/lib/picon" "/usr/local/faces")} \e$B$,%G%#%U%)%k\e(B
+\e$B%H$G$9!#\e(B
+
+@item gnus-picon-news-directories
+@vindex gnus-picon-news-directories
+@code{gnus-picon-database} \e$B$+$i%K%e!<%9%0%k!<%WMQ$N%U%'!<%9$rC5$9$?$a$N\e(B
+\e$B%5%V%G%#%l%/%H%j!<$N%j%9%H$G$9!#%G%#%U%)%k%H$O\e(B @code{("news")} \e$B$G$9!#\e(B
+
+@item gnus-picon-user-directories
+@vindex gnus-picon-user-directories
+@code{gnus-picon-database} \e$B$+$i%f!<%6$N%U%'!<%9$rC5$9$?$a$N%5%V%G%#%l%/\e(B
+\e$B%H%j!<$N%j%9%H$G$9!#\e(B@code{("local" "users" "usenix" "misc")} \e$B$,%G%#%U%)\e(B
+\e$B%k%H$G$9!#\e(B
+
+@item gnus-picon-domain-directories
+@vindex gnus-picon-domain-directories
+@code{gnus-picon-database} \e$B$+$i%I%a%$%sL>$N%U%'!<%9$rC5$9$?$a$N%5%V%G%#\e(B
+\e$B%l%/%H%j!<$N%j%9%H$G$9!#%G%#%U%)%k%H$O\e(B @code{("domains")} \e$B$G$9!#$3$N%j%9\e(B
+\e$B%H$K\e(B @samp{"unknown"} \e$B$rDI2C$7$F$*$-$?$/$J$k?M$b$$$k$G$7$g$&!#\e(B
+
+@item gnus-picon-file-types
+@vindex gnus-picon-file-types
+Picon \e$B$N%U%!%$%kL>$H$7$F;n$7$F$_$k3HD%;R$N=gHV%j%9%H$G$9!#%G%#%U%)%k%H$O!"\e(B
+@code{("xpm" "gif" "xbm")} \e$B$+$i\e(B Emacs \e$B$KAH$_9~$^$l$F$$$J$$$b$N$r=|30$7$?\e(B
+\e$B$b$N$G$9!#\e(B
+@end table
+
@node XVarious
@subsection \e$B$5$^$6$^$J\e(B XEmacs \e$BJQ?t\e(B
* Anti-Spam Basics:: \e$B$?$/$5$s$N\e(B spam \e$B$r8:$i$94JC1$JJ}K!\e(B
* SpamAssassin:: Spam \e$BBP:v%D!<%k$N;H$$J}\e(B
* Hashcash:: CPU \e$B;~4V$rHq$d$7$F\e(B spam \e$BB`<#$9$k\e(B
-* Filtering Spam Using The Spam ELisp Package::
-* Filtering Spam Using Statistics with spam-stat::
+* Filtering Spam Using The Spam ELisp Package::
+* Filtering Spam Using Statistics with spam-stat::
@end menu
@node The problem of spam
\e$B$b$&0l$D$NEE;R%a!<%k_I2a$X$N<h$jAH$_$OJ,;67?\e(B spam \e$B=hM}$G!"\e(BDCC (\e$BLuCm\e(B:
Distributed Checksum Clearinghouse --
@uref{http://www.rhyolite.com/anti-spam/dcc/}) \e$B$,$=$N$h$&$J%7%9%F%`$rF3\e(B
-\e$BF~$7$F$$$^$9!#K\<AE*$K$O!"@$3&Cf$N\e(B @code{N} \e$B8D$N%7%9%F%`$,!"Cf9q!"%,!<%J\e(B
-\e$B$"$k$$$O%+%j%U%)%k%K%"$K$"$k%^%7%s\e(B @samp{X} \e$B$,\e(B spam \e$BEE;R%a!<%k$rAw=P$7$F\e(B
-\e$B$$$k$3$H$rG'$a$?$i!"$=$l$i\e(B @code{N} \e$B8D$N%7%9%F%`$O\e(B @samp{X} \e$B$^$?\e(B
-\e$B$O\e(B @samp{X} \e$B$+$i$d$C$FMh$?\e(B spam \e$B%a!<%k$r%G!<%?%Y!<%9$K5-F~$7$^$9!#\e(B
-Spam \e$B8!=P$N4p=`$OJQ$o$j$^$9!#$=$l$OAw$i$l$?%a%C%;!<%8$N?t$d%a%C%;!<%8$N\e(B
-\e$BFbMF$J$I$G$"$k$+$b$7$l$^$;$s!#%a%C%;!<%8$,\e(B spam \e$B$+$I$&$+$rJ,;6=hM}%7%9%F\e(B
-\e$B%`$N%f!<%6$,CN$j$?$$>l9g!"H`$O$=$l$i$N\e(B @code{N} \e$B8D$N%7%9%F%`$N$&$A$N0l$D\e(B
-\e$B$rD4$Y$^$9!#\e(B
+\e$BF~$7$F$$$^$9!#K\<AE*$K$O!"@$3&Cf$N\e(B @var{N} \e$B8D$N%7%9%F%`$,!"Cf9q!"%,!<%J\e(B
+\e$B$"$k$$$O%+%j%U%)%k%K%"$K$"$k%^%7%s\e(B @var{X} \e$B$,\e(B spam \e$BEE;R%a!<%k$rAw=P$7$F\e(B
+\e$B$$$k$3$H$rG'$a$?$i!"$=$l$i\e(B @var{N} \e$B8D$N%7%9%F%`$O\e(B @var{X} \e$B$^$?\e(B
+\e$B$O\e(B @var{X} \e$B$+$i$d$C$FMh$?\e(B spam \e$B%a!<%k$r%G!<%?%Y!<%9$K5-F~$7$^$9!#\e(BSpam \e$B8!\e(B
+\e$B=P$N4p=`$OJQ$o$j$^$9!#$=$l$OAw$i$l$?%a%C%;!<%8$N?t$d%a%C%;!<%8$NFbMF$J$I\e(B
+\e$B$G$"$k$+$b$7$l$^$;$s!#%a%C%;!<%8$,\e(B spam \e$B$+$I$&$+$rJ,;6=hM}%7%9%F%`$N%f!<\e(B
+\e$B%6$,CN$j$?$$>l9g!"H`$O$=$l$i$N\e(B @var{N} \e$B8D$N%7%9%F%`$N$&$A$N0l$D$rD4$Y$^\e(B
+\e$B$9!#\e(B
\e$BJ,;67?\e(B spam \e$B=hM}$OF1;~$KB?$/$N%a%C%;!<%8$rAw$k\e(B spammers \e$B$HHs>o$K$h$/@o$C\e(B
\e$B$F$/$l$^$9$,!"$=$l$O%f!<%6!<$,$+$J$jJ#;($J%A%'%C%/$r@_Dj$9$k$3$H$r5a$a$^\e(B
:postscript "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
@end lisp
-\e$B$$$C$?$s%a!<%k$r<u$1$k%9%W!<%k$G!"Nc$($P\e(B spam \e$B$G$"$k$3$H$rI=<($9$k%X%C%@!<\e(B
-\e$B$r%a!<%k$K4^$a$k$h$&$K$7$F!"$=$l$r$U$k$$Mn$H$9=`Hw$r$7$^$9!#;H$&$N$OIaDL\e(B
-\e$B$NJ,3dJ}<0\e(B (@pxref{Splitting Mail}) \e$B$G$9\e(B:
+\e$B$$$C$?$s!"%a!<%k$r<u$1$k%9%W!<%k$r$I$&$K$+$7$F=hM}$9$k!"Nc$($P\e(B@: \e$B%a!<%k\e(B
+\e$B$K\e(B spam \e$B$G$"$k$3$H$rI=<($9$k%X%C%@!<$r4^$a$k!"$h$&$K$9$l$P!"$=$l$r$U$k$$\e(B
+\e$BMn$H$9=`Hw$O40N;$G$9!#;H$&$N$OIaDL$NJ,3dJ}<0\e(B (@pxref{Splitting Mail}) \e$B$G\e(B
+\e$B$9\e(B:
@lisp
(setq nnmail-split-methods '(("spam" "^X-Spam-Flag: YES")
(add-hook 'message-send-hook 'mail-add-payment)
@end lisp
-@code{hashcash.el} \e$B%i%$%V%i%j\e(B
+@file{hashcash.el} \e$B%i%$%V%i%j\e(B
\e$B$O\e(B @uref{http://users.actrix.gen.nz/mycroft/hashcash.el} \e$B$+3+H/HG\e(B
\e$B$N\e(B gnus \e$B$N\e(B contrib \e$B%G%#%l%/%H%j$K$"$j$^$9!#\e(B
@cindex spam filtering
@cindex spam
-@code{spam.el} \e$B$N??$NL\E*$O\e(B spam \e$B8!=P$H_I2a$N$?$a$N41@)%;%s%?!<\e(B
-\e$B$r\e(B gnus \e$B$NCf$K;}$D$3$H$G$9!#$=$N$?$a$K\e(B @code{spam.el} \e$B$OFs$D$N$3$H$r9T$J\e(B
+@file{spam.el} \e$B$N??$NL\E*$O\e(B spam \e$B8!=P$H_I2a$N$?$a$N41@)%;%s%?!<\e(B
+\e$B$r\e(B gnus \e$B$NCf$K;}$D$3$H$G$9!#$=$N$?$a$K\e(B @file{spam.el} \e$B$OFs$D$N$3$H$r9T$J\e(B
\e$B$$$^$9\e(B: \e$BF~$C$F$/$k%a!<%k$r_I2a$7!"\e(Bspam \e$B$^$?$O\e(B ham \e$B$H$7$FCN$i$l$k%a!<%k$r\e(B
-\e$BJ,@O$9$k$3$H$G$9!#\e(B@emph{Ham} \e$B$O\e(B @code{spam.el} \e$B$N$$$?$k=j$G\e(B spam \e$B$G$O$J\e(B
-\e$B$$%a%C%;!<%8$r<($9$?$a$K;H$&L>A0$G$9!#\e(B
+\e$BJ,@O$9$k$3$H$G$9!#\e(B@dfn{Ham} \e$B$O\e(B @file{spam.el} \e$B$N$$$?$k=j$G\e(B spam \e$B$G$O$J$$\e(B
+\e$B%a%C%;!<%8$r<($9$?$a$K;H$&L>A0$G$9!#\e(B
-\e$B$G$O\e(B @code{spam.el} \e$B$r\e(B load \e$B$9$k$H2?$,5/$-$k$G$7$g$&$+\e(B? \e$BBh0l$K!"0J2<$N\e(B
-\e$B%-!<%\!<%IL?Na$,;H$($k$h$&$K$J$j$^$9\e(B:
+\e$B$G$O\e(B @file{spam.el} \e$B$rFI$_9~$`$H2?$,5/$-$k$G$7$g$&$+\e(B? \e$BBh0l$K!"0J2<$N%-!<\e(B
+\e$B%\!<%IL?Na$,;H$($k$h$&$K$J$j$^$9\e(B:
@table @kbd
@item M-d
@end table
-\e$B$^$?!"\e(B@code{spam.el} \e$B$r\e(B load \e$B$9$k$H!"$=$NJQ?t72$r%+%9%?%^%$%:$9$k$3$H$,\e(B
-\e$B$G$-$k$h$&$K$J$j$^$9!#\e(B@samp{spam} \e$BJQ?t%0%k!<%W$K$D$$\e(B
+\e$B$^$?!"\e(B@file{spam.el} \e$B$rFI$_9~$`$H!"$=$NJQ?t72$r%+%9%?%^%$%:$9$k$3$H$,$G\e(B
+\e$B$-$k$h$&$K$J$j$^$9!#\e(B@samp{spam} \e$BJQ?t%0%k!<%W$K$D$$\e(B
\e$B$F\e(B @code{customize-group} \e$B$r;n$7$F$_$F2<$5$$!#\e(B
@vindex gnus-spam-process-newsgroups
@code{spam-process-destination} \e$B%Q%i%a!<%?$,@_Dj$5$l$F$$$J$$$H!"\e(Bspam \e$B5-\e(B
\e$B;v$OC1$K4|8B@Z$l>C5n$5$l$^$9!#\e(B
-\e$BF~$C$F$/$k%a!<%k$r_I2a$9$kL\E*$G\e(B @code{spam.el} \e$B$r;H$&$K$O!"FC5iJ,3d%j%9\e(B
+\e$BF~$C$F$/$k%a!<%k$r_I2a$9$kL\E*$G\e(B @file{spam.el} \e$B$r;H$&$K$O!"FC5iJ,3d%j%9\e(B
\e$B%H\e(B @code{nnmail-split-fancy} \e$B$^$?$O\e(B @code{nnimap-split-fancy} \e$B$K0J2<$rDI\e(B
\e$B2C$7$J$1$l$P$J$j$^$;$s\e(B:
\e$BK!$H!"$=$l$i$KBP1~$9$k\e(B spam \e$B$H\e(B ham \e$B$N%W%m%;%C%5!<$G$9\e(B:
@menu
-* Blacklists and Whitelists::
-* BBDB Whitelists::
-* Gmane Spam Reporting::
-* Anti-spam Hashcash Payments::
-* Blackholes::
-* Regular Expressions Header Matching::
-* Bogofilter::
-* ifile spam filtering::
-* spam-stat spam filtering::
-* SpamOracle::
-* Extending the spam elisp package::
+* Blacklists and Whitelists::
+* BBDB Whitelists::
+* Gmane Spam Reporting::
+* Anti-spam Hashcash Payments::
+* Blackholes::
+* Regular Expressions Header Matching::
+* Bogofilter::
+* ifile spam filtering::
+* spam-stat spam filtering::
+* SpamOracle::
+* Extending the spam elisp package::
@end menu
@node Blacklists and Whitelists
\e$B$J$j9-HO0O$KEO$C$F$$$^$9$,!"$b$7;~BeCY$l$J%5!<%P!<$r4^$s$G$$$?$i;d$?$A$K\e(B
\e$BCN$i$;$k$?$a$K!"3NG'$7$F2<$5$$!#\e(B
-\e$B%V%i%C%/%[!<%k!&%A%'%C%/$O\e(B @code{dig.el} \e$B%Q%C%1!<%8$r;H$$$^$9!#$7$+\e(B
+\e$B%V%i%C%/%[!<%k!&%A%'%C%/$O\e(B @file{dig.el} \e$B%Q%C%1!<%8$r;H$$$^$9!#$7$+\e(B
\e$B$7\e(B @code{spam-use-dig} \e$B$r\e(B @code{nil} \e$B$K@_Dj$9$l$P!"$h$jNI$$@-G=$N$?$a\e(B
-\e$B$K\e(B @code{dns.el} \e$B$rBe$o$j$K;H$&$3$H$r\e(B @code{spam.el} \e$B$K;X<($9$k$3$H$,$G\e(B
+\e$B$K\e(B @file{dns.el} \e$B$rBe$o$j$K;H$&$3$H$r\e(B @file{spam.el} \e$B$K;X<($9$k$3$H$,$G\e(B
\e$B$-$^$9!#8=>u$G$O\e(B @code{spam-use-dig} \e$B$r\e(B @code{nil} \e$B$K@_Dj$9$k$3$H$O!"$$\e(B
\e$B$/?M$+$N%f!<%6!<$,;H$($J$$$+$b$7$l$J$$$N$G!"$=$l$,2DG=$J@-G=2~A1$G$"$k$K\e(B
\e$B$b$+$+$o$i$:?d>)$5$l$^$;$s!#$7$+$7!"$=$l$,F0$/$+$I$&$+$r3N$+$a$k$3$H$O$G\e(B
@defvar spam-use-dig
-@code{dns.el} \e$B%Q%C%1!<%8$NBe$o$j$K\e(B @code{dig.el} \e$B%Q%C%1!<%8$r;H$$$^$9!#\e(B
+@file{dns.el} \e$B%Q%C%1!<%8$NBe$o$j$K\e(B @file{dig.el} \e$B%Q%C%1!<%8$r;H$$$^$9!#\e(B
\e$B%G%#%U%)%k%H$N@_Dj$G$"$k\e(B @code{t} \e$B$,?d>)$5$l$^$9!#\e(B
@end defvar
@end defvar
-Bogofilter \e$B$N%a!<%kJ,N`4o$O!"0U?^$HL\E*$NE@$G\e(B ifile \e$B$K;w$F$$$^$9!#\e(B
-Spam \e$B$H\e(B ham \e$B$N%W%m%;%C%5!<$,Ds6!$5$l!"2C$($F\e(B spam-\e$BJ,3d\e(B (spam-split) \e$B$K\e(B
-\e$B$b\e(B Bogofilter \e$B$,;H$o$l$k$Y$-$G$"$k$3$H!"$^$?$O$9$G$K5-;v$K;H$o$l$?$3$H$r\e(B
-\e$B<($9\e(B @code{spam-use-bogofilter} \e$B$*$h\e(B
+Bogofilter \e$B$N%a!<%kJ,N`4o$O!"0U?^$HL\E*$NE@$G\e(B @command{ifile} \e$B$K;w$F$$$^\e(B
+\e$B$9!#\e(BSpam \e$B$H\e(B ham \e$B$N%W%m%;%C%5!<$,Ds6!$5$l!"2C$($F\e(B spam-\e$BJ,\e(B
+\e$B3d\e(B (spam-split) \e$B$K$b\e(B Bogofilter \e$B$,;H$o$l$k$Y$-$G$"$k$3$H!"$^$?$O$9$G$K5-\e(B
+\e$B;v$K;H$o$l$?$3$H$r<($9\e(B @code{spam-use-bogofilter} \e$B$*$h\e(B
\e$B$S\e(B @code{spam-use-bogofilter-headers} \e$BJQ?t$,Ds6!$5$l$^$9!#$3$N5!G=$r8!::\e(B
\e$B$9$k$?$a$K\e(B Bogofilter \e$B$N%P!<%8%g%s\e(B 0.9.2.1 \e$B$,;H$o$l$^$7$?!#\e(B
@defvar spam-use-ifile
-Bogofilter \e$B$K;w$?E}7WJ,@O4o$G$"$k\e(B ifile \e$B$r\e(B @code{spam-split} \e$B$K;H$$$?$$\e(B
-\e$B>l9g$O!"$3$NJQ?t$rM-8z$K$7$F2<$5$$!#\e(B
+Bogofilter \e$B$K;w$?E}7WJ,@O4o$G$"\e(B
+\e$B$k\e(B @command{ifile} \e$B$r\e(B @code{spam-split} \e$B$K;H$$$?$$>l9g$O!"$3$NJQ?t$rM-8z\e(B
+\e$B$K$7$F2<$5$$!#\e(B
@end defvar
\e$B%W$K$O8z2L$r5Z$\$5$J$$$3$H$KCm0U$7$F2<$5$$!#\e(B
@end defvar
-\e$B$3$l$O\e(B spam.el \e$B$,\e(B spam-stat.el \e$B$HF/$-9g$&$3$H$r2DG=$K$7$^$9!#\e(B
-spam-stat.el \e$B$O\e(B (Lisp \e$B$@$1$N\e(B) spam \e$BFbIt%G!<%?%Y!<%9$rDs6!$7$^$9$,!"$=$l\e(B
-\e$B$O\e(B ifile \e$B$d\e(B Bogofilter \e$B$H0c$C$F30It%W%m%0%i%`$rI,MW$H$7$^$;$s!#\e(B
+\e$B$3$l$O\e(B @file{spam.el} \e$B$,\e(B @file{spam-stat.el} \e$B$HF/$-9g$&$3$H$r2DG=$K$7$^\e(B
+\e$B$9!#\e(B@file{spam-stat.el} \e$B$O\e(B (Lisp \e$B$@$1$N\e(B) spam \e$BFbIt%G!<%?%Y!<%9$rDs6!$7$^\e(B
+\e$B$9$,!"$=$l$O\e(B ifile \e$B$d\e(B Bogofilter \e$B$H0c$C$F30It%W%m%0%i%`$rI,MW$H$7$^$;$s!#\e(B
Spam \e$B$H\e(B ham \e$B$N%W%m%;%C%5!<$H\e(B @code{spam-split} \e$B$N$?$a\e(B
\e$B$N\e(B @code{spam-use-stat} \e$BJQ?t$,Ds6!$5$l$^$9!#\e(B
\e$B$N<-=q$r;H$C$F2<$5$$!#\e(B
@menu
-* Creating a spam-stat dictionary::
-* Splitting mail using spam-stat::
-* Low-level interface to the spam-stat dictionary::
+* Creating a spam-stat dictionary::
+* Splitting mail using spam-stat::
+* Low-level interface to the spam-stat dictionary::
@end menu
@node Creating a spam-stat dictionary
X-Faces \e$B%X%C%@!<$NA^F~$,4JC1$K$J$j$^$7$?!#\e(B
@item
+Face \e$B%X%C%@!<$r07$($k$h$&$K$J$j$^$7$?!#\e(B
+
+@item
\e$B35N,%P%C%U%!$K!"?7$7$$%3%^%s%I\e(B @kbd{/ N} \e$B$O?7Ce%a%C%;!<%8$rA^F~$7!"\e(B
@kbd{/ o} \e$B$O8E$$%a%C%;!<%8$rA^F~$7$^$9!#\e(B
* Summary Mail Commands:: Sending mail.
* Summary Post Commands:: Sending news.
* Summary Message Commands:: Other Message-related commands.
-* Canceling and Superseding::
+* Canceling and Superseding::
Marking Articles
* Unread Articles:: Marks for unread articles.
* Read Articles:: Marks for read articles.
* Other Marks:: Marks that do not affect readedness.
-* Setting Marks::
-* Generic Marking Commands::
-* Setting Process Marks::
+* Setting Marks::
+* Generic Marking Commands::
+* Setting Process Marks::
Marking Articles
* Summary Group Information:: Information oriented commands.
* Searching for Articles:: Multiple article commands.
-* Summary Generation Commands::
+* Summary Generation Commands::
* Really Various Summary Commands:: Those pesky non-conformant commands.
Article Buffer
Browsing the Web
-* Archiving Mail::
+* Archiving Mail::
* Web Searches:: Creating groups from articles that match a string.
* Slashdot:: Reading the Slashdot comments.
* Ultimate:: The Ultimate Bulletin Board systems.
* Anti-Spam Basics:: Simple steps to reduce the amount of spam.
* SpamAssassin:: How to use external anti-spam tools.
* Hashcash:: Reduce spam by burning CPU time.
-* Filtering Spam Using The Spam ELisp Package::
-* Filtering Spam Using Statistics with spam-stat::
+* Filtering Spam Using The Spam ELisp Package::
+* Filtering Spam Using Statistics with spam-stat::
Appendices
Newsgroup description. You need to read the group descriptions
before these will appear, and to do that, you either have to set
@code{gnus-read-active-file} or use the group buffer @kbd{M-d}
-command.
+command.
@item o
@samp{m} if moderated.
(defface my-group-face-1
'((t (:foreground "Red" :bold t))) "First group face")
(defface my-group-face-2
- '((t (:foreground "DarkSeaGreen4" :bold t)))
+ '((t (:foreground "DarkSeaGreen4" :bold t)))
"Second group face")
(defface my-group-face-3
'((t (:foreground "Green4" :bold t))) "Third group face")
@item gnus-select-article-hook
@vindex gnus-select-article-hook
This hook is called whenever an article is selected. By default it
-exposes any threads hidden under the selected article. If you would
+exposes any threads hidden under the selected article. If you would
like each article to be saved in the Agent as you read it, putting
@code{gnus-agent-fetch-selected-article} on this hook will do so.
* Summary Mail Commands:: Sending mail.
* Summary Post Commands:: Sending news.
* Summary Message Commands:: Other Message-related commands.
-* Canceling and Superseding::
+* Canceling and Superseding::
@end menu
sends, you can use the following element to remove them:
@lisp
-("@@yoo-hoo\\.co\\.jp\\'" .
+("@@yoo-hoo\\.co\\.jp\\'" .
"\n_+\nDo You Yoo-hoo!\\?\n.*\n.*\n")
@end lisp
@code{X-Face} headers are small black-and-white images supplied by the
message headers (@pxref{X-Face}).
-Picons, on the other hand, reside on your own system, and Gnus will
-try to match the headers to what you have (@pxref{Picons}).
+@code{Face} headers are small colored images supplied by the message
+headers (@pxref{Face}).
Smileys are those little @samp{:-)} symbols that people like to litter
their messages with (@pxref{Smileys}).
+Picons, on the other hand, reside on your own system, and Gnus will
+try to match the headers to what you have (@pxref{Picons}).
+
All these functions are toggles---if the elements already exist,
they'll be removed.
@item gnus-tree-brackets
@vindex gnus-tree-brackets
This is used for differentiating between ``real'' articles and
-``sparse'' articles. The format is
+``sparse'' articles. The format is
@example
-((@var{real-open} . @var{real-close})
- (@var{sparse-open} . @var{sparse-close})
+((@var{real-open} . @var{real-close})
+ (@var{sparse-open} . @var{sparse-close})
(@var{dummy-open} . @var{dummy-close}))
@end example
and the default is @code{((?[ . ?]) (?( . ?)) (?@{ . ?@}) (?< . ?>))}.
@menu
* Summary Group Information:: Information oriented commands.
* Searching for Articles:: Multiple article commands.
-* Summary Generation Commands::
+* Summary Generation Commands::
* Really Various Summary Commands:: Those pesky non-conformant commands.
@end menu
@xref{X-Face}.
+@item gnus-treat-display-face (head)
+
+@xref{Face}.
+
@item gnus-treat-emphasize (t, head, integer)
@item gnus-treat-fill-article (t, integer)
@item gnus-treat-fill-long-lines (t, integer)
If non-@code{nil}, Gnus also requests confirmation according to
@code{gnus-confirm-mail-reply-to-news} when replying to mail. This is
useful for treating mailing lists like newsgroups.
-
+
@end table
also stores the equivalent of @code{nnml}'s overview files in one file
per article, so it uses about twice as many inodes as @code{nnml}. (Use
@code{df -i} to see how plentiful your inode supply is.) If this slows
-you down or takes up very much space, consider switching to
+you down or takes up very much space, consider switching to
@uref{http://www.namesys.com/, ReiserFS} or another non-block-structured
file system.
interfaces to these sources.
@menu
-* Archiving Mail::
+* Archiving Mail::
* Web Searches:: Creating groups from articles that match a string.
* Slashdot:: Reading the Slashdot comments.
* Ultimate:: The Ultimate Bulletin Board systems.
@kbd{C-g} or anything else) once you've started one of them.
Note that other functions, e.g. @code{gnus-request-expire-articles},
-might run @code{gnus-agent-expire} for you to keep the agent
+might run @code{gnus-agent-expire} for you to keep the agent
synchronized with the group.
The agent parameter @code{agent-enable-expiration} may be used to
@code{gnus-agent-fetch-selected-article} to
@code{gnus-select-article-hook}.
-@item If I read an article while plugged, and the article already exists in
+@item If I read an article while plugged, and the article already exists in
the Agent, will it get downloaded once more?
@strong{No}, unless @code{gnus-agent-cache} is @code{nil}.
@item gnus-nocem-groups
@vindex gnus-nocem-groups
Gnus will look for NoCeM messages in the groups in this list. The
-default is
+default is
@lisp
("news.lists.filters" "news.admin.net-abuse.bulletins"
"alt.nocem.misc" "news.admin.net-abuse.announce")
taken advantage of that.
@menu
-* Picons:: How to display pictures of what you're reading.
-* Smileys:: Show all those happy faces the way they were meant to be shown.
* X-Face:: Display a funky, teensy black-and-white image.
+* Face:: Display a funkier, teensier colored image.
+* Smileys:: Show all those happy faces the way they were meant to be shown.
+* Picons:: How to display pictures of what you're reading.
* XVarious:: Other XEmacsy Gnusey variables.
@end menu
-@node Picons
-@subsection Picons
-
-@iftex
-@iflatex
-\include{picons}
-@end iflatex
-@end iftex
-
-So@dots{} You want to slow down your news reader even more! This is a
-good way to do so. It's also a great way to impress people staring
-over your shoulder as you read news.
-
-What are Picons? To quote directly from the Picons Web site:
-
-@iftex
-@iflatex
-\margindex{}
-@end iflatex
-@end iftex
-
-@quotation
-@dfn{Picons} is short for ``personal icons''. They're small,
-constrained images used to represent users and domains on the net,
-organized into databases so that the appropriate image for a given
-e-mail address can be found. Besides users and domains, there are picon
-databases for Usenet newsgroups and weather forecasts. The picons are
-in either monochrome @code{XBM} format or color @code{XPM} and
-@code{GIF} formats.
-@end quotation
-
-@vindex gnus-picon-databases
-For instructions on obtaining and installing the picons databases,
-point your Web browser at
-@uref{http://www.cs.indiana.edu/picons/ftp/index.html}.
-
-If you are using Debian GNU/Linux, saying @samp{apt-get install
-picons.*} will install the picons where Gnus can find them.
-
-To enable displaying picons, simply make sure that
-@code{gnus-picon-databases} points to the directory containing the
-Picons databases.
-
-The following variables offer control over where things are located.
-
-@table @code
-
-@item gnus-picon-databases
-@vindex gnus-picon-databases
-The location of the picons database. This is a list of directories
-containing the @file{news}, @file{domains}, @file{users} (and so on)
-subdirectories. Defaults to @code{("/usr/lib/picon"
-"/usr/local/faces")}.
-
-@item gnus-picon-news-directories
-@vindex gnus-picon-news-directories
-List of subdirectories to search in @code{gnus-picon-databases} for
-newsgroups faces. @code{("news")} is the default.
-
-@item gnus-picon-user-directories
-@vindex gnus-picon-user-directories
-List of subdirectories to search in @code{gnus-picon-databases} for user
-faces. @code{("users" "usenix" "local" "misc")} is the default.
-
-@item gnus-picon-domain-directories
-@vindex gnus-picon-domain-directories
-List of subdirectories to search in @code{gnus-picon-databases} for
-domain name faces. Defaults to @code{("domains")}. Some people may
-want to add @samp{"unknown"} to this list.
-
-@item gnus-picon-file-types
-@vindex gnus-picon-file-types
-Ordered list of suffixes on picon file names to try. Defaults to
-@code{("xpm" "gif" "xbm")} minus those not built-in your Emacs.
-
-@end table
-
-@node Smileys
-@subsection Smileys
-@cindex smileys
-
-@iftex
-@iflatex
-\gnusfig{-3cm}{0.5cm}{\epsfig{figure=ps/BigFace,height=20cm}}
-\input{smiley}
-@end iflatex
-@end iftex
-
-@dfn{Smiley} is a package separate from Gnus, but since Gnus is
-currently the only package that uses Smiley, it is documented here.
-
-In short---to use Smiley in Gnus, put the following in your
-@file{~/.gnus.el} file:
-
-@lisp
-(setq gnus-treat-display-smileys t)
-@end lisp
-
-Smiley maps text smiley faces---@samp{:-)}, @samp{8-)}, @samp{:-(} and
-the like---to pictures and displays those instead of the text smiley
-faces. The conversion is controlled by a list of regexps that matches
-text and maps that to file names.
-
-@vindex smiley-regexp-alist
-The alist used is specified by the @code{smiley-regexp-alist}
-variable. The first item in each element is the regexp to be matched;
-the second element is the regexp match group that is to be replaced by
-the picture; and the third element is the name of the file to be
-displayed.
-
-The following variables customize where Smiley will look for these
-files:
-
-@table @code
-
-@item smiley-data-directory
-@vindex smiley-data-directory
-Where Smiley will look for smiley faces files.
-
-@item gnus-smiley-file-types
-@vindex gnus-smiley-file-types
-List of suffixes on smiley file names to try.
-
-@end table
-
-
@node X-Face
@subsection X-Face
@cindex x-face
@cindex x-face
@findex gnus-article-display-x-face
-@findex gnus-article-x-face-command
@vindex gnus-article-x-face-command
@vindex gnus-article-x-face-too-ugly
@iftex
@end lisp
+@node Face
+@subsection Face
+@cindex face
+
+@c #### FIXME: faces and x-faces'implementations should really be harmonized.
+
+@code{Face} headers are essentially a funkier version of @code{X-Face}
+ones. They describe a 48x48 pixel colored image that's supposed to
+represent the author of the message.
+
+@cindex face
+@findex gnus-article-display-face
+The contents of a @code{Face} header must be a base64 encoded PNG image.
+See @url{http://quimby.gnus.org/circus/face/} for the precise
+specifications.
+
+Gnus provides a few convenience functions and variables to allow
+easier insertion of Face headers in outgoing messages.
+
+@findex gnus-convert-png-to-face
+@code{gnus-convert-png-to-face} takes a 48x48 PNG image, no longer than
+726 bytes long, and converts it to a face.
+
+@findex gnus-face-from-file
+@vindex gnus-convert-image-to-face-command
+@code{gnus-face-from-file} takes a JPEG file as the parameter, and then
+converts the file to Face format by using the
+@code{gnus-convert-image-to-face-command} shell command.
+
+Here's how you would typically use this function. Put something like the
+following in your @file{~/.gnus.el} file:
+
+@lisp
+(setq message-required-news-headers
+ (nconc message-required-news-headers
+ (list '(Face . (lambda ()
+ (gnus-face-from-file "~/face.jpg"))))))
+@end lisp
+
+
+@node Smileys
+@subsection Smileys
+@cindex smileys
+
+@iftex
+@iflatex
+\gnusfig{-3cm}{0.5cm}{\epsfig{figure=ps/BigFace,height=20cm}}
+\input{smiley}
+@end iflatex
+@end iftex
+
+@dfn{Smiley} is a package separate from Gnus, but since Gnus is
+currently the only package that uses Smiley, it is documented here.
+
+In short---to use Smiley in Gnus, put the following in your
+@file{~/.gnus.el} file:
+
+@lisp
+(setq gnus-treat-display-smileys t)
+@end lisp
+
+Smiley maps text smiley faces---@samp{:-)}, @samp{8-)}, @samp{:-(} and
+the like---to pictures and displays those instead of the text smiley
+faces. The conversion is controlled by a list of regexps that matches
+text and maps that to file names.
+
+@vindex smiley-regexp-alist
+The alist used is specified by the @code{smiley-regexp-alist}
+variable. The first item in each element is the regexp to be matched;
+the second element is the regexp match group that is to be replaced by
+the picture; and the third element is the name of the file to be
+displayed.
+
+The following variables customize where Smiley will look for these
+files:
+
+@table @code
+
+@item smiley-data-directory
+@vindex smiley-data-directory
+Where Smiley will look for smiley faces files.
+
+@item gnus-smiley-file-types
+@vindex gnus-smiley-file-types
+List of suffixes on smiley file names to try.
+
+@end table
+
+
+@node Picons
+@subsection Picons
+
+@iftex
+@iflatex
+\include{picons}
+@end iflatex
+@end iftex
+
+So@dots{} You want to slow down your news reader even more! This is a
+good way to do so. It's also a great way to impress people staring
+over your shoulder as you read news.
+
+What are Picons? To quote directly from the Picons Web site:
+
+@iftex
+@iflatex
+\margindex{}
+@end iflatex
+@end iftex
+
+@quotation
+@dfn{Picons} is short for ``personal icons''. They're small,
+constrained images used to represent users and domains on the net,
+organized into databases so that the appropriate image for a given
+e-mail address can be found. Besides users and domains, there are picon
+databases for Usenet newsgroups and weather forecasts. The picons are
+in either monochrome @code{XBM} format or color @code{XPM} and
+@code{GIF} formats.
+@end quotation
+
+@vindex gnus-picon-databases
+For instructions on obtaining and installing the picons databases,
+point your Web browser at
+@uref{http://www.cs.indiana.edu/picons/ftp/index.html}.
+
+If you are using Debian GNU/Linux, saying @samp{apt-get install
+picons.*} will install the picons where Gnus can find them.
+
+To enable displaying picons, simply make sure that
+@code{gnus-picon-databases} points to the directory containing the
+Picons databases.
+
+The following variables offer control over where things are located.
+
+@table @code
+
+@item gnus-picon-databases
+@vindex gnus-picon-databases
+The location of the picons database. This is a list of directories
+containing the @file{news}, @file{domains}, @file{users} (and so on)
+subdirectories. Defaults to @code{("/usr/lib/picon"
+"/usr/local/faces")}.
+
+@item gnus-picon-news-directories
+@vindex gnus-picon-news-directories
+List of subdirectories to search in @code{gnus-picon-databases} for
+newsgroups faces. @code{("news")} is the default.
+
+@item gnus-picon-user-directories
+@vindex gnus-picon-user-directories
+List of subdirectories to search in @code{gnus-picon-databases} for user
+faces. @code{("users" "usenix" "local" "misc")} is the default.
+
+@item gnus-picon-domain-directories
+@vindex gnus-picon-domain-directories
+List of subdirectories to search in @code{gnus-picon-databases} for
+domain name faces. Defaults to @code{("domains")}. Some people may
+want to add @samp{"unknown"} to this list.
+
+@item gnus-picon-file-types
+@vindex gnus-picon-file-types
+Ordered list of suffixes on picon file names to try. Defaults to
+@code{("xpm" "gif" "xbm")} minus those not built-in your Emacs.
+
+@end table
+
+
@node XVarious
@subsection Various XEmacs Variables
* Anti-Spam Basics:: Simple steps to reduce the amount of spam.
* SpamAssassin:: How to use external anti-spam tools.
* Hashcash:: Reduce spam by burning CPU time.
-* Filtering Spam Using The Spam ELisp Package::
-* Filtering Spam Using Statistics with spam-stat::
+* Filtering Spam Using The Spam ELisp Package::
+* Filtering Spam Using Statistics with spam-stat::
@end menu
@node The problem of spam
Another approach to filtering e-mail is the distributed spam
processing, for instance DCC implements such a system. In essence,
-@code{N} systems around the world agree that a machine @samp{X} in
+@var{N} systems around the world agree that a machine @var{X} in
China, Ghana, or California is sending out spam e-mail, and these
-@code{N} systems enter @samp{X} or the spam e-mail from @samp{X} into
+@var{N} systems enter @var{X} or the spam e-mail from @var{X} into
a database. The criteria for spam detection vary---it may be the
number of messages sent, the content of the messages, and so on. When
a user of the distributed processing system wants to find out if a
-message is spam, he consults one of those @code{N} systems.
+message is spam, he consults one of those @var{N} systems.
Distributed spam processing works very well against spammers that send
a large number of messages at once, but it requires the user to set up
@cindex DCC
The days where the hints in the previous section was sufficient in
-avoiding spam is coming to an end. There are many tools out there
+avoiding spam are coming to an end. There are many tools out there
that claim to reduce the amount of spam you get. This section could
easily become outdated fast, as new products replace old, but
fortunately most of these tools seem to have similar interfaces. Even
If the tool you are using is not installed on the mail server, you
need to invoke it yourself. Ideas on how to use the
@code{:postscript} mail source parameter (@pxref{Mail Source
-Specifiers}) follows.
+Specifiers}) follow.
@lisp
(setq mail-sources
:postscript "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
@end lisp
-Once you managed to process your incoming spool somehow, thus making
-the mail contain e.g. a header indicating it is spam, you are ready to
+Once you manage to process your incoming spool somehow, thus making
+the mail contain e.g.@: a header indicating it is spam, you are ready to
filter it out. Using normal split methods (@pxref{Splitting Mail}):
@lisp
A novel technique to fight spam is to require senders to do something
costly for each message they send. This has the obvious drawback that
-you cannot rely on that everyone in the world uses this technique,
+you cannot rely on everyone in the world using this technique,
since it is not part of the Internet standards, but it may be useful
in smaller communities.
(add-hook 'message-send-hook 'mail-add-payment)
@end lisp
-The @code{hashcash.el} library can be found in the Gnus development
+The @file{hashcash.el} library can be found in the Gnus development
contrib directory or at
@uref{http://users.actrix.gen.nz/mycroft/hashcash.el}.
@cindex spam filtering
@cindex spam
-The idea behind @code{spam.el} is to have a control center for spam detection
-and filtering in Gnus. To that end, @code{spam.el} does two things: it
+The idea behind @file{spam.el} is to have a control center for spam detection
+and filtering in Gnus. To that end, @file{spam.el} does two things: it
filters incoming mail, and it analyzes mail known to be spam or ham.
-@emph{Ham} is the name used throughout @code{spam.el} to indicate
+@dfn{Ham} is the name used throughout @file{spam.el} to indicate
non-spam messages.
-So, what happens when you load @code{spam.el}? First of all, you get
+So, what happens when you load @file{spam.el}? First of all, you get
the following keyboard commands:
@table @kbd
@end table
-Also, when you load @code{spam.el}, you will be able to customize its
+Also, when you load @file{spam.el}, you will be able to customize its
variables. Try @code{customize-group} on the @samp{spam} variable
group.
name. If the @code{spam-process-destination} parameter is not set,
the spam articles are only expired.
-To use the @code{spam.el} facilities for incoming mail filtering, you
+To use the @file{spam.el} facilities for incoming mail filtering, you
must add the following to your fancy split list
@code{nnmail-split-fancy} or @code{nnimap-split-fancy}:
You still have to have specific checks such as
@code{spam-use-regex-headers} set to t, even if you specifically
invoke @code{spam-split} with the check. The reason is that when
-loading @code{spam.el}, some conditional loading is done depending on
+loading @file{spam.el}, some conditional loading is done depending on
what @code{spam-use-xyz} variables you have set.
@emph{Note for IMAP users}
@code{spam-split} and their corresponding spam and ham processors:
@menu
-* Blacklists and Whitelists::
-* BBDB Whitelists::
-* Gmane Spam Reporting::
-* Anti-spam Hashcash Payments::
-* Blackholes::
-* Regular Expressions Header Matching::
-* Bogofilter::
-* ifile spam filtering::
-* spam-stat spam filtering::
+* Blacklists and Whitelists::
+* BBDB Whitelists::
+* Gmane Spam Reporting::
+* Anti-spam Hashcash Payments::
+* Blackholes::
+* Regular Expressions Header Matching::
+* Bogofilter::
+* ifile spam filtering::
+* spam-stat spam filtering::
* SpamOracle::
-* Extending the spam elisp package::
+* Extending the spam elisp package::
@end menu
@node Blacklists and Whitelists
contains outdated servers.
The blackhole check uses the @code{dig.el} package, but you can tell
-@code{spam.el} to use @code{dns.el} instead for better performance if
+@file{spam.el} to use @code{dns.el} instead for better performance if
you set @code{spam-use-dig} to @code{nil}. It is not recommended at
this time to set @code{spam-use-dig} to @code{nil} despite the
possible performance improvements, because some users may be unable to
@end defvar
-The Bogofilter mail classifier is similar to ifile in intent and
+The Bogofilter mail classifier is similar to @command{ifile} in intent and
purpose. A ham and a spam processor are provided, plus the
@code{spam-use-bogofilter} and @code{spam-use-bogofilter-headers}
variables to indicate to spam-split that Bogofilter should either be
@defvar spam-use-ifile
-Enable this variable if you want @code{spam-split} to use ifile, a
+Enable this variable if you want @code{spam-split} to use @command{ifile}, a
statistical analyzer similar to Bogofilter.
@end defvar
@emph{spam} or @emph{unclassified} groups.
@end defvar
-This enables spam.el to cooperate with spam-stat.el. spam-stat.el
-provides an internal (Lisp-only) spam database, which unlike ifile or
-Bogofilter does not require external programs. A spam and a ham
-processor, and the @code{spam-use-stat} variable for @code{spam-split}
-are provided.
+This enables @file{spam.el} to cooperate with @file{spam-stat.el}.
+@file{spam-stat.el} provides an internal (Lisp-only) spam database,
+which unlike ifile or Bogofilter does not require external programs.
+A spam and a ham processor, and the @code{spam-use-stat} variable for
+@code{spam-split} are provided.
@node SpamOracle
@subsubsection Using SpamOracle with Gnus
@xref{Mail Source Specifiers}, (@pxref{SpamAssassin}). This method has
the advantage that the user can see the @emph{X-Spam} headers.
-The easiest method is to make @code{spam.el} (@pxref{Filtering Spam
+The easiest method is to make @file{spam.el} (@pxref{Filtering Spam
Using The Spam ELisp Package}) call SpamOracle.
-@vindex spam-use-spamoracle
-To enable SpamOracle usage by @code{spam.el}, set the variable
+@vindex spam-use-spamoracle
+To enable SpamOracle usage by @file{spam.el}, set the variable
@code{spam-use-spamoracle} to @code{t} and configure the
@code{nnmail-split-fancy} or @code{nnimap-split-fancy} as described in
the section @xref{Filtering Spam Using The Spam ELisp Package}. In
characteristics of your spam mails. Using the @emph{add} mode
(training mode) one has to feed good (ham) and spam mails to
SpamOracle. This can be done by pressing @kbd{|} in the Summary buffer
-and pipe the mail to a SpamOracle process or using @code{spam.el}'s
+and pipe the mail to a SpamOracle process or using @file{spam.el}'s
spam- and ham-processors, which is much more convenient. For a
detailed description of spam- and ham-processors, see @xref{Filtering Spam Using The Spam ELisp Package}.
@enumerate
@item
-code
+code
Note you don't have to provide a spam or a ham processor. Only
provide them if Blackbox supports spam or ham processing.
this dictionary in your fancy mail splitting rules.
@menu
-* Creating a spam-stat dictionary::
-* Splitting mail using spam-stat::
-* Low-level interface to the spam-stat dictionary::
+* Creating a spam-stat dictionary::
+* Splitting mail using spam-stat::
+* Low-level interface to the spam-stat dictionary::
@end menu
@node Creating a spam-stat dictionary
@code{gnus-dired-minor-mode} installs key bindings in dired buffers to send
a file as an attachment (@kbd{C-c C-a}), open a file using the appropriate
mailcap entry (@kbd{C-c C-l}), and print a file using the mailcap entry
-(@kbd{C-c P}). It is enabled with
+(@kbd{C-c P}). It is enabled with
@lisp
(add-hook 'dired-mode-hook 'turn-on-gnus-dired-mode)
@end lisp
decompressed when activated.
@item
-If the new option @code{nnml-use-compressed-files} is non-@code{nil},
+If the new option @code{nnml-use-compressed-files} is non-@code{nil},
the nnml back end allows compressed message files.
@item
Signed article headers (X-PGP-Sig) can be verified with @kbd{W p}.
@item
-The Summary Buffer uses an arrow in the fringe to indicate the current
+The Summary Buffer uses an arrow in the fringe to indicate the current
article. Use @code{(setq gnus-summary-display-arrow nil)} to disable it.
@item
opposed to old but unread messages).
@item
-The new option @code{gnus-gcc-mark-as-read} automatically marks
+The new option @code{gnus-gcc-mark-as-read} automatically marks
Gcc articles as read.
@item
The nndoc back end now supports mailman digests and exim bounces.
@item
-Gnus supports RFC 2369 mailing list headers, and adds a number of
+Gnus supports RFC 2369 mailing list headers, and adds a number of
related commands in mailing list groups. @xref{Mailing List}.
@item
Easy inclusion of X-Faces headers.
@item
+Face headers handling.
+
+@item
In the summary buffer, the new command @kbd{/ N} inserts new messages
and @kbd{/ o} inserts old messages.
@cindex mail filtering (splitting)
The action of sorting your emails according to certain rules. Sometimes
incorrectly called mail filtering.
-
+
@end table
manifests itself by causing Gnus to be very slow. In these cases, you
can use @kbd{M-x toggle-debug-on-quit} and press @kbd{C-g} when things are
slow, and then try to analyze the backtrace (repeating the procedure
-helps isolating the real problem areas).
+helps isolating the real problem areas).
A fancier approach is to use the elisp profiler, ELP. The profiler is
(or should be) fully documented elsewhere, but to get you started