CHAT Library Packages 5/28/84 Jim Blum This document describes the new release of CHAT and some associated library packages (All files are dated 24-May-85). The main new exciting feature to CHAT is TEDIT (TEXTSREAM) output in the CHAT window(s). This means you can now look at (via standard window scrolling) and copy-select to any window, any text generated during the session. While using this mode, there is no specific terminal emulation such as the Datamedia 2500. IE, the TEDIT mode does not currently support any terminal specific commands except carriage return (^M) and backspace (^H). Linefeeds (^J) are ignored. CHAT has been generalized to handle a wider variety of terminals. A new DATATYPE, CHAT.STATE replaces the old CHATUSERSTATE RECORD. Two new fields have been added to CHAT.STATE; TERM.STATE which is a pointer to a terminal specific structured DATATYPE containing its own terminal related state variables, and TEXTSTREAM which if non-NIL contains the textstream handle when TEDIT is selected as the emulator mode. All the functions in the CHATTERMINAL package are now called with CHAT.STATE as their first argument. In addition, the format of the CHAT.DRIVERTYPES variable has changed to the following: ((DPYTYPE HANDLECHARFN STATEFN)...) where DPYTYPE is the name of the emulator or "TEDIT" (TEDIT mode), HANDLECHARFN is the terminal related character handler, and STATEFN (the new entry) is a function called with one argument, CHAT.STATE. The purpose of this function is to initialize the terminal (or mode), and create and return a TERM.STATE DATATYPE for the emulator. NOTE:!!!, If the initialize function adds its own windowprop close function, the it must add it at the beginning of the list (set FIRSTFLAG to T on WINDOWADDPROP), because CHAT now removes all close functions when it is called to prevent reused chat windows from having old close funtions left on them. For the Data Media 2500 terminal, the CHAT.DRIVERTYPE is: (DM2500 DMCHAT.HANDLECHARACTER DMCHAT.STATE) For the TEDIT mode, it is: (TEDIT TEDITCHAT.CHARFN NILL) This global variable is automatically ADDedTO when the appropriate emulator package is loaded. However, the global variable CHAT.DISPLAYTYPES is not automatically setup since it is user dependent. The format of this variable is as follows: ((host terminalnumber emulatormode)...) The default is ((NIL 10 TEDIT)). NIL in the host field means any host selected not in this list will have a TEDIT textstream attached to it, and no specific terminal will be emulated. The terminal number is a number which is terminal type information that the remote host may want to know about. For most cases this number is irrevelant. The emulatormode may be DM2500 for the DATAMEDIA terminal, VT100, TEK4010, or TEDIT for the TEDIT textstream mode. This variable should be set up the way you intend to CHAT to various hosts. Example: ((PARC-VAXC 10 DM2500)(FOO 4010 TEK4010)(NIL 10 TEDIT)). This would use a DATAMEDIA 2500 emulator when CHATing to the VAXC, a Tektronix 4010 emulator when chatting to a host called FOO, and all other hosts would use the TEDIT mode. A new package, TEDITCHAT contains the relevant code for the TEDIT mode. This file automatically gets loaded along with the other normal CHAT related files when a new system is made, however if you want to load the new verion over an existing version, you must force load CHATTERMINAL.DCOM, (also DMCHAT.DCOM, TEK4010CHAT.DCOM and VTCHAT.DCOM, VT100KP.DCOM if you want to use those emulators), and (SETQ CHAT.DRIVERTYPES NIL) before loading CHAT.DCOM. Also, it is a good idea to (SETQ CHATWINDOW NIL) to force a new clean window which CHAT reuses. VTCHAT is no longer a stand-alone version, and now works with the new CHAT. NSCHAT.DCOM has not been changed and works with the new CHAT. CAVIATS: There is no upper limit cutoff, wrap around, or redirection to a file for output from a textstream in TEDIT mode. This could potentially use up alot of space if misused. The next release will include some sort of bounds for output. The following are new release files, and must be used with the new release of CHAT.DCOM: DMCHAT.DCOM, CHATTERMINAL.DCOM, VTCHAT.DCOM, VT100KP.DCOM, TEK4010CHAT.DCOM, TEDITCHAT.DCOM. &&GACHA €B4(DEFAULTFONT 1 (GACHA 12) (TERMINAL 8) (TERMINAL 8))  wÒY%C;:.ò)#L?趎Jzº