From: Andreas Schwab <schwab@linux-m68k.org>
Date: Sun, 31 Jan 2016 13:29:14 +0000 (+0100)
Subject: Fix imap-starttls-open
X-Git-Tag: emacs-25.0.91~139
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fc48106d0bdbd938ec51c1f9609b7a58108d8f00;p=emacs.git

Fix imap-starttls-open

* lisp/net/imap.el (imap-starttls-open): Log imap process
output.  Call imap-parse-greeting.  (Bug#22500)
---

diff --git a/lisp/net/imap.el b/lisp/net/imap.el
index 7e4cc72028f..e5a14d75dee 100644
--- a/lisp/net/imap.el
+++ b/lisp/net/imap.el
@@ -747,14 +747,19 @@ sure of changing the value of `foo'."
                    :capability-command "1 CAPABILITY\r\n"
                    :always-query-capabilities t
                    :end-of-command "\r\n"
-                   :success " OK "
+                   :success "^1 OK "
                    :starttls-function
-                   (lambda (capabilities)
-                     (when (string-match-p "STARTTLS" capabilities)
-                       "1 STARTTLS\r\n"))))
-         (done (if (and process
-                        (memq (process-status process) '(open run)))
-                   process)))
+                   #'(lambda (capabilities)
+                       (when (string-match-p "STARTTLS" capabilities)
+                         "1 STARTTLS\r\n"))))
+         done)
+    (when process
+      (imap-log buffer)
+      (when (memq (process-status process) '(open run))
+        (setq done process)
+        (with-current-buffer buffer
+          (goto-char (point-min))
+          (imap-parse-greeting))))
     (message "imap: Connecting with STARTTLS...%s" (if done "done" "failed"))
     done))