* Help for users::
* Secret Service API::
* Help for developers::
+* GnuPG and EasyPG Assistant Configuration::
* Index::
* Function Index::
* Variable Index::
\e$B$b$7\e(B @code{auth-sources} \e$B$r%+%9%?%^%$%:$7$J$$$H!"%G%#%U%)%k%H$G@83h$9$k\e(B
\e$B$3$H$K$J$k$G$7$g$&!#$=$N%G%#%U%)%k%H$H$O!"$I$s$J%[%9%H$b%]!<%H$K$D$$$F\e(B
\e$B$b\e(B netrc \e$B%U%!%$%k\e(B @code{~/.authinfo.gpg} \e$B$r;2>H$9$k$H$$$&$3$H$G$9!#$3$l\e(B
-\e$B$O0E9f2=$5$l$?%U%!%$%k$G$9!#\e(BEPA \e$B$r;H$($k$h$&$K$7$F$$$k>l9g$K8B$j$^$9$,!"\e(B
-\e$B$=$l$,6/$/?d>)$5$l$^$9!#\e(B
-
-@lisp
-(require 'epa-file)
-(epa-file-enable)
-;;; \e$BBP>N0E9f$,I,MW$J$i$H$F$b=EMW\e(B
-;;; \e$B$=$&$G$J$1$l$PL50UL#\e(B
-(setq epa-file-cache-passphrase-for-symmetric-encryption t)
-@end lisp
+\e$B$O\e(B GnuPG \e$B$G0E9f2=$5$l$?%U%!%$%k$G$9!#\e(B@xref{GnuPG and EasyPG Assistant
+Configuration}.
\e$B<B:]$K;H$($k:G$b4JC1$J\e(B netrc \e$B9T$NNc$O!"%]!<%H$,L5$$$b$N$G$9!#\e(B
@end example
@end defun
+@c TRANSLATEME
+@node GnuPG and EasyPG Assistant Configuration
+@appendix GnuPG and EasyPG Assistant Configuration
+
+In Emacs 23 or later there is an option @code{auto-encryption-mode} to
+automatically decrypt @code{*.gpg} files and it is enabled by default
+so there is no setting is needed. If you are using earlier versions
+of Emacs for some reason, you will need:
+
+@lisp
+(require 'epa-file)
+(epa-file-enable)
+@end lisp
+
+If you want your GnuPG passwords to be cached, setup @code{gpg-agent}
+or EasyPG Assitant
+@pxref{Caching Passphrases, , Caching Passphrases, epa}
+
+For those who are using older vesions of Emacs, here are some portion
+copied from the EasyPG Assitant manual:
+
+Here are some questions:
+
+@enumerate
+@item Do you use GnuPG version 2 instead of GnuPG version 1?
+@item Do you use symmetric encryption rather than public key encryption?
+@item Do you want to use gpg-agent?
+@end enumerate
+
+Here are configurations depending on your answers:
+
+@multitable {111} {222} {333} {configuration configuration configuration}
+@item @b{1} @tab @b{2} @tab @b{3} @tab Configuration
+@item Yes @tab Yes @tab Yes @tab Nothing to do.
+@item Yes @tab Yes @tab No @tab You can't, without gpg-agent.
+@item Yes @tab No @tab Yes @tab Nothing to do.
+@item Yes @tab No @tab No @tab You can't, without gpg-agent.
+@item No @tab Yes @tab Yes @tab Set up elisp passphrase cache.
+@item No @tab Yes @tab No @tab Set up elisp passphrase cache.
+@item No @tab No @tab Yes @tab Nothing to do.
+@item No @tab No @tab No @tab You can't, without gpg-agent.
+@end multitable
+
+To setup gpg-agent, follow the instruction in GnuPG manual.
+@pxref{Invoking GPG-AGENT, , Invoking GPG-AGENT, gnupg}.
+
+To set up elisp passphrase cache, set
+@code{epa-file-cache-passphrase-for-symmetric-encryption}.
+
@node Index
@chapter Index
@printindex cp
\e$B$j$G$9\e(B:
@table @code
+@item mm-shr
+Gnus \e$B$N4J0W\e(B html \e$BIA2h4o\e(B (shr) \e$B$r;H$$$^$9!#\e(B
+
@item gnus-article-html
w3m \e$B$r;H$C$F\e(B Gnus \e$B$KIA2h$5$;$^$9!#\e(B
\e$B$"$^$jM%2m$JJ}K!$G$d$C$F$$$k$o$1$G$O$"$j$^$;$s!#\e(B@code{nnmbox},
@code{nnbabyl}, @code{nnmaildir} \e$B$*$h$S\e(B @code{nnml} \e$B$,$I$N%0%k!<%W$+$i$G\e(B
\e$B$b5-;v$rA\:w$G$-$k$N$KBP$7$F!"\e(B@code{nnfolder} \e$B$H\e(B @code{nnimap} \e$B$O8=:_$N\e(B
-\e$B%0%k!<%W$KEj9F$5$l$?5-;v$7$+C5$9$3$H$,$G$-$^$;$s!#\e(B(\e$B$=$NB>$N$b$N$O;~4V$,\e(B
-\e$B$+$+$j$9$.$^$9!#\e(B) @code{nnmh} \e$B$G$O$^$C$?$/IT2DG=$G$9!#\e(B
+\e$B%0%k!<%W$KEj9F$5$l$?5-;v$7$+C5$9$3$H$,$G$-$^$;$s!#\e(B@code{nnmh} \e$B$G$O$^$C$?\e(B
+\e$B$/IT2DG=$G$9!#\e(B
+
+@c TRANSLATEME
+Fortunately, the special @code{nnregistry} back end is able to locate
+articles in any groups, regardless of their back end (@pxref{Registry
+Article Refer Method, fetching by @code{Message-ID} using the
+registry}).
@node Alternative Approaches
@section \e$BBeBX<jCJ\e(B
@item mm-text-html-renderer
@vindex mm-text-html-renderer
\e$B$b$7$3$l$,\e(B @code{gnus-article-html} \e$B$K@_Dj$5$l$F$$$k$H!"\e(B
-Gnus \e$B$O\e(B @code{curl} \e$B$H\e(B @code{w3m} \e$B$rMxMQ$9$k$=$NAH$_9~$_5!G=$r;H$$$^$9!#\e(B
+Gnus \e$B$O\e(B @code{w3m} \e$B$rMxMQ$9$k$=$NAH$_9~$_5!G=$r;H$$$^$9!#\e(B
@item gnus-blocked-images
@vindex gnus-blocked-images
\e$B5DO@$rF1$8%0%k!<%W$GB3$1$i$l$k$h$&$K$9$k5!G=$G$9!#\e(BMessage-ID \e$B$K2C$($FI=\e(B
\e$BBj$HAw?.<T$r;H$&$3$H$,$G$-$^$9!#$3$l$K$O$$$/$D$+$N$d$jJ}$,$"$j$^$9!#\e(B
+@c TRANSLATEME
+@item
+Refer to messages by ID
+
+Commands like @code{gnus-summary-refer-parent-article} can take
+advantage of the registry to jump to the referred article, regardless
+of the group the message is in.
+
@item
\e$BFH<+$N%U%i%0$H%-!<%o!<%I$r5-O?$9$k\e(B
@menu
* Setup::
* Fancy splitting to parent:: \e$B?F$X$NFC5iJ,3d\e(B
+@c TRANSLATEME
+* Registry Article Refer Method:: Fetching by @code{Message-ID} Using the Registry
* Store custom flags and keywords:: \e$BFH<+$N%U%i%0$H%-!<%o!<%I$N5-O?\e(B
* Store arbitrary data:: \e$BG$0U$N%G!<%?$N5-O?\e(B
@end menu
Gnus \e$B$NA`:n$rDL$8$F%l%8%9%H%j!<$,5-O?$5$l$k%U%!%$%k$G$9!#\e(B
@end defvar
+@c TRANSLATEME
+@node Registry Article Refer Method
+@subsection Fetching by @code{Message-ID} Using the Registry
+
+The registry knows how to map each @code{Message-ID} to the group it's
+in. This can be leveraged to enhance the ``article refer method'',
+the thing that tells Gnus how to look up an article given its
+Message-ID (@pxref{Finding the Parent}).
+
+@vindex nnregistry
+@vindex gnus-refer-article-method
+
+The @code{nnregistry} refer method does exactly that. It has the
+advantage that an article may be found regardless of the group it's
+in---provided its @code{Message-ID} is known to the registry. It can
+be enabled by augmenting the start-up file with something along these
+lines:
+
+@example
+;; Keep enough entries to have a good hit rate when referring to an
+;; article using the registry. Use long group names so that Gnus
+;; knows where the article is.
+(setq gnus-registry-max-entries 2500
+ gnus-registry-use-long-group-names t)
+
+(gnus-registry-initialize)
+
+(setq gnus-refer-article-method
+ '(current
+ (nnregistry)
+ (nnweb "gmane" (nnweb-type gmane))))
+@end example
+
+The example above instructs Gnus to first look up the article in the
+current group, or, alternatively, using the registry, and finally, if
+all else fails, using Gmane.
+
@node Fancy splitting to parent
@subsection \e$B?F$X$NFC5iJ,3d\e(B