(replace_buffer_in_all_windows):
[bpt/emacs.git] / lisp / telnet.el
index 3b2fbc8..caecf8e 100644 (file)
@@ -53,7 +53,7 @@
 
 (require 'comint)
 
-(defvar telnet-host-properties
+(defvar telnet-host-properties ()
   "Specify which telnet program to use for particular hosts.
 Each element has the form (HOSTNAME PROGRAM [LOGIN-NAME])
 HOSTNAME says which machine the element applies to.
@@ -131,20 +131,22 @@ rejecting one login and prompting again for a username and password.")
 
 (defun telnet-initial-filter (proc string)
   ;For reading up to and including password; also will get machine type.
-  (let ((case-fold-search t))
-    (cond ((string-match "No such host" string)
-          (kill-buffer (process-buffer proc))
-          (error "No such host"))
-         ((string-match "passw" string)
-          (telnet-filter proc string)
-          (setq telnet-count 0)
-          (send-string proc (concat (comint-read-noecho "Password: " t)
-                                    telnet-new-line)))
-         (t (telnet-check-software-type-initialize string)
+  (save-current-buffer
+    (set-buffer (process-buffer proc))
+    (let ((case-fold-search t))
+      (cond ((string-match "No such host" string)
+            (kill-buffer (process-buffer proc))
+            (error "No such host"))
+           ((string-match "passw" string)
             (telnet-filter proc string)
-            (cond ((> telnet-count telnet-maximum-count)
-                   (set-process-filter proc 'telnet-filter))
-                  (t (setq telnet-count (1+ telnet-count))))))))
+            (setq telnet-count 0)
+            (send-string proc (concat (comint-read-noecho "Password: " t)
+                                      telnet-new-line)))
+           (t (telnet-check-software-type-initialize string)
+              (telnet-filter proc string)
+              (cond ((> telnet-count telnet-maximum-count)
+                     (set-process-filter proc 'telnet-filter))
+                    (t (setq telnet-count (1+ telnet-count)))))))))
 
 ;; Identical to comint-simple-send, except that it sends telnet-new-line
 ;; instead of "\n".