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)