From 8903a9c8e8500ba635dd91f144d5038b9c0aca4f Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sun, 17 Oct 2004 14:29:01 +0000 Subject: [PATCH] Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-621 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-51 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-52 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-53 Merge from emacs--cvs-trunk--0 2004-10-15 Reiner Steib * lisp/gnus/pop3.el (pop3-leave-mail-on-server): Describe possible problems in the doc string. * lisp/gnus/message.el (message-ignored-news-headers) (message-ignored-supersedes-headers) (message-ignored-resent-headers) (message-forward-ignored-headers): Improve custom type. 2004-10-15 Simon Josefsson * lisp/gnus/pop3.el (top-level): Don't require nnheader. (pop3-read-timeout): Add. (pop3-accept-process-output): Add. (pop3-read-response, pop3-retr): Use it. 2004-10-11 Reiner Steib * lisp/gnus/message.el (message-bury): Use `window-dedicated-p'. 2004-10-15 Reiner Steib * man/gnus.texi (New Features): Add 5.11. * man/message.texi (Resending): Remove wrong default value. * man/gnus.texi (Mail Source Specifiers): Describe possible problems of `pop3-leave-mail-on-server'. Add `pop3-movemail' and `pop3-leave-mail-on-server' to the index. 2004-10-15 Katsumi Yamaoka * man/message.texi (Canceling News): Add how to set a password. --- lisp/gnus/ChangeLog | 21 +++++++++++++++++++++ lisp/gnus/message.el | 27 +++++++++++++++++++++++---- lisp/gnus/pop3.el | 40 ++++++++++++++++++++++++++++++++++++---- man/ChangeLog | 14 ++++++++++++++ man/gnus.texi | 12 +++++++++--- man/message.texi | 11 ++++++++--- 6 files changed, 111 insertions(+), 14 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 15b23311787..70f43183e28 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -11,6 +11,23 @@ * spam.el: Delete duplicate `provide'. (spam-unload-hook): Set as a variable with add-hook. +2004-10-15 Reiner Steib + + * pop3.el (pop3-leave-mail-on-server): Describe possible problems + in the doc string. + + * message.el (message-ignored-news-headers) + (message-ignored-supersedes-headers) + (message-ignored-resent-headers) + (message-forward-ignored-headers): Improve custom type. + +2004-10-15 Simon Josefsson + + * pop3.el (top-level): Don't require nnheader. + (pop3-read-timeout): Add. + (pop3-accept-process-output): Add. + (pop3-read-response, pop3-retr): Use it. + 2004-10-13 Katsumi Yamaoka * message.el (message-tokenize-header): Fix 2004-09-06 change @@ -22,6 +39,10 @@ (tls-certificate-information): New function, based on ssl-certificate-information. +2004-10-11 Reiner Steib + + * message.el (message-bury): Use `window-dedicated-p'. + 2004-10-10 Reiner Steib * gnus-sum.el: Mention that multibyte characters don't work as marks. diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index c9d05d1a0fe..9e61e007a3e 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -255,7 +255,12 @@ included. Organization and User-Agent are optional." :group 'message-news :group 'message-headers :link '(custom-manual "(message)Message Headers") - :type 'regexp) + :type '(repeat :value-to-internal (lambda (widget value) + (custom-split-regexp-maybe value)) + :match (lambda (widget value) + (or (stringp value) + (widget-editable-list-match widget value))) + regexp)) (defcustom message-ignored-mail-headers "^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:\\|^X-Gnus-Agent-Meta-Information:" @@ -271,7 +276,12 @@ It's best to delete old Path and Date headers before posting to avoid any confusion." :group 'message-interface :link '(custom-manual "(message)Superseding") - :type 'regexp) + :type '(repeat :value-to-internal (lambda (widget value) + (custom-split-regexp-maybe value)) + :match (lambda (widget value) + (or (stringp value) + (widget-editable-list-match widget value))) + regexp)) (defcustom message-subject-re-regexp "^[ \t]*\\([Rr][Ee]\\(\\[[0-9]*\\]\\)*:[ \t]*\\)*[ \t]*" @@ -534,13 +544,22 @@ Done before generating the new subject of a forward." "*All headers that match this regexp will be deleted when resending a message." :group 'message-interface :link '(custom-manual "(message)Resending") - :type 'regexp) + :type '(repeat :value-to-internal (lambda (widget value) + (custom-split-regexp-maybe value)) + :match (lambda (widget value) + (or (stringp value) + (widget-editable-list-match widget value))) + regexp)) (defcustom message-forward-ignored-headers "^Content-Transfer-Encoding:\\|^X-Gnus" "*All headers that match this regexp will be deleted when forwarding a message." :version "21.1" :group 'message-forwarding - :type '(choice (const :tag "None" nil) + :type '(repeat :value-to-internal (lambda (widget value) + (custom-split-regexp-maybe value)) + :match (lambda (widget value) + (or (stringp value) + (widget-editable-list-match widget value))) regexp)) (defcustom message-ignored-cited-headers "." diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el index e288f6cace2..db8753057d6 100644 --- a/lisp/gnus/pop3.el +++ b/lisp/gnus/pop3.el @@ -83,7 +83,14 @@ values are 'apop." :group 'pop3) (defcustom pop3-leave-mail-on-server nil - "*Non-nil if the mail is to be left on the POP server after fetching." + "*Non-nil if the mail is to be left on the POP server after fetching. + +If the `pop3-leave-mail-on-server' is non-`nil' the mail is to be +left on the POP server after fetching. Note that POP servers +maintain no state information between sessions, so what the +client believes is there and what is actually there may not match +up. If they do not, then the whole thing can fall apart and +leave you with a corrupt mailbox." :version "21.4" ;; Oort Gnus :type 'boolean :group 'pop3) @@ -95,6 +102,32 @@ Used for APOP authentication.") (defvar pop3-read-point nil) (defvar pop3-debug nil) +;; Borrowed from nnheader-accept-process-output in nnheader.el. +(defvar pop3-read-timeout + (if (string-match "windows-nt\\|os/2\\|emx\\|cygwin" + (symbol-name system-type)) + ;; http://thread.gmane.org/v9655t3pjo.fsf@marauder.physik.uni-ulm.de + ;; + ;; IIRC, values lower than 1.0 didn't/don't work on Windows/DOS. + ;; + ;; There should probably be a runtime test to determine the timing + ;; resolution, or a primitive to report it. I don't know off-hand + ;; what's possible. Perhaps better, maybe the Windows/DOS primitive + ;; could round up non-zero timeouts to a minimum of 1.0? + 1.0 + 0.1) + "How long pop3 should wait between checking for the end of output. +Shorter values mean quicker response, but are more CPU intensive.") + +;; Borrowed from nnheader-accept-process-output in nnheader.el. +(defun pop3-accept-process-output (process) + (accept-process-output + process + (truncate pop3-read-timeout) + (truncate (* (- pop3-read-timeout + (truncate pop3-read-timeout)) + 1000)))) + (defun pop3-movemail (&optional crashbox) "Transfer contents of a maildrop to the specified CRASHBOX." (or crashbox (setq crashbox (expand-file-name "~/.crashbox"))) @@ -207,7 +240,7 @@ Return the response string if optional second argument is non-nil." (goto-char pop3-read-point) (while (and (memq (process-status process) '(open run)) (not (search-forward "\r\n" nil t))) - (nnheader-accept-process-output process) + (pop3-accept-process-output process) (goto-char pop3-read-point)) (setq match-end (point)) (goto-char pop3-read-point) @@ -381,8 +414,7 @@ This function currently does nothing.") (save-excursion (set-buffer (process-buffer process)) (while (not (re-search-forward "^\\.\r\n" nil t)) - ;; Fixme: Shouldn't depend on nnheader. - (nnheader-accept-process-output process) + (pop3-accept-process-output process) (goto-char start)) (setq pop3-read-point (point-marker)) ;; this code does not seem to work for some POP servers... diff --git a/man/ChangeLog b/man/ChangeLog index 8aec01712ef..784dd505f9a 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,17 @@ +2004-10-15 Reiner Steib + + * gnus.texi (New Features): Add 5.11. + + * message.texi (Resending): Remove wrong default value. + + * gnus.texi (Mail Source Specifiers): Describe possible problems + of `pop3-leave-mail-on-server'. Add `pop3-movemail' and + `pop3-leave-mail-on-server' to the index. + +2004-10-15 Katsumi Yamaoka + + * message.texi (Canceling News): Add how to set a password. + 2004-10-12 Reiner Steib * gnus-faq.texi ([5.9]): Improve code for reply-in-news. diff --git a/man/gnus.texi b/man/gnus.texi index a62e9bcf149..ca9045bf5b9 100644 --- a/man/gnus.texi +++ b/man/gnus.texi @@ -885,7 +885,7 @@ New Features * Red Gnus:: Third time best---Gnus 5.4/5.5. * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. * Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9. -* Oort Gnus:: It's big. It's far out. Gnus 5.10. +* Oort Gnus:: It's big. It's far out. Gnus 5.10/5.11. Customization @@ -13538,10 +13538,16 @@ and says what authentication scheme to use. The default is @end table +@vindex pop3-movemail +@vindex pop3-leave-mail-on-server If the @code{:program} and @code{:function} keywords aren't specified, @code{pop3-movemail} will be used. If the @code{pop3-leave-mail-on-server} is non-@code{nil} the mail is to be -left on the POP server after fetching. +left on the @acronym{POP} server after fetching when using +@code{pop3-movemail}. Note that POP servers maintain no state +information between sessions, so what the client believes is there and +what is actually there may not match up. If they do not, then the whole +thing can fall apart and leave you with a corrupt mailbox. Here are some examples. Fetch from the default @acronym{POP} server, using the default user name, and default fetcher: @@ -25050,7 +25056,7 @@ actually are people who are using Gnus. Who'd'a thunk it! * Red Gnus:: Third time best---Gnus 5.4/5.5. * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. * Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9. -* Oort Gnus:: It's big. It's far out. Gnus 5.10. +* Oort Gnus:: It's big. It's far out. Gnus 5.10/5.11. @end menu These lists are, of course, just @emph{short} overviews of the diff --git a/man/message.texi b/man/message.texi index 6a52698ddb5..25f1d12d33b 100644 --- a/man/message.texi +++ b/man/message.texi @@ -224,7 +224,13 @@ only you can cancel your own messages, which is nice. The downside is that if you lose your @file{.emacs} file (which is where Gnus stores the secret cancel lock password (which is generated automatically the first time you use this feature)), you won't be -able to cancel your message. +able to cancel your message. If you yourself want to manage a password, +you can put something like the following in your @file{~/.gnus.el} file: + +@lisp +(setq canlock-password "Salam Shalom" + canlock-password-for-verify canlock-password) +@end lisp Whether to insert the header or not is controlled by the @code{message-insert-canlock} variable. @@ -309,8 +315,7 @@ and resend the message in the current buffer to that address. @vindex message-ignored-resent-headers Headers that match the @code{message-ignored-resent-headers} regexp will -be removed before sending the message. The default is -@samp{^Return-receipt}. +be removed before sending the message. @node Bouncing -- 2.39.5