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
?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))
(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)