]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix last change.
authorChong Yidong <cyd@stupidchicken.com>
Sat, 7 Apr 2007 04:33:00 +0000 (04:33 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 7 Apr 2007 04:33:00 +0000 (04:33 +0000)
lisp/net/tls.el

index ee093571decc3103ded7b179a539d0e452fd048b..01a151399058ea3c448e9024c5caf46179a1d375 100644 (file)
@@ -125,12 +125,17 @@ BUFFER is the buffer (or buffer-name) to associate with the process.
  with any buffer
 Third arg is name of the host to connect to, or its IP address.
 Fourth arg PORT is an integer specifying a port to connect to."
-  (let ((cmds tls-program) cmd done)
+  (let ((cmds tls-program)
+       (use-temp-buffer (null buffer))
+       process cmd done)
+    (if use-temp-buffer
+       (setq buffer (generate-new-buffer " TLS")))
     (message "Opening TLS connection to `%s'..." host)
     (while (and (not done) (setq cmd (pop cmds)))
       (message "Opening TLS connection with `%s'..." cmd)
-      (let* ((process-connection-type tls-process-connection-type)
-            (process (start-process
+      (let ((process-connection-type tls-process-connection-type)
+           response)
+       (setq process (start-process
                       name buffer shell-file-name shell-command-switch
                       (format-spec
                        cmd
@@ -139,10 +144,8 @@ Fourth arg PORT is an integer specifying a port to connect to."
                         ?p (if (integerp port)
                                (int-to-string port)
                              port)))))
-            response)
        (while (and process
                    (memq (process-status process) '(open run))
-                   buffer
                    (save-excursion
                      (set-buffer buffer) ;; XXX "blue moon" nntp.el bug
                      (goto-char (point-min))
@@ -156,6 +159,9 @@ Fourth arg PORT is an integer specifying a port to connect to."
          (delete-process process))))
     (message "Opening TLS connection to `%s'...%s"
             host (if done "done" "failed"))
+    (when use-temp-buffer
+      (or done (set-process-buffer process nil))
+      (kill-buffer buffer))
     done))
 
 (provide 'tls)