Mercurial > emacs
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)