diff lisp/gnus/nnimap.el @ 110763:0fe64d68a522

Merge changes made in Gnus trunk. shr.el: Implement table rendering. shr.el (shr-make-table): Tweak table generation. shr.el (shr-make-table): Fix typo. nnimap.el (nnimap-open-connection): Allow tls as a synonym for ssl. gnus-util.el (gnus-emacs-completing-read): Mapcar collection to list, for XEmacs. nnimap.el (nnimap-close-server): Implement. gnus-salt.el: Remove all gnus-carpal stuff -- it's not useful. nnir.el (nnir-run-imap): Remove spurious space in search string. message.el (message-idna-to-ascii-rhs-1): Don't bug out on addresses without @ signs. gnus-sum.el (gnus-widen-article-window): New variable. shr.el (browse-url): Required. shr.el (shr-ensure-paragraph): Don't insert a new newline after empty-ish lines. shr.el (shr-show-alt-text, shr-browse-image): New commands. gravatar.el (gravatar-retrieved): kill buffer when retrieved. shr.el (shr-browse-url, shr-copy-url): New commands. shr.el (shr-render-td): Protect against too-wide text. spam-report.el (spam-report-url-ping-plain): Don't query about killing the process. nnimap.el (nnimap-finish-retrieve-group-infos): Message while waiting for data. shr.el (shr-tag-blockquote): Ensure paragraph after quote, too. mml-smime.el: Fix gnus-completing-read usage. shr.el (shr-get-image-data): Ensure against the cache file missing. nnimap.el (nnimap-open-connection): Give an error if nnimap-stream is unknown.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 04 Oct 2010 22:26:51 +0000
parents 42815c76b976
children 895607aec71e
line wrap: on
line diff
--- a/lisp/gnus/nnimap.el	Mon Oct 04 21:44:08 2010 +0200
+++ b/lisp/gnus/nnimap.el	Mon Oct 04 22:26:51 2010 +0000
@@ -316,7 +316,7 @@
 		   (setq port (or nnimap-server-port "imap"))
 		   'starttls))
 		'("imap"))
-	       ((eq nnimap-stream 'ssl)
+	       ((memq nnimap-stream '(ssl tls))
 		(open-tls-stream
 		 "*nnimap*" (current-buffer) nnimap-address
 		 (setq port
@@ -324,7 +324,9 @@
 			   (if (netrc-find-service-number "imaps")
 			       "imaps"
 			     "993"))))
-		'("143" "993" "imap" "imaps"))))
+		'("143" "993" "imap" "imaps"))
+	       (t
+		(error "Unknown stream type: %s" nnimap-stream))))
 	     connection-result login-result credentials)
 	(setf (nnimap-process nnimap-object)
 	      (get-buffer-process (current-buffer)))
@@ -424,7 +426,10 @@
     result))
 
 (deffoo nnimap-close-server (&optional server)
-  t)
+  (when (nnoo-change-server 'nnimap server nil)
+    (ignore-errors
+      (delete-process (get-buffer-process (nnimap-buffer))))
+    t))
 
 (deffoo nnimap-request-close ()
   t)
@@ -974,7 +979,7 @@
 	     (nnimap-possibly-change-group nil server))
     (with-current-buffer (nnimap-buffer)
       ;; Wait for the final data to trickle in.
-      (when (nnimap-wait-for-response (cadar sequences))
+      (when (nnimap-wait-for-response (cadar sequences) t)
 	;; Now we should have all the data we need, no matter whether
 	;; we're QRESYNCING, fetching all the flags from scratch, or
 	;; just fetching the last 100 flags per group.
@@ -1251,7 +1256,7 @@
 			(point-min))
 		      t)))
       (when messagep
-	(message "Read %dKB" (/ (buffer-size) 1000)))
+	(message "nnimap read %dk" (/ (buffer-size) 1000)))
       (nnheader-accept-process-output process)
       (goto-char (point-max)))
     openp))