# HG changeset patch # User Miles Bader # Date 1097547956 0 # Node ID 2d9a1d1ac73d45f9f79c665a475bf92a1d19baa1 # Parent 4c881805ff3541e085a9fb7d45b93bec97bd1466 Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-610 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-45 Update from CVS diff -r 4c881805ff35 -r 2d9a1d1ac73d lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Mon Oct 11 22:36:35 2004 +0000 +++ b/lisp/gnus/ChangeLog Tue Oct 12 02:25:56 2004 +0000 @@ -1,3 +1,26 @@ +2004-10-10 Reiner Steib + + * gnus-sum.el: Mention that multibyte characters don't work as marks. + + * gnus.el (message-y-or-n-p): Autoload. + + * pop3.el (pop3-maildrop, pop3-mailhost, pop3-port) + (pop3-password-required, pop3-authentication-scheme) + (pop3-leave-mail-on-server): Made customizable. + (pop3): New custom group. + (pop3-retr): Remove `sleep-for' statements. + Suggested by Dave Love . + + * nnheader.el (nnheader-read-timeout): Explain 1.0 timeout for + Windows/DOS. + + * imap.el (imap-parse-flag-list, imap-parse-body-extension) + (imap-parse-body): Fix incorrect use of `assert'. Suggested by + Dave Love . + + * mml.el (mml-minibuffer-read-disposition): Require match. + Suggested by Dave Love . + 2004-10-06 Katsumi Yamaoka * gnus-group.el (gnus-update-group-mark-positions): diff -r 4c881805ff35 -r 2d9a1d1ac73d lisp/gnus/gnus-sum.el --- a/lisp/gnus/gnus-sum.el Mon Oct 11 22:36:35 2004 +0000 +++ b/lisp/gnus/gnus-sum.el Tue Oct 12 02:25:56 2004 +0000 @@ -428,6 +428,9 @@ (cons :value ("" "") regexp (repeat string)) (sexp :value nil)))) +;; FIXME: Although the custom type is `character' for the following variables, +;; using multibyte characters (Latin-1, UTF-8) doesn't work. -- rs + (defcustom gnus-unread-mark ? ;Whitespace "*Mark used for unread articles." :group 'gnus-summary-marks diff -r 4c881805ff35 -r 2d9a1d1ac73d lisp/gnus/gnus.el --- a/lisp/gnus/gnus.el Mon Oct 11 22:36:35 2004 +0000 +++ b/lisp/gnus/gnus.el Tue Oct 12 02:25:56 2004 +0000 @@ -34,6 +34,7 @@ (require 'wid-edit) (require 'mm-util) (require 'nnheader) +(autoload 'message-y-or-n-p "message" nil nil 'macro) (defgroup gnus nil "The coffee-brewing, all singing, all dancing, kitchen sink newsreader." diff -r 4c881805ff35 -r 2d9a1d1ac73d lisp/gnus/imap.el --- a/lisp/gnus/imap.el Mon Oct 11 22:36:35 2004 +0000 +++ b/lisp/gnus/imap.el Tue Oct 12 02:25:56 2004 +0000 @@ -2421,7 +2421,7 @@ (defun imap-parse-flag-list () (let (flag-list start) - (assert (eq (char-after) ?\() t "In imap-parse-flag-list") + (assert (eq (char-after) ?\() nil "In imap-parse-flag-list") (while (and (not (eq (char-after) ?\))) (setq start (progn (imap-forward) @@ -2430,7 +2430,7 @@ (point))) (> (skip-chars-forward "^ )" (imap-point-at-eol)) 0)) (push (buffer-substring start (point)) flag-list)) - (assert (eq (char-after) ?\)) t "In imap-parse-flag-list") + (assert (eq (char-after) ?\)) nil "In imap-parse-flag-list") (imap-forward) (nreverse flag-list))) @@ -2515,7 +2515,7 @@ (while (eq (char-after) ?\ ) (imap-forward) (push (imap-parse-body-extension) b-e)) - (assert (eq (char-after) ?\)) t "In imap-parse-body-extension") + (assert (eq (char-after) ?\)) nil "In imap-parse-body-extension") (imap-forward) (nreverse b-e)) (or (imap-parse-number) @@ -2641,7 +2641,7 @@ (push (and (imap-parse-nil) nil) body)) (setq body (append (imap-parse-body-ext) body))) ;; body-ext-... - (assert (eq (char-after) ?\)) t "In imap-parse-body") + (assert (eq (char-after) ?\)) nil "In imap-parse-body") (imap-forward) (nreverse body)) @@ -2701,7 +2701,7 @@ (push (imap-parse-nstring) body) ;; body-fld-md5 (setq body (append (imap-parse-body-ext) body))) ;; body-ext-1part.. - (assert (eq (char-after) ?\)) t "In imap-parse-body 2") + (assert (eq (char-after) ?\)) nil "In imap-parse-body 2") (imap-forward) (nreverse body))))) diff -r 4c881805ff35 -r 2d9a1d1ac73d lisp/gnus/mml.el --- a/lisp/gnus/mml.el Mon Oct 11 22:36:35 2004 +0000 +++ b/lisp/gnus/mml.el Tue Oct 12 02:25:56 2004 +0000 @@ -946,8 +946,7 @@ "attachment"))) (disposition (completing-read "Disposition: " '(("attachment") ("inline") ("")) - nil - nil))) + nil t))) (if (not (equal disposition "")) disposition default))) diff -r 4c881805ff35 -r 2d9a1d1ac73d lisp/gnus/nnheader.el --- a/lisp/gnus/nnheader.el Mon Oct 11 22:36:35 2004 +0000 +++ b/lisp/gnus/nnheader.el Tue Oct 12 02:25:56 2004 +0000 @@ -74,7 +74,15 @@ (defvar nnheader-read-timeout (if (string-match "windows-nt\\|os/2\\|emx\\|cygwin" (symbol-name system-type)) - 1.0 ; why? + ;; 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 nntp should wait between checking for the end of output. Shorter values mean quicker response, but are more CPU intensive.") diff -r 4c881805ff35 -r 2d9a1d1ac73d lisp/gnus/pop3.el --- a/lisp/gnus/pop3.el Mon Oct 11 22:36:35 2004 +0000 +++ b/lisp/gnus/pop3.el Tue Oct 12 02:25:56 2004 +0000 @@ -37,25 +37,56 @@ (require 'mail-utils) -(defvar pop3-maildrop (or (user-login-name) (getenv "LOGNAME") (getenv "USER") nil) - "*POP3 maildrop.") -(defvar pop3-mailhost (or (getenv "MAILHOST") nil) - "*POP3 mailhost.") -(defvar pop3-port 110 - "*POP3 port.") +(defgroup pop3 nil + "Post Office Protocol" + :group 'mail + :group 'mail-source) + +(defcustom pop3-maildrop (or (user-login-name) + (getenv "LOGNAME") + (getenv "USER")) + "*POP3 maildrop." + :version "21.4" ;; Oort Gnus + :type 'string + :group 'pop3) -(defvar pop3-password-required t - "*Non-nil if a password is required when connecting to POP server.") +(defcustom pop3-mailhost (or (getenv "MAILHOST") ;; nil -> mismatch + "pop3") + "*POP3 mailhost." + :version "21.4" ;; Oort Gnus + :type 'string + :group 'pop3) + +(defcustom pop3-port 110 + "*POP3 port." + :version "21.4" ;; Oort Gnus + :type 'number + :group 'pop3) + +(defcustom pop3-password-required t + "*Non-nil if a password is required when connecting to POP server." + :version "21.4" ;; Oort Gnus + :type 'boolean + :group 'pop3) + +;; Should this be customizable? (defvar pop3-password nil "*Password to use when connecting to POP server.") -(defvar pop3-authentication-scheme 'pass +(defcustom pop3-authentication-scheme 'pass "*POP3 authentication scheme. Defaults to 'pass, for the standard USER/PASS authentication. Other valid -values are 'apop.") +values are 'apop." + :version "21.4" ;; Oort Gnus + :type '(choice (const :tag "USER/PASS" pass) + (const :tag "APOP" apop)) + :group 'pop3) -(defvar pop3-leave-mail-on-server nil - "*Non-nil if the mail is to be left on the POP server after fetching.") +(defcustom pop3-leave-mail-on-server nil + "*Non-nil if the mail is to be left on the POP server after fetching." + :version "21.4" ;; Oort Gnus + :type 'boolean + :group 'pop3) (defvar pop3-timestamp nil "Timestamp returned when initially connected to the POP server. @@ -71,8 +102,7 @@ (crashbuf (get-buffer-create " *pop3-retr*")) (n 1) message-count - (pop3-password pop3-password) - ) + (pop3-password pop3-password)) ;; for debugging only (if pop3-debug (switch-to-buffer (process-buffer process))) ;; query for password @@ -114,8 +144,7 @@ "Return the number of messages in the maildrop." (let* ((process (pop3-open-server pop3-mailhost pop3-port)) message-count - (pop3-password pop3-password) - ) + (pop3-password pop3-password)) ;; for debugging only (if pop3-debug (switch-to-buffer (process-buffer process))) ;; query for password @@ -159,15 +188,14 @@ (insert output))) (defun pop3-send-command (process command) - (set-buffer (process-buffer process)) - (goto-char (point-max)) -;; (if (= (aref command 0) ?P) -;; (insert "PASS \r\n") -;; (insert command "\r\n")) - (setq pop3-read-point (point)) - (goto-char (point-max)) - (process-send-string process (concat command "\r\n")) - ) + (set-buffer (process-buffer process)) + (goto-char (point-max)) + ;; (if (= (aref command 0) ?P) + ;; (insert "PASS \r\n") + ;; (insert command "\r\n")) + (setq pop3-read-point (point)) + (goto-char (point-max)) + (process-send-string process (concat command "\r\n"))) (defun pop3-read-response (process &optional return) "Read the response from the server. @@ -355,27 +383,15 @@ (while (not (re-search-forward "^\\.\r\n" nil t)) ;; Fixme: Shouldn't depend on nnheader. (nnheader-accept-process-output process) - ;; bill@att.com ... to save wear and tear on the heap - ;; uncommented because the condensed version below is a problem for - ;; some. - (if (> (buffer-size) 20000) (sleep-for 1)) - (if (> (buffer-size) 50000) (sleep-for 1)) - (if (> (buffer-size) 100000) (sleep-for 1)) - (if (> (buffer-size) 200000) (sleep-for 1)) - (if (> (buffer-size) 500000) (sleep-for 1)) - ;; bill@att.com - ;; condensed into: - ;; (sometimes causes problems for really large messages.) -; (if (> (buffer-size) 20000) (sleep-for (/ (buffer-size) 20000))) (goto-char start)) (setq pop3-read-point (point-marker)) -;; this code does not seem to work for some POP servers... -;; and I cannot figure out why not. -; (goto-char (match-beginning 0)) -; (backward-char 2) -; (if (not (looking-at "\r\n")) -; (insert "\r\n")) -; (re-search-forward "\\.\r\n") + ;; this code does not seem to work for some POP servers... + ;; and I cannot figure out why not. + ;; (goto-char (match-beginning 0)) + ;; (backward-char 2) + ;; (if (not (looking-at "\r\n")) + ;; (insert "\r\n")) + ;; (re-search-forward "\\.\r\n") (goto-char (match-beginning 0)) (setq end (point-marker)) (pop3-clean-region start end)