]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from gnus--rel--5.10
authorMiles Bader <miles@gnu.org>
Sat, 30 Dec 2006 15:34:42 +0000 (15:34 +0000)
committerMiles Bader <miles@gnu.org>
Sat, 30 Dec 2006 15:34:42 +0000 (15:34 +0000)
Patches applied:

 * gnus--rel--5.10  (patch 179-183)

   - Update from CVS

2006-12-25  Daiki Ueno  <ueno@unixuser.org>

   * lisp/pgg-def.el (pgg-passphrase-coding-system): Default to nil instead of
   locale-coding-system.
   * lisp/pgg-gpg.el (pgg-gpg-process-region): Encode passphrase with eol-type
   LF.

2006-12-29  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>

   * lisp/gnus/nnimap.el (nnimap-expunge-search-string): Mention
   nnimap-search-uids-not-since-is-evil in docstring.

2006-12-28  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/gnus/spam.el: Revert to make-obsolete-variable because
   define-obsolete-variable-alias is not supported in Emacs 21.

2006-12-28  Daiki Ueno  <ueno@unixuser.org>

   * lisp/gnus/gnus-sum.el (gnus-summary-next-article): Make sure we are in the
   summary buffer.

2006-12-27  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
   (spam-bogofilter-path): Use define-obsolete-variable-alias instead of
   make-obsolete-variable.

2006-12-26  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/gnus/message.el (message-make-fqdn): Fix comment.
   (message-bogus-system-names): Add ".local".

   * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-program)
   (spam-ifile-database-path, spam-ifile-database)
   (spam-bogofilter-path, spam-bogofilter-program): Rename variables.
   Don't use "path" inappropriately.
   (spam-spamoracle-database, spam-get-ifile-database-parameter): Fix doc
   strings.
   (spam-check-ifile, spam-ifile-register-with-ifile)
   (spam-check-bogofilter, spam-bogofilter-register-with-bogofilter): Use
   new variable names.

   * lisp/gnus/gnus-art.el (gnus-treat-display-x-face, gnus-treat-display-face)
   (gnus-treat-display-smileys): Simplify using
   gnus-image-type-available-p.

   * lisp/gnus/gnus-ems.el (gnus-image-type-available-p): Use display-images-p if
   available.

2006-12-22  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/nnrss.el (nnrss-fetch): Replace buffer's contents with the decoded
   one after turning on the buffer's multibyteness instead of decoding
   them directly in the unibyte buffer that causes unexpected conversion
   in Emacs 23 (unicode).

2006-12-29  Reiner Steib  <Reiner.Steib@gmx.de>

   * man/gnus.texi (Customizing Articles): Add index entries for all
   gnus-treat-* variables.

2006-12-29  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>

   * man/gnus.texi (IMAP): Fix incorrect explanation of
   nnimap-search-uids-not-since-is-evil in documentation for
   nnimap-expunge-search-string.

2006-12-27  Reiner Steib  <Reiner.Steib@gmx.de>

   * man/gnus.texi (ifile spam filtering): Rename spam-ifile-database-path to
   spam-ifile-database.

2006-12-26  Reiner Steib  <Reiner.Steib@gmx.de>

   * man/gnus.texi (Spam Package Configuration Examples): Don't encourage to
   rebind C-s.

2006-12-26  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>

   * man/gnus.texi (Group Parameters, Group Maintenance, Topic Commands)
   (Mail Group Commands, Expiring Mail, IMAP): Add index entries for
   "expiring mail".
   (IMAP): Document nnimap-search-uids-not-since-is-evil and
   nnimap-nov-is-evil.

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-576

13 files changed:
lisp/ChangeLog
lisp/gnus/ChangeLog
lisp/gnus/gnus-art.el
lisp/gnus/gnus-ems.el
lisp/gnus/gnus-sum.el
lisp/gnus/message.el
lisp/gnus/nnimap.el
lisp/gnus/nnrss.el
lisp/gnus/spam.el
lisp/pgg-def.el
lisp/pgg-gpg.el
man/ChangeLog
man/gnus.texi

index d592f1624f371a2c95fae1dd11fc61f082255f77..63c4c579cc7de58126e8f644a2cb2ad0567a7c16 100644 (file)
        * textmodes/fill.el (fill-paragraph): Check for a minibuffer
        rather than for being in a minibuffer window.
 
+2006-12-25  Daiki Ueno  <ueno@unixuser.org>
+
+       * pgg-def.el (pgg-passphrase-coding-system): Default to nil instead of
+       locale-coding-system.
+       * pgg-gpg.el (pgg-gpg-process-region): Encode passphrase with eol-type
+       LF.
+
 2006-12-25  Michael R. Mauger  <mmaug@yahoo.com>
 
        * progmodes/sql.el (sql-mode-abbrev-table): Corrected initialization.
index 317fe617c9fbe482eeb3b836b6d0eb7ff37c9599..d7716e8d95073c42034ac274b30ba8b4b3cae7a2 100644 (file)
@@ -1,3 +1,53 @@
+2006-12-29  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>
+
+       * nnimap.el (nnimap-expunge-search-string): Mention
+       nnimap-search-uids-not-since-is-evil in docstring.
+
+2006-12-28  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * spam.el: Revert to make-obsolete-variable because
+       define-obsolete-variable-alias is not supported in Emacs 21.
+
+2006-12-28  Daiki Ueno  <ueno@unixuser.org>
+
+       * gnus-sum.el (gnus-summary-next-article): Make sure we are in the
+       summary buffer.
+
+2006-12-27  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * spam.el (spam-ifile-path, spam-ifile-database-path)
+       (spam-bogofilter-path): Use define-obsolete-variable-alias instead of
+       make-obsolete-variable.
+
+2006-12-26  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * message.el (message-make-fqdn): Fix comment.
+       (message-bogus-system-names): Add ".local".
+
+       * spam.el (spam-ifile-path, spam-ifile-program)
+       (spam-ifile-database-path, spam-ifile-database)
+       (spam-bogofilter-path, spam-bogofilter-program): Rename variables.
+       Don't use "path" inappropriately.
+       (spam-spamoracle-database, spam-get-ifile-database-parameter): Fix doc
+       strings.
+       (spam-check-ifile, spam-ifile-register-with-ifile)
+       (spam-check-bogofilter, spam-bogofilter-register-with-bogofilter): Use
+       new variable names.
+
+       * gnus-art.el (gnus-treat-display-x-face, gnus-treat-display-face)
+       (gnus-treat-display-smileys): Simplify using
+       gnus-image-type-available-p.
+
+       * gnus-ems.el (gnus-image-type-available-p): Use display-images-p if
+       available.
+
+2006-12-22  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * nnrss.el (nnrss-fetch): Replace buffer's contents with the decoded
+       one after turning on the buffer's multibyteness instead of decoding
+       them directly in the unibyte buffer that causes unexpected conversion
+       in Emacs 23 (unicode).
+
 2006-12-20  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * gnus-group.el (gnus-group-tool-bar-gnome): Exchange connect and
@@ -25,7 +75,7 @@
        * gnus-sum.el (gnus-sort-threads, gnus-summary-limit-children):
        Use `max' to avoid the value of `max-lisp-eval-depth' decreasing.
 
-2006-12-04  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>  (tiny change)
+2006-12-04  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>
 
        * mm-url.el (mm-url-predefined-programs): Call curl with correct
        options.
        whitespace removed in revision 7.8.  Use concatenated string to
        protect trailing whitespace.
 
-2005-10-27  Jouni K Seppanen  <jks@iki.fi>  (tiny change)
+2005-10-27  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>
 
        * nnimap.el (nnimap-search-uids-not-since-is-evil): Add variable.
        (nnimap-request-expire-articles): Use it to avoid sending 'UID
index cdb3c8950cc9b78a98ee4df5da03489dd91b7061..9160f6f5002d644f1b07cfd6a24dce97eb4cf02a 100644 (file)
@@ -1325,12 +1325,11 @@ See Info node `(gnus)Customizing Articles' for details."
 
 (defcustom gnus-treat-display-x-face
   (and (not noninteractive)
-       (or (and (fboundp 'image-type-available-p)
-               (image-type-available-p 'xbm)
-               (string-match "^0x" (shell-command-to-string "uncompface"))
-               (executable-find "icontopbm"))
-          (and (featurep 'xemacs)
-               (featurep 'xface)))
+       (gnus-image-type-available-p 'xbm)
+       (if (featurep 'xemacs)
+          (featurep 'xface)
+        (and (string-match "^0x" (shell-command-to-string "uncompface"))
+             (executable-find "icontopbm")))
        'head)
   "Display X-Face headers.
 Valid values are nil, t, `head', `last', an integer or a predicate.
@@ -1362,10 +1361,7 @@ See Info node `(gnus)Customizing Articles' and Info node
 
 (defcustom gnus-treat-display-face
   (and (not noninteractive)
-       (or (and (fboundp 'image-type-available-p)
-               (image-type-available-p 'png))
-          (and (featurep 'xemacs)
-               (featurep 'png)))
+       (gnus-image-type-available-p 'png)
        'head)
   "Display Face headers.
 Valid values are nil, t, `head', `last', an integer or a predicate.
@@ -1378,12 +1374,7 @@ See Info node `(gnus)Customizing Articles' and Info node
   :type gnus-article-treat-head-custom)
 (put 'gnus-treat-display-face 'highlight t)
 
-(defcustom gnus-treat-display-smileys
-  (if (or (and (featurep 'xemacs)
-              (featurep 'xpm))
-         (and (fboundp 'image-type-available-p)
-              (image-type-available-p 'pbm)))
-      t nil)
+(defcustom gnus-treat-display-smileys (gnus-image-type-available-p 'xpm)
   "Display smileys.
 Valid values are nil, t, `head', `last', an integer or a predicate.
 See Info node `(gnus)Customizing Articles' and Info node
index 44f84237a4b33bf3e9ac2ffe7c111a62b3e0bdc7..73bcf09f36002e3b38d9ce665a670a365b8f7d6d 100644 (file)
 
 (defun gnus-image-type-available-p (type)
   (and (fboundp 'image-type-available-p)
-       (image-type-available-p type)))
+       (image-type-available-p type)
+       (if (fboundp 'display-images-p)
+          (display-images-p)
+        t)))
 
 (defun gnus-create-image (file &optional type data-p &rest props)
   (let ((face (plist-get props :face)))
index 29e0067bf9b1bca4060c6d4f29592889d7ed9e9d..2ac6ee0c3c7822070b8ca233262642e50e55dc3a 100644 (file)
@@ -7333,6 +7333,9 @@ If UNREAD, only unread articles are selected.
 If SUBJECT, only articles with SUBJECT are selected.
 If BACKWARD, the previous article is selected instead of the next."
   (interactive "P")
+  ;; Make sure we are in the summary buffer.
+  (unless (eq major-mode 'gnus-summary-mode)
+    (set-buffer gnus-summary-buffer))
   (cond
    ;; Is there such an article?
    ((and (gnus-summary-search-forward unread subject backward)
index a3d0298ce0ef29226da84d7f611b377d229292a0..f7d876c120f73c1602f3d44c6bfb497aa5428d4f 100644 (file)
@@ -1579,7 +1579,7 @@ functionality to work."
 (defvar message-send-mail-real-function nil
   "Internal send mail function.")
 
-(defvar message-bogus-system-names "^localhost\\."
+(defvar message-bogus-system-names "^localhost\\.\\|\\.local$"
   "The regexp of bogus system names.")
 
 (defcustom message-valid-fqdn-regexp
@@ -5000,8 +5000,8 @@ give as trustworthy answer as possible."
           (stringp message-user-fqdn)
           (string-match message-valid-fqdn-regexp message-user-fqdn)
           (not (string-match message-bogus-system-names message-user-fqdn)))
+      ;; `message-user-fqdn' seems to be valid
       message-user-fqdn)
-     ;; `message-user-fqdn' seems to be valid
      ((and (string-match message-valid-fqdn-regexp system-name)
           (not (string-match message-bogus-system-names system-name)))
       ;; `system-name' returned the right result.
index bada9da6891bf287589c885232677f65751c0a5f..5c0777531c5f327aec6f62065ebd3872b0ca3563 100644 (file)
@@ -375,7 +375,10 @@ and the second %s is replaced by a date criterium.
 One useful (and perhaps the only useful) value to change this to would
 be `UID %s NOT SENTSINCE %s' to make nnimap use the Date: header
 instead of the internal date of messages.  See section 6.4.4 of RFC
-2060 for more information on valid strings.")
+2060 for more information on valid strings.
+
+However, if `nnimap-search-uids-not-since-is-evil' is true, this
+variable has no effect since the search logic is reversed.")
 
 (defvoo nnimap-importantize-dormant t
   "If non-nil, mark \"dormant\" articles as \"ticked\" for other IMAP clients.
index 318560179f5caabc244ab580a07ed4af1f3cc8f7..f21fd74d138d1e1d655609a2a5e4b0c65002039d 100644 (file)
@@ -418,8 +418,10 @@ otherwise return nil."
       (nnheader-remove-cr-followed-by-lf)
       ;; Decode text according to the encoding attribute.
       (when (setq cs (nnrss-get-encoding))
-       (mm-decode-coding-region (point-min) (point-max) cs)
-       (mm-enable-multibyte))
+       (insert (prog1
+                   (mm-decode-coding-string (buffer-string) cs)
+                 (erase-buffer)
+                 (mm-enable-multibyte))))
       (goto-char (point-min))
 
       ;; Because xml-parse-region can't deal with anything that isn't
index 047035536f28f7e8eb751850ea5d61ad1f0f6f91..589b2b0a6198cbde5ec6f2a75084bf49515fe7a3 100644 (file)
@@ -351,14 +351,18 @@ All unmarked article in such group receive the spam mark on group entry."
   "Spam ifile configuration."
   :group 'spam)
 
-(defcustom spam-ifile-path (executable-find "ifile")
-  "File path of the ifile executable program."
+(make-obsolete-variable 'spam-ifile-path 'spam-ifile-program)
+;; "22.1" ;; Gnus 5.10.9
+(defcustom spam-ifile-program (executable-find "ifile")
+  "Name of the ifile program."
   :type '(choice (file :tag "Location of ifile")
                 (const :tag "ifile is not installed"))
   :group 'spam-ifile)
 
-(defcustom spam-ifile-database-path nil
-  "File path of the ifile database."
+(make-obsolete-variable 'spam-ifile-database-path 'spam-ifile-database)
+;; "22.1" ;; Gnus 5.10.9
+(defcustom spam-ifile-database nil
+  "File name of the ifile database."
   :type '(choice (file :tag "Location of the ifile database")
                 (const :tag "Use the default"))
   :group 'spam-ifile)
@@ -386,8 +390,10 @@ your main source of newsgroup names."
   "Spam bogofilter configuration."
   :group 'spam)
 
-(defcustom spam-bogofilter-path (executable-find "bogofilter")
-  "File path of the Bogofilter executable program."
+(make-obsolete-variable 'spam-bogofilter-path 'spam-bogofilter-program)
+;; "22.1" ;; Gnus 5.10.9
+(defcustom spam-bogofilter-program (executable-find "bogofilter")
+  "Name of the Bogofilter program."
   :type '(choice (file :tag "Location of bogofilter")
                 (const :tag "Bogofilter is not installed"))
   :group 'spam-bogofilter)
@@ -423,7 +429,8 @@ your main source of newsgroup names."
   :group 'spam-bogofilter)
 
 (defcustom spam-bogofilter-database-directory nil
-  "Directory path of the Bogofilter databases."
+  "Location of the Bogofilter database.
+When nil, use the default location."
   :type '(choice (directory
                  :tag "Location of the Bogofilter database directory")
                 (const :tag "Use the default"))
@@ -434,8 +441,8 @@ your main source of newsgroup names."
   :group 'spam)
 
 (defcustom spam-spamoracle-database nil
-  "Location of spamoracle database file. When nil, use the default
-spamoracle database."
+  "Location of spamoracle database file.
+When nil, use the default spamoracle database."
   :type '(choice (directory :tag "Location of spamoracle database file.")
                 (const :tag "Use the default"))
   :group 'spam-spamoracle)
@@ -1370,11 +1377,12 @@ functions")
 ;;; check the ifile backend; return nil if the mail was NOT classified
 ;;; as spam
 
+
 (defun spam-get-ifile-database-parameter ()
-  "Get the command-line parameter for ifile's database from
-  spam-ifile-database-path."
-  (if spam-ifile-database-path
-      (format "--db-file=%s" spam-ifile-database-path)
+  "Return the command-line parameter for ifile's database.
+See `spam-ifile-database'."
+  (if spam-ifile-database
+      (format "--db-file=%s" spam-ifile-database)
     nil))
 
 (defun spam-check-ifile ()
@@ -1390,7 +1398,7 @@ functions")
        (save-excursion
          (set-buffer article-buffer-name)
          (apply 'call-process-region
-                (point-min) (point-max) spam-ifile-path
+                (point-min) (point-max) spam-ifile-program
                 nil temp-buffer-name nil "-c"
                 (if db-param `(,db-param "-q") `("-q"))))
        ;; check the return now (we're back in the temp buffer)
@@ -1418,7 +1426,7 @@ Uses `gnus-newsgroup-name' if category is nil (for ham registration)."
          (when (stringp article-string)
            (insert article-string))))
       (apply 'call-process-region
-            (point-min) (point-max) spam-ifile-path
+            (point-min) (point-max) spam-ifile-program
             nil nil nil
             add-or-delete-option category
             (if db `(,db "-h") `("-h"))))))
@@ -1702,7 +1710,7 @@ REMOVE not nil, remove the ADDRESSES."
          (set-buffer article-buffer-name)
          (apply 'call-process-region
                 (point-min) (point-max)
-                spam-bogofilter-path
+                spam-bogofilter-program
                 nil temp-buffer-name nil
                 (if db `("-d" ,db "-v") `("-v"))))
        (setq return (spam-check-bogofilter-headers score))))
@@ -1728,7 +1736,7 @@ REMOVE not nil, remove the ADDRESSES."
 
          (apply 'call-process-region
                 (point-min) (point-max)
-                spam-bogofilter-path
+                spam-bogofilter-program
                 nil nil nil switch
                 (if db `("-d" ,db "-v") `("-v"))))))))
 
index 790b6bd1e6b57a0cee825e652c459a7ca6a03d5d..95f0d7658f61db93c76ecf51bc048c9a8987bc41 100644 (file)
@@ -71,9 +71,7 @@ Whether the passphrase is cached at all is controlled by
   :group 'pgg
   :type 'integer)
 
-(defcustom pgg-passphrase-coding-system
-  (if (boundp 'locale-coding-system)
-      locale-coding-system)
+(defcustom pgg-passphrase-coding-system nil
   "Coding system to encode passphrase."
   :group 'pgg
   :type 'coding-system)
index 95c3e5e599620852652f81828327011dee18ae30..514be51a6a3e5636ff568b32714ac2e57c2f2ad3 100644 (file)
            (if pgg-passphrase-coding-system
                (progn
                  (setq encoded-passphrase-with-new-line
-                       (encode-coding-string passphrase-with-newline
-                                             pgg-passphrase-coding-system))
+                       (encode-coding-string
+                        passphrase-with-newline
+                        (coding-system-change-eol-conversion
+                         pgg-passphrase-coding-system 'unix)))
                  (pgg-clear-string passphrase-with-newline))
              (setq encoded-passphrase-with-new-line passphrase-with-newline
                    passphrase-with-newline nil))
index b5a46bcc40d44359901f2d5dda4f13a921e44073..b4daf4f0973e105c37d0fc5a56af49b98768859b 100644 (file)
@@ -1,3 +1,32 @@
+2006-12-29  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus.texi (Customizing Articles): Add index entries for all
+       gnus-treat-* variables.
+
+2006-12-29  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>
+
+       * gnus.texi (IMAP): Fix incorrect explanation of
+       nnimap-search-uids-not-since-is-evil in documentation for
+       nnimap-expunge-search-string.
+
+2006-12-27  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus.texi (ifile spam filtering): Rename spam-ifile-database-path to
+       spam-ifile-database.
+
+2006-12-26  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus.texi (Spam Package Configuration Examples): Don't encourage to
+       rebind C-s.
+
+2006-12-26  Jouni K. Sepp\e,Ad\e(Bnen  <jks@iki.fi>
+
+       * gnus.texi (Group Parameters, Group Maintenance, Topic Commands)
+       (Mail Group Commands, Expiring Mail, IMAP): Add index entries for
+       "expiring mail".
+       (IMAP): Document nnimap-search-uids-not-since-is-evil and
+       nnimap-nov-is-evil.
+
 2006-12-27  Eli Zaretskii  <eliz@gnu.org>
 
        * msdog.texi (Windows Keyboard): Mention widespread Windows bindings,
index 7a83ea66a97e0d8c2df387b9273649f985340bf2..ea959671c06ba47ca8177deaacd8bfdd0ad5921c 100644 (file)
@@ -2810,6 +2810,7 @@ doesn't accept articles.
 
 @item auto-expire
 @cindex auto-expire
+@cindex expiring mail
 If the group parameter has an element that looks like @code{(auto-expire
 . t)}, all articles read will be marked as expirable.  For an
 alternative approach, @pxref{Expiring Mail}.
@@ -2818,6 +2819,7 @@ See also @code{gnus-auto-expirable-newsgroups}.
 
 @item total-expire
 @cindex total-expire
+@cindex expiring mail
 If the group parameter has an element that looks like
 @code{(total-expire . t)}, all read articles will be put through the
 expiry process, even if they are not marked as expirable.  Use with
@@ -3407,6 +3409,7 @@ zombies.
 @item C-c C-x
 @kindex C-c C-x (Group)
 @findex gnus-group-expire-articles
+@cindex expiring mail
 Run all expirable articles in the current group through the expiry
 process (if any) (@code{gnus-group-expire-articles}).  That is, delete
 all expirable articles in the group that have been around for a while.
@@ -3415,6 +3418,7 @@ all expirable articles in the group that have been around for a while.
 @item C-c C-M-x
 @kindex C-c C-M-x (Group)
 @findex gnus-group-expire-all-groups
+@cindex expiring mail
 Run all expirable articles in all groups through the expiry process
 (@code{gnus-group-expire-all-groups}).
 
@@ -3775,6 +3779,7 @@ sub-topics unless given a prefix.
 @item C-c C-x
 @kindex C-c C-x (Topic)
 @findex gnus-topic-expire-articles
+@cindex expiring mail
 Run all expirable articles in the current group or topic through the
 expiry process (if any)
 (@code{gnus-topic-expire-articles}).  (@pxref{Expiring Mail}).
@@ -10060,6 +10065,7 @@ process/prefix convention (@pxref{Process/Prefix}).
 @item B e
 @kindex B e (Summary)
 @findex gnus-summary-expire-articles
+@cindex expiring mail
 Run all expirable articles in the current group through the expiry
 process (@code{gnus-summary-expire-articles}).  That is, delete all
 expirable articles in the group that have been around for a while.
@@ -10068,6 +10074,7 @@ expirable articles in the group that have been around for a while.
 @item B C-M-e
 @kindex B C-M-e (Summary)
 @findex gnus-summary-expire-articles-now
+@cindex expiring mail
 Delete all the expirable articles in the group
 (@code{gnus-summary-expire-articles-now}).  This means that @strong{all}
 articles eligible for expiry in the current group will
@@ -11216,42 +11223,66 @@ group.  Values in parenthesis are suggested sensible values.  Others are
 possible but those listed are probably sufficient for most people.
 
 @table @code
+@vindex gnus-treat-buttonize
 @item gnus-treat-buttonize (t, integer)
+@vindex gnus-treat-buttonize-head
 @item gnus-treat-buttonize-head (head)
 
 @xref{Article Buttons}.
 
+@vindex gnus-treat-capitalize-sentences
 @item gnus-treat-capitalize-sentences (t, integer)
+@vindex gnus-treat-overstrike
 @item gnus-treat-overstrike (t, integer)
+@vindex gnus-treat-strip-cr
 @item gnus-treat-strip-cr (t, integer)
+@vindex gnus-treat-strip-headers-in-body
 @item gnus-treat-strip-headers-in-body (t, integer)
+@vindex gnus-treat-strip-leading-blank-lines
 @item gnus-treat-strip-leading-blank-lines (t, integer)
+@vindex gnus-treat-strip-multiple-blank-lines
 @item gnus-treat-strip-multiple-blank-lines (t, integer)
+@vindex gnus-treat-strip-pem
 @item gnus-treat-strip-pem (t, last, integer)
+@vindex gnus-treat-strip-trailing-blank-lines
 @item gnus-treat-strip-trailing-blank-lines (t, last, integer)
+@vindex gnus-treat-unsplit-urls
 @item gnus-treat-unsplit-urls (t, integer)
+@vindex gnus-treat-wash-html
 @item gnus-treat-wash-html (t, integer)
 
 @xref{Article Washing}.
 
+@vindex gnus-treat-date-english
 @item gnus-treat-date-english (head)
+@vindex gnus-treat-date-iso8601
 @item gnus-treat-date-iso8601 (head)
+@vindex gnus-treat-date-lapsed
 @item gnus-treat-date-lapsed (head)
+@vindex gnus-treat-date-local
 @item gnus-treat-date-local (head)
+@vindex gnus-treat-date-original
 @item gnus-treat-date-original (head)
+@vindex gnus-treat-date-user-defined
 @item gnus-treat-date-user-defined (head)
+@vindex gnus-treat-date-ut
 @item gnus-treat-date-ut (head)
 
 @xref{Article Date}.
 
+@vindex gnus-treat-from-picon
 @item gnus-treat-from-picon (head)
+@vindex gnus-treat-mail-picon
 @item gnus-treat-mail-picon (head)
+@vindex gnus-treat-newsgroups-picon
 @item gnus-treat-newsgroups-picon (head)
 
 @xref{Picons}.
 
+@vindex gnus-treat-display-smileys
 @item gnus-treat-display-smileys (t, integer)
 
+@vindex gnus-treat-body-boundary
 @item gnus-treat-body-boundary (head)
 
 @vindex gnus-body-boundary-delimiter
@@ -11260,40 +11291,62 @@ is controlled by @code{gnus-body-boundary-delimiter}.
 
 @xref{Smileys}.
 
+@vindex gnus-treat-display-x-face
 @item gnus-treat-display-x-face (head)
 
 @xref{X-Face}.
 
+@vindex gnus-treat-display-face
 @item gnus-treat-display-face (head)
 
 @xref{Face}.
 
+@vindex gnus-treat-emphasize
 @item gnus-treat-emphasize (t, head, integer)
+@vindex gnus-treat-fill-article
 @item gnus-treat-fill-article (t, integer)
+@vindex gnus-treat-fill-long-lines
 @item gnus-treat-fill-long-lines (t, integer)
+@vindex gnus-treat-hide-boring-headers
 @item gnus-treat-hide-boring-headers (head)
+@vindex gnus-treat-hide-citation
 @item gnus-treat-hide-citation (t, integer)
+@vindex gnus-treat-hide-citation-maybe
 @item gnus-treat-hide-citation-maybe (t, integer)
+@vindex gnus-treat-hide-headers
 @item gnus-treat-hide-headers (head)
+@vindex gnus-treat-hide-signature
 @item gnus-treat-hide-signature (t, last)
+@vindex gnus-treat-strip-banner
 @item gnus-treat-strip-banner (t, last)
+@vindex gnus-treat-strip-list-identifiers
 @item gnus-treat-strip-list-identifiers (head)
 
 @xref{Article Hiding}.
 
+@vindex gnus-treat-highlight-citation
 @item gnus-treat-highlight-citation (t, integer)
+@vindex gnus-treat-highlight-headers
 @item gnus-treat-highlight-headers (head)
+@vindex gnus-treat-highlight-signature
 @item gnus-treat-highlight-signature (t, last, integer)
 
 @xref{Article Highlighting}.
 
+@vindex gnus-treat-play-sounds
 @item gnus-treat-play-sounds
+@vindex gnus-treat-translate
 @item gnus-treat-translate
+@vindex gnus-treat-x-pgp-sig
 @item gnus-treat-x-pgp-sig (head)
 
+@vindex gnus-treat-unfold-headers
 @item gnus-treat-unfold-headers (head)
+@vindex gnus-treat-fold-headers
 @item gnus-treat-fold-headers (head)
+@vindex gnus-treat-fold-newsgroups
 @item gnus-treat-fold-newsgroups (head)
+@vindex gnus-treat-leading-whitespace
 @item gnus-treat-leading-whitespace (head)
 
 @xref{Article Header}.
@@ -14511,6 +14564,7 @@ using the new mail back end.
 @node Expiring Mail
 @subsection Expiring Mail
 @cindex article expiry
+@cindex expiring mail
 
 Traditional mail readers have a tendency to remove mail articles when
 you mark them as read, in some way.  Gnus takes a fundamentally
@@ -16454,6 +16508,7 @@ as ticked for other users.
 @item nnimap-expunge-search-string
 @cindex expunging
 @vindex nnimap-expunge-search-string
+@cindex expiring @acronym{IMAP} mail
 
 This variable contain the @acronym{IMAP} search command sent to server when
 searching for articles eligible for expiring.  The default is
@@ -16465,6 +16520,10 @@ Probably the only useful value to change this to is
 messages instead of the internal article date.  See section 6.4.4 of
 RFC 2060 for more information on valid strings.
 
+However, if @code{nnimap-search-uids-not-since-is-evil} 
+is true, this variable has no effect since the search logic
+is reversed, as described below.
+
 @item nnimap-authinfo-file
 @vindex nnimap-authinfo-file
 
@@ -16490,6 +16549,47 @@ Unselect mailboxes before looking for new mail in them.  Some servers
 seem to need this under some circumstances; it was reported that
 Courier 1.7.1 did.
 
+@item nnimap-nov-is-evil
+@vindex nnimap-nov-is-evil
+@cindex Courier @acronym{IMAP} server
+@cindex @acronym{NOV}
+
+Never generate or use a local @acronym{NOV} database. Defaults to the
+value of @code{gnus-agent}.
+
+Using a @acronym{NOV} database usually makes header fetching much
+faster, but it uses the @code{UID SEARCH UID} command, which is very
+slow on some servers (notably some versions of Courier). Since the Gnus
+Agent caches the information in the @acronym{NOV} database without using
+the slow command, this variable defaults to true if the Agent is in use,
+and false otherwise.
+
+@item nnimap-search-uids-not-since-is-evil
+@vindex nnimap-search-uids-not-since-is-evil
+@cindex Courier @acronym{IMAP} server
+@cindex expiring @acronym{IMAP} mail
+
+Avoid the @code{UID SEARCH UID @var{message numbers} NOT SINCE
+@var{date}} command, which is slow on some @acronym{IMAP} servers
+(notably, some versions of Courier). Instead, use @code{UID SEARCH SINCE
+@var{date}} and prune the list of expirable articles within Gnus.
+
+When Gnus expires your mail (@pxref{Expiring Mail}), it starts with a
+list of expirable articles and asks the IMAP server questions like ``Of
+these articles, which ones are older than a week?'' While this seems
+like a perfectly reasonable question, some IMAP servers take a long time
+to answer it, since they seemingly go looking into every old article to
+see if it is one of the expirable ones. Curiously, the question ``Of
+@emph{all} articles, which ones are newer than a week?'' seems to be
+much faster to answer, so setting this variable causes Gnus to ask this
+question and figure out the answer to the real question itself.
+
+This problem can really sneak up on you: when you first configure Gnus,
+everything works fine, but once you accumulate a couple thousand
+messages, you start cursing Gnus for being so slow. On the other hand,
+if you get a lot of email within a week, setting this variable will
+cause a lot of network traffic between Gnus and the IMAP server.
+
 @end table
 
 @menu
@@ -16677,7 +16777,7 @@ splitting function that analyzes the body to split the article.
 
 @node Expiring in IMAP
 @subsection Expiring in IMAP
-@cindex expiring imap mail
+@cindex expiring @acronym{IMAP} mail
 
 Even though @code{nnimap} is not a proper @code{nnmail} derived back
 end, it supports most features in regular expiring (@pxref{Expiring
@@ -16696,6 +16796,9 @@ you to view client specific flags on the message.  It also means that
 your server must support permanent storage of client specific flags on
 messages.  Most do, fortunately.
 
+If expiring @acronym{IMAP} mail seems very slow, try setting the server
+variable @code{nnimap-search-uids-not-since-is-evil}.
+
 @table @code
 
 @item nnmail-expiry-wait
@@ -18605,7 +18708,7 @@ sense if you are using a nntp or nnimap back end.
 @findex gnus-agent-expire-group
 @cindex agent expiry
 @cindex Gnus agent expiry
-@cindex expiry
+@cindex expiry, in Gnus agent
 
 The Agent back end, @code{nnagent}, doesn't handle expiry.  Well, at
 least it doesn't handle it like other back ends.  Instead, there are
@@ -23324,9 +23427,6 @@ From Ted Zlatanov <tzz@@lifelogs.com>.
 (gnus-registry-initialize)
 (spam-initialize)
 
-;; @r{I like @kbd{C-s} for marking spam}
-(define-key gnus-summary-mode-map "\C-s" 'gnus-summary-mark-as-spam)
-
 (setq
  spam-log-to-registry t     ; @r{for spam autodetection}
  spam-use-BBDB t
@@ -23898,7 +23998,7 @@ The actual string used is irrelevant, but you probably want to leave
 the default value of @samp{spam}.
 @end defvar
 
-@defvar spam-ifile-database-path
+@defvar spam-ifile-database
 
 This is the filename for the ifile database.  It is not specified by
 default, so ifile will use its own default database name.