Release commit
[gnus] / texi / gnus.texi
index f91bb2c..4adbf9e 100644 (file)
@@ -52,7 +52,7 @@ license to the document, as described in section 6 of the license.
 \begin{document}
 
 % Adjust ../Makefile.in if you change the following line:
-\newcommand{\gnusversionname}{No Gnus v0.6}
+\newcommand{\gnusversionname}{No Gnus v0.5}
 \newcommand{\gnuschaptername}{}
 \newcommand{\gnussectionname}{}
 
@@ -362,7 +362,7 @@ spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
 @c Adjust ../Makefile.in if you change the following line:
-This manual corresponds to No Gnus v0.6.
+This manual corresponds to No Gnus v0.5.
 
 @end ifinfo
 
@@ -509,7 +509,7 @@ Summary Buffer
 * Mail Group Commands::         Some commands can only be used in mail groups.
 * Various Summary Stuff::       What didn't fit anywhere else.
 * Exiting the Summary Buffer::  Returning to the Group buffer,
-                               or reselecting the current group.
+                                or reselecting the current group.
 * Crosspost Handling::          How crossposted articles are dealt with.
 * Duplicate Suppression::       An alternative when crosspost handling fails.
 * Security::                    Decrypt and Verify.
@@ -837,7 +837,7 @@ Image Enhancements
 * 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.
+                                  meant to be shown.
 * Picons::                      How to display pictures of what you're reading.
 * XVarious::                    Other XEmacsy Gnusey variables.
 
@@ -1821,8 +1821,15 @@ the true unread message count is not possible efficiently.  For
 hysterical raisins, even the mail back ends, where the true number of
 unread messages might be available efficiently, use the same limited
 interface.  To remove this restriction from Gnus means that the back
-end interface has to be changed, which is not an easy job.  If you
-want to work on this, please contact the Gnus mailing list.
+end interface has to be changed, which is not an easy job.
+
+The nnml backend (@pxref{Mail Spool}) has a feature called ``group
+compaction'' which circumvents this deficiency: the idea is to
+renumber all articles from 1, removing all gaps between numbers, hence
+getting a correct total count.  Other backends may support this in the
+future.  In order to keep your total article count relatively up to
+date, you might want to compact your groups (or even directly your
+server) from time to time. @xref{Misc Group Stuff}, @xref{Server Commands}.
 
 @item y
 Number of unread, unticked, non-dormant articles.
@@ -1945,23 +1952,23 @@ background is dark:
 (cond (window-system
        (setq custom-background-mode 'light)
        (defface my-group-face-1
-        '((t (:foreground "Red" :bold t))) "First group face")
+         '((t (:foreground "Red" :bold t))) "First group face")
        (defface my-group-face-2
-        '((t (:foreground "DarkSeaGreen4" :bold t)))
-        "Second group face")
+         '((t (:foreground "DarkSeaGreen4" :bold t)))
+         "Second group face")
        (defface my-group-face-3
-        '((t (:foreground "Green4" :bold t))) "Third group face")
+         '((t (:foreground "Green4" :bold t))) "Third group face")
        (defface my-group-face-4
-        '((t (:foreground "SteelBlue" :bold t))) "Fourth group face")
+         '((t (:foreground "SteelBlue" :bold t))) "Fourth group face")
        (defface my-group-face-5
-        '((t (:foreground "Blue" :bold t))) "Fifth group face")))
+         '((t (:foreground "Blue" :bold t))) "Fifth group face")))
 
 (setq gnus-group-highlight
       '(((> unread 200) . my-group-face-1)
-       ((and (< level 3) (zerop unread)) . my-group-face-2)
-       ((< level 3) . my-group-face-3)
-       ((zerop unread) . my-group-face-4)
-       (t . my-group-face-5)))
+        ((and (< level 3) (zerop unread)) . my-group-face-2)
+        ((< level 3) . my-group-face-3)
+        ((zerop unread) . my-group-face-4)
+        (t . my-group-face-5)))
 @end lisp
 
 Also @pxref{Faces and Fonts}.
@@ -3014,7 +3021,7 @@ Commands}) the following Sieve code is generated:
 
 @example
 if address "sender" "sieve-admin@@extundo.com" @{
-       fileinto "INBOX.list.sieve";
+        fileinto "INBOX.list.sieve";
 @}
 @end example
 
@@ -3025,7 +3032,7 @@ like the following is generated:
 
 @example
 if address "sender" ["name@@one.org", "else@@two.org"] @{
-       fileinto "INBOX.list.sieve";
+        fileinto "INBOX.list.sieve";
 @}
 @end example
 
@@ -3111,22 +3118,22 @@ For example:
 @lisp
 (setq gnus-parameters
       '(("mail\\..*"
-        (gnus-show-threads nil)
-        (gnus-use-scoring nil)
-        (gnus-summary-line-format
-         "%U%R%z%I%(%[%d:%ub%-23,23f%]%) %s\n")
-        (gcc-self . t)
-        (display . all))
+         (gnus-show-threads nil)
+         (gnus-use-scoring nil)
+         (gnus-summary-line-format
+          "%U%R%z%I%(%[%d:%ub%-23,23f%]%) %s\n")
+         (gcc-self . t)
+         (display . all))
 
-       ("^nnimap:\\(foo.bar\\)$"
-        (to-group . "\\1"))
+        ("^nnimap:\\(foo.bar\\)$"
+         (to-group . "\\1"))
 
-       ("mail\\.me"
-        (gnus-use-scoring  t))
+        ("mail\\.me"
+         (gnus-use-scoring  t))
 
-       ("list\\..*"
-        (total-expire . t)
-        (broken-reply-to . t))))
+        ("list\\..*"
+         (total-expire . t)
+         (broken-reply-to . t))))
 @end lisp
 
 String value of parameters will be subjected to regexp substitution, as
@@ -4192,6 +4199,15 @@ sending them over the network: they're just saved directly to the group
 in question.  The corresponding back end must have a request-post method
 for this to work though.
 
+@item G z
+@kindex G z (Group)
+@findex gnus-group-compact-group
+
+Compact the group under point (@code{gnus-group-compact-group}).
+Currently implemented only in nnml (@pxref{Mail Spool}).  This removes
+gaps between article numbers, hence getting a correct total article
+count.
+
 @end table
 
 Variables for the group buffer:
@@ -4419,7 +4435,7 @@ This will result in lines looking like:
 
 @example
 *        0: mail.ding                                19961002T012943
-        0: custom                                   19961002T012713
+         0: custom                                   19961002T012713
 @end example
 
 As you can see, the date is displayed in compact ISO 8601 format.  This
@@ -4441,7 +4457,7 @@ trick:
 (defun gnus-user-format-function-d (headers)
   (let ((time (gnus-group-timestamp gnus-tmp-group)))
     (if time
-       (format-time-string "%b %d  %H:%M" time)
+        (format-time-string "%b %d  %H:%M" time)
       "")))
 @end lisp
 
@@ -4509,8 +4525,8 @@ except that the line containing the call to @code{stop} is removed.)
 
 @example
 if address "sender" "owner-ding@@hpc.uh.edu" @{
-       fileinto "INBOX.ding";
-       stop;
+        fileinto "INBOX.ding";
+        stop;
 @}
 @end example
 
@@ -4590,7 +4606,7 @@ function or better use it as a prefix key.  For example:
 * Mail Group Commands::         Some commands can only be used in mail groups.
 * Various Summary Stuff::       What didn't fit anywhere else.
 * Exiting the Summary Buffer::  Returning to the Group buffer,
-                               or reselecting the current group.
+                                or reselecting the current group.
 * Crosspost Handling::          How crossposted articles are dealt with.
 * Duplicate Suppression::       An alternative when crosspost handling fails.
 * Security::                    Decrypt and Verify.
@@ -5322,7 +5338,7 @@ encoded in the @code{cn-gb-2312} charset.  If you have
 @lisp
 (setq gnus-summary-show-article-charset-alist
       '((1 . cn-gb-2312)
-       (2 . big5)))
+        (2 . big5)))
 @end lisp
 
 then you can say @kbd{C-u 1 g} to get the same effect.
@@ -6260,7 +6276,7 @@ Process marks are displayed as @code{#} in the summary buffer, and are
 used for marking articles in such a way that other commands will
 process these articles.  For instance, if you process mark four
 articles and then use the @kbd{*} command, Gnus will enter these four
-commands into the cache.  For more information,
+articles into the cache.  For more information,
 @pxref{Process/Prefix}.
 
 @table @kbd
@@ -6736,19 +6752,19 @@ as 10, you might consider setting this variable to something sensible:
       (concat
        "\\`\\[?\\("
        (mapconcat
-       'identity
-       '("looking"
-         "wanted" "followup" "summary\\( of\\)?"
-         "help" "query" "problem" "question"
-         "answer" "reference" "announce"
-         "How can I" "How to" "Comparison of"
-         ;; ...
-         )
-       "\\|")
+        'identity
+        '("looking"
+          "wanted" "followup" "summary\\( of\\)?"
+          "help" "query" "problem" "question"
+          "answer" "reference" "announce"
+          "How can I" "How to" "Comparison of"
+          ;; ...
+          )
+        "\\|")
        "\\)\\s *\\("
        (mapconcat 'identity
-                 '("for" "for reference" "with" "about")
-                 "\\|")
+                  '("for" "for reference" "with" "about")
+                  "\\|")
        "\\)?\\]?:?[ \t]*"))
 @end lisp
 
@@ -6909,7 +6925,7 @@ Here's an example:
 @lisp
 (setq gnus-thread-hide-subtree
       '(or gnus-article-unread-p
-          gnus-article-unseen-p))
+           gnus-article-unseen-p))
 @end lisp
 
 (It's a pretty nonsensical example, since all unseen articles are also
@@ -6980,7 +6996,7 @@ meaningful.  Here's one example:
 (defun my-alter-message-id (header)
   (let ((id (mail-header-id header)))
     (when (string-match
-          "\\(<[^<>@@]*\\)\\.?cygnus\\..*@@\\([^<>@@]*>\\)" id)
+           "\\(<[^<>@@]*\\)\\.?cygnus\\..*@@\\([^<>@@]*>\\)" id)
       (mail-header-set-id
        (concat (match-string 1 id) "@@" (match-string 2 id))
        header))))
@@ -7180,8 +7196,8 @@ by number, you could do something like:
 @lisp
 (setq gnus-thread-sort-functions
       '(gnus-thread-sort-by-number
-       gnus-thread-sort-by-subject
-       (not gnus-thread-sort-by-total-score)))
+        gnus-thread-sort-by-subject
+        (not gnus-thread-sort-by-total-score)))
 @end lisp
 
 The threads that have highest score will be displayed first in the
@@ -7196,7 +7212,7 @@ say something like:
 @lisp
 (setq gnus-thread-sort-functions
       '((not gnus-thread-sort-by-number)
-       gnus-thread-sort-by-score))
+        gnus-thread-sort-by-score))
 @end lisp
 
 @vindex gnus-thread-score-function
@@ -7229,7 +7245,7 @@ say something like:
 @lisp
 (setq gnus-article-sort-functions
       '(gnus-article-sort-by-number
-       gnus-article-sort-by-subject))
+        gnus-article-sort-by-subject))
 @end lisp
 
 You can define group specific sorting via @code{gnus-parameters},
@@ -7301,7 +7317,7 @@ than 100 lines, you could say something like:
   "Return non-nil for short, unread articles."
   (and (gnus-data-unread-p data)
        (< (mail-header-lines (gnus-data-header data))
-         100)))
+          100)))
 
 (setq gnus-async-prefetch-article-p 'my-async-short-unread-p)
 @end lisp
@@ -7769,7 +7785,7 @@ following will do just that:
 
 (setq gnus-split-methods
       '((gnus-article-archive-name)
-       (my-save-name)))
+        (my-save-name)))
 @end lisp
 
 
@@ -8001,8 +8017,8 @@ variables are of the form
 
 @lisp
       (list '(regexp1 command2)
-           '(regexp2 command2)
-           ...)
+            '(regexp2 command2)
+            ...)
 @end lisp
 
 @table @code
@@ -8370,7 +8386,7 @@ highlighting.
 @lisp
 (setq gnus-emphasis-alist
       '(("_\\(\\w+\\)_" 0 1 gnus-emphasis-underline)
-       ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold)))
+        ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold)))
 @end lisp
 
 @cindex slash
@@ -9126,8 +9142,8 @@ variable @code{gnus-parameters}:
 ;; @r{increase @code{gnus-button-*-level} in some groups:}
 (setq gnus-parameters
       '(("\\<\\(emacs\\|gnus\\)\\>" (gnus-button-emacs-level 10))
-       ("\\<unix\\>"               (gnus-button-man-level 10))
-       ("\\<tex\\>"                (gnus-button-tex-level 10))))
+        ("\\<unix\\>"               (gnus-button-man-level 10))
+        ("\\<tex\\>"                (gnus-button-tex-level 10))))
 @end lisp
 
 @table @code
@@ -9354,12 +9370,12 @@ from the end of the body towards the beginning.)  One likely value is:
 @lisp
 (setq gnus-signature-separator
       '("^-- $"         ; @r{The standard}
-       "^-- *$"        ; @r{A common mangling}
-       "^-------*$"    ; @r{Many people just use a looong}
-                       ; @r{line of dashes.  Shame!}
-       "^ *--------*$" ; @r{Double-shame!}
-       "^________*$"   ; @r{Underscores are also popular}
-       "^========*$")) ; @r{Pervert!}
+        "^-- *$"        ; @r{A common mangling}
+        "^-------*$"    ; @r{Many people just use a looong}
+                        ; @r{line of dashes.  Shame!}
+        "^ *--------*$" ; @r{Double-shame!}
+        "^________*$"   ; @r{Underscores are also popular}
+        "^========*$")) ; @r{Pervert!}
 @end lisp
 
 The more permissive you are, the more likely it is that you'll get false
@@ -9605,7 +9621,7 @@ Here's an example function the does the latter:
     (with-temp-buffer
       (insert (mm-get-part handle))
       (write-region (point-min) (point-max)
-                   (read-file-name "Save jpeg to: ")))))
+                    (read-file-name "Save jpeg to: ")))))
 (setq gnus-article-mime-part-function
       'my-save-all-jpeg-parts)
 @end lisp
@@ -9664,8 +9680,8 @@ such unenlightened users, you can make live easier by adding
 @lisp
 (setq mm-file-name-rewrite-functions
       '(mm-file-name-trim-whitespace
-       mm-file-name-collapse-whitespace
-       mm-file-name-replace-whitespace))
+        mm-file-name-collapse-whitespace
+        mm-file-name-replace-whitespace))
 @end lisp
 
 @noindent
@@ -9742,7 +9758,7 @@ charset, you can choose what charset to use by saying the following:
 
 @lisp
 (put-charset-property 'cyrillic-iso8859-5
-                     'preferred-coding-system 'koi8-r)
+                      'preferred-coding-system 'koi8-r)
 @end lisp
 
 This means that Russian will be encoded using @code{koi8-r} instead of
@@ -9937,7 +9953,7 @@ then ask Google if that fails:
 @lisp
 (setq gnus-refer-article-method
       '(current
-       (nnweb "google" (nnweb-type google))))
+        (nnweb "google" (nnweb-type google))))
 @end lisp
 
 Most of the mail back ends support fetching by @code{Message-ID}, but
@@ -10158,7 +10174,7 @@ at all times:
 
 @lisp
 (add-hook 'gnus-configure-windows-hook
-         'gnus-tree-perhaps-minimize)
+          'gnus-tree-perhaps-minimize)
 @end lisp
 
 @item gnus-generate-tree-function
@@ -10195,8 +10211,8 @@ Here's the same thread displayed in a vertical tree buffer:
 [odd] [Jan] [odd] (***)                   [Jor]
   |           |     |--\
 [Gun]       [Eri] [Eri] [odd]
-                         |
-                       [Paa]
+                          |
+                        [Paa]
 @end group
 @end example
 
@@ -10211,10 +10227,10 @@ following to your @file{~/.gnus.el} file:
 (gnus-add-configuration
  '(article
    (vertical 1.0
-            (horizontal 0.25
-                        (summary 0.75 point)
-                        (tree 1.0))
-            (article 1.0))))
+             (horizontal 0.25
+                         (summary 0.75 point)
+                         (tree 1.0))
+             (article 1.0))))
 @end lisp
 
 @xref{Window Layout}.
@@ -10372,8 +10388,8 @@ suggestions you find reasonable.  (Note that
 @lisp
 (setq gnus-move-split-methods
       '(("^From:.*Lars Magne" "nnml:junk")
-       ("^Subject:.*gnus" "nnfolder:important")
-       (".*" "nnml:misc")))
+        ("^Subject:.*gnus" "nnfolder:important")
+        (".*" "nnml:misc")))
 @end lisp
 
 
@@ -10470,7 +10486,7 @@ buffers.  For example:
 @lisp
 (setq gnus-newsgroup-variables
       '(message-use-followup-to
-       (gnus-visible-headers .
+        (gnus-visible-headers .
  "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^To:")))
 @end lisp
 
@@ -11971,7 +11987,7 @@ mainly from that server), you can set it permanently as follows:
 @lisp
 (setq mail-source-primary-source
       '(pop :server "pop3.mail.server"
-           :password "secret"))
+            :password "secret"))
 @end lisp
 
 @noindent
@@ -11980,11 +11996,11 @@ Otherwise, bind it dynamically only when performing the
 
 @lisp
 (add-hook 'message-send-mail-hook
-         (lambda ()
-           (let ((mail-source-primary-source
-                  '(pop :server "pop3.mail.server"
-                        :password "secret")))
-             (mail-source-touch-pop))))
+          (lambda ()
+            (let ((mail-source-primary-source
+                   '(pop :server "pop3.mail.server"
+                         :password "secret")))
+              (mail-source-touch-pop))))
 @end lisp
 
 @node Mail and Post
@@ -12037,13 +12053,13 @@ you're in, you could say something like the following:
 
 @lisp
 (add-hook 'gnus-select-group-hook
-         (lambda ()
-           (cond
-            ((string-match
-              "^de\\." (gnus-group-real-name gnus-newsgroup-name))
-             (ispell-change-dictionary "deutsch"))
-            (t
-             (ispell-change-dictionary "english")))))
+          (lambda ()
+            (cond
+             ((string-match
+               "^de\\." (gnus-group-real-name gnus-newsgroup-name))
+              (ispell-change-dictionary "deutsch"))
+             (t
+              (ispell-change-dictionary "english")))))
 @end lisp
 
 Modify to suit your needs.
@@ -12074,10 +12090,10 @@ use to store sent messages.  The default is:
 
 @lisp
 (nnfolder "archive"
-         (nnfolder-directory   "~/Mail/archive")
-         (nnfolder-active-file "~/Mail/archive/active")
-         (nnfolder-get-new-mail nil)
-         (nnfolder-inhibit-expiry t))
+          (nnfolder-directory   "~/Mail/archive")
+          (nnfolder-active-file "~/Mail/archive/active")
+          (nnfolder-get-new-mail nil)
+          (nnfolder-inhibit-expiry t))
 @end lisp
 
 You can, however, use any mail select method (@code{nnml},
@@ -12088,9 +12104,9 @@ directory chosen, you could say something like:
 @lisp
 (setq gnus-message-archive-method
       '(nnfolder "archive"
-                (nnfolder-inhibit-expiry t)
-                (nnfolder-active-file "~/News/sent-mail/active")
-                (nnfolder-directory "~/News/sent-mail/")))
+                 (nnfolder-inhibit-expiry t)
+                 (nnfolder-active-file "~/News/sent-mail/active")
+                 (nnfolder-directory "~/News/sent-mail/")))
 @end lisp
 
 @vindex gnus-message-archive-group
@@ -12141,16 +12157,16 @@ Save to different groups based on what group you are in:
 @lisp
 (setq gnus-message-archive-group
       '(("^alt" "sent-to-alt")
-       ("mail" "sent-to-mail")
-       (".*" "sent-to-misc")))
+        ("mail" "sent-to-mail")
+        (".*" "sent-to-misc")))
 @end lisp
 
 More complex stuff:
 @lisp
 (setq gnus-message-archive-group
       '((if (message-news-p)
-           "misc-news"
-         "misc-mail")))
+            "misc-news"
+          "misc-mail")))
 @end lisp
 
 How about storing all news messages in one file, but storing all mail
@@ -12159,8 +12175,8 @@ messages in one file per month:
 @lisp
 (setq gnus-message-archive-group
       '((if (message-news-p)
-           "misc-news"
-         (concat "mail." (format-time-string "%Y-%m")))))
+            "misc-news"
+          (concat "mail." (format-time-string "%Y-%m")))))
 @end lisp
 
 @c (XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to
@@ -12283,6 +12299,9 @@ name can be one of:
 @item @code{body}
 @end itemize
 
+Note that the @code{signature-file} attribute honors the variable
+@code{message-signature-directory}.
+
 The attribute name can also be a string or a symbol.  In that case,
 this will be used as a header name, and the value will be inserted in
 the headers of the article; if the value is @code{nil}, the header
@@ -12312,33 +12331,33 @@ So here's a new example:
 @lisp
 (setq gnus-posting-styles
       '((".*"
-        (signature-file "~/.signature")
-        (name "User Name")
-        (x-face-file "~/.xface")
-        (x-url (getenv "WWW_HOME"))
-        (organization "People's Front Against MWM"))
-       ("^rec.humor"
-        (signature my-funny-signature-randomizer))
-       ((equal (system-name) "gnarly")  ;; @r{A form}
-        (signature my-quote-randomizer))
-       (message-news-p        ;; @r{A function symbol}
-        (signature my-news-signature))
-       (window-system         ;; @r{A value symbol}
-        ("X-Window-System" (format "%s" window-system)))
-       ;; @r{If I'm replying to Larsi, set the Organization header.}
-       ((header "from" "larsi.*org")
-        (Organization "Somewhere, Inc."))
-       ((posting-from-work-p) ;; @r{A user defined function}
-        (signature-file "~/.work-signature")
-        (address "user@@bar.foo")
-        (body "You are fired.\n\nSincerely, your boss.")
-        (organization "Important Work, Inc"))
-       ("nnml:.*"
-        (From (save-excursion
-                (set-buffer gnus-article-buffer)
-                (message-fetch-field "to"))))
-       ("^nn.+:"
-        (signature-file "~/.mail-signature"))))
+         (signature-file "~/.signature")
+         (name "User Name")
+         (x-face-file "~/.xface")
+         (x-url (getenv "WWW_HOME"))
+         (organization "People's Front Against MWM"))
+        ("^rec.humor"
+         (signature my-funny-signature-randomizer))
+        ((equal (system-name) "gnarly")  ;; @r{A form}
+         (signature my-quote-randomizer))
+        (message-news-p        ;; @r{A function symbol}
+         (signature my-news-signature))
+        (window-system         ;; @r{A value symbol}
+         ("X-Window-System" (format "%s" window-system)))
+        ;; @r{If I'm replying to Larsi, set the Organization header.}
+        ((header "from" "larsi.*org")
+         (Organization "Somewhere, Inc."))
+        ((posting-from-work-p) ;; @r{A user defined function}
+         (signature-file "~/.work-signature")
+         (address "user@@bar.foo")
+         (body "You are fired.\n\nSincerely, your boss.")
+         (organization "Important Work, Inc"))
+        ("nnml:.*"
+         (From (save-excursion
+                 (set-buffer gnus-article-buffer)
+                 (message-fetch-field "to"))))
+        ("^nn.+:"
+         (signature-file "~/.mail-signature"))))
 @end lisp
 
 The @samp{nnml:.*} rule means that you use the @code{To} address as the
@@ -12714,6 +12733,15 @@ Request that the server regenerate all its data structures
 (@code{gnus-server-regenerate-server}).  This can be useful if you have
 a mail back end that has gotten out of sync.
 
+@item z
+@kindex z (Server)
+@findex gnus-server-compact-server
+
+Compact all groups in the server under point
+(@code{gnus-server-compact-server}).  Currently implemented only in
+nnml (@pxref{Mail Spool}).  This removes gaps between article numbers,
+hence getting a correct total article count.
+
 @end table
 
 
@@ -12800,13 +12828,13 @@ an indirect connection:
 @lisp
 (setq gnus-select-method
       '(nntp "indirect"
-            (nntp-address "news.server.example")
-            (nntp-via-user-name "intermediate_user_name")
-            (nntp-via-address "intermediate.host.example")
-            (nntp-via-rlogin-command "ssh")
-            (nntp-end-of-line "\n")
-            (nntp-via-rlogin-command-switches ("-C" "-t" "-e" "none"))
-            (nntp-open-connection-function nntp-open-via-rlogin-and-telnet)))
+             (nntp-address "news.server.example")
+             (nntp-via-user-name "intermediate_user_name")
+             (nntp-via-address "intermediate.host.example")
+             (nntp-via-rlogin-command "ssh")
+             (nntp-end-of-line "\n")
+             (nntp-via-rlogin-command-switches ("-C" "-t" "-e" "none"))
+             (nntp-open-connection-function nntp-open-via-rlogin-and-telnet)))
 @end lisp
 
 If you're behind a firewall, but have direct access to the outside world
@@ -12852,8 +12880,8 @@ Change that to:
 
 @lisp
 (nnml "cache"
-        (nnml-directory "~/News/cache/")
-        (nnml-active-file "~/News/cache/active"))
+         (nnml-directory "~/News/cache/")
+         (nnml-active-file "~/News/cache/active"))
 @end lisp
 
 Type @kbd{C-c C-c} to return to the server buffer.  If you now press
@@ -13100,7 +13128,7 @@ The default value is
 @lisp
 '(("nntpd 1\\.5\\.11t"
    (remove-hook 'nntp-server-opened-hook
-               'nntp-send-mode-reader)))
+                'nntp-send-mode-reader)))
 @end lisp
 
 This ensures that Gnus doesn't send the @code{MODE READER} command to
@@ -13700,8 +13728,8 @@ You will probably want to split the mail into several groups, though:
 @lisp
 (setq nnmail-split-methods
       '(("junk" "^From:.*Lars Ingebrigtsen")
-       ("crazy" "^Subject:.*die\\|^Organization:.*flabby")
-       ("other" "")))
+        ("crazy" "^Subject:.*die\\|^Organization:.*flabby")
+        ("other" "")))
 @end lisp
 
 This will result in three new @code{nnml} mail groups being created:
@@ -13804,7 +13832,7 @@ function.
 
 @vindex nnmail-mail-splitting-charset
 @vindex nnmail-mail-splitting-decodes
-By default the splitting codes @acronym{MIME} decodes headers so you
+By default, splitting @acronym{MIME}-decodes headers so you
 can match on non-@acronym{ASCII} strings.  The
 @code{nnmail-mail-splitting-charset} variable specifies the default
 charset for decoding.  The behavior can be turned off completely by
@@ -13922,7 +13950,8 @@ TMP=$HOME/Mail/tmp
 rm -f $TMP; $MOVEMAIL $MAIL $TMP >/dev/null && cat $TMP
 @end example
 
-Alter this script to fit find the @samp{movemail} you want to use.
+Alter this script to fit the @samp{movemail} and temporary
+file you want to use.
 
 
 @item directory
@@ -13969,7 +13998,7 @@ An example directory mail source:
 
 @lisp
 (directory :path "/home/user-name/procmail-dir/"
-          :suffix ".prcml")
+           :suffix ".prcml")
 @end lisp
 
 @item pop
@@ -14110,12 +14139,12 @@ Two example maildir mail sources:
 
 @lisp
 (maildir :path "/home/user-name/Maildir/"
-        :subdirs ("cur" "new"))
+         :subdirs ("cur" "new"))
 @end lisp
 
 @lisp
 (maildir :path "/user@@remotehost.org:~/Maildir/"
-        :subdirs ("new"))
+         :subdirs ("new"))
 @end lisp
 
 @item imap
@@ -14251,8 +14280,8 @@ An example webmail source:
 
 @lisp
 (webmail :subtype 'hotmail
-        :user "user-name"
-        :password "secret")
+         :user "user-name"
+         :password "secret")
 @end lisp
 @end table
 
@@ -14271,8 +14300,8 @@ example:
 @lisp
 (setq mail-sources
       '((directory :path "/home/pavel/.Spool/"
-                  :suffix ""
-                  :plugged t)))
+                   :suffix ""
+                   :plugged t)))
 @end lisp
 
 Gnus will then fetch your mail even when you are unplugged.  This is
@@ -14290,7 +14319,7 @@ consider the following mail-source setting:
 
 @lisp
 (setq mail-sources '((pop :user "jrl"
-                         :server "pophost" :function fetchfunc)))
+                          :server "pophost" :function fetchfunc)))
 @end lisp
 
 While the function @code{fetchfunc} is executing, the symbol @code{user}
@@ -14380,8 +14409,8 @@ If you want to fetch mail both from your local spool as well as a
 @lisp
 (setq mail-sources
       '((file)
-       (pop :server "pop3.mail.server"
-            :password "secret")))
+        (pop :server "pop3.mail.server"
+             :password "secret")))
 @end lisp
 
 Or, if you don't want to use any of the keyword defaults:
@@ -14389,10 +14418,10 @@ Or, if you don't want to use any of the keyword defaults:
 @lisp
 (setq mail-sources
       '((file :path "/var/spool/mail/user-name")
-       (pop :server "pop3.mail.server"
-            :user "user-name"
-            :port "pop3"
-            :password "secret")))
+        (pop :server "pop3.mail.server"
+             :user "user-name"
+             :port "pop3"
+             :password "secret")))
 @end lisp
 
 
@@ -14443,10 +14472,10 @@ default file modes the new mail files get:
 
 @lisp
 (add-hook 'nnmail-pre-get-new-mail-hook
-         (lambda () (set-default-file-modes 511)))
+          (lambda () (set-default-file-modes 511)))
 
 (add-hook 'nnmail-post-get-new-mail-hook
-         (lambda () (set-default-file-modes 551)))
+          (lambda () (set-default-file-modes 551)))
 @end lisp
 
 @item nnmail-use-long-file-names
@@ -14500,12 +14529,12 @@ Let's look at an example value of this variable first:
 ;; @r{the ordinary groups.  Warnings are put in a separate group}
 ;; @r{from real errors.}
 (| ("from" mail (| ("subject" "warn.*" "mail.warning")
-                  "mail.misc"))
+                   "mail.misc"))
    ;; @r{Non-error messages are crossposted to all relevant}
    ;; @r{groups, but we don't crosspost between the group for the}
    ;; @r{(ding) list and the group for other (ding) related mail.}
    (& (| (any "ding@@ifi\\.uio\\.no" "ding.list")
-        ("subject" "ding" "ding.misc"))
+         ("subject" "ding" "ding.misc"))
       ;; @r{Other mailing lists@dots{}}
       (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list")
       (any "SmartList@@informatik\\.rwth-aachen\\.de" "SmartList.list")
@@ -14578,7 +14607,7 @@ body of the messages:
       (widen)
       (goto-char (point-min))
       (when (re-search-forward "Some.*string" nil t)
-       "string.group"))))
+        "string.group"))))
 @end lisp
 
 The buffer is narrowed to the message in question when @var{function}
@@ -14710,8 +14739,8 @@ using the colon feature, like so:
       nnmail-cache-accepted-message-ids t
       nnmail-split-fancy
       '(| (: nnmail-split-fancy-with-parent)
-         ;; @r{other splits go here}
-       ))
+          ;; @r{other splits go here}
+        ))
 @end lisp
 
 This feature works as follows: when @code{nnmail-treat-duplicates} is
@@ -14815,7 +14844,7 @@ behave as if @code{nnmail-split-fancy} had been selected and variable
 @lisp
 (| (& (any "\\(bar@@femail\\.com\\|.*@@femail\\.com\\)" "mail.bar")
       (any "\\(foo@@nowhere\\.gov\\|foo@@localhost\\|foo-redist@@home\\)"
-          - "bugs-foo" - "rambling-foo" "mail.foo"))
+           - "bugs-foo" - "rambling-foo" "mail.foo"))
    "mail.others")
 @end lisp
 
@@ -14989,7 +15018,7 @@ automatically, you can put something like the following in your
 @vindex gnus-mark-article-hook
 @lisp
 (remove-hook 'gnus-mark-article-hook
-            'gnus-summary-mark-read-and-unread-as-read)
+             'gnus-summary-mark-read-and-unread-as-read)
 (add-hook 'gnus-mark-article-hook 'gnus-summary-mark-unread-as-read)
 @end lisp
 
@@ -15031,13 +15060,13 @@ everywhere else:
 (setq nnmail-expiry-wait-function
       (lambda (group)
        (cond ((string= group "mail.private")
-              31)
-            ((string= group "mail.junk")
-              1)
-            ((string= group "important")
-              'never)
-            (t
-              6))))
+               31)
+             ((string= group "mail.junk")
+               1)
+             ((string= group "important")
+               'never)
+             (t
+               6))))
 @end lisp
 
 The group names this function is fed are ``unadorned'' group
@@ -15080,8 +15109,8 @@ expire mail to groups according to the variable
  (setq nnmail-expiry-target 'nnmail-fancy-expiry-target
        nnmail-fancy-expiry-targets
        '((to-from "boss" "nnfolder:Work")
-        ("subject" "IMPORTANT" "nnfolder:IMPORTANT.%Y.%b")
-        ("from" ".*" "nnfolder:Archive-%Y")))
+         ("subject" "IMPORTANT" "nnfolder:IMPORTANT.%Y.%b")
+         ("from" ".*" "nnfolder:Archive-%Y")))
 @end lisp
 
 With this setup, any mail that has @code{IMPORTANT} in its Subject
@@ -15261,19 +15290,19 @@ methods:
 @lisp
 (setq nnmail-split-fancy
       '(| ;; @r{Messages duplicates go to a separate group.}
-       ("gnus-warning" "duplicat\\(e\\|ion\\) of message" "duplicate")
-       ;; @r{Message from daemons, postmaster, and the like to another.}
-       (any mail "mail.misc")
-       ;; @r{Other rules.}
-       [...] ))
+        ("gnus-warning" "duplicat\\(e\\|ion\\) of message" "duplicate")
+        ;; @r{Message from daemons, postmaster, and the like to another.}
+        (any mail "mail.misc")
+        ;; @r{Other rules.}
+        [...] ))
 @end lisp
 @noindent
 Or something like:
 @lisp
 (setq nnmail-split-methods
       '(("duplicates" "^Gnus-Warning:.*duplicate")
-       ;; @r{Other rules.}
-       [...]))
+        ;; @r{Other rules.}
+        [...]))
 @end lisp
 
 Here's a neat feature: If you know that the recipient reads her mail
@@ -16522,7 +16551,7 @@ the summary buffer.
 
 (defun gnus-user-format-function-X (header)
   (let ((descr
-        (assq nnrss-description-field (mail-header-extra header))))
+         (assq nnrss-description-field (mail-header-extra header))))
     (if descr (concat "\n\t" (cdr descr)) "")))
 @end lisp
 
@@ -16535,14 +16564,14 @@ summary buffer.
 (defun browse-nnrss-url( arg )
   (interactive "p")
   (let ((url (assq nnrss-url-field
-                  (mail-header-extra
-                   (gnus-data-header
-                    (assq (gnus-summary-article-number)
-                          gnus-newsgroup-data))))))
+                   (mail-header-extra
+                    (gnus-data-header
+                     (assq (gnus-summary-article-number)
+                           gnus-newsgroup-data))))))
     (if url
-       (progn
-         (browse-url (cdr url))
-         (gnus-summary-mark-as-read-forward 1))
+        (progn
+          (browse-url (cdr url))
+          (gnus-summary-mark-as-read-forward 1))
       (gnus-summary-scroll-up arg))))
 
 (eval-after-load "gnus"
@@ -16599,8 +16628,8 @@ browser like Netscape).  Here's one way:
     (defun w3-fetch (&optional url target)
       (interactive (list (w3-read-url-with-default)))
       (if (eq major-mode 'gnus-article-mode)
-         (browse-url url)
-       (w3-fetch-orig url target)))))
+          (browse-url url)
+        (w3-fetch-orig url target)))))
 @end lisp
 
 Put that in your @file{.emacs} file, and hitting links in W3-rendered
@@ -16643,25 +16672,25 @@ see below.)
 @lisp
 (setq gnus-secondary-select-methods
       '((nnimap "simpleserver") ; @r{no special configuration}
-       ; @r{perhaps a ssh port forwarded server:}
-       (nnimap "dolk"
-               (nnimap-address "localhost")
-               (nnimap-server-port 1430))
-       ; @r{a UW server running on localhost}
-       (nnimap "barbar"
-               (nnimap-server-port 143)
-               (nnimap-address "localhost")
-               (nnimap-list-pattern ("INBOX" "mail/*")))
-       ; @r{anonymous public cyrus server:}
-       (nnimap "cyrus.andrew.cmu.edu"
-               (nnimap-authenticator anonymous)
-               (nnimap-list-pattern "archive.*")
-               (nnimap-stream network))
-       ; @r{a ssl server on a non-standard port:}
-       (nnimap "vic20"
-               (nnimap-address "vic20.somewhere.com")
-               (nnimap-server-port 9930)
-               (nnimap-stream ssl))))
+        ; @r{perhaps a ssh port forwarded server:}
+        (nnimap "dolk"
+                (nnimap-address "localhost")
+                (nnimap-server-port 1430))
+        ; @r{a UW server running on localhost}
+        (nnimap "barbar"
+                (nnimap-server-port 143)
+                (nnimap-address "localhost")
+                (nnimap-list-pattern ("INBOX" "mail/*")))
+        ; @r{anonymous public cyrus server:}
+        (nnimap "cyrus.andrew.cmu.edu"
+                (nnimap-authenticator anonymous)
+                (nnimap-list-pattern "archive.*")
+                (nnimap-stream network))
+        ; @r{a ssl server on a non-standard port:}
+        (nnimap "vic20"
+                (nnimap-address "vic20.somewhere.com")
+                (nnimap-server-port 9930)
+                (nnimap-stream ssl))))
 @end lisp
 
 After defining the new server, you can subscribe to groups on the
@@ -16688,7 +16717,7 @@ Note that this should be an integer, example server specification:
 
 @lisp
 (nnimap "mail.server.com"
-       (nnimap-server-port 4711))
+        (nnimap-server-port 4711))
 @end lisp
 
 @item nnimap-list-pattern
@@ -16708,8 +16737,8 @@ Example server specification:
 
 @lisp
 (nnimap "mail.server.com"
-       (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*"
-                              ("~friend/Mail/" . "list/*"))))
+        (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*"
+                               ("~friend/Mail/" . "list/*"))))
 @end lisp
 
 @item nnimap-stream
@@ -16724,7 +16753,7 @@ Example server specification:
 
 @lisp
 (nnimap "mail.server.com"
-       (nnimap-stream ssl))
+        (nnimap-stream ssl))
 @end lisp
 
 Please note that the value of @code{nnimap-stream} is a symbol!
@@ -16799,7 +16828,7 @@ Example server specification:
 
 @lisp
 (nnimap "mail.server.com"
-       (nnimap-authenticator anonymous))
+        (nnimap-authenticator anonymous))
 @end lisp
 
 Please note that the value of @code{nnimap-authenticator} is a symbol!
@@ -16873,9 +16902,9 @@ enable per-user persistent dormant flags, using something like:
 
 @lisp
 (setcdr (assq 'dormant nnimap-mark-to-flag-alist)
-       (format "gnus-dormant-%s" (user-login-name)))
+        (format "gnus-dormant-%s" (user-login-name)))
 (setcdr (assq 'dormant nnimap-mark-to-predicate-alist)
-       (format "KEYWORD gnus-dormant-%s" (user-login-name)))
+        (format "KEYWORD gnus-dormant-%s" (user-login-name)))
 @end lisp
 
 In this case, you would not want the per-user dormant flag showing up
@@ -17041,9 +17070,9 @@ Neither did I, we need examples.
 @lisp
 (setq nnimap-split-rule
       '(("INBOX.nnimap"
-        "^Sender: owner-nnimap@@vic20.globalcom.se")
-       ("INBOX.junk"    "^Subject:.*MAKE MONEY")
-       ("INBOX.private" "")))
+         "^Sender: owner-nnimap@@vic20.globalcom.se")
+        ("INBOX.junk"    "^Subject:.*MAKE MONEY")
+        ("INBOX.private" "")))
 @end lisp
 
 This will put all articles from the nnimap mailing list into mailbox
@@ -17090,10 +17119,10 @@ the syntax of this variable have been extended along the lines of:
 @lisp
 (setq nnimap-split-rule
       '(("my1server"    (".*" (("ding"    "ding@@gnus.org")
-                              ("junk"    "From:.*Simon"))))
-       ("my2server"    ("INBOX" nnimap-split-fancy))
-       ("my[34]server" (".*" (("private" "To:.*Simon")
-                              ("junk"    my-junk-func))))))
+                               ("junk"    "From:.*Simon"))))
+        ("my2server"    ("INBOX" nnimap-split-fancy))
+        ("my[34]server" (".*" (("private" "To:.*Simon")
+                               ("junk"    my-junk-func))))))
 @end lisp
 
 The virtual server name is in fact a regexp, so that the same rules
@@ -18043,9 +18072,9 @@ Here's an example:
 @lisp
 (setq gnus-post-method
       '(nngateway
-       "mail2news@@replay.com"
-       (nngateway-header-transformation
-        nngateway-mail2news-header-transformation)))
+        "mail2news@@replay.com"
+        (nngateway-header-transformation
+         nngateway-mail2news-header-transformation)))
 @end lisp
 
 So, to use this, simply say something like:
@@ -18948,7 +18977,7 @@ wherever.
 (require 'gnus-agent)
 (setq  gnus-category-predicate-alist
   (append gnus-category-predicate-alist
-        '((old . my-article-old-p))))
+         '((old . my-article-old-p))))
 @end lisp
 
 and simply specify your predicate as:
@@ -19027,9 +19056,9 @@ Group/Topic Parameter specification
 
 @lisp
 (agent-score ("from"
-                  ("Lars Ingebrigtsen" 1000000 nil s))
-            ("lines"
-                  (500 -100 nil <)))
+                   ("Lars Ingebrigtsen" 1000000 nil s))
+             ("lines"
+                   (500 -100 nil <)))
 @end lisp
 
 Again, note the omission of the outermost parenthesis here.
@@ -20368,7 +20397,7 @@ Anyway, if you'd like to dig into it yourself, here's an example:
  (files "/hom/larsi/News/gnu.SCORE")
  (exclude-files "all.SCORE")
  (local (gnus-newsgroup-auto-expire t)
-       (gnus-summary-make-false-root empty))
+        (gnus-summary-make-false-root empty))
  (eval (ding)))
 @end lisp
 
@@ -20581,8 +20610,8 @@ will only follow a few of the threads, also want to see any new threads.
 You can do this with the following two score file entries:
 
 @example
-       (orphan -500)
-       (mark-and-expunge -100)
+        (orphan -500)
+        (mark-and-expunge -100)
 @end example
 
 When you enter the group the first time, you will only see the new
@@ -20781,9 +20810,9 @@ each instance of a word should add given a mark.
 @lisp
 (setq gnus-default-adaptive-word-score-alist
       `((,gnus-read-mark . 30)
-       (,gnus-catchup-mark . -10)
-       (,gnus-killed-mark . -20)
-       (,gnus-del-mark . -15)))
+        (,gnus-catchup-mark . -10)
+        (,gnus-killed-mark . -20)
+        (,gnus-del-mark . -15)))
 @end lisp
 
 This is the default value.  If you have adaption on words enabled, every
@@ -20912,8 +20941,8 @@ their own home score files:
 (setq gnus-home-score-file
       ;; @r{All groups that match the regexp @code{"\\.emacs"}}
       '(("\\.emacs" "emacs.SCORE")
-       ;; @r{All the comp groups in one score file}
-       ("^comp" "comp.SCORE")))
+        ;; @r{All the comp groups in one score file}
+        ("^comp" "comp.SCORE")))
 @end lisp
 
 @vindex gnus-home-adapt-file
@@ -21118,7 +21147,7 @@ say this:
 @lisp
 (setq gnus-global-score-files
       '("/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE"
-       "/ftp@@ftp.some-where:/pub/score/"))
+        "/ftp@@ftp.some-where:/pub/score/"))
 @end lisp
 
 @findex gnus-score-search-global-directories
@@ -21496,17 +21525,17 @@ function:
   "Decay SCORE according to `gnus-score-decay-constant'
 and `gnus-score-decay-scale'."
   (let ((n (- score
-             (* (if (< score 0) -1 1)
-                (min (abs score)
-                     (max gnus-score-decay-constant
-                          (* (abs score)
-                             gnus-score-decay-scale)))))))
+              (* (if (< score 0) -1 1)
+                 (min (abs score)
+                      (max gnus-score-decay-constant
+                           (* (abs score)
+                              gnus-score-decay-scale)))))))
     (if (and (featurep 'xemacs)
-            ;; XEmacs' floor can handle only the floating point
-            ;; number below the half of the maximum integer.
-            (> (abs n) (lsh -1 -2)))
-       (string-to-number
-        (car (split-string (number-to-string n) "\\.")))
+             ;; XEmacs' floor can handle only the floating point
+             ;; number below the half of the maximum integer.
+             (> (abs n) (lsh -1 -2)))
+        (string-to-number
+         (car (split-string (number-to-string n) "\\.")))
       (floor n))))
 @end lisp
 
@@ -22014,9 +22043,9 @@ buffer should be given.  Here's an excerpt of this variable:
 
 @lisp
 ((group (vertical 1.0 (group 1.0 point)
-                     (if gnus-carpal (group-carpal 4))))
+                      (if gnus-carpal (group-carpal 4))))
  (article (vertical 1.0 (summary 0.25 point)
-                       (article 1.0))))
+                        (article 1.0))))
 @end lisp
 
 This is an alist.  The @dfn{key} is a symbol that names some action or
@@ -22029,7 +22058,7 @@ should occupy.  To take the @code{article} split as an example -
 
 @lisp
 (article (vertical 1.0 (summary 0.25 point)
-                      (article 1.0)))
+                       (article 1.0)))
 @end lisp
 
 This @dfn{split} says that the summary buffer should occupy 25% of upper
@@ -22051,9 +22080,9 @@ Here's a more complicated example:
 
 @lisp
 (article (vertical 1.0 (group 4)
-                      (summary 0.25 point)
-                      (if gnus-carpal (summary-carpal 4))
-                      (article 1.0)))
+                       (summary 0.25 point)
+                       (if gnus-carpal (summary-carpal 4))
+                       (article 1.0)))
 @end lisp
 
 If the size spec is an integer instead of a floating point number,
@@ -22071,13 +22100,13 @@ Not complicated enough for you?  Well, try this on for size:
 
 @lisp
 (article (horizontal 1.0
-            (vertical 0.5
-                (group 1.0)
-                (gnus-carpal 4))
-            (vertical 1.0
-                (summary 0.25 point)
-                (summary-carpal 4)
-                (article 1.0))))
+             (vertical 0.5
+                 (group 1.0)
+                 (gnus-carpal 4))
+             (vertical 1.0
+                 (summary 0.25 point)
+                 (summary-carpal 4)
+                 (article 1.0))))
 @end lisp
 
 Whoops.  Two buffers with the mystery 100% tag.  And what's that
@@ -22150,8 +22179,8 @@ configuration list.
     (vertical 1.0
       (article 1.0)
       (horizontal 4
-       (group 1.0)
-       (article 10)))))
+        (group 1.0)
+        (article 10)))))
 @end lisp
 
 You might want to have several frames as well.  No prob---just use the
@@ -22160,13 +22189,13 @@ You might want to have several frames as well.  No prob---just use the
 @lisp
 (gnus-configure-frame
  '(frame 1.0
-        (vertical 1.0
-                  (summary 0.25 point frame-focus)
-                  (article 1.0))
-        (vertical ((height . 5) (width . 15)
-                   (user-position . t)
-                   (left . -1) (top . 1))
-                  (picon 1.0))))
+         (vertical 1.0
+                   (summary 0.25 point frame-focus)
+                   (article 1.0))
+         (vertical ((height . 5) (width . 15)
+                    (user-position . t)
+                    (left . -1) (top . 1))
+                   (picon 1.0))))
 
 @end lisp
 
@@ -22189,11 +22218,11 @@ might be used:
 
 @lisp
 (message (horizontal 1.0
-                    (vertical 1.0 (message 1.0 point))
-                    (vertical 0.24
-                              (if (buffer-live-p gnus-summary-buffer)
-                                  '(summary 0.5))
-                              (group 1.0))))
+                     (vertical 1.0 (message 1.0 point))
+                     (vertical 0.24
+                               (if (buffer-live-p gnus-summary-buffer)
+                                   '(summary 0.5))
+                               (group 1.0))))
 @end lisp
 
 One common desire for a multiple frame split is to have a separate frame
@@ -22203,12 +22232,12 @@ accomplish that, something like the following can be done:
 @lisp
 (message
   (frame 1.0
-        (if (not (buffer-live-p gnus-summary-buffer))
-            (car (cdr (assoc 'group gnus-buffer-configuration)))
-          (car (cdr (assoc 'summary gnus-buffer-configuration))))
-        (vertical ((user-position . t) (top . 1) (left . 1)
-                   (name . "Message"))
-                  (message 1.0 point))))
+         (if (not (buffer-live-p gnus-summary-buffer))
+             (car (cdr (assoc 'group gnus-buffer-configuration)))
+           (car (cdr (assoc 'summary gnus-buffer-configuration))))
+         (vertical ((user-position . t) (top . 1) (left . 1)
+                    (name . "Message"))
+                   (message 1.0 point))))
 @end lisp
 
 @findex gnus-add-configuration
@@ -22220,9 +22249,9 @@ you want to change the @code{article} setting, you could say:
 @lisp
 (gnus-add-configuration
  '(article (vertical 1.0
-              (group 4)
-              (summary .25 point)
-              (article 1.0))))
+               (group 4)
+               (summary .25 point)
+               (article 1.0))))
 @end lisp
 
 You'd typically stick these @code{gnus-add-configuration} calls in your
@@ -22263,16 +22292,16 @@ between summary buffer (top one-sixth) and article buffer (bottom).
 (gnus-add-configuration
  '(article
    (horizontal 1.0
-              (vertical 25 (group 1.0))
-              (vertical 1.0
-                        (summary 0.16 point)
-                        (article 1.0)))))
+               (vertical 25 (group 1.0))
+               (vertical 1.0
+                         (summary 0.16 point)
+                         (article 1.0)))))
 
 (gnus-add-configuration
  '(summary
    (horizontal 1.0
-              (vertical 25 (group 1.0))
-              (vertical 1.0 (summary 1.0 point)))))
+               (vertical 25 (group 1.0))
+               (vertical 1.0 (summary 1.0 point)))))
 @end lisp
 
 @end itemize
@@ -22342,11 +22371,11 @@ this variable:
 @c Hook written by Francesco Potorti` <pot@cnuce.cnr.it>
 @lisp
 (add-hook 'display-time-hook
-         (lambda () (setq gnus-mode-non-string-length
-                          (+ 21
-                             (if line-number-mode 5 0)
-                             (if column-number-mode 4 0)
-                             (length display-time-string)))))
+          (lambda () (setq gnus-mode-non-string-length
+                           (+ 21
+                              (if line-number-mode 5 0)
+                              (if column-number-mode 4 0)
+                              (length display-time-string)))))
 @end lisp
 
 If this variable is @code{nil} (which is the default), the mode line
@@ -22940,12 +22969,12 @@ XEmacs.  Here are examples:
 ;; Specify the altitude of Face and X-Face images in the From header.
 (setq gnus-face-properties-alist
       '((pbm . (:face gnus-x-face :ascent 80))
-       (png . (:ascent 80))))
+        (png . (:ascent 80))))
 
 ;; Show Face and X-Face images as pressed buttons.
 (setq gnus-face-properties-alist
       '((pbm . (:face gnus-x-face :relief -2))
-       (png . (:relief -2))))
+        (png . (:relief -2))))
 @end lisp
 
 @pxref{Image Descriptors, ,Image Descriptors, elisp, The Emacs Lisp
@@ -22990,7 +23019,7 @@ like the following in your @file{~/.gnus.el} file:
 @lisp
 (setq message-required-news-headers
       (nconc message-required-news-headers
-            (list '(X-Face . gnus-random-x-face))))
+             (list '(X-Face . gnus-random-x-face))))
 @end lisp
 
 Using the last function would be something like this:
@@ -22998,9 +23027,9 @@ Using the last function would be something like this:
 @lisp
 (setq message-required-news-headers
       (nconc message-required-news-headers
-            (list '(X-Face . (lambda ()
-                               (gnus-x-face-from-file
-                                "~/My-face.gif"))))))
+             (list '(X-Face . (lambda ()
+                                (gnus-x-face-from-file
+                                 "~/My-face.gif"))))))
 @end lisp
 
 
@@ -23049,8 +23078,8 @@ 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"))))))
+             (list '(Face . (lambda ()
+                              (gnus-face-from-file "~/face.jpg"))))))
 @end lisp
 
 
@@ -23412,8 +23441,8 @@ Then put the following split rule in @code{nnmail-split-fancy}
 (...
  (to "larsi@@trym.ifi.uio.no"
      (| ("subject" "re:.*" "misc")
-       ("references" ".*@@.*" "misc")
-       "spam"))
+        ("references" ".*@@.*" "misc")
+        "spam"))
  ...)
 @end lisp
 
@@ -23477,10 +23506,10 @@ Specifiers}) follow.
 @lisp
 (setq mail-sources
       '((file :prescript "formail -bs spamassassin < /var/mail/%u")
-       (pop :user "jrl"
-            :server "pophost"
-            :postscript
-            "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
+        (pop :user "jrl"
+             :server "pophost"
+             :postscript
+             "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
 @end lisp
 
 Once you manage to process your incoming spool somehow, thus making
@@ -23489,7 +23518,7 @@ filter it out.  Using normal split methods (@pxref{Splitting Mail}):
 
 @lisp
 (setq nnmail-split-methods '(("spam"  "^X-Spam-Flag: YES")
-                            ...))
+                             ...))
 @end lisp
 
 Or using fancy split methods (@pxref{Fancy Mail Splitting}):
@@ -23497,7 +23526,7 @@ Or using fancy split methods (@pxref{Fancy Mail Splitting}):
 @lisp
 (setq nnmail-split-methods 'nnmail-split-fancy
       nnmail-split-fancy '(| ("X-Spam-Flag" "YES" "spam")
-                            ...))
+                             ...))
 @end lisp
 
 Some people might not like the idea of piping the mail through various
@@ -23507,14 +23536,14 @@ call the external tools during splitting.  Example fancy split method:
 
 @lisp
 (setq nnmail-split-fancy '(| (: kevin-spamassassin)
-                            ...))
+                             ...))
 (defun kevin-spamassassin ()
   (save-excursion
     (save-restriction
       (widen)
       (if (eq 1 (call-process-region (point-min) (point-max)
-                                    "spamc" nil nil nil "-c"))
-         "spam"))))
+                                     "spamc" nil nil nil "-c"))
+          "spam"))))
 @end lisp
 
 Note that with the nnimap back end, message bodies will not be
@@ -23822,10 +23851,10 @@ ends, and the following split rule:
 
 @example
  nnimap-split-fancy '(|
-                     (any "ding" "ding")
-                     (: spam-split)
-                     ;; @r{default mailbox}
-                     "mail")
+                      (any "ding" "ding")
+                      (: spam-split)
+                      ;; @r{default mailbox}
+                      "mail")
 @end example
 
 @noindent
@@ -23844,13 +23873,13 @@ done by passing a parameter to @code{spam-split}:
 @example
 nnimap-split-fancy
       '(|
-       ;; @r{spam detected by @code{spam-use-regex-headers} goes to @samp{regex-spam}}
-       (: spam-split "regex-spam" 'spam-use-regex-headers)
-       (any "ding" "ding")
-       ;; @r{all other spam detected by spam-split goes to @code{spam-split-group}}
-       (: spam-split)
-       ;; @r{default mailbox}
-       "mail")
+        ;; @r{spam detected by @code{spam-use-regex-headers} goes to @samp{regex-spam}}
+        (: spam-split "regex-spam" 'spam-use-regex-headers)
+        (any "ding" "ding")
+        ;; @r{all other spam detected by spam-split goes to @code{spam-split-group}}
+        (: spam-split)
+        ;; @r{default mailbox}
+        "mail")
 @end example
 
 @noindent
@@ -24098,15 +24127,15 @@ From Ted Zlatanov <tzz@@lifelogs.com>.
  nnimap-split-rule 'nnimap-split-fancy
  ;; @r{understand what this does before you copy it to your own setup!}
  nnimap-split-fancy '(|
-                     ;; @r{trace references to parents and put in their group}
-                     (: gnus-registry-split-fancy-with-parent)
-                     ;; @r{this will catch server-side SpamAssassin tags}
-                     (: spam-split 'spam-use-regex-headers)
-                     (any "ding" "ding")
-                     ;; @r{note that spam by default will go to @samp{spam}}
-                     (: spam-split)
-                     ;; @r{default mailbox}
-                     "mail"))
+                      ;; @r{trace references to parents and put in their group}
+                      (: gnus-registry-split-fancy-with-parent)
+                      ;; @r{this will catch server-side SpamAssassin tags}
+                      (: spam-split 'spam-use-regex-headers)
+                      (any "ding" "ding")
+                      ;; @r{note that spam by default will go to @samp{spam}}
+                      (: spam-split)
+                      ;; @r{default mailbox}
+                      "mail"))
 
 ;; @r{my parameters, set with @kbd{G p}}
 
@@ -24141,7 +24170,7 @@ From Ted Zlatanov <tzz@@lifelogs.com>.
  ;; @r{also to my @samp{nnimap+mail.lifelogs.com:trainham} folder for training}
 
  (ham-process-destination "nnimap+mail.lifelogs.com:mail"
-                         "nnimap+mail.lifelogs.com:trainham")
+                          "nnimap+mail.lifelogs.com:trainham")
  ;; @r{in this group, only @samp{!} marks are ham}
  (ham-marks
   (gnus-ticked-mark))
@@ -24891,7 +24920,7 @@ messages.
 @example
  ((spam-contents gnus-group-spam-classification-ham)
   (spam-process ((ham spam-use-spamoracle)
-                (spam spam-use-spamoracle))))
+                 (spam spam-use-spamoracle))))
 @end example
 For this group the @code{spam-use-spamoracle} is installed for both
 ham and spam processing.  If the group contains spam message
@@ -25186,7 +25215,7 @@ spam or it should go into @samp{mail.misc}.  If it is spam, then
 @lisp
 (setq nnmail-split-fancy
       `(| (: spam-stat-split-fancy)
-         "mail.misc"))
+          "mail.misc"))
 @end lisp
 
 @defvar spam-stat-split-fancy-spam-group
@@ -25200,8 +25229,8 @@ expression are considered potential spam.
 @lisp
 (setq nnmail-split-fancy
       `(| ("Subject" "\\bspam-stat\\b" "mail.emacs")
-         (: spam-stat-split-fancy)
-         "mail.misc"))
+          (: spam-stat-split-fancy)
+          "mail.misc"))
 @end lisp
 
 If you want to filter for spam first, then you must be careful when
@@ -25213,8 +25242,8 @@ mails, when creating the dictionary!
 @lisp
 (setq nnmail-split-fancy
       `(| (: spam-stat-split-fancy)
-         ("Subject" "\\bspam-stat\\b" "mail.emacs")
-         "mail.misc"))
+          ("Subject" "\\bspam-stat\\b" "mail.emacs")
+          "mail.misc"))
 @end lisp
 
 You can combine this with traditional filtering.  Here, we move all
@@ -25227,9 +25256,9 @@ dictionary!
 @lisp
 (setq nnmail-split-fancy
       `(| ("Content-Type" "text/html" "mail.spam.filtered")
-         (: spam-stat-split-fancy)
-         ("Subject" "\\bspam-stat\\b" "mail.emacs")
-         "mail.misc"))
+          (: spam-stat-split-fancy)
+          ("Subject" "\\bspam-stat\\b" "mail.emacs")
+          "mail.misc"))
 @end lisp
 
 
@@ -26877,7 +26906,7 @@ this now has changed to
 @lisp
 (setq mail-sources
       '((directory :path "~/mail/incoming/"
-                  :suffix ".in")))
+                   :suffix ".in")))
 @end lisp
 
 @xref{Mail Source Specifiers}.
@@ -27056,10 +27085,10 @@ parameters, a'la:
 @lisp
 (setq gnus-parameters
       '(("mail\\..*"
-        (gnus-show-threads nil)
-        (gnus-use-scoring nil))
-       ("^nnimap:\\(foo.bar\\)$"
-        (to-group . "\\1"))))
+         (gnus-show-threads nil)
+         (gnus-use-scoring nil))
+        ("^nnimap:\\(foo.bar\\)$"
+         (to-group . "\\1"))))
 @end lisp
 
 @item
@@ -27380,7 +27409,7 @@ Add a new format of match like
 The old format like the lines below is obsolete, but still accepted.
 @lisp
 (header "to" "larsi.*org"
-       (Organization "Somewhere, Inc."))
+        (Organization "Somewhere, Inc."))
 @end lisp
 
 @item
@@ -29031,17 +29060,17 @@ Below is a slightly shortened version of the @code{nndir} back end.
 
 (deffoo nndir-open-server (server &optional defs)
   (setq nndir-directory
-       (or (cadr (assq 'nndir-directory defs))
-           server))
+        (or (cadr (assq 'nndir-directory defs))
+            server))
   (unless (assq 'nndir-directory defs)
     (push `(nndir-directory ,server) defs))
   (push `(nndir-current-group
-         ,(file-name-nondirectory
-           (directory-file-name nndir-directory)))
-       defs)
+          ,(file-name-nondirectory
+            (directory-file-name nndir-directory)))
+        defs)
   (push `(nndir-top-directory
-         ,(file-name-directory (directory-file-name nndir-directory)))
-       defs)
+          ,(file-name-directory (directory-file-name nndir-directory)))
+        defs)
   (nnoo-change-server 'nndir server defs))
 
 (nnoo-map-functions nndir
@@ -29187,26 +29216,26 @@ number-rule     = "(" quote number-header quote space *number-match ")"
 date-rule       = "(" quote date-header quote space *date-match ")"
 quote           = <ascii 34>
 string-header   = "subject" / "from" / "references" / "message-id" /
-                 "xref" / "body" / "head" / "all" / "followup"
+                  "xref" / "body" / "head" / "all" / "followup"
 number-header   = "lines" / "chars"
 date-header     = "date"
 string-match    = "(" quote <string> quote [ "" / [ space score [ "" /
-                 space date [ "" / [ space string-match-t ] ] ] ] ] ")"
+                  space date [ "" / [ space string-match-t ] ] ] ] ] ")"
 score           = "nil" / <integer>
 date            = "nil" / <natural number>
 string-match-t  = "nil" / "s" / "substring" / "S" / "Substring" /
-                 "r" / "regex" / "R" / "Regex" /
-                 "e" / "exact" / "E" / "Exact" /
-                 "f" / "fuzzy" / "F" / "Fuzzy"
+                  "r" / "regex" / "R" / "Regex" /
+                  "e" / "exact" / "E" / "Exact" /
+                  "f" / "fuzzy" / "F" / "Fuzzy"
 number-match    = "(" <integer> [ "" / [ space score [ "" /
-                 space date [ "" / [ space number-match-t ] ] ] ] ] ")"
+                  space date [ "" / [ space number-match-t ] ] ] ] ] ")"
 number-match-t  = "nil" / "=" / "<" / ">" / ">=" / "<="
 date-match      = "(" quote <string> quote [ "" / [ space score [ "" /
-                 space date [ "" / [ space date-match-t ] ] ] ] ")"
+                  space date [ "" / [ space date-match-t ] ] ] ] ")"
 date-match-t    = "nil" / "at" / "before" / "after"
 atom            = "(" [ required-atom / optional-atom ] ")"
 required-atom   = mark / expunge / mark-and-expunge / files /
-                 exclude-files / read-only / touched
+                  exclude-files / read-only / touched
 optional-atom   = adapt / local / eval
 mark            = "mark" space nil-or-number
 nil-or-number   = "nil" / <integer>
@@ -29329,7 +29358,7 @@ range           = simple-range / normal-range
 simple-range    = "(" number " . " number ")"
 normal-range    = "(" start-contents ")"
 contents        = "" / simple-range *[ " " contents ] /
-                 number *[ " " contents ]
+                  number *[ " " contents ]
 @end example
 
 Gnus currently uses ranges to keep track of read articles and article
@@ -29354,9 +29383,9 @@ second is a more complex one:
 ("no.group" 5 ((1 . 54324)))
 
 ("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55))
-               ((tick (15 . 19)) (replied 3 6 (19 . 3)))
-               (nnml "")
-               ((auto-expire . t) (to-address . "ding@@gnus.org")))
+                ((tick (15 . 19)) (replied 3 6 (19 . 3)))
+                (nnml "")
+                ((auto-expire . t) (to-address . "ding@@gnus.org")))
 @end example
 
 The first element is the @dfn{group name}---as Gnus knows the group,
@@ -29377,8 +29406,8 @@ Here's a BNF definition of the group info format:
 
 @example
 info          = "(" group space ralevel space read
-               [ "" / [ space marks-list [ "" / [ space method [ "" /
-               space parameters ] ] ] ] ] ")"
+                [ "" / [ space marks-list [ "" / [ space method [ "" /
+                space parameters ] ] ] ] ] ")"
 group         = quote <string> quote
 ralevel       = rank / level
 level         = <integer in the range of 1 to inf>