* WHERE-IS library doc * Gather keyboard files, add VIRTUAL.TEDIT * add UNIXCOMM.TEDIT * rest of TEdit library files * save table of contents index for reworking * Don't move around VIRTUALKEYBOARDS files; will move in separate commit * Add MATMULT from Envos/Medley
107 lines
30 KiB
Plaintext
107 lines
30 KiB
Plaintext
1
|
||
|
||
Lisp Library Modules, Medley Release 1.15, CHAT
|
||
1
|
||
|
||
Lisp Library Modules, Medley Release 1.15, CHAT
|
||
CHAT
|
||
1
|
||
|
||
CHAT
|
||
1
|
||
|
||
|
||
CHAT
|
||
6
|
||
|
||
Chat(CHAT NIL Chat NIL NIL 21) is a remote terminal facility that allows you to communicate with other machines while inside Lisp. Chat sets up a Chat connection to a remote machine, so that everything you type is sent to the remote machine, and everything the remote machine prints is displayed in a Chat window.
|
||
Chat is an extensible terminal emulation facility. Its core supplies both terminal- and network-protocol- independent functionality; new terminal types and new Chat protocols, based on this core, can be added to Chat at any time. You can choose any terminal type to be used with any network protocol type.
|
||
There are currently terminal emulators for the following terminals:
|
||
Datamedia 2500(DATAMEDIA% 2500 NIL Datamedia% 2500 NIL NIL 21)
|
||
DEC VT100(DIGITAL% VT100 NIL Digital% VT100 NIL NIL 21)
|
||
TEdit(TEDIT NIL TEdit NIL NIL 21) (this is actually a TEdit-based Chat window, supporting scrolling and copy-select operations as in standard TEdit).
|
||
A number of different network protocol interfaces can be used with Chat. The following protocols are available:
|
||
PUP Chat
|
||
NS Chat (using the GAP protocol)
|
||
TCP (ARPANET) TELNET
|
||
RS232 Chat (using either the RS232 or TTY ports of the 1108 and 1186 processors)
|
||
Each of these is available by loading the corresponding module.
|
||
Requirements
|
||
1
|
||
|
||
DMCHAT
|
||
CHATTERMINAL
|
||
One of the network protocols:(NETWORK% PROTOCOLS NIL network% protocols NIL NIL 21) PUPCHAT or NSCHAT or RS232CHAT or TTYCHAT or TCPCHAT.
|
||
One of the terminal emulators:(TERMINAL% EMULATORS NIL terminal% emulators NIL NIL 21) DMCHAT or VTCHAT or TEDITCHAT.
|
||
The applicable file dependencies enumerated in the Introduction of this manual.
|
||
Installation
|
||
1
|
||
|
||
Load CHAT.LCOM from the library.
|
||
In addition, you must load at least one of the Chat network protocol modules.
|
||
If you want a terminal emulator different from the default DM2500, you must also load it.
|
||
User Interface
|
||
1
|
||
|
||
Chat prompts for a new window for each new connection. It saves the first window to reuse once the connection in that window is closed (other windows just go away when their connections are closed).
|
||
Multiple, simultaneous Chat connections(CHAT% CONNECTIONS NIL Chat% connections NIL NIL 22) are possible. To switch between typing to different Chat connections, press the left button within the Chat window you want to use.
|
||
Opening a Chat Connection(OPENING% A% CHAT% CONNECTION NIL Opening% a% Chat% Connection NIL NIL 22)
|
||
The simplest way to open a Chat connection is to select the CHAT option of the right-button (background) menu. The first time you do this, you are prompted in the system's prompt window for the name of a host to which to connect. Subsequently, you are prompted with a menu of all hosts to which you have opened Chat connections; the last entry in this menu is OTHER, and provides a way for you to connect to new Chat hosts.
|
||
The other method of opening a Chat connection is to call the CHAT function directly:
|
||
(CHAT(CHAT (function) NIL NIL NIL 22) HOST LOGOPTION INITSTREAM WINDOW) [Function]
|
||
Opens a Chat connection to HOST, or to the value of DEFAULTCHATHOST(DEFAULTCHATHOST (variable) NIL NIL NIL 22). If HOST requires login, Chat supplies a login sequence.
|
||
You may alternatively specify one of the following values for LOGOPTION:
|
||
Login Always perform a login.
|
||
Attach Always perform an attach (this is likely to be useful only when opening Chat connections to hosts running the Tops-20 or Tenex operating systems). This fails if you do not have exactly one detached job.
|
||
None Do not attempt to log in or attach.
|
||
Note: It is important that you supply information about the types of hosts to which you chat by setting the variable NETWORKOSTYPES (see IRM) or DEFAULT.OSTYPE (see Lisp Release Notes), as CHAT uses that information to determine whether and how to log in. An incorrect login sequence can inadvertantly expose your password.
|
||
If INITSTREAM is supplied, it is either a string or the name of a file whose contents are read as type-in. When the string/file is exhausted, input is taken from the keyboard.
|
||
If WINDOW is supplied, it is the window to use for the connection; otherwise, you are prompted for a window.
|
||
While Chat is in control, all Lisp interrupts(LISP% INTERRUPTS NIL Lisp% interrupts NIL NIL 22) are turned off, so that control characters can be transmitted to the remote host. Chat does not turn off interrupt characters until after creating the Chat window, so you can abort the call to Chat by typing Control-E while specifying the Chat window region.
|
||
If you press the left button in an Executive window, the system's focus-of-attention is switched to that window. At the same time, keyboard interrupts, such as Control-E, are reenabled. Whenever you select an open Chat window, the focus-of-attention is returned to the Chat window, and keyboard interrupts are disabled.
|
||
Chat Menu(CHAT% MENU NIL Chat% Menu NIL NIL 23)
|
||
Commands can be given to an active Chat connection by pressing the middle mouse button in the Chat window to get a command menu.
|
||
Note: The left mouse button, when pressed inside an active Chat window, holds output as long as the button is down. Holding down the middle button coincidentally does this too, but not on purpose; since the menu handler does not yield control to other processes, it is possible to kill the connection by keeping the menu up too long.
|
||
CLOSE Closes this connection. Once the connection is closed, control is handed over to the main Lisp Executive window. Closes the Chat window unless it is the primary Chat window.
|
||
SUSPEND Same as CLOSE, but always leaves the window open.
|
||
NEW Closes the current connection and prompts for a new host to which to open a connection in the same window.
|
||
FREEZE Holds type-out from this Chat window. Pressing a mouse button in the window in any way releases the hold. This is most useful if you want to switch to another, overlapping window and there is type-out in this window that would compete for screen space.
|
||
DRIBBLE Opens a typescript file for this Chat connection (closing any previous dribble file for the window). You are prompted for a file name. If you want to close an open dribble file (without opening a new one), just type a carriage return.
|
||
INPUT Prompts for a file from which to take input. When the end of the file is reached, input reverts to the keyboard.
|
||
CLEAR Clears the window and resets the simulated terminal to its default state. This is useful if undesired terminal commands have been received from the remote host that place the simulated terminal into an indeterminate state.
|
||
EMACS Turns on or off the Chat EMACS feature, which provides a convenient way to use the workstation's mouse to move the cursor on the remote machine when using the EMACS text editor. When this feature is turned on, pressing the left mouse button in the Chat window causes a sequence of commands to be sent to the remote machine that cause EMACS to move its cursor to the mouse location.
|
||
Use of this feature assumes you know the keystrokes to perform cursor-moving commands; see CHAT.EMACSCOMMANDS if your EMACS does not use the standard ones. Also, it assumes that you are pointing where there is actually text in your document (not white space beyond the end of a line) and that there are no tabs in your text; otherwise, the cursor position may not be where you expect.
|
||
RECONNECT In an inactive Chat window, pressing the middle mouse button brings up a menu of one item, RECONNECT, whose selection reopens a connection to the same host as was last in the window. This is the primary motivation for the SUSPEND menu command.
|
||
<EMULATOR>MODE The Chat menu also contains a command of this form for each terminal emulator that you have loaded. The <EMULATOR>MODE commands are intended to let you dynamically switch between terminal emulators.
|
||
However, this feature is currently defective and should not be used. You must also choose your emulator type, by setting CHAT.DISPLAYTYPES, before opening the Chat connection.
|
||
Customizing Chat(CUSTOMIZING% CHAT NIL Customizing% Chat NIL NIL 24)
|
||
1
|
||
|
||
CHAT.DISPLAYTYPES(CHAT.DISPLAYTYPES (variable) NIL NIL NIL 24) [Variable]
|
||
This variable contains a list that assigns the terminal emulators to be used with the hosts. Each entry on the list is of the form:
|
||
(<HostName><TerminalTypeNumber><TerminalEmulator>)
|
||
HostName When Chat opens a connection, it scans CHAT.DISPLAYTYPES to find an entry whose HostName field matches the name of the Chat host. If no matching entry is found, it scans the list again, looking for an entry whose HostName field is NIL.
|
||
TerminalTypeNumber Is only important when the Chat protocol in use is PUP Chat. This number identifies the terminal type to the Chat host's operating system. Currently, only Tops-20 and Tenex hosts make use of this facility; if the Chat host does not support this feature, the number in the TerminalTypeNumber field is ignored.
|
||
TerminalEmulator Chat uses this field of the entry it finds to choose which terminal type to emulate. Typical terminal emulator names are DM2500, VT100, and TEDIT.
|
||
CHAT.KEYACTIONS(CHAT.KEYACTIONS (variable) NIL NIL NIL 24) [Variable]
|
||
This variable controls the remapping of the keyboard when the system's focus-of-attention is an active Chat window. The format of this list is:
|
||
((KEYNAME . ACTIONS) (KEYNAME . ACTIONS) ... )
|
||
For example, if you prefer the backspace key to send the rubout character (octal 177), you would set CHAT.KEYACTIONS to be:
|
||
((BS (177Q 177Q NOLOCKSHIFT) . IGNORE))
|
||
The key actions are assigned when a Chat process is initiated; i.e., changing CHAT.KEYACTIONS only affects new Chat connections.
|
||
CHAT.INTERRUPTS(CHAT.INTERRUPTS (variable) NIL NIL NIL 24) [Variable]
|
||
A list of interrupts to pass to INTERRUPTCHAR to assign keyboard interrupts; e.g., ((177Q. HELP)) causes the DELETE character (code 177) to run the HELP interrupt.
|
||
Like CHAT.KEYACTIONS, this variable only affects new Chat connections.
|
||
CHAT.ALLHOSTS(CHAT.ALLHOSTS (variable) NIL NIL NIL 25) [Variable]
|
||
A list of host names, as uppercase symbols, to which you want to chat. Chatting to a host not on the list adds it to the list. These names are placed in the menu used by the background Chat command prompts.
|
||
CLOSECHATWINDOWFLG(CLOSECHATWINDOWFLG (variable) NIL NIL NIL 25) [Variable]
|
||
If true, every Chat window is closed on exit. If NIL, the initial setting, then the primary Chat window is not closed.
|
||
DEFAULTCHATHOST(DEFAULTCHATHOST (variable) NIL NIL NIL 25) [Variable]
|
||
The host to which CHAT connects when it is called with no HOST argument.
|
||
CHAT.FONT(CHAT.FONT (variable) NIL NIL NIL 25) [Variable]
|
||
If non-NIL, the font used to create Chat windows. If CHAT.FONT is NIL, Chat windows are created with (DEFAULTFONT 'DISPLAY).
|
||
Note: To work well with the DM2500 and VT100 terminal emulators, you should use fixed<65><64> |