changeset 57442:2d9a1d1ac73d

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
author Miles Bader <miles@gnu.org>
date Tue, 12 Oct 2004 02:25:56 +0000
parents 4c881805ff35
children 0a99216aefaf 47f53c5c9620
files lisp/gnus/ChangeLog lisp/gnus/gnus-sum.el lisp/gnus/gnus.el lisp/gnus/imap.el lisp/gnus/mml.el lisp/gnus/nnheader.el lisp/gnus/pop3.el
diffstat 7 files changed, 102 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- 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  <Reiner.Steib@gmx.de>
+
+	* 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 <fx@gnu.org>.
+
+	* 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 <fx@gnu.org>.
+
+	* mml.el (mml-minibuffer-read-disposition): Require match.
+	Suggested by Dave Love <fx@gnu.org>.
+
 2004-10-06  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus-group.el (gnus-update-group-mark-positions):
--- 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
--- 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."
--- 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)))))
 
--- 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)))
--- 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.")
--- 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 <omitted>\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 <omitted>\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)