From 8903a9c8e8500ba635dd91f144d5038b9c0aca4f Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sun, 17 Oct 2004 14:29:01 +0000 Subject: 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 ++++++++++++++++++++++++++++++++++++---- 3 files changed, 80 insertions(+), 8 deletions(-) (limited to 'lisp') diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 15b2331178..70f43183e2 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 c9d05d1a0f..9e61e007a3 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 e288f6cace..db8753057d 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... -- cgit v1.2.3