Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668

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.
This commit is contained in:
Miles Bader 2005-12-09 08:57:58 +00:00
parent 52d2876f3c
commit 58090a8d28
15 changed files with 536 additions and 154 deletions

View 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.

View 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)))

View 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.

View 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))

View 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)

View 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))

View 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))

View file

@ -250,19 +250,19 @@
(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

View 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

View 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")
;;; 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))

View 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

View 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

View 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.

View 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

View 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