Mercurial > emacs
changeset 4432:f00905dd8a41
(telnet): If we already have a telnet to HOST, just switch buffers.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 03 Aug 1993 04:09:19 +0000 |
parents | 2fe6adb8a82f |
children | 4e1ad3204620 |
files | lisp/telnet.el |
diffstat | 1 files changed, 16 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/telnet.el Tue Aug 03 03:33:14 1993 +0000 +++ b/lisp/telnet.el Tue Aug 03 04:09:19 1993 +0000 @@ -171,21 +171,24 @@ comint-last-input-end))) ;;;###autoload -(defun telnet (arg) +(defun telnet (host) "Open a network login connection to host named HOST (a string). Communication with HOST is recorded in a buffer *HOST-telnet*. Normally input is edited in Emacs and sent a line at a time." (interactive "sOpen telnet connection to host: ") - (let ((name (concat arg "-telnet" ))) - (switch-to-buffer (make-comint name "telnet")) - (set-process-filter (get-process name) 'telnet-initial-filter) - ;; Don't send the `open' cmd till telnet is ready for it. - (accept-process-output (get-process name)) - (erase-buffer) - (send-string name (concat "open " arg "\n")) - (telnet-mode) - (setq comint-input-sender 'telnet-simple-send) - (setq telnet-count telnet-initial-count))) + (let* ((name (concat host "-telnet" )) + (buffer (get-buffer (concat "*" name "*")))) + (if (and buffer (get-buffer-process buffer)) + (switch-to-buffer (concat "*" name "*")) + (switch-to-buffer (make-comint name "telnet")) + (set-process-filter (get-process name) 'telnet-initial-filter) + ;; Don't send the `open' cmd till telnet is ready for it. + (accept-process-output (get-process name)) + (erase-buffer) + (send-string name (concat "open " host "\n")) + (telnet-mode) + (setq comint-input-sender 'telnet-simple-send) + (setq telnet-count telnet-initial-count)))) (defun telnet-mode () "This mode is for using telnet (or rsh) from a buffer to another host. @@ -205,13 +208,13 @@ (run-hooks 'telnet-mode-hook)) ;;;###autoload -(defun rsh (arg) +(defun rsh (host) "Open a network login connection to host named HOST (a string). Communication with HOST is recorded in a buffer *HOST-rsh*. Normally input is edited in Emacs and sent a line at a time." (interactive "sOpen rsh connection to host: ") (require 'shell) - (let ((name (concat arg "-rsh" ))) + (let ((name (concat host "-rsh" ))) (switch-to-buffer (make-comint name "rsh")) (set-process-filter (get-process name) 'telnet-initial-filter) (telnet-mode)