]> git.eshelyaron.com Git - emacs.git/commitdiff
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
authorMiles Bader <miles@gnu.org>
Fri, 9 Dec 2005 08:57:58 +0000 (08:57 +0000)
committerMiles Bader <miles@gnu.org>
Fri, 9 Dec 2005 08:57:58 +0000 (08:57 +0000)
Merge from gnus--rel--5.10

Patches applied:

 * gnus--rel--5.10  (patch 157-168)

   - Merge from emacs--cvs-trunk--0
   - Update from CVS
   - Update from CVS: texi/message.texi: Fix default values.

2005-12-08  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/gnus/mm-decode.el (mm-discouraged-alternatives): Fix custom type.
   Suggest image/.* in the doc string.

2005-12-07  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/mm-decode.el (mm-display-external): Use nametemplate (defined in
   RFC1524) if it is in mailcap or add a suffix according to
   mailcap-mime-extensions when generating a temp filename; postpone
   deleting a temp file for 2 seconds for some wrappers, shell
   scripts, and so on, which might exit right after having started a
   viewer command as a background job.

2005-12-06  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/gnus/gnus-art.el (gnus-default-article-saver): Add user-defined
   `function' to custom type.

2005-12-02  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)

   * lisp/gnus/mm-view.el (mm-inline-text-html-render-with-w3m): Fix misplaced
   parens.

2005-11-29  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/gnus/gnus-cache.el (gnus-cache-rename-group): Wrap doc strings and
   long lines.
   (gnus-cache-delete-group): Wrap doc strings.

   * lisp/gnus/gnus-agent.el (gnus-agent-rename-group)
   (gnus-agent-delete-group): Wrap doc strings.

2005-11-24  Pascal Rigaux  <pixel@mandriva.com>  (tiny change)

   * lisp/gnus/rfc2231.el (rfc2231-parse-string): Support non-ascii chars.

2005-11-22  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Use current-time instead
   of current-time-string.

2005-11-20  Stefan Schimanski  <schimmi@debian.org>  (tiny change)

   * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Protect against invalid
   date header.

2005-11-16  Boris Samorodov <bsam@ipt.ru>  (tiny patch)

   * lisp/gnus/imap.el (imap-kerberos4-open): Ignore SSL stuff.

2005-11-14  Kevin Greiner  <kevin.greiner@compsol.cc>

   * lisp/gnus/gnus-agent.el (gnus-agent-article-alist-save-format): Changed
   internal variable to a custom variable.  Changed default value
   from compressed(2) to uncompressed(1).
   (gnus-agent-read-agentview): Reversed revision 7.8 to restore
   support for uncompressed agentview files.  Taken together, reading
   the agentview file should now be 6-7 times faster.
   (gnus-agent-long-article,
   gnus-agent-short-article, gnus-agent-score): Renamed category
   keywords to match gnus-cus.
   (gnus-agent-summary-fetch-series): Modified to protect against
   gnus-agent-summary-fetch-group clearing processable flags.
   (gnus-agent-synchronize-group-flags): Update live group buffer as
   synchronization may occur due to the user toggling the plugged
   status.
   (gnus-agent-braid-nov): Now tests new nov entries
   for duplicates which are removed.  The invalid sort check then
   triggers a rescan after the sort as sorting may have moved
   duplicate entries such that they can be cheaply detected.
   (gnus-agent-read-local): Trivial fix to format of
   error message to display actual error condition.
   (gnus-agent-save-local): Avoid saving symbols that are bound to
   nil as they simply result in a warning message in
   gnus-agent-read-local.
   (gnus-agent-fetch-group-1): Clear downloadable flag when article
   successfully downloaded.
   (gnus-agent-regenerate-group): Use
   gnus-agent-synchronize-group-flags to reset read status in both
   gnus and server.

   * lisp/gnus/nntp.el (nntp-end-of-line): Doc fix.
   (nntp-authinfo-rejected): New error condition.
   (nntp-wait-for): Use new error condition to signal authentication
   error.
   (nntp-retrieve-data): Rethrow new error condition to break out of
   recursive call to nntp-send-authinfo.

2005-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Use make-local-variable
   rather than make-variable-buffer-local for file-precious-flag.

2005-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Quote file-precious-flag.

2005-11-11  Jan Nieuwenhuizen  <janneke@gnu.org>

   * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Set file-precious-flag,
   as a buffer-local variable.  This avoids creating truncated
   dribble files as a result of a hang up, eg.

2005-11-04 Ken Manheimer  <ken.manheimer@gmail.com>

   * lisp/gnus/pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
   (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
   (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
   (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
   argument to all these routines, so the passphrase can be managed
   externally and passed in to the system.
   (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
   pgg-add-passphrase-to-cache function.

   * lisp/gnus/pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
   (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
   (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
   (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
   argument to all these routines, so the passphrase can be managed
   externally and passed in to the system.
   (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
   function.

2005-10-30  Chong Yidong  <cyd@stupidchicken.com>

   * lisp/gnus/imap.el (imap-open): Handle case where buffer is a buffer
   object.

2005-10-29  Ken Manheimer  <ken.manheimer@gmail.com>

   * lisp/gnus/pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
   part of the decoded armor to find the key-identifier.
   (pgg-gpg-lookup-key-owner): New function to return the
   human-readable identifier of a key owner.
   (pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
   key itself.
   (pgg-gpg-decrypt-region): Prompt with the key owner (rather than
   the key value) if we have a key and can match it against a secret
   key.  Also, added a note pointing out fact that the prompt only
   indicates the first matching key.

   * lisp/gnus/pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
   pgg-decrypt-region.
   (pgg-pending-timers): A new hash for tracking the passphrase cache
   timers, so that new ones supercede old ones.
   (pgg-add-passphrase-to-cache): Rename from
   `pgg-add-passphrase-cache' to reduce confusion (all callers
   changed).  Modified to cancel old timers when new ones are added.
   (pgg-remove-passphrase-from-cache): Rename from
   `pgg-remove-passphrase-cache' to reduce confusion (all callers
   changed).  Modified to cancel old timers when their keys are
   removed from the cache.
   (pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
   XEmacs, an indirection to delete-itimer.
   (pgg-read-passphrase-from-cache, pgg-read-passphrase):
   Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
   users can only check cache without risk of prompting.  Correct bug in
   notruncate behavior.
   (pgg-read-passphrase-from-cache, pgg-read-passphrase)
   (pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
   Add informative docstrings.
   (pgg-decrypt): Convey provided passphrase in subordinate call to
   pgg-decrypt-region.

2005-10-20  Ken Manheimer <ken.manheimer+emacs@gmail.com>

   * lisp/gnus/pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
   (pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
   (pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
   'passphrase' argument, so the passphrase can be managed externally
   and then passed in to the system.

   * lisp/gnus/pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
   (pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
   so the passphrase cache can be used reliably with identifiers
   besides a pgp packet's key id.

   * lisp/gnus/pgg-gpg.el (pgg-pgp-encrypt-region)
   (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
   (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
   (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
   argument to all these routines, so the passphrase can be managed
   externally and passed in to the system.

   * lisp/gnus/pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
   'notruncate' argument, so the passphrase cache can be used
   reliably with identifiers besides a pgp packet's key id.

2005-10-29  Sascha Wilde  <swilde@sha-bang.de>

   * lisp/gnus/pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
   symmetric encryption.
   (pgg-gpg-symmetric-key-p): New function to check for an symmetric
   encrypted session key.
   (pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
   message ask for the passphrase in a proper way.

   * lisp/gnus/pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
   New user commands for symmetric encryption.

2005-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/pgg.texi (User Commands): Fix description of pgg-verify-region.
   (Selecting an implementation): Fix descriptions.

2005-11-30  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/message.texi (Various Message Variables): Addition.

2005-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/message.texi: Fix default values.

2005-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/message.texi (Header Commands): Clarify descriptions of
   message-cross-post-followup-to, message-reduce-to-to-cc, and
   message-insert-wide-reply.
   (Various Commands): Fix kindex for message-kill-to-signature;
   clarify description of message-tab.

2005-11-22  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/message.texi (Mailing Lists): Fix description about MFT.

   * man/gnus.texi (Emacs Lisp): Use ~/.gnus.el instead of ~/.emacs.

2005-11-17  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/gnus.texi (Slow Terminal Connection): Replace old description
   with new one.

2005-11-16  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/gnus.texi (Oort Gnus): Use ~/.gnus.el instead of ~/.emacs;
   replace X-Draft-Headers with X-Draft-From.

2005-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>

   * man/gnus.texi (Various Various): Fix the default value of
   nnheader-max-head-length.
   (Gnus Versions): Fix typo.

15 files changed:
lisp/gnus/ChangeLog
lisp/gnus/gnus-agent.el
lisp/gnus/gnus-art.el
lisp/gnus/gnus-cache.el
lisp/gnus/gnus-start.el
lisp/gnus/imap.el
lisp/gnus/mm-decode.el
lisp/gnus/mm-view.el
lisp/gnus/nnmail.el
lisp/gnus/nntp.el
lisp/gnus/rfc2231.el
man/ChangeLog
man/gnus.texi
man/message.texi
man/pgg.texi

index 01babcddc863acc0c13d3a180a6f293674e2d307..708d232e994e3c9e8bb925d1c9be0163e48eefe9 100644 (file)
@@ -1,3 +1,204 @@
+2005-12-08  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * mm-decode.el (mm-discouraged-alternatives): Fix custom type.
+       Suggest image/.* in the doc string.
+
+2005-12-07  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * mm-decode.el (mm-display-external): Use nametemplate (defined in
+       RFC1524) if it is in mailcap or add a suffix according to
+       mailcap-mime-extensions when generating a temp filename; postpone
+       deleting a temp file for 2 seconds for some wrappers, shell
+       scripts, and so on, which might exit right after having started a
+       viewer command as a background job.
+
+2005-12-06  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus-art.el (gnus-default-article-saver): Add user-defined
+       `function' to custom type.
+
+2005-12-02  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
+
+       * mm-view.el (mm-inline-text-html-render-with-w3m): Fix misplaced
+       parens.
+
+2005-11-29  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus-cache.el (gnus-cache-rename-group): Wrap doc strings and
+       long lines.
+       (gnus-cache-delete-group): Wrap doc strings.
+
+       * gnus-agent.el (gnus-agent-rename-group)
+       (gnus-agent-delete-group): Wrap doc strings.
+
+2005-11-24  Pascal Rigaux  <pixel@mandriva.com>  (tiny change)
+
+       * rfc2231.el (rfc2231-parse-string): Support non-ascii chars.
+
+2005-11-22  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * nnmail.el (nnmail-fancy-expiry-target): Use current-time instead
+       of current-time-string.
+
+2005-11-20  Stefan Schimanski  <schimmi@debian.org>  (tiny change)
+
+       * nnmail.el (nnmail-fancy-expiry-target): Protect against invalid
+       date header.
+
+2005-11-16  Boris Samorodov <bsam@ipt.ru>  (tiny patch)
+
+       * imap.el (imap-kerberos4-open): Ignore SSL stuff.
+
+2005-11-14  Kevin Greiner  <kevin.greiner@compsol.cc>
+
+       * gnus-agent.el (gnus-agent-article-alist-save-format): Changed
+       internal variable to a custom variable.  Changed default value
+       from compressed(2) to uncompressed(1).
+       (gnus-agent-read-agentview): Reversed revision 7.8 to restore
+       support for uncompressed agentview files.  Taken together, reading
+       the agentview file should now be 6-7 times faster.
+       (gnus-agent-long-article,
+       gnus-agent-short-article, gnus-agent-score): Renamed category
+       keywords to match gnus-cus.
+       (gnus-agent-summary-fetch-series): Modified to protect against
+       gnus-agent-summary-fetch-group clearing processable flags.
+       (gnus-agent-synchronize-group-flags): Update live group buffer as
+       synchronization may occur due to the user toggling the plugged
+       status.
+       (gnus-agent-braid-nov): Now tests new nov entries
+       for duplicates which are removed.  The invalid sort check then
+       triggers a rescan after the sort as sorting may have moved
+       duplicate entries such that they can be cheaply detected.
+       (gnus-agent-read-local): Trivial fix to format of
+       error message to display actual error condition.
+       (gnus-agent-save-local): Avoid saving symbols that are bound to
+       nil as they simply result in a warning message in
+       gnus-agent-read-local.
+       (gnus-agent-fetch-group-1): Clear downloadable flag when article
+       successfully downloaded.
+       (gnus-agent-regenerate-group): Use
+       gnus-agent-synchronize-group-flags to reset read status in both
+       gnus and server.
+
+       * nntp.el (nntp-end-of-line): Doc fix.
+       (nntp-authinfo-rejected): New error condition.
+       (nntp-wait-for): Use new error condition to signal authentication
+       error.
+       (nntp-retrieve-data): Rethrow new error condition to break out of
+       recursive call to nntp-send-authinfo.
+       
+2005-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-start.el (gnus-dribble-read-file): Use make-local-variable
+       rather than make-variable-buffer-local for file-precious-flag.
+
+2005-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-start.el (gnus-dribble-read-file): Quote file-precious-flag.
+
+2005-11-11  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * gnus-start.el (gnus-dribble-read-file): Set file-precious-flag,
+       as a buffer-local variable.  This avoids creating truncated
+       dribble files as a result of a hang up, eg.
+
+2005-11-04 Ken Manheimer  <ken.manheimer@gmail.com>
+
+       * pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
+       (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
+       (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
+       (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
+       argument to all these routines, so the passphrase can be managed
+       externally and passed in to the system.
+       (pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
+       pgg-add-passphrase-to-cache function.
+
+       * pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
+       (pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
+       (pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
+       (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
+       argument to all these routines, so the passphrase can be managed
+       externally and passed in to the system.
+       (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
+       function.
+
+2005-10-30  Chong Yidong  <cyd@stupidchicken.com>
+
+       * imap.el (imap-open): Handle case where buffer is a buffer
+       object.
+
+2005-10-29  Ken Manheimer  <ken.manheimer@gmail.com>
+
+       * pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
+       part of the decoded armor to find the key-identifier.
+       (pgg-gpg-lookup-key-owner): New function to return the
+       human-readable identifier of a key owner.
+       (pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
+       key itself.
+       (pgg-gpg-decrypt-region): Prompt with the key owner (rather than
+       the key value) if we have a key and can match it against a secret
+       key.  Also, added a note pointing out fact that the prompt only
+       indicates the first matching key.
+
+       * pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
+       pgg-decrypt-region.
+       (pgg-pending-timers): A new hash for tracking the passphrase cache
+       timers, so that new ones supercede old ones.
+       (pgg-add-passphrase-to-cache): Rename from
+       `pgg-add-passphrase-cache' to reduce confusion (all callers
+       changed).  Modified to cancel old timers when new ones are added.
+       (pgg-remove-passphrase-from-cache): Rename from
+       `pgg-remove-passphrase-cache' to reduce confusion (all callers
+       changed).  Modified to cancel old timers when their keys are
+       removed from the cache.
+       (pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
+       XEmacs, an indirection to delete-itimer.
+       (pgg-read-passphrase-from-cache, pgg-read-passphrase):
+       Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
+       users can only check cache without risk of prompting.  Correct bug in
+       notruncate behavior.
+       (pgg-read-passphrase-from-cache, pgg-read-passphrase)
+       (pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
+       Add informative docstrings.
+       (pgg-decrypt): Convey provided passphrase in subordinate call to
+       pgg-decrypt-region.
+
+2005-10-20  Ken Manheimer <ken.manheimer+emacs@gmail.com>
+
+       * pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
+       (pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
+       (pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
+       'passphrase' argument, so the passphrase can be managed externally
+       and then passed in to the system.
+
+       * pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
+       (pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
+       so the passphrase cache can be used reliably with identifiers
+       besides a pgp packet's key id.
+
+       * pgg-gpg.el (pgg-pgp-encrypt-region)
+       (pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
+       (pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
+       (pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
+       argument to all these routines, so the passphrase can be managed
+       externally and passed in to the system.
+
+       * pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
+       'notruncate' argument, so the passphrase cache can be used
+       reliably with identifiers besides a pgp packet's key id.
+
+2005-10-29  Sascha Wilde  <swilde@sha-bang.de>
+
+       * pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
+       symmetric encryption.
+       (pgg-gpg-symmetric-key-p): New function to check for an symmetric
+       encrypted session key.
+       (pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
+       message ask for the passphrase in a proper way.
+
+       * pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
+       New user commands for symmetric encryption.
+
 2005-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * gnus-delay.el (gnus-delay-group): Don't autoload.
index 0357ddd18cb288f11076f4ade893c4e3f27d7956..2139c4857208cd8d0cb6eadc411ee81953185441 100644 (file)
@@ -213,6 +213,17 @@ unplugged."
   :group 'gnus-agent
   :type 'boolean)
 
+(defcustom gnus-agent-article-alist-save-format 1
+  "Indicates whether to use compression(2), verses no
+  compression(1), when writing agentview files.  The compressed
+  files do save space but load times are 6-7 times higher.  A
+  group must be opened then closed for the agentview to be
+  updated using the new format."
+  :version "22.1"
+  :group 'gnus-agent
+  :type '(radio (const :format "Compressed" 2)
+               (const :format "Uncompressed" 1)))
+
 ;;; Internal variables
 
 (defvar gnus-agent-history-buffers nil)
@@ -357,17 +368,17 @@ manipulated as follows:
 (gnus-agent-cat-defaccessor
  gnus-agent-cat-high-score                 agent-high-score)
 (gnus-agent-cat-defaccessor
- gnus-agent-cat-length-when-long           agent-length-when-long)
+ gnus-agent-cat-length-when-long           agent-long-article)
 (gnus-agent-cat-defaccessor
- gnus-agent-cat-length-when-short          agent-length-when-short)
+ gnus-agent-cat-length-when-short          agent-short-article)
 (gnus-agent-cat-defaccessor
  gnus-agent-cat-low-score                  agent-low-score)
 (gnus-agent-cat-defaccessor
  gnus-agent-cat-predicate                  agent-predicate)
 (gnus-agent-cat-defaccessor
- gnus-agent-cat-score-file                 agent-score-file)
+ gnus-agent-cat-score-file                 agent-score)
 (gnus-agent-cat-defaccessor
- gnus-agent-cat-enable-undownloaded-faces agent-enable-undownloaded-faces)
+ gnus-agent-cat-enable-undownloaded-faces  agent-enable-undownloaded-faces)
 
 
 ;; This form is equivalent to defsetf except that it calls make-symbol
@@ -858,9 +869,11 @@ be a select method."
 
 ;;;###autoload
 (defun gnus-agent-rename-group (old-group new-group)
-  "Rename fully-qualified OLD-GROUP as NEW-GROUP.  Always updates the agent, even when
-disabled, as the old agent files would corrupt gnus when the agent was
-next enabled. Depends upon the caller to determine whether group renaming is supported."
+  "Rename fully-qualified OLD-GROUP as NEW-GROUP.
+Always updates the agent, even when disabled, as the old agent
+files would corrupt gnus when the agent was next enabled.
+Depends upon the caller to determine whether group renaming is
+supported."
   (let* ((old-command-method (gnus-find-method-for-group old-group))
         (old-path           (directory-file-name
                              (let (gnus-command-method old-command-method)
@@ -888,9 +901,11 @@ next enabled. Depends upon the caller to determine whether group renaming is sup
 
 ;;;###autoload
 (defun gnus-agent-delete-group (group)
-  "Delete fully-qualified GROUP.  Always updates the agent, even when
-disabled, as the old agent files would corrupt gnus when the agent was
-next enabled. Depends upon the caller to determine whether group deletion is supported."
+  "Delete fully-qualified GROUP.
+Always updates the agent, even when disabled, as the old agent
+files would corrupt gnus when the agent was next enabled.
+Depends upon the caller to determine whether group deletion is
+supported."
   (let* ((command-method (gnus-find-method-for-group group))
         (path           (directory-file-name
                          (let (gnus-command-method command-method)
@@ -1134,20 +1149,22 @@ downloadable."
   (when gnus-newsgroup-processable
     (setq gnus-newsgroup-downloadable
           (let* ((dl gnus-newsgroup-downloadable)
-                 (gnus-newsgroup-downloadable
-                 (sort (gnus-copy-sequence gnus-newsgroup-processable) '<))
-                 (fetched-articles (gnus-agent-summary-fetch-group)))
-            ;; The preceeding call to (gnus-agent-summary-fetch-group)
-            ;; updated gnus-newsgroup-downloadable to remove each
-            ;; article successfully fetched.
+                (processable (sort (gnus-copy-sequence gnus-newsgroup-processable) '<))
+                 (gnus-newsgroup-downloadable processable))
+           (gnus-agent-summary-fetch-group)
 
-            ;; For each article that I processed, remove its
-            ;; processable mark IF the article is no longer
-            ;; downloadable (i.e. it's already downloaded)
-            (dolist (article gnus-newsgroup-processable)
-              (unless (memq article gnus-newsgroup-downloadable)
-                (gnus-summary-remove-process-mark article)))
-            (gnus-sorted-ndifference dl fetched-articles)))))
+            ;; For each article that I processed that is no longer
+            ;; undownloaded, remove its processable mark.
+
+           (mapc #'gnus-summary-remove-process-mark 
+                 (gnus-sorted-ndifference gnus-newsgroup-processable gnus-newsgroup-undownloaded))
+
+            ;; The preceeding call to (gnus-agent-summary-fetch-group)
+            ;; updated the temporary gnus-newsgroup-downloadable to
+            ;; remove each article successfully fetched.  Now, I
+            ;; update the real gnus-newsgroup-downloadable to only
+            ;; include undownloaded articles.
+           (gnus-sorted-ndifference dl (gnus-sorted-ndifference processable gnus-newsgroup-undownloaded))))))
 
 (defun gnus-agent-summary-fetch-group (&optional all)
   "Fetch the downloadable articles in the group.
@@ -1240,7 +1257,13 @@ This can be added to `gnus-select-article-hook' or
                                  'gnus-range-add
                                'gnus-remove-from-range)
                              (cdr info-marks)
-                             range)))))))))
+                             range))))))))
+
+      ;;Marks can be synchronized at any time by simply toggling from
+      ;;unplugged to plugged.  If that is what is happening right now, make
+      ;;sure that the group buffer is up to date.
+          (when (gnus-buffer-live-p gnus-group-buffer)
+            (gnus-group-update-group group t)))
     nil))
 
 (defun gnus-agent-save-active (method)
@@ -1330,7 +1353,7 @@ downloaded into the agent."
           (when (re-search-forward
                  (concat "^" (regexp-quote group) " ") nil t)
             (save-excursion
-             (setq oactive-max (read (current-buffer)) ;; max
+              (setq oactive-max (read (current-buffer))        ;; max
                     oactive-min (read (current-buffer)))) ;; min
             (gnus-delete-line)))
        (when active
@@ -1824,7 +1847,7 @@ article numbers will be returned."
 (defsubst gnus-agent-read-article-number ()
   "Reads the article number at point.  Returns nil when a valid article number can not be read."
 
-  ;; It is unfortunite but the read function quietly overflows
+  ;; It is unfortunate but the read function quietly overflows
   ;; integer.  As a result, I have to use string operations to test
   ;; for overflow BEFORE calling read.
   (when (looking-at "[0-9]+\t")
@@ -1913,6 +1936,7 @@ doesn't exist, to valid the overview buffer."
        (goto-char p))
 
       (setq last (or last -134217728))
+      (while (catch 'problems
       (let (sort art)
        (while (not (eobp))
          (setq art (gnus-agent-read-article-number))
@@ -1924,12 +1948,27 @@ doesn't exist, to valid the overview buffer."
                 ;; Art num out of order - enable sort
                 (setq sort t)
                 (forward-line 1))
+                        ((= art last)
+                         ;; Bad repeat of art number - delete this line
+                         (beginning-of-line)
+                         (delete-region (point) (progn (forward-line 1) (point))))
                (t
                 ;; Good art num
                 (setq last art)
                 (forward-line 1))))
        (when sort
-         (sort-numeric-fields 1 (point-min) (point-max)))))))
+                  ;; something is seriously wrong as we simply shouldn't see out-of-order data.
+                  ;; First, we'll fix the sort.
+                  (sort-numeric-fields 1 (point-min) (point-max))
+
+                  ;; but now we have to consider that we may have duplicate rows...      
+                  ;; so reset to beginning of file
+                  (goto-char (point-min))
+                  (setq last -134217728)
+         
+                  ;; and throw a code that restarts this scan
+                  (throw 'problems t))
+                nil))))))
 
 ;; Keeps the compiler from warning about the free variable in
 ;; gnus-agent-read-agentview.
@@ -1946,11 +1985,6 @@ doesn't exist, to valid the overview buffer."
            'gnus-agent-file-loading-cache
            'gnus-agent-read-agentview))))
 
-;; Save format may be either 1 or 2.  Two is the new, compressed
-;; format that is still being tested.  Format 1 is uncompressed but
-;; known to be reliable.
-(defconst gnus-agent-article-alist-save-format 2)
-
 (defun gnus-agent-read-agentview (file)
   "Load FILE and do a `read' there."
   (with-temp-buffer
@@ -1964,8 +1998,6 @@ doesn't exist, to valid the overview buffer."
               changed-version)
 
           (cond
-           ((< version 2)
-            (error "gnus-agent-read-agentview no longer supports version %d.  Stop gnus, manually evaluate gnus-agent-convert-to-compressed-agentview, then restart gnus." version))
            ((= version 0)
             (let ((inhibit-quit t)
                   entry)
@@ -1996,7 +2028,8 @@ doesn't exist, to valid the overview buffer."
                              (setq uncomp (cons (cons article-id state) uncomp)))
                            sequence)))
                alist)
-              (setq alist (sort uncomp 'car-less-than-car)))))
+               (setq alist (sort uncomp 'car-less-than-car)))
+             (setq changed-version (not (= 2 gnus-agent-article-alist-save-format)))))
           (when changed-version
             (let ((gnus-agent-article-alist alist))
               (gnus-agent-save-alist gnus-agent-read-agentview)))
@@ -2110,7 +2143,7 @@ modified) original contents, they are first saved to their own file."
               ;; NOTE: The '+ 0' ensure that min and max are both numerics.
               (set group (cons (+ 0 min) (+ 0 max))))
           (error
-           (gnus-message 3 "Warning - invalid agent local: %s on line %d: "
+           (gnus-message 3 "Warning - invalid agent local: %s on line %d: %s"
                          file line (error-message-string err))))
         (forward-line 1)
         (setq line (1+ line))))
@@ -2141,13 +2174,14 @@ modified) original contents, they are first saved to their own file."
                                ((member (symbol-name symbol) '("+dirty" "+method"))
                                 nil)
                                (t
-                                (prin1 symbol)
                                 (let ((range (symbol-value symbol)))
+                                  (when range
+                                (prin1 symbol)
                                   (princ " ")
                                   (princ (car range))
                                   (princ " ")
                                   (princ (cdr range))
-                                  (princ "\n")))))
+                                    (princ "\n"))))))
                        my-obarray))))))))
 
 (defun gnus-agent-get-local (group &optional gmane method)
@@ -2402,7 +2436,9 @@ modified) original contents, they are first saved to their own file."
                         (dolist (article marked-articles)
                           (gnus-summary-set-agent-mark article t))
                         (dolist (article fetched-articles)
-                          (if gnus-agent-mark-unread-after-downloaded
+                          (when gnus-agent-mark-unread-after-downloaded
+                           (setq gnus-newsgroup-downloadable
+                                 (delq article gnus-newsgroup-downloadable))
                               (gnus-summary-mark-article
                               article gnus-unread-mark))
                           (when (gnus-summary-goto-subject article nil t)
@@ -3191,7 +3227,7 @@ missing NOV entry.  Run gnus-agent-regenerate-group to restore it.")))
               ((setq type
                      (cond
                       ((not (integerp fetch-date))
-                       'read) ;; never fetched article (may expire
+                        'read) ;; never fetched article (may expire
                       ;; right now)
                       ((not (file-exists-p
                              (concat dir (number-to-string
@@ -3871,8 +3907,9 @@ If REREAD is not nil, downloaded articles are marked as unread."
                 (gnus-agent-possibly-alter-active group group-active)))))
 
         (when (and reread gnus-agent-article-alist)
-          (gnus-make-ascending-articles-unread
+       (gnus-agent-synchronize-group-flags 
            group
+        (list (list
            (if (listp reread)
                reread
              (delq nil (mapcar (function (lambda (c)
@@ -3880,7 +3917,9 @@ If REREAD is not nil, downloaded articles are marked as unread."
                                                   (car c))
                                                  ((cdr c)
                                                   (car c)))))
-                               gnus-agent-article-alist))))
+                                   gnus-agent-article-alist)))
+               'del '(read)))
+        gnus-command-method)
 
           (when (gnus-buffer-live-p gnus-group-buffer)
             (gnus-group-update-group group t)))
index 98e699cd80cf02bbf64ec5bea3a6e7c983bb7ee9..ef5796a608366ff84c8b59087cca4343fc9d5ade 100644 (file)
@@ -535,7 +535,8 @@ Gnus provides the following functions:
                (function-item gnus-summary-save-in-file)
                (function-item gnus-summary-save-body-in-file)
                (function-item gnus-summary-save-in-vm)
-               (function-item gnus-summary-write-to-file)))
+               (function-item gnus-summary-write-to-file)
+               (function)))
 
 (defcustom gnus-rmail-save-name 'gnus-plain-save-name
   "A function generating a file name to save articles in Rmail format.
index 4477e8f579edbb56402ee35cb4ec2b74148fd90d..7785fd4c7de477d08b4ada49ca51691749d14a8e 100644 (file)
@@ -730,9 +730,11 @@ If GROUP is non-nil, also cater to `gnus-cacheable-groups' and
 
 ;;;###autoload
 (defun gnus-cache-rename-group (old-group new-group)
-  "Rename OLD-GROUP as NEW-GROUP.  Always updates the cache, even when
-disabled, as the old cache files would corrupt gnus when the cache was
-next enabled. Depends upon the caller to determine whether group renaming is supported."
+  "Rename OLD-GROUP as NEW-GROUP.
+Always updates the cache, even when disabled, as the old cache
+files would corrupt Gnus when the cache was next enabled.  It
+depends on the caller to determine whether group renaming is
+supported."
   (let ((old-dir (gnus-cache-file-name old-group ""))
        (new-dir (gnus-cache-file-name new-group "")))
     (gnus-rename-file old-dir new-dir t))
@@ -740,9 +742,12 @@ next enabled. Depends upon the caller to determine whether group renaming is sup
   (let ((no-save gnus-cache-active-hashtb))
     (unless gnus-cache-active-hashtb
       (gnus-cache-read-active))
-    (let* ((old-group-hash-value (gnus-gethash old-group gnus-cache-active-hashtb))
-          (new-group-hash-value (gnus-gethash new-group gnus-cache-active-hashtb))
-          (delta                (or old-group-hash-value new-group-hash-value)))
+    (let* ((old-group-hash-value
+           (gnus-gethash old-group gnus-cache-active-hashtb))
+          (new-group-hash-value
+           (gnus-gethash new-group gnus-cache-active-hashtb))
+          (delta
+           (or old-group-hash-value new-group-hash-value)))
       (gnus-sethash new-group old-group-hash-value gnus-cache-active-hashtb)
       (gnus-sethash old-group nil gnus-cache-active-hashtb)
 
@@ -752,9 +757,11 @@ next enabled. Depends upon the caller to determine whether group renaming is sup
 
 ;;;###autoload
 (defun gnus-cache-delete-group (group)
-  "Delete GROUP.  Always updates the cache, even when
-disabled, as the old cache files would corrupt gnus when the cache was
-next enabled. Depends upon the caller to determine whether group deletion is supported."
+  "Delete GROUP from the cache.
+Always updates the cache, even when disabled, as the old cache
+files would corrupt gnus when the cache was next enabled.
+Depends upon the caller to determine whether group deletion is
+supported."
   (let ((dir (gnus-cache-file-name group "")))
     (gnus-delete-directory dir))
 
index 113d80bd1245843354a62197e7ff089b34198c4f..d3b313c621f02f32ae31e1b7351f74fb47da9d50 100644 (file)
@@ -858,6 +858,7 @@ prompt the user for the name of an NNTP server to use."
       (set-buffer (setq gnus-dribble-buffer
                        (gnus-get-buffer-create
                         (file-name-nondirectory dribble-file))))
+      (set (make-local-variable 'file-precious-flag) t)
       (erase-buffer)
       (setq buffer-file-name dribble-file)
       (auto-save-mode t)
index 2be30aa6e47f7ea14a290851c312cac2fadc4e92..967d79463f28e01dde2a57c8f8ff6a920441e3ef 100644 (file)
@@ -591,6 +591,13 @@ sure of changing the value of `foo'."
            (while (and (memq (process-status process) '(open run))
                        (set-buffer buffer) ;; XXX "blue moon" nntp.el bug
                        (goto-char (point-min))
+                       ;; Athena IMTEST can output SSL verify errors
+                       (or (while (looking-at "^verify error:num=")
+                             (forward-line))
+                           t)
+                       (or (while (looking-at "^TLS connection established")
+                             (forward-line))
+                           t)
                        ;; cyrus 1.6.x (13? < x <= 22) queries capabilities
                        (or (while (looking-at "^C:")
                              (forward-line))
index 9d0bbdfeb63a6675a3b412962234ebad225d2fda..108c5056541ec3d0757d09263ac1236d2e395f3a 100644 (file)
@@ -335,8 +335,11 @@ for instance, text/html parts are very unwanted, and text/richtext are
 somewhat unwanted, then the value of this variable should be set
 to:
 
- (\"text/html\" \"text/richtext\")"
-  :type '(repeat string)
+ (\"text/html\" \"text/richtext\")
+
+Adding \"image/.*\" might also be useful.  Spammers use it as the
+prefered part of multipart/alternative messages."
+  :type '(repeat regexp) ;; See `mm-preferred-alternative-precedence'.
   :group 'mime-display)
 
 (defcustom mm-tmp-directory
@@ -761,7 +764,19 @@ external if displayed external."
                          (gnus-map-function mm-file-name-rewrite-functions
                                             (file-name-nondirectory filename))
                          dir))
-           (setq file (mm-make-temp-file (expand-file-name "mm." dir))))
+           (setq file (mm-make-temp-file (expand-file-name "mm." dir)))
+           (let ((newname
+                  ;; Use nametemplate (defined in RFC1524) if it is
+                  ;; specified in mailcap.
+                  (if (assoc "nametemplate" mime-info)
+                      (format (assoc "nametemplate" mime-info) file)
+                    ;; Add a suffix according to `mailcap-mime-extensions'.
+                    (concat file (car (rassoc (mm-handle-media-type handle)
+                                              mailcap-mime-extensions))))))
+             (unless (string-equal file newname)
+               (when (file-exists-p file)
+                 (rename-file file newname))
+               (setq file newname))))
          (let ((coding-system-for-write mm-binary-coding-system))
            (write-region (point-min) (point-max) file nil 'nomesg))
          (message "Viewing with %s" method)
@@ -819,6 +834,9 @@ external if displayed external."
                   (ignore-errors (kill-buffer buffer))))))
            'inline)
           (t
+           ;; Deleting the temp file should be postponed for some wrappers,
+           ;; shell scripts, and so on, which might exit right after having
+           ;; started a viewer command as a background job.
            (let ((command (mm-mailcap-command
                            method file (mm-handle-type handle))))
              (unwind-protect
@@ -830,24 +848,38 @@ external if displayed external."
                                   shell-command-switch command)
                    (set-process-sentinel
                     (get-buffer-process buffer)
-                    `(lambda (process state)
-                       (when (eq 'exit (process-status process))
-                         ;; Don't use `ignore-errors'.
-                         (condition-case nil
-                             (delete-file ,file)
-                           (error))
-                         (condition-case nil
-                             (delete-directory ,(file-name-directory file))
-                           (error))
-                         (condition-case nil
-                             (kill-buffer ,buffer)
-                           (error))
-                         (condition-case nil
-                             ,(macroexpand (list 'mm-handle-set-undisplayer
-                                                 (list 'quote handle)
-                                                 nil))
-                           (error))
-                         (message "Displaying %s...done" ,command)))))
+                    (lexical-let ;; Don't use `let'.
+                        ;; Function used to remove temp file and directory.
+                        ((fn `(lambda nil
+                                ;; Don't use `ignore-errors'.
+                                (condition-case nil
+                                    (delete-file ,file)
+                                  (error))
+                                (condition-case nil
+                                    (delete-directory
+                                     ,(file-name-directory file))
+                                  (error))))
+                         ;; Form uses to kill the process buffer and
+                         ;; remove the undisplayer.
+                         (fm `(progn
+                                (kill-buffer ,buffer)
+                                ,(macroexpand
+                                  (list 'mm-handle-set-undisplayer
+                                        (list 'quote handle)
+                                        nil))))
+                         ;; Message to be issued when the process exits.
+                         (done (format "Displaying %s...done" command))
+                         ;; In particular, the timer object (which is
+                         ;; a vector in Emacs but is a list in XEmacs)
+                         ;; requires that it is lexically scoped.
+                         (timer (run-at-time 2.0 nil 'ignore)))
+                      (lambda (process state)
+                        (when (eq 'exit (process-status process))
+                          (if (memq timer timer-list)
+                              (timer-set-function timer fn)
+                            (funcall fn))
+                          (ignore-errors (eval fm))
+                          (message "%s" done))))))
                (mm-handle-set-external-undisplayer
                 handle (cons file buffer)))
              (message "Displaying %s..." command))
index 033548e3bed19f2af38b6cefddfadee82570f6c7..03c188b87a093e832200a59ea500901528ebef6d 100644 (file)
           (point-min) (point-max)
           (list 'keymap w3m-minor-mode-map
                 ;; Put the mark meaning this part was rendered by emacs-w3m.
-                'mm-inline-text-html-with-w3m t))))
-      (mm-handle-set-undisplayer
-       handle
-       `(lambda ()
-         (let (buffer-read-only)
-           (if (functionp 'remove-specifier)
-               (mapcar (lambda (prop)
-                         (remove-specifier
-                          (face-property 'default prop)
-                          (current-buffer)))
-                       '(background background-pixmap foreground)))
-           (delete-region ,(point-min-marker)
-                          ,(point-max-marker))))))))
+                'mm-inline-text-html-with-w3m t)))
+       (mm-handle-set-undisplayer
+        handle
+        `(lambda ()
+           (let (buffer-read-only)
+             (if (functionp 'remove-specifier)
+                 (mapcar (lambda (prop)
+                           (remove-specifier
+                            (face-property 'default prop)
+                            (current-buffer)))
+                         '(background background-pixmap foreground)))
+             (delete-region ,(point-min-marker)
+                            ,(point-max-marker)))))))))
 
 (defun mm-links-remove-leading-blank ()
   ;; Delete the annoying three spaces preceding each line of links
index ad913d441b7376bf3c719d01095058cc0ff3eba8..1f0d1c91f49b4e4cd8cd651ae940a3c2915b983f 100644 (file)
@@ -1872,9 +1872,15 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
         (case-fold-search nil)
         (from (or (message-fetch-field "from") ""))
         (to (or (message-fetch-field "to") ""))
-        (date (date-to-time
-               (or (message-fetch-field "date") (current-time-string))))
+        (date (message-fetch-field "date"))
         (target 'delete))
+    (setq date (if date
+                  (condition-case err
+                      (date-to-time date)
+                    (error
+                     (message "%s" (error-message-string err))
+                     (current-time)))
+                (current-time)))
     (dolist (regexp-target-pair (reverse nnmail-fancy-expiry-targets) target)
       (setq header (car regexp-target-pair))
       (cond
index 0885737c953fb63da6334b1259e242b22ed2d393..ca63fa597efd2eb70c7b4eeabcbb0d9a5af79341 100644 (file)
@@ -102,7 +102,7 @@ This command is used by the various nntp-open-via-* methods.")
 (defvoo nntp-end-of-line "\r\n"
   "*String to use on the end of lines when talking to the NNTP server.
 This is \"\\r\\n\" by default, but should be \"\\n\" when
-using and indirect connection method (nntp-open-via-*).")
+using an indirect connection method (nntp-open-via-*).")
 
 (defvoo nntp-via-rlogin-command "rsh"
   "*Rlogin command used to connect to an intermediate host.
@@ -259,6 +259,13 @@ Within a string, %s is replaced with the server address and %p with
 port number on server.  The program should accept IMAP commands on
 stdin and return responses to stdout.")
 
+(defvar nntp-authinfo-rejected nil
+"A custom error condition used to report 'Authentication Rejected' errors.  
+Condition handlers that match just this condition ensure that the nntp 
+backend doesn't catch this error.")
+(put 'nntp-authinfo-rejected 'error-conditions '(error nntp-authinfo-rejected))
+(put 'nntp-authinfo-rejected 'error-message "Authorization Rejected")
+
 \f
 
 ;;; Internal functions.
@@ -313,12 +320,15 @@ be restored and the command retried."
     (set-buffer (process-buffer process))
     (goto-char (point-min))
     (while (and (or (not (memq (char-after (point)) '(?2 ?3 ?4 ?5)))
-                   (looking-at "480"))
+                   (looking-at "48[02]"))
                (memq (process-status process) '(open run)))
-      (when (looking-at "480")
+      (cond ((looking-at "480")
        (nntp-handle-authinfo process))
-      (when (looking-at "^.*\n")
-       (delete-region (point) (progn (forward-line 1) (point))))
+           ((looking-at "482")
+            (nnheader-report 'nntp (get 'nntp-authinfo-rejected 'error-message))
+            (signal 'nntp-authinfo-rejected nil))
+           ((looking-at "^.*\n")
+            (delete-region (point) (progn (forward-line 1) (point)))))
       (nntp-accept-process-output process)
       (goto-char (point-min)))
     (prog1
@@ -411,6 +421,8 @@ be restored and the command retried."
                  (wait-for
                   (nntp-wait-for process wait-for buffer decode))
                  (t t)))
+           (nntp-authinfo-rejected
+            (signal 'nntp-authinfo-rejected (cdr err)))
             (error
              (nnheader-report 'nntp "Couldn't open connection to %s: %s"
                               address err))
index f328f2dbc6a3251bed6af04763523e7657df2ff4..df9a5b7bd82577a460c8b77ee8f0fcf92fab6acf 100644 (file)
@@ -127,7 +127,17 @@ The list will be on the form
                       (> c ?\177)) ;; EXTENSION: Support non-ascii chars.
                   (not (memq c stoken)))
              (setq value (buffer-substring
-                          (point) (progn (forward-sexp) (point)))))
+                          (point)
+                          (progn
+                            (forward-sexp)
+                            ;; We might not have reached at the end of
+                            ;; the value because of non-ascii chars,
+                            ;; so we should jump over them if any.
+                            (while (and (not (eobp))
+                                        (> (char-after) ?\177))
+                              (forward-char 1)
+                              (forward-sexp))
+                            (point)))))
             (t
              (error "Invalid header: %s" string)))
            (if number
index e8708b1d689ff0cf74e8e977ade500f699e7c15c..57b3eb0944b5576660ff4b34fcda8a63a338917a 100644 (file)
@@ -1,3 +1,46 @@
+2005-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * pgg.texi (User Commands): Fix description of pgg-verify-region.
+       (Selecting an implementation): Fix descriptions.
+
+2005-11-30  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * message.texi (Various Message Variables): Addition.
+
+2005-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * message.texi: Fix default values.
+
+2005-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * message.texi (Header Commands): Clarify descriptions of
+       message-cross-post-followup-to, message-reduce-to-to-cc, and
+       message-insert-wide-reply.
+       (Various Commands): Fix kindex for message-kill-to-signature;
+       clarify description of message-tab.
+
+2005-11-22  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * message.texi (Mailing Lists): Fix description about MFT.
+
+       * gnus.texi (Emacs Lisp): Use ~/.gnus.el instead of ~/.emacs.
+
+2005-11-17  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus.texi (Slow Terminal Connection): Replace old description
+       with new one.
+
+2005-11-16  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus.texi (Oort Gnus): Use ~/.gnus.el instead of ~/.emacs;
+       replace X-Draft-Headers with X-Draft-From.
+
+2005-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus.texi (Various Various): Fix the default value of
+       nnheader-max-head-length.
+       (Gnus Versions): Fix typo.
+
 2005-12-08  Luc Teirlinck  <teirllm@auburn.edu>
 
        * custom.texi (Customization): Use xref to elisp manual for
index a588dd78974cb88073958a5dd98a0297b8ba0751..2ab494a835d53d8aae5a7eeda94ec01a161d445c 100644 (file)
@@ -24310,7 +24310,7 @@ to the Gnus back ends instead of Gnus proper.
 @item nnheader-max-head-length
 @vindex nnheader-max-head-length
 When the back ends read straight heads of articles, they all try to read
-as little as possible.  This variable (default 4096) specifies
+as little as possible.  This variable (default 8192) specifies
 the absolute max length the back ends will try to read before giving up
 on finding a separator line between the head and the body.  If this
 variable is @code{nil}, there is no upper read bound.  If it is
@@ -24491,7 +24491,7 @@ On July 28th 1996 work on Red Gnus was begun, and it was released on
 January 25th 1997 (after 84 releases) as ``Gnus 5.4'' (67 releases).
 
 On September 13th 1997, Quassia Gnus was started and lasted 37 releases.
-If was released as ``Gnus 5.6'' on March 8th 1998 (46 releases).
+It was released as ``Gnus 5.6'' on March 8th 1998 (46 releases).
 
 Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as
 ``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd
@@ -26032,7 +26032,7 @@ The new variable @code{gnus-parameters} can be used to set group parameters.
 Earlier this was done only via @kbd{G p} (or @kbd{G c}), which stored
 the parameters in @file{~/.newsrc.eld}, but via this variable you can
 enjoy the powers of customize, and simplified backups since you set the
-variable in @file{~/.emacs} instead of @file{~/.newsrc.eld}.  The
+variable in @file{~/.gnus.el} instead of @file{~/.newsrc.eld}.  The
 variable maps regular expressions matching group names to group
 parameters, a'la:
 @lisp
@@ -26047,7 +26047,7 @@ parameters, a'la:
 @item
 Smileys (@samp{:-)}, @samp{;-)} etc) are now iconized for Emacs too.
 
-Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.emacs} to
+Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.gnus.el} to
 disable it.
 
 @item
@@ -26074,8 +26074,8 @@ appropriate headers and a note in the body for cross-postings and
 followups (see the variables @code{message-cross-post-@var{*}}).
 
 @item
-References and X-Draft-Headers are no longer generated when you start
-composing messages and @code{message-generate-headers-first} is
+References and X-Draft-From headers are no longer generated when you
+start composing messages and @code{message-generate-headers-first} is
 @code{nil}.
 
 @item
@@ -26316,7 +26316,8 @@ It was aliased to @kbd{Y c}
 (@code{gnus-summary-insert-cached-articles}).  The new function filters
 out other articles.
 
-@item Some limiting commands accept a @kbd{C-u} prefix to negate the match.
+@item
+Some limiting commands accept a @kbd{C-u} prefix to negate the match.
 
 If @kbd{C-u} is used on subject, author or extra headers, i.e., @kbd{/
 s}, @kbd{/ a}, and @kbd{/ x}
@@ -26767,7 +26768,7 @@ minimum.  You can, in fact, make do without them altogether---most of the
 useful data is in the summary buffer, anyway.  Set this variable to
 @samp{^NEVVVVER} or @samp{From:}, or whatever you feel you need.
 
-Set this hook to all the available hiding commands:
+Use the following to enable all the available hiding features:
 @lisp
 (setq gnus-treat-hide-headers 'head
       gnus-treat-hide-signature t
@@ -28495,8 +28496,10 @@ interpreted.)  If you decide that you don't like the way Gnus does
 certain things, it's trivial to have it do something a different way.
 (Well, at least if you know how to write Lisp code.)  However, that's
 beyond the scope of this manual, so we are simply going to talk about
-some common constructs that you normally use in your @file{.emacs} file
-to customize Gnus.
+some common constructs that you normally use in your @file{~/.gnus.el}
+file to customize Gnus.  (You can also use the @file{~/.emacs} file, but
+in order to set things of Gnus up, it is much better to use the
+@file{~/.gnus.el} file, @xref{Startup Files}.)
 
 If you want to set the variable @code{gnus-florgbnize} to four (4), you
 write the following:
@@ -28507,12 +28510,12 @@ write the following:
 
 This function (really ``special form'') @code{setq} is the one that can
 set a variable to some value.  This is really all you need to know.  Now
-you can go and fill your @file{.emacs} file with lots of these to change
-how Gnus works.
+you can go and fill your @file{~/.gnus.el} file with lots of these to
+change how Gnus works.
 
-If you have put that thing in your @file{.emacs} file, it will be read
-and @code{eval}ed (which is lisp-ese for ``run'') the next time you
-start Emacs.  If you want to change the variable right away, simply say
+If you have put that thing in your @file{~/.gnus.el} file, it will be
+read and @code{eval}ed (which is Lisp-ese for ``run'') the next time you
+start Gnus.  If you want to change the variable right away, simply say
 @kbd{C-x C-e} after the closing parenthesis.  That will @code{eval} the
 previous ``form'', which is a simple @code{setq} statement here.
 
index 35fb3e726c3e41f3b62210e4a0b2ae93597e75fd..b2cd3aa782ddbcc3acc18471055c447355a03858 100644 (file)
@@ -249,7 +249,10 @@ supersede the message in the current buffer.
 Headers matching the @code{message-ignored-supersedes-headers} are
 removed before popping up the new message buffer.  The default is@*
 @samp{^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|@*
-^Received:\\|^X-From-Line:\\|Return-Path:\\|^Supersedes:}.
+^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-Complaints-To:\\|@*
+Return-Path:\\|^Supersedes:\\|^NNTP-Posting-Date:\\|^X-Trace:\\|@*
+^X-Complaints-To:\\|^Cancel-Lock:\\|^Cancel-Key:\\|^X-Hashcash:\\|@*
+^X-Payment:}.
 
 
 
@@ -330,7 +333,7 @@ undeliverable.
 @vindex message-ignored-bounced-headers
 Headers that match the @code{message-ignored-bounced-headers} regexp
 will be removed before popping up the buffer.  The default is
-@samp{^\\(Received\\|Return-Path\\):}.
+@samp{^\\(Received\\|Return-Path\\|Delivered-To\\):}.
 
 
 @node Mailing Lists
@@ -339,7 +342,7 @@ will be removed before popping up the buffer.  The default is
 @cindex Mail-Followup-To
 Sometimes while posting to mailing lists, the poster needs to direct
 followups to the post to specific places.  The Mail-Followup-To (MFT)
-was created to enable just this.  Two example scenarios where this is
+was created to enable just this.  Three example scenarios where this is
 useful:
 
 @itemize @bullet
@@ -681,26 +684,30 @@ stripped on replying, see @code{message-subject-trailing-was-query}
 @kindex C-c C-f x
 @findex message-cross-post-followup-to
 @vindex message-cross-post-default
+@vindex message-cross-post-note-function
 @cindex X-Post
 @cindex cross-post
-Ask for an additional @samp{Newsgroups} and @samp{FollowUp-To} for a
-cross-post.  @code{message-cross-post-followup-to} mangles
-@samp{FollowUp-To} and @samp{Newsgroups} header to point to group.
-If @code{message-cross-post-default} is @code{nil} or if called with a
-prefix-argument @samp{Follow-Up} is set, but the message is not
-cross-posted.
+Set up the @samp{FollowUp-To} header with a target newsgroup for a
+cross-post, add that target newsgroup to the @samp{Newsgroups} header if
+it is not a member of @samp{Newsgroups}, and insert a note in the body.
+If @code{message-cross-post-default} is @code{nil} or if this command is
+called with a prefix-argument, only the @samp{FollowUp-To} header will
+be set but the the target newsgroup will not be added to the
+@samp{Newsgroups} header.  The function to insert a note is controlled
+by the @code{message-cross-post-note-function} variable.
 
 @item C-c C-f t
 @kindex C-c C-f t
 @findex message-reduce-to-to-cc
 Replace contents of @samp{To} header with contents of @samp{Cc} or
-@samp{Bcc} header.
+@samp{Bcc} header.  (Iff @samp{Cc} header is not present, @samp{Bcc}
+header will be used instead.)
 
 @item C-c C-f w
 @kindex C-c C-f w
 @findex message-insert-wide-reply
 Insert @samp{To} and @samp{Cc} headers as if you were doing a wide
-reply.
+reply even if the message was not made for a wide reply first.
 
 @item C-c C-f a
 @kindex C-c C-f a
@@ -839,8 +846,8 @@ typed a non-@acronym{ASCII} domain name.
 The @code{message-use-idna} variable control whether @acronym{IDNA} is
 used.  If the variable is @code{nil} no @acronym{IDNA} encoding will
 ever happen, if it is set to the symbol @code{ask} the user will be
-queried, and if set to @code{t} @acronym{IDNA} encoding happens
-automatically (the default).
+queried, and if set to @code{t} (which is the default if @acronym{IDNA}
+is fully available) @acronym{IDNA} encoding happens automatically.
 
 @findex message-idna-to-ascii-rhs
 If you want to experiment with the @acronym{IDNA} encoding, you can
@@ -1081,7 +1088,7 @@ The text is killed and replaced with the contents of the variable
 (@samp{[...]}).
 
 @item C-c C-z
-@kindex C-c C-x
+@kindex C-c C-z
 @findex message-kill-to-signature
 Kill all the text up to the signature, or if that's missing, up to the
 end of the message (@code{message-kill-to-signature}).
@@ -1125,9 +1132,9 @@ prompt for a new buffer name.
 @kindex TAB
 @findex message-tab
 @vindex message-tab-body-function
-If non-@code{nil} execute the function specified in
-@code{message-tab-body-function}.  Otherwise use the function bound to
-@kbd{TAB} in @code{text-mode-map} or @code{global-map}.
+If @code{message-tab-body-function} is non-@code{nil}, execute the
+function it specifies.  Otherwise use the function bound to @kbd{TAB} in
+@code{text-mode-map} or @code{global-map}.
 
 @end table
 
@@ -1417,13 +1424,14 @@ header when the message is already @code{Cc}ed to the recipient.
 @item message-required-mail-headers
 @vindex message-required-mail-headers
 @xref{News Headers}, for the syntax of this variable.  It is
-@code{(From Date Subject (optional . In-Reply-To) Message-ID Lines
+@code{(From Subject Date (optional . In-Reply-To) Message-ID
 (optional . User-Agent))} by default.
 
 @item message-ignored-mail-headers
 @vindex message-ignored-mail-headers
-Regexp of headers to be removed before mailing.  The default is
-@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:}.
+Regexp of headers to be removed before mailing.  The default is@*
+@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:\\|@*
+^X-Gnus-Agent-Meta-Information:}.
 
 @item message-default-mail-headers
 @vindex message-default-mail-headers
@@ -1694,7 +1702,8 @@ All these conditions are checked by default.
 @item message-ignored-news-headers
 @vindex message-ignored-news-headers
 Regexp of headers to be removed before posting.  The default is@*
-@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:}.
+@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|@*
+^X-Draft-From:\\|^X-Gnus-Agent-Meta-Information:}.
 
 @item message-default-news-headers
 @vindex message-default-news-headers
@@ -1847,12 +1856,13 @@ say.
 @item message-default-charset
 @vindex message-default-charset
 @cindex charset
-Symbol naming a @acronym{MIME} charset.  Non-@acronym{ASCII}
-characters in messages are assumed to be encoded using this charset.
-The default is @code{nil}, which means ask the user.  (This variable
-is used only on non-@sc{mule} Emacsen.  @xref{Charset Translation, ,
-Charset Translation, emacs-mime, Emacs MIME Manual}, for details on
-the @sc{mule}-to-@acronym{MIME} translation process.
+Symbol naming a @acronym{MIME} charset.  Non-@acronym{ASCII} characters
+in messages are assumed to be encoded using this charset.  The default
+is @code{iso-8859-1} on non-@sc{mule} Emacsen; otherwise @code{nil},
+which means ask the user.  (This variable is used only on non-@sc{mule}
+Emacsen.)  @xref{Charset Translation, , Charset Translation, emacs-mime,
+Emacs MIME Manual}, for details on the @sc{mule}-to-@acronym{MIME}
+translation process.
 
 @item message-signature-separator
 @vindex message-signature-separator
@@ -1954,8 +1964,11 @@ message composition doesn't break too bad.
 
 @item message-send-method-alist
 @vindex message-send-method-alist
-
-Alist of ways to send outgoing messages.  Each element has the form
+@findex message-mail-p
+@findex message-news-p
+@findex message-send-via-mail
+@findex message-send-via-news
+Alist of ways to send outgoing messages.  Each element has the form:
 
 @lisp
 (@var{type} @var{predicate} @var{function})
@@ -1967,20 +1980,32 @@ A symbol that names the method.
 
 @item predicate
 A function called without any parameters to determine whether the
-message is a message of type @var{type}.
+message is a message of type @var{type}.  The function will be called in
+the buffer where the message is.
 
 @item function
 A function to be called if @var{predicate} returns non-@code{nil}.
 @var{function} is called with one parameter -- the prefix.
 @end table
 
+The default is:
+
 @lisp
 ((news message-news-p message-send-via-news)
  (mail message-mail-p message-send-via-mail))
 @end lisp
 
-
-
+The @code{message-news-p} function returns non-@code{nil} if the message
+looks like news, and the @code{message-send-via-news} function sends the
+message according to the @code{message-send-news-function} variable
+(@pxref{News Variables}).  The @code{message-mail-p} function returns
+non-@code{nil} if the message looks like mail, and the
+@code{message-send-via-mail} function sends the message according to the
+@code{message-send-mail-function} variable (@pxref{Mail Variables}).
+
+All the elements in this alist will be tried in order, so a message
+containing both a valid @samp{Newsgroups} header and a valid @samp{To}
+header, for example, will be sent as news, and then as mail.
 @end table
 
 
index 2475cf5681747e24271f0da3142dd49eb7aebb46..9096be419d2a33d8684321665eb975d11dabbf49 100644 (file)
@@ -177,9 +177,8 @@ obtained from the passphrase cache or user.
 
 @deffn Command pgg-verify-region start end &optional signature fetch
 Verify the current region between @var{start} and @var{end}.  If the
-optional third argument @var{signature} is non-@code{nil}, or the function
-is called interactively, it is treated as the detached signature of the
-current region.
+optional third argument @var{signature} is non-@code{nil}, it is treated
+as the detached signature file of the current region.
 
 If the optional 4th argument @var{fetch} is non-@code{nil}, or the
 function is called interactively, we attempt to fetch the signer's
@@ -204,22 +203,18 @@ considerably.  For example, if you are using GnuPG, you know you can
 select cipher algorithm from 3DES, CAST5, BLOWFISH, and so on, but on
 the other hand the version 2 of PGP only supports IDEA.
 
-By default, if the variable @code{pgg-scheme} is not set, PGG searches the
-registered scheme for an implementation of the requested service
-associated with the named algorithm.  If there are no match, PGG uses
-@code{pgg-default-scheme}.  In other words, there are two options to
-control which command is used to process the incoming PGP armors.  One
-is for encrypting and signing, the other is for decrypting and
-verifying.
+Which implementation is used is controlled by the @code{pgg-scheme}
+variable.  If it is @code{nil} (the default), the value of the
+@code{pgg-default-scheme} variable will be used instead.
 
 @defvar pgg-scheme
-Force specify the scheme of PGP implementation for decrypting and verifying.
-The value can be @code{gpg}, @code{pgp}, and @code{pgp5}.
+Force specify the scheme of PGP implementation.  The value can be set to
+@code{gpg}, @code{pgp}, and @code{pgp5}.  The default is @code{nil}.
 @end defvar
 
 @defvar pgg-default-scheme
-Force specify the scheme of PGP implementation for encrypting and signing.
-The value can be @code{gpg}, @code{pgp}, and @code{pgp5}.
+The default scheme of PGP implementation.  The value should be one of
+@code{gpg}, @code{pgp}, and @code{pgp5}.  The default is @code{gpg}.
 @end defvar
 
 @node Caching passphrase