changeset 77020:15108eee2bb3

Fix last change.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 07 Apr 2007 04:33:00 +0000
parents 5c43ac406461
children 26293d3a753d
files lisp/net/tls.el
diffstat 1 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/net/tls.el	Sat Apr 07 03:52:21 2007 +0000
+++ b/lisp/net/tls.el	Sat Apr 07 04:33:00 2007 +0000
@@ -125,12 +125,17 @@
  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 @@
 			 ?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 @@
 	  (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)