;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*-
;;; Patch file for System version 123.170
;;; Reason:
;;;  network-user:help is smarter about telnet-server, supdup-server, etc.
;;; Written 2-Jan-88 16:35:47 by pld at site Gigamos Cambridge
;;; while running on Jack Flanders from band 2
;;; with Experimental System 123.168, Experimental Local-File 73.3, Experimental FILE-Server 22.1, Experimental Unix-Interface 11.0, Experimental Tape 18.0, Experimental KERMIT 34.3, 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.IP-TCP.SERVER; TELNET-UTILITIES.LISP#12 at 2-Jan-88 16:35:48
#10R NETWORK-USER#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "NETWORK-USER")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; SERVER; TELNET-UTILITIES  "

(defun help ()
  (typecase *terminal-io*
    (telnet:telnet-server
     (format t "~&You are logged into a Lisp Machine Telnet Server.

Interrupt Keys:
    Control-G        Abort Interrupt
    Control-T        Status Interrupt
    Control-S        Stop Output
    Control-Q        Resume Output
    Control-Z        Break Interrupt

Quote character:
    Control-V <x>    <x>
")
     (cond ((eq 'tv:alternate-rubout-handler (global:symeval-in-instance *terminal-io* 'tv:stream-rubout-handler))
	    (format t "
Your terminal is smart enough to use the full Lisp Machine Rubout handler
for editing input.
"))
	   (t
	    (format t "
Your terminal is smart enough only to provide minimal rubout handling.

Keys to Edit Input:
    Rubout           Delete one character
    Meta-Rubout      Delete one word
    Control-U        Delete all input
    Control-L        Clear screen and refresh input
    Control-R        Fresh Line and refresh input
"))))
    (telnet:supdup-server
     (format t "~&You are logged into a Lisp Machine Supdup Server.~%
Your terminal is smart enough to use the full Lisp Machine Rubout handler
for editing input.~%"))
    (t
     (format t "~&You are logged into a Lisp Machine Console.~%
Your terminal is smart enough to use the full Lisp Machine Rubout handler
for editing input.~%")))
  (cond ((condition-case (foo)
	     (telnet:termcap.extended-keyboard (global:symeval-in-instance *terminal-io* 'telnet:termcap))
	   (error t))
	 (format t "
Your terminal can send Control, Meta, Super, and Hyper bits with its characters.
"))
	(t
	 (format t "
Ascii Keys for the rubout handler:
    Control-U        Delete all input (Clear-Input)
    Control-L        Clear screen and refresh input (Clear-Screen)

Prefix keys to modify characters:
    Escape <x>       Meta-<x>
    Control-\\ <x>    Super-<x>
")))
  (format t "
Useful programs in the NETWORK-USER package:
    (logout)         Close the Telnet connection
    (help)           Print this message
")
  )

))
