emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 fc48106: Fix imap-starttls-open


From: Andreas Schwab
Subject: [Emacs-diffs] emacs-25 fc48106: Fix imap-starttls-open
Date: Sun, 31 Jan 2016 13:38:51 +0000

branch: emacs-25
commit fc48106d0bdbd938ec51c1f9609b7a58108d8f00
Author: Andreas Schwab <address@hidden>
Commit: Andreas Schwab <address@hidden>

    Fix imap-starttls-open
    
    * lisp/net/imap.el (imap-starttls-open): Log imap process
    output.  Call imap-parse-greeting.  (Bug#22500)
---
 lisp/net/imap.el |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/lisp/net/imap.el b/lisp/net/imap.el
index 7e4cc72..e5a14d7 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))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]