;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:10; Patch-File:T -*-
;;; Patch file for KERMIT version 34.3
;;; Reason:
;;;  When Kermit opens a Telnet connection, it should DO ECHO, DO SGA, WILL SGA
;;; Written 17-Dec-87 17:19:50 by pld at site Gigamos Cambridge
;;; while running on Jack Flanders from band 2
;;; with Experimental System 123.161, Experimental Local-File 73.3, Experimental FILE-Server 22.1, Experimental Unix-Interface 11.0, Experimental Tape 18.0, Experimental KERMIT 34.2, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, microcode 1754, SDU Boot Tape 3.12, SDU ROM 8.



; From modified file DJ: L.NETWORK.KERMIT; TERM.LISP#65 at 17-Dec-87 17:19:56
#10R KERMIT#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "KERMIT")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; KERMIT; TERM  "

(dolist (x *telsyms*)
  (proclaim `(special ,(car x)))
  (set (car x) (cadr x)))

))

; From modified file DJ: L.NETWORK.KERMIT; TERM.LISP#65 at 17-Dec-87 17:20:02
#10R KERMIT#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "KERMIT")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; KERMIT; TERM  "

(dolist (x *telopts*)
  (proclaim `(special ,(car x)))
  (set (car x) (cadr x)))

))

; From modified file DJ: L.NETWORK.KERMIT; CALLS.LISP#57 at 17-Dec-87 17:20:28
#8R KERMIT#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "KERMIT")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; KERMIT; CALLS  "

(defun open-tcp-telnet-serial-stream (&optional auto-force-output)
  (declare (ignore auto-force-output))
  (enable-telnet-iac)
  (let (host stream)
    (do-forever
      (setq host (prompt-and-read :string-or-nil "~&Telnet to host: "))
      (when (catch-error (funcall (intern "GET-INTERNET-ADDRESS" "TCP") host))
	(return nil)))
    (format t "~&Connecting to ~S" host)
    (setq stream (open (format nil "TCP-HOST:~A#TELNET" host)
		       :keyword "Kermit User Telnet"
		       :auto-force-output t
		       :coroutine-input t))
    (send stream :set-force-output-p nil)
    (send stream :tyo iac)
    (send stream :tyo do)
    (send stream :tyo telopt_echo)
    (send stream :tyo iac)
    (send stream :tyo do)
    (send stream :tyo telopt_sga)
    (send stream :tyo iac)
    (send stream :tyo will)
    (send stream :tyo telopt_sga)
    (send stream :set-force-output-p t)
    (force-output stream)
    stream))

))
