diff --git a/lispusers/TALK b/lispusers/TALK
deleted file mode 100644
index 20cdd528..00000000
--- a/lispusers/TALK
+++ /dev/null
@@ -1,616 +0,0 @@
-(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
-(FILECREATED "22-Jul-88 15:43:07" |{MCS:MCS:STANFORD}<LANE>TALK.;10| 38505  
-
-      previous date%: "16-Jun-88 09:25:17" |{MCS:MCS:STANFORD}<LANE>TALK.;9|)
-
-
-(* "
-Copyright (c) 1987, 1988 by Stanford University.  All rights reserved.
-")
-
-(PRETTYCOMPRINT TALKCOMS)
-
-(RPAQQ TALKCOMS ((* TALK client/server code)
-                     (LOCALVARS . T)
-                     (FNS TALK)
-                     (FNS TALK.RECONNECT TALK.PROCESS TALK.DISPLAY TALK.LISTEN TALK.CLOSEFN 
-                          TALK.ANSWER TALK.ANSWER.WINDOW TALK.ANSWER.USERNAME TALK.GET.NAME 
-                          TALK.ADD.NAME TALK.FLASH.CARET TALK.WHENSELECTEDFN TALK.RINGBELLS 
-                          TALK.START.SERVER)
-                     (FNS TALK.ICON.BUTTONEVENTFN TALK.ICON.CLOSEFN)
-                     (* TALK data)
-                     (DECLARE%: DONTCOPY (RECORDS TALK.SERVICETYPE TALK.PROTOCOLTYPE))
-                     (VARS TALK.MENU.ITEMS TALK.USER.MESSAGES)
-                     (INITVARS TALK.SERVICETYPES TALK.PROTOCOLTYPES TALK.GAG TALK.HOSTNAMES 
-                            TALK.ICON.WINDOWS (TALK.ANSWER.WAIT 15)
-                            (TALK.READTABLE (COPYREADTABLE 'ORIG))
-                            (TALK.DEFAULT.REGION (CREATEREGION 0 0 500 500))
-                            (TALK.CLOSED.STRING " -- Connection Closed")
-                            (TALK.ICON.FONT LITTLEFONT))
-                     (GLOBALVARS TALK.MENU.ITEMS TALK.USER.MESSAGES TALK.SERVICETYPES 
-                            TALK.PROTOCOLTYPES TALK.GAG TALK.HOSTNAMES TALK.ICON.WINDOWS 
-                            TALK.ANSWER.WAIT TALK.READTABLE TALK.DEFAULT.REGION TALK.CLOSED.STRING 
-                            TALK.ICON.FONT)
-                     (ALISTS (BackgroundMenuCommands Talk))
-                     (VARS (BackgroundMenu))
-                     (APPENDVARS (BACKGROUNDFNS TALK.START.SERVER)
-                            (AFTERMAKESYSFORMS (TALK.START.SERVER NIL T)))
-                     (BITMAPS TALK.ICON.BITMAP)
-                     (GLOBALVARS TALK.ICON.BITMAP)
-                     (P (SETSYNTAX (CHARCODE SPACE)
-                               (CHARCODE A)
-                               TALK.READTABLE))))
-
-
-
-(* TALK client/server code)
-
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(LOCALVARS . T)
-)
-(DEFINEQ
-
-(TALK
-  [LAMBDA (USER.OR.HOSTNAME SERVICE PROTOCOL)            (* ; "Edited  9-Jun-88 12:32 by cdl")
-                                                             (* DECLARATIONS%: (RECORD RESULT
-                                                           (SERVICETYPE INPUTSTREAM
-                                                                                    . OUTPUTSTREAM)))
-    (PROG (USER PROTOCOLTYPE PROTOCOLTYPES SERVICETYPE SERVICETYPES RESULT ADDRESSABLE?)
-          (if (NULL USER.OR.HOSTNAME)
-              then (if (SETQ USER.OR.HOSTNAME (TALK.GET.NAME))
-                           then (if (LISTP USER.OR.HOSTNAME)
-                                        then (RETURN (TALK.RECONNECT USER.OR.HOSTNAME)))
-                         else (RETURN)))
-          (if SERVICE
-              then (if [SETQ SERVICETYPE (for SERVICETYPE in TALK.SERVICETYPES
-                                                    thereis (with TALK.SERVICETYPE 
-                                                                       SERVICETYPE (STRING-EQUAL
-                                                                                    SERVICE 
-                                                                                    TALK.SERVICENAME]
-                           then (SETQ SERVICETYPES (LIST SERVICETYPE))
-                         else (RETURN (LIST "Unknown service type!" SERVICE)))
-            else (if (NULL (SETQ SERVICETYPES TALK.SERVICETYPES))
-                         then (RETURN "No services available!")))
-          (if PROTOCOL
-              then (if (SETQ PROTOCOLTYPE (ASSOC PROTOCOL TALK.PROTOCOLTYPES))
-                           then (SETQ PROTOCOLTYPES (LIST PROTOCOLTYPE))
-                         else (RETURN (LIST "Unknown protocol!" PROTOCOL)))
-            else (if (NULL (SETQ PROTOCOLTYPES TALK.PROTOCOLTYPES))
-                         then (RETURN "No protocols available!")))
-          (if [SETQ PROTOCOLTYPE (bind ADDRESS for PROTOCOLTYPE in PROTOCOLTYPES
-                                        when (with TALK.PROTOCOLTYPE PROTOCOLTYPE
-                                                        (SETQ ADDRESS (APPLY* TALK.HOSTNAMEFN 
-                                                                             USER.OR.HOSTNAME)))
-                                        thereis (PROGN (TALK.ADD.NAME USER.OR.HOSTNAME 
-                                                                  ADDRESS (with TALK.PROTOCOLTYPE
-                                                                                 PROTOCOLTYPE 
-                                                                                 TALK.PROTOCOLNAME))
-                                                           (SETQ ADDRESSABLE? T)
-                                                           (SELECTQ (SETQ RESULT
-                                                                     (with TALK.PROTOCOLTYPE 
-                                                                            PROTOCOLTYPE
-                                                                            (APPLY* TALK.CONNECTFN 
-                                                                                   ADDRESS 
-                                                                                   SERVICETYPES)))
-                                                               (ANSWER (RETURN))
-                                                               (LISTP RESULT]
-              then (with RESULT RESULT (RETURN (TALK.PROCESS INPUTSTREAM OUTPUTSTREAM 
-                                                              SERVICETYPE PROTOCOLTYPE 'CLIENT 
-                                                              USER.OR.HOSTNAME T)))
-            else (RETURN (if ADDRESSABLE?
-                                 then (SELECTQ RESULT
-                                              (ANSWER "No answer from TALK service!")
-                                              (LIST "Can't connect to host!" USER.OR.HOSTNAME))
-                               else (LIST "Host not found!" USER.OR.HOSTNAME])
-)
-(DEFINEQ
-
-(TALK.RECONNECT
-  [LAMBDA (DESTINATION)                                  (* ; "Edited 10-Jun-88 14:59 by cdl")
-                                                             (* DECLARATIONS%: (RECORD RESULT
-                                                           (SERVICETYPE INPUTSTREAM
-                                                                                    . OUTPUTSTREAM))
-                                                           (RECORD DESTINATION
-                                                           (NAME . ENTRIES)) (RECORD ENTRY
-                                                           (PROTOCOL . ADDRESS)))
-    (DECLARE (SPECVARS DESTINATION))
-    (if TALK.SERVICETYPES
-        then
-        [LET (PROTOCOLTYPE RESULT ENTRY ADDRESS)             (* try all the protocols but prefer 
-                                                           those that have already succeeded)
-             (if [SETQ PROTOCOLTYPE
-                      (for PROTOCOLTYPE in [SORT (APPEND TALK.PROTOCOLTYPES)
-                                                         (FUNCTION (LAMBDA (PROTOCOLTYPE)
-                                                             (* DECLARATIONS%: (RECORD 
-                                                           DESTINATION (NAME . ENTRIES)))
-                                                                     (with TALK.PROTOCOLTYPE 
-                                                                            PROTOCOLTYPE
-                                                                            (with DESTINATION 
-                                                                                   DESTINATION
-                                                                                   (ASSOC 
-                                                                                    TALK.PROTOCOLNAME
-                                                                                          ENTRIES]
-                         when [with TALK.PROTOCOLTYPE PROTOCOLTYPE
-                                         (AND [SETQ ADDRESS (with DESTINATION DESTINATION
-                                                                   (if (SETQ ENTRY
-                                                                            (ASSOC TALK.PROTOCOLNAME
-                                                                                   ENTRIES))
-                                                                       then (with ENTRY ENTRY
-                                                                                       ADDRESS)
-                                                                     else (APPLY* TALK.HOSTNAMEFN
-                                                                                     NAME]
-                                              (SETQ RESULT (APPLY* TALK.CONNECTFN ADDRESS 
-                                                                  TALK.SERVICETYPES]
-                         thereis (SELECTQ RESULT
-                                         (ANSWER (RETURN))
-                                         (LISTP RESULT]
-                 then (with RESULT RESULT (TALK.PROCESS INPUTSTREAM OUTPUTSTREAM 
-                                                         SERVICETYPE PROTOCOLTYPE 'CLIENT
-                                                         (with DESTINATION DESTINATION NAME)
-                                                         T))
-               else (SELECTQ RESULT
-                            (ANSWER "No answer from TALK service!")
-                            (LIST "Can't connect to host!" (with DESTINATION DESTINATION NAME]
-      else "No services available!"])
-
-(TALK.PROCESS
-  [LAMBDA (INPUTSTREAM OUTPUTSTREAM SERVICETYPE PROTOCOLTYPE MODE USER SPAWN?)
-                                                             (* ; "Edited  9-Jun-88 12:35 by cdl")
-    (if (LITATOM SERVICETYPE)
-        then (SETQ SERVICETYPE (ASSOC SERVICETYPE TALK.SERVICETYPES)))
-    (if (LITATOM PROTOCOLTYPE)
-        then (SETQ PROTOCOLTYPE (ASSOC PROTOCOLTYPE TALK.PROTOCOLTYPES)))
-    (LET ((DISPLAYSTREAM (TALK.DISPLAY INPUTSTREAM OUTPUTSTREAM SERVICETYPE PROTOCOLTYPE MODE 
-                                USER)))
-         (if SPAWN?
-             then [ADD.PROCESS `(TALK.LISTEN ,INPUTSTREAM ,OUTPUTSTREAM ,(KWOTE SERVICETYPE)
-                                           ,(KWOTE PROTOCOLTYPE)
-                                           ,DISPLAYSTREAM]
-           else (TALK.LISTEN INPUTSTREAM OUTPUTSTREAM SERVICETYPE PROTOCOLTYPE DISPLAYSTREAM])
-
-(TALK.DISPLAY
-  [LAMBDA (INPUTSTREAM OUTPUTSTREAM SERVICETYPE PROTOCOLTYPE MODE USER)
-                                                             (* ; "Edited  9-Jun-88 14:46 by cdl")
-                                                             (* DECLARATIONS%: (ASSOCRECORD 
-                                                           MESSAGES (GREETING)))
-    (LET (MAINWINDOW WINDOW REGION GREETING)
-         (DECLARE (SPECVARS GREETING))
-         (SETQ USER (with TALK.PROTOCOLTYPE PROTOCOLTYPE (APPLY* TALK.USERNAMEFN INPUTSTREAM 
-                                                                    OUTPUTSTREAM SERVICETYPE MODE 
-                                                                    USER)))
-         (with REGION (SETQ REGION (if (REGIONP TALK.DEFAULT.REGION)
-                                           then (with REGION TALK.DEFAULT.REGION
-                                                           (GETBOXREGION WIDTH HEIGHT))
-                                         else (GETREGION)))
-                (SETQ HEIGHT (QUOTIENT HEIGHT 2)))
-         (SETQ MAINWINDOW (CREATEW (with REGION REGION (create REGION
-                                                                  BOTTOM _ (PLUS BOTTOM HEIGHT)
-                                                              using REGION))
-                                 (PACK* "TALK (" (with TALK.SERVICETYPE SERVICETYPE 
-                                                        TALK.SERVICENAME)
-                                        ")")))
-         (SETQ WINDOW (CREATEW REGION (CONCAT "(" (with TALK.PROTOCOLTYPE PROTOCOLTYPE 
-                                                         TALK.PROTOCOLNAME)
-                                             ") Talk from " USER)))
-         (WINDOWPROP MAINWINDOW 'STREAMS (CONS INPUTSTREAM OUTPUTSTREAM))
-         (WINDOWADDPROP MAINWINDOW 'CLOSEFN (FUNCTION TALK.CLOSEFN))
-         (ATTACHWINDOW WINDOW MAINWINDOW 'BOTTOM)
-         (ATTACHMENU (create MENU
-                            ITEMS _ TALK.MENU.ITEMS
-                            CENTERFLG _ T
-                            MENUBORDERSIZE _ 1
-                            WHENSELECTEDFN _ (FUNCTION TALK.WHENSELECTEDFN))
-                WINDOW
-                'BOTTOM)
-         (with TALK.SERVICETYPE SERVICETYPE (APPLY* TALK.DISPLAYFN MAINWINDOW WINDOW INPUTSTREAM
-                                                       OUTPUTSTREAM PROTOCOLTYPE USER))
-         (if (AND (SETQ GREETING (CAR (with MESSAGES TALK.USER.MESSAGES GREETING)))
-                      (SETQ GREETING (ERRORSET GREETING)))
-             then (BKSYSBUF (CAR GREETING)))
-         WINDOW])
-
-(TALK.LISTEN
-  [LAMBDA (INPUTSTREAM OUTPUTSTREAM SERVICETYPE PROTOCOLTYPE WINDOW)
-                                                             (* ; "Edited  7-Jun-88 08:42 by cdl")
-    (PROG (ICON? (MAINWINDOW (MAINWINDOW WINDOW)))
-          (with TALK.SERVICETYPE SERVICETYPE (APPLY* TALK.LISTENFN MAINWINDOW WINDOW INPUTSTREAM
-                                                        OUTPUTSTREAM PROTOCOLTYPE))
-          (TTY.PROCESS T)
-          (CLOSEF? INPUTSTREAM)
-          (if [OR (OPENWP WINDOW)
-                      (for PROP in '(ICON ICONWINDOW) thereis (SETQ ICON?
-                                                                           (OPENWP (WINDOWPROP 
-                                                                                          MAINWINDOW
-                                                                                          PROP]
-              then (WINDOWPROP WINDOW 'TITLE (CONCAT (WINDOWPROP WINDOW 'TITLE)
-                                                        TALK.CLOSED.STRING))
-                    (for WINDOW in (ATTACHEDWINDOWS WINDOW) when (WINDOWPROP WINDOW
-                                                                                    'MENU)
-                       do (if (DETACHWINDOW WINDOW)
-                                  then (CLOSEW WINDOW)))
-                    (if ICON?
-                        then (SHRINKW MAINWINDOW)
-                      else (FLASHWINDOW WINDOW])
-
-(TALK.CLOSEFN
-  [LAMBDA (WINDOW)                                       (* ; "Edited  9-Jun-88 14:45 by cdl")
-                                                             (* DECLARATIONS%: (RECORD STREAMS
-                                                           (INPUTSTREAM . OUTPUTSTREAM)))
-    (LET ((STREAMS (WINDOWPROP WINDOW 'STREAMS NIL)))
-         (if STREAMS
-             then (with STREAMS STREAMS (CLOSEF? INPUTSTREAM)
-                             (CLOSEF? OUTPUTSTREAM])
-
-(TALK.ANSWER
-  [LAMBDA (USER SERVICE PROTOCOL ADDRESS)                (* ; "Edited  9-Jun-88 09:20 by cdl")
-    (LET [WINDOW REGION (EVENT (CREATE.EVENT))
-                (TIME (DATE '(DATEFORMAT NO.SECONDS]
-         (DECLARE (GLOBALVARS \IDLING))
-         (PROGN                                              (* Only really necessary if you're 
-                                                           talking to yourself)
-                (SPAWN.MOUSE))
-         (WINDOWPROP (SETQ WINDOW (TALK.ANSWER.WINDOW USER))
-                'EVENT EVENT)
-         (BITBLT TALK.ICON.BITMAP NIL NIL WINDOW)
-         [SETQ REGION (with REGION (DSPCLIPPINGREGION NIL WINDOW)
-                             (CREATEREGION LEFT BOTTOM WIDTH (QUOTIENT HEIGHT 3]
-         (CENTERPRINTINREGION (CONCAT SERVICE "(" PROTOCOL ")")
-                (with REGION REGION (CREATEREGION LEFT BOTTOM WIDTH (DIFFERENCE HEIGHT 7)))
-                WINDOW)
-         (DSPFONT (PROG1 (DSPFONT TALK.ICON.FONT WINDOW)
-                      (CENTERPRINTINREGION (CONCAT (SUBSTRING TIME 1 6)
-                                                  (SUBSTRING TIME 10 -1))
-                             (with REGION REGION (add BOTTOM HEIGHT)
-                                    (CREATEREGION LEFT BOTTOM WIDTH (DIFFERENCE HEIGHT 7)))
-                             WINDOW))
-                WINDOW)
-         (if USER
-             then (TALK.ADD.NAME USER ADDRESS PROTOCOL)
-                   (with REGION REGION (add BOTTOM HEIGHT)
-                          (TALK.ANSWER.USERNAME USER (CREATEREGION LEFT BOTTOM WIDTH
-                                                                (DIFFERENCE HEIGHT 7))
-                                 WINDOW)))
-         (TALK.RINGBELLS WINDOW)
-         (if (AND [STRINGP (AWAIT.EVENT EVENT (TIMES TALK.ANSWER.WAIT 1000 (if \IDLING
-                                                                                   then 
-                                                             (* Provide extra time to login)
-                                                                                         2
-                                                                                 else 1]
-                      USER)
-             then                                        (* We timed out, leave the icon up 
-                                                           but change its functionality)
-                   (WINDOWPROP WINDOW 'TALK (LIST USER (CONS PROTOCOL ADDRESS)))
-                   (WINDOWPROP WINDOW 'EVENT NIL)
-                   (INVERTW WINDOW)
-           else (WINDOWPROP WINDOW 'EVENT NIL)
-                 (CLOSEW WINDOW))
-         (WINDOWPROP WINDOW 'RESULT])
-
-(TALK.ANSWER.WINDOW
-  [LAMBDA (USER)                                         (* ; "Edited  9-Jun-88 10:27 by cdl")
-    (PROG (WINDOW REGION)
-          [if TALK.ICON.WINDOWS
-              then
-              [if [AND USER (SETQ WINDOW (for WINDOW in TALK.ICON.WINDOWS
-                                                thereis (EQUAL USER (CAR (WINDOWPROP WINDOW
-                                                                                    'TALK]
-                  then (RETURN WINDOW)
-                else (SETQ REGION
-                          (with REGION (WINDOWPROP (CAR TALK.ICON.WINDOWS)
-                                                  'REGION)
-                                 (if (LESSP (PLUS PRIGHT WIDTH)
-                                                SCREENWIDTH)
-                                     then (CREATEREGION PRIGHT BOTTOM WIDTH HEIGHT)
-                                   else (CREATEREGION (OR (fetch (REGION LEFT)
-                                                                 of (REGIONP TALK.DEFAULT.REGION)
-                                                                     )
-                                                              0)
-                                                   (if (LESSP (PLUS PTOP HEIGHT)
-                                                                  SCREENHEIGHT)
-                                                       then PTOP
-                                                     else (OR (fetch (REGION BOTTOM)
-                                                                     of (REGIONP 
-                                                                                  TALK.DEFAULT.REGION
-                                                                                   ))
-                                                                  0))
-                                                   WIDTH HEIGHT]
-            else (SETQ REGION (with BITMAP TALK.ICON.BITMAP
-                                         (if (REGIONP TALK.DEFAULT.REGION)
-                                             then (with REGION TALK.DEFAULT.REGION
-                                                             (CREATEREGION LEFT BOTTOM BITMAPWIDTH 
-                                                                    BITMAPHEIGHT))
-                                           else (CREATEREGION 0 0 BITMAPWIDTH BITMAPHEIGHT]
-          (push TALK.ICON.WINDOWS (SETQ WINDOW (CREATEW REGION NIL 0 T)))
-          (WINDOWPROP WINDOW 'BUTTONEVENTFN (FUNCTION TALK.ICON.BUTTONEVENTFN))
-          (WINDOWPROP WINDOW 'CLOSEFN (FUNCTION TALK.ICON.CLOSEFN))
-          (RETURN WINDOW])
-
-(TALK.ANSWER.USERNAME
-  [LAMBDA (USER REGION WINDOW)                           (* cdl "10-Jun-87 08:38")
-    (LET (PTR FONTHEIGHT (FONT (DSPFONT NIL WINDOW)))
-         (if (AND (GREATERP (NCHARS USER)
-                             (QUOTIENT (BITMAPWIDTH TALK.ICON.BITMAP)
-                                    (CHARWIDTH (CHARCODE A)
-                                           FONT)))
-                      (SETQ PTR (STRPOS (CONSTANT (CHARACTER (CHARCODE SPACE)))
-                                       USER)))
-             then (DSPFONT TALK.ICON.FONT WINDOW)
-                   (SETQ FONTHEIGHT (QUOTIENT (FONTPROP TALK.ICON.FONT 'HEIGHT)
-                                           2))
-                   (CENTERPRINTINREGION (SUBSTRING USER 1 (SUB1 PTR))
-                          (with REGION REGION (CREATEREGION LEFT (PLUS BOTTOM FONTHEIGHT)
-                                                         WIDTH HEIGHT))
-                          WINDOW)
-                   (CENTERPRINTINREGION (SUBSTRING USER (ADD1 PTR)
-                                               -1)
-                          (with REGION REGION (CREATEREGION LEFT (DIFFERENCE BOTTOM FONTHEIGHT)
-                                                         WIDTH HEIGHT))
-                          WINDOW)
-                   (DSPFONT FONT WINDOW)
-           else (CENTERPRINTINREGION USER REGION WINDOW])
-
-(TALK.GET.NAME
-  [LAMBDA NIL                                            (* ; "Edited 16-Jun-88 09:24 by cdl")
-                                                             (* DECLARATIONS%: (RECORD ENTRY
-                                                           (NAME . PAIRS)) (RECORD PAIR
-                                                           (PROTOCOL . ADDRESS)))
-    (LET
-     [HOSTNAME HOSTNAMES MENU (ITEM '("" NIL ""]
-     (if
-      (SETQ HOSTNAMES
-       (for ENTRY in TALK.HOSTNAMES
-          collect
-          (if (LISTP ENTRY)
-              then
-              [with
-               ENTRY ENTRY
-               `(,NAME ,(KWOTE ENTRY)
-                       NIL
-                       (SUBITEMS ,@(for PAIR in PAIRS
-                                      collect (with PAIR PAIR
-                                                         `(,(CONCAT PROTOCOL " " ADDRESS)
-                                                           ,(KWOTE (LIST NAME PAIR]
-            else ENTRY)))
-         then (push HOSTNAMES ITEM))
-     [SETQ MENU (create MENU
-                       TITLE _ "TALK"
-                       ITEMS _ `(("Prompt for User/Host" 'PROMPT "Prompt for a new user or hostname."
-                                        )
-                                 (,(if TALK.GAG
-                                       then "Turn TALK On"
-                                     else "Turn TALK Off")
-                                  (PROGN (SETQ TALK.GAG (NOT TALK.GAG))
-                                         NIL)
-                                  "Toggle TALK connection accept/refuse switch.")
-                                 ,@HOSTNAMES]
-     [if HOSTNAMES
-         then (SHADEITEM ITEM MENU BLACKSHADE)           (* Kludge to make entire line of 
-                                                           menu inverted, not just up to 
-                                                           subitem arrows)
-               (with REGION (MENUITEMREGION ITEM MENU)
-                      (with MENU MENU (BLTSHADE BLACKSHADE (with WINDOW IMAGE SAVE)
-                                                 (PLUS LEFT MENUOUTLINESIZE)
-                                                 (PLUS BOTTOM MENUOUTLINESIZE)
-                                                 WIDTH HEIGHT]
-     (SELECTQ (SETQ HOSTNAME (MENU MENU))
-         (PROMPT (SETQ HOSTNAME (MKATOM (PROMPTFORWORD "User or host?" NIL NIL PROMPTWINDOW)))
-                 (TERPRI PROMPTWINDOW))
-         NIL)
-     HOSTNAME])
-
-(TALK.ADD.NAME
-  [LAMBDA (NAME ADDRESS PROTOCOL)                        (* ; "Edited  9-Jun-88 12:39 by cdl")
-                                                             (* DECLARATIONS%: (RECORD ENTRY
-                                                           (NAME . PAIRS)))
-    (LET (ENTRY)
-         (if (NOT (EQUAL NAME ADDRESS))
-             then (if (SETQ ENTRY (bind HOSTNAME (NCHARS _ (NCHARS NAME)) for ENTRY
-                                             in TALK.HOSTNAMES
-                                             eachtime (SETQ HOSTNAME
-                                                           (if (LISTP ENTRY)
-                                                               then (with ENTRY ENTRY NAME)
-                                                             else ENTRY))
-                                             thereis (STRING-EQUAL HOSTNAME NAME)))
-                          then (if (NLISTP ENTRY)
-                                       then (SETQ TALK.HOSTNAMES (DREMOVE ENTRY TALK.HOSTNAMES))
-                                             (push TALK.HOSTNAMES (LIST NAME (CONS PROTOCOL 
-                                                                                       ADDRESS)))
-                                     else (PUTASSOC PROTOCOL ADDRESS (with ENTRY ENTRY PAIRS)
-                                                     ))
-                        else (push TALK.HOSTNAMES (LIST NAME (CONS PROTOCOL ADDRESS])
-
-(TALK.FLASH.CARET
-  [LAMBDA (WINDOW POSITION FLG)                          (* ; "Edited  2-Jun-88 15:17 by cdl")
-    (DECLARE (GLOBALVARS DEFAULTCARET))
-    (if (OPENWP WINDOW)
-        then (SELECTQ FLG
-                     (OFF [with POSITION POSITION
-                                 (if XCOORD
-                                     then (with CURSOR DEFAULTCARET
-                                                     (BITBLT CUIMAGE NIL NIL WINDOW XCOORD YCOORD NIL
-                                                            NIL NIL 'INVERT])
-                     (ON [with POSITION POSITION (with CURSOR DEFAULTCARET
-                                                            (BITBLT CUIMAGE NIL NIL WINDOW
-                                                                   (SETQ XCOORD
-                                                                    (DIFFERENCE (DSPXPOSITION NIL 
-                                                                                       WINDOW)
-                                                                           CUHOTSPOTX))
-                                                                   (SETQ YCOORD
-                                                                    (DIFFERENCE (DSPYPOSITION NIL 
-                                                                                       WINDOW)
-                                                                           CUHOTSPOTY))
-                                                                   NIL NIL NIL 'INVERT])
-                     NIL])
-
-(TALK.WHENSELECTEDFN
-  [LAMBDA (ITEM FROMMENU BUTTON)                         (* ; "Edited  9-Jun-88 14:50 by cdl")
-                                                             (* DECLARATIONS%: (RECORD STREAMS
-                                                           (INPUTSTREAM . OUTPUTSTREAM)))
-    (LET [MAINWINDOW TEXTSTREAM STREAMS (WINDOW (MAINWINDOW (WFROMMENU FROMMENU]
-         (DECLARE (SPECVARS WINDOW MAINWINDOW TEXTSTREAM STREAMS))
-         (SETQ TEXTSTREAM (WINDOWPROP (SETQ MAINWINDOW (MAINWINDOW WINDOW))
-                                 'TEXTSTREAM))
-         (if (AND (SETQ STREAMS (WINDOWPROP MAINWINDOW 'STREAMS))
-                      (OPENP (with STREAMS STREAMS OUTPUTSTREAM)))
-             then (ERRORSET (CADR ITEM])
-
-(TALK.RINGBELLS
-  [LAMBDA (WINDOW)                                       (* cdl "16-Mar-87 08:01")
-    (DECLARE (GLOBALVARS RINGBELLS.L1 RINGBELLS.L2))
-    (PLAYTUNE RINGBELLS.L1)                                  (* Dorados and Dolphins can't do 
-                                                           PLAYTUNE but let BEEPON/BEEPOFF 
-                                                           handle that)
-    (FLASHWINDOW WINDOW)
-    (PLAYTUNE RINGBELLS.L2])
-
-(TALK.START.SERVER
-  [LAMBDA (PROTOCOL RESTART)                             (* ; "Edited  8-Jun-88 15:06 by cdl")
-    (DECLARE (SPECVARS RESTART))
-    (if PROTOCOL
-        then (LET ((PROTOCOLTYPE (ASSOC PROTOCOL TALK.PROTOCOLTYPES)))
-                      (DECLARE (SPECVARS PROTOCOLTYPE))
-                      (if PROTOCOLTYPE
-                          then [with TALK.PROTOCOLTYPE PROTOCOLTYPE
-                                          (if TALK.STARTSERVERFN
-                                              then (CAR (NLSETQ (APPLY* TALK.STARTSERVERFN 
-                                                                           RESTART]
-                        else (ERROR PROTOCOL "Unknown protocol!")))
-      else (for PROTOCOLTYPE declare%: (SPECVARS PROTOCOLTYPE) in TALK.PROTOCOLTYPES
-                  do (with TALK.PROTOCOLTYPE PROTOCOLTYPE
-                                (if TALK.STARTSERVERFN
-                                    then (NLSETQ (APPLY* TALK.STARTSERVERFN RESTART])
-)
-(DEFINEQ
-
-(TALK.ICON.BUTTONEVENTFN
-  [LAMBDA (WINDOW)                                       (* ; "Edited  9-Jun-88 10:02 by cdl")
-                                                             (* DECLARATIONS%: (RECORD 
-                                                           DESTINATION (NAME (PROTOCOL . ADDRESS))))
-    (RESETFORM (INVERTW WINDOW)
-           (until (MOUSESTATE UP) do))
-    (ALLOW.BUTTON.EVENTS)
-    (if (WINDOWPROP WINDOW 'EVENT)
-        then (WINDOWPROP WINDOW 'RESULT T)
-              (NOTIFY.EVENT (WINDOWPROP WINDOW 'EVENT NIL)
-                     T)
-      else (LET ((DESTINATION (WINDOWPROP WINDOW 'TALK))
-                     RESULT)
-                    (if (MOUSECONFIRM (CONCAT "(Re)Connect to " (with DESTINATION DESTINATION
-                                                                           NAME)
-                                                 "?"))
-                        then (if (PROCESSP (SETQ RESULT (TALK.RECONNECT DESTINATION)))
-                                     then (CLOSEW WINDOW)
-                                   else (FLASHWINDOW WINDOW)
-                                         (PROMPTPRINT RESULT])
-
-(TALK.ICON.CLOSEFN
-  [LAMBDA (WINDOW)                                       (* cdl "10-May-87 10:07")
-    (LET ((EVENT (WINDOWPROP WINDOW 'EVENT NIL)))
-         (if EVENT
-             then (NOTIFY.EVENT EVENT T)))
-    (SETQ TALK.ICON.WINDOWS (DREMOVE WINDOW TALK.ICON.WINDOWS])
-)
-
-
-
-(* TALK data)
-
-(DECLARE%: DONTCOPY 
-(DECLARE%: EVAL@COMPILE
-
-(RECORD TALK.SERVICETYPE (TALK.SERVICENAME TALK.DISPLAYFN TALK.LISTENFN))
-
-(RECORD TALK.PROTOCOLTYPE (TALK.PROTOCOLNAME TALK.HOSTNAMEFN TALK.USERNAMEFN TALK.CONNECTFN 
-                                     TALK.EVENTFN TALK.STARTSERVERFN TALK.CASEARRAY))
-)
-)
-
-(RPAQQ TALK.MENU.ITEMS ((Disconnect (TALK.CLOSEFN MAINWINDOW)
-                                   "Close TALK connection and keep window open.")
-                            (RingBells (PROGN (PRINTCCODE (CHARCODE ^G)
-                                                     (CDR STREAMS))
-                                              (FORCEOUTPUT (CDR STREAMS))
-                                              (FLASHWINDOW MAINWINDOW))
-                                   "Execute a (RINGBELLS) on the remote machine.")
-                            (Message (LET [(MESSAGE (MENU (create MENU ITEMS _ TALK.USER.MESSAGES]
-                                          (if [AND MESSAGE (TTY.PROCESSP (WINDOWPROP MAINWINDOW
-                                                                                'PROCESS]
-                                              then
-                                              (BKSYSBUF MESSAGE)))
-                                   "Insert a generic message.")))
-
-(RPAQQ TALK.USER.MESSAGES (("One moment please" "One moment please..." NIL (SUBITEMS (
-                                                                                "the phone's ringing"
-                                                                                          
-                                                          "One moment please, the phone's ringing..."
-                                                                                          )
-                                                                                      (
-                                                                        "there's someone at the door"
-                                                                                       
-                                                  "One moment please, there's someone at the door..."
-                                                                                       )
-                                                                                      (
-                                                                    "someone is trying to TALK to me"
-                                                                                       
-                                              "One moment please, someone is trying to TALK to me..."
-                                                                                       )))
-                               (DATE (DATE)
-                                     "The current date and time.")
-                               "Bye."))
-
-(RPAQ? TALK.SERVICETYPES NIL)
-
-(RPAQ? TALK.PROTOCOLTYPES NIL)
-
-(RPAQ? TALK.GAG NIL)
-
-(RPAQ? TALK.HOSTNAMES NIL)
-
-(RPAQ? TALK.ICON.WINDOWS NIL)
-
-(RPAQ? TALK.ANSWER.WAIT 15)
-
-(RPAQ? TALK.READTABLE (COPYREADTABLE 'ORIG))
-
-(RPAQ? TALK.DEFAULT.REGION (CREATEREGION 0 0 500 500))
-
-(RPAQ? TALK.CLOSED.STRING " -- Connection Closed")
-
-(RPAQ? TALK.ICON.FONT LITTLEFONT)
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(GLOBALVARS TALK.MENU.ITEMS TALK.USER.MESSAGES TALK.SERVICETYPES TALK.PROTOCOLTYPES TALK.GAG 
-       TALK.HOSTNAMES TALK.ICON.WINDOWS TALK.ANSWER.WAIT TALK.READTABLE TALK.DEFAULT.REGION 
-       TALK.CLOSED.STRING TALK.ICON.FONT)
-)
-
-(ADDTOVAR BackgroundMenuCommands (Talk '(PRINTOUT PROMPTWINDOW T (TALK)
-                                                   T)
-                                           "Start a TALK session with another user/host."))
-
-(RPAQQ BackgroundMenu NIL)
-
-(APPENDTOVAR BACKGROUNDFNS TALK.START.SERVER)
-
-(APPENDTOVAR AFTERMAKESYSFORMS (TALK.START.SERVER NIL T))
-
-(RPAQQ TALK.ICON.BITMAP #*(80 78)OOOOOOOOOOOOOOOOOOOOLAIKKGHHDBNOOOOOOOOOOGFKJOKKEJDMOOOOOOOOOG@KHOHHEJJOOOOOOOOOOGFKJOKJMJNMOOOOOOOOOGFHKGKKDBNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AOOOOOOOOOOOOOOOOOOOOLAKGDGOOOOOOOOOOOOOOOGKBENOOOOOOOOOOOOOOOGKEDGOOOOOOOOOOOOOOOGKGENOOOOOOOOOOOOOOOGKGDGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AOOOOOOOOOOOOOOOOOOOOMM@HLGOOOOOOOOOOOOOOLIFKENOOOOOOOOOOOOOOMEFKDGOOOOOOOOOOOOOOMMFKENOOOOOOOOOOOOOOMM@HLGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AH@@@@@@@@@@@@@@@@@@AOOOOOOOOOOOOOOOOOOOO
-)
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(GLOBALVARS TALK.ICON.BITMAP)
-)
-
-(SETSYNTAX (CHARCODE SPACE)
-       (CHARCODE A)
-       TALK.READTABLE)
-(PUTPROPS TALK COPYRIGHT ("Stanford University" 1987 1988))
-(DECLARE%: DONTCOPY
-  (FILEMAP (NIL (2377 6659 (TALK 2387 . 6657)) (6660 31221 (TALK.RECONNECT 6670 . 10485) (TALK.PROCESS 
-10487 . 11403) (TALK.DISPLAY 11405 . 14118) (TALK.LISTEN 14120 . 15633) (TALK.CLOSEFN 15635 . 16150) (
-TALK.ANSWER 16152 . 18935) (TALK.ANSWER.WINDOW 18937 . 21688) (TALK.ANSWER.USERNAME 21690 . 23092) (
-TALK.GET.NAME 23094 . 25712) (TALK.ADD.NAME 25714 . 27266) (TALK.FLASH.CARET 27268 . 28866) (
-TALK.WHENSELECTEDFN 28868 . 29649) (TALK.RINGBELLS 29651 . 30143) (TALK.START.SERVER 30145 . 31219)) (
-31222 32752 (TALK.ICON.BUTTONEVENTFN 31232 . 32451) (TALK.ICON.CLOSEFN 32453 . 32750)))))
-STOP
diff --git a/lispusers/talk/TALK b/lispusers/talk/TALK
new file mode 100644
index 00000000..e75b0bc3
Binary files /dev/null and b/lispusers/talk/TALK differ
diff --git a/lispusers/talk/TALK-GAP b/lispusers/talk/TALK-GAP
new file mode 100644
index 00000000..7b579f48
Binary files /dev/null and b/lispusers/talk/TALK-GAP differ
diff --git a/lispusers/talk/TALK-IP b/lispusers/talk/TALK-IP
new file mode 100644
index 00000000..c07c527a
Binary files /dev/null and b/lispusers/talk/TALK-IP differ
diff --git a/lispusers/talk/TALK-NS b/lispusers/talk/TALK-NS
new file mode 100644
index 00000000..44056bde
Binary files /dev/null and b/lispusers/talk/TALK-NS differ
diff --git a/lispusers/talk/TALK-NSGAP b/lispusers/talk/TALK-NSGAP
new file mode 100644
index 00000000..382eba67
Binary files /dev/null and b/lispusers/talk/TALK-NSGAP differ
diff --git a/lispusers/talk/TALK-SKETCH b/lispusers/talk/TALK-SKETCH
new file mode 100644
index 00000000..11970645
Binary files /dev/null and b/lispusers/talk/TALK-SKETCH differ
diff --git a/lispusers/talk/TALK-TEDIT b/lispusers/talk/TALK-TEDIT
new file mode 100644
index 00000000..4fa5a5b7
Binary files /dev/null and b/lispusers/talk/TALK-TEDIT differ
diff --git a/lispusers/talk/TALK-TTY b/lispusers/talk/TALK-TTY
new file mode 100644
index 00000000..0132acd8
Binary files /dev/null and b/lispusers/talk/TALK-TTY differ
diff --git a/lispusers/talk/TALK.TEDIT b/lispusers/talk/TALK.TEDIT
new file mode 100644
index 00000000..06caea57
Binary files /dev/null and b/lispusers/talk/TALK.TEDIT differ
diff --git a/obsolete/lispusers/IPTALK b/obsolete/lispusers/IPTALK
deleted file mode 100644
index c95289e3..00000000
--- a/obsolete/lispusers/IPTALK
+++ /dev/null
@@ -1,240 +0,0 @@
-(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
-(FILECREATED "22-Jul-88 14:16:28" |{MCS:MCS:STANFORD}<LANE>IPTALK.;1| 12755  )
-
-
-(PRETTYCOMPRINT IPTALKCOMS)
-
-(RPAQQ IPTALKCOMS ((* TALK (Interim)
-                          IP Interface)
-                       (LOCALVARS . T)
-                       (FNS TALK.IP.SERVER)
-                       (FNS TALK.IP.USERNAME TALK.IP.CONNECT TALK.IP.EVENT TALK.START.IP.SERVER)
-                       (INITVARS (TALK.UDP.PORT 517))
-                       (GLOBALVARS TALK.UDP.PORT TALK.IP.CONSTANTS)
-                       (DECLARE%: DONTCOPY (RECORDS TALK.IP.PACKET)
-                              (CONSTANTS * TALK.IP.CONSTANTS))
-                       (* etc)
-                       (FILES TALK TCP TCPUDP)
-                       (APPENDVARS (TALK.PROTOCOLTYPES (IP DODIP.HOSTP TALK.IP.USERNAME 
-                                                           TALK.IP.CONNECT TALK.IP.EVENT 
-                                                           TALK.START.IP.SERVER)))
-                       (DECLARE%: DONTCOPY DONTEVAL@LOAD EVAL@COMPILE (FILES ETHERRECORDS TCPEXPORTS)
-                              )
-                       (P (TALK.START.IP.SERVER))))
-
-
-
-(* TALK (Interim) IP Interface)
-
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(LOCALVARS . T)
-)
-(DEFINEQ
-
-(TALK.IP.SERVER
-  [LAMBDA NIL                                            (* ; "Edited 17-Jun-88 13:45 by cdl")
-    (DECLARE (GLOBALVARS \IP.READY))
-    (LET (SOCKET)
-         (DECLARE (SPECVARS SOCKET))
-         (RESETLST
-             [RESETSAVE NIL `(UDP.CLOSE.SOCKET ,(SETQ SOCKET (UDP.OPEN.SOCKET TALK.UDP.PORT]
-             [bind PACKET RESPONSE SERVICE GAP.SERVICETYPE TALK.SERVICETYPE INPUTSTREAM 
-                    OUTPUTSTREAM PORT USER while \IP.READY
-                do (SETQ PACKET (UDP.GET SOCKET T))
-                      (UDP.SETUP (SETQ RESPONSE (\ALLOCATE.ETHERPACKET))
-                             (with IP PACKET IPSOURCEADDRESS)
-                             (with UDP PACKET UDPSOURCEPORT)
-                             0 SOCKET 'FREE)
-                      (UDP.APPEND.BYTE RESPONSE (with TALK.IP.PACKET PACKET TALK.SERVICE.BYTE))
-                      (if [OR [NULL (if (SETQ GAP.SERVICETYPE (ASSOC (with TALK.IP.PACKET
-                                                                                    PACKET 
-                                                                                    TALK.SERVICE.BYTE
-                                                                                    )
-                                                                             GAP.SERVICETYPES))
-                                            then (SETQ SERVICE (with GAP.SERVICETYPE 
-                                                                          GAP.SERVICETYPE 
-                                                                          GAP.SERVICENAME]
-                                  (NULL (SETQ TALK.SERVICETYPE (ASSOC SERVICE TALK.SERVICETYPES]
-                          then (UDP.APPEND.BYTE RESPONSE \IPTALK.NOSERVICE)
-                                (UDP.SEND SOCKET RESPONSE)
-                        elseif [OR TALK.GAG (NOT (TALK.ANSWER (SETQ USER (with TALK.IP.PACKET
-                                                                                    PACKET 
-                                                                                    TALK.IP.USERNAME)
-                                                                   )
-                                                            SERVICE
-                                                            'IP
-                                                            (with IP PACKET IPSOURCEADDRESS]
-                          then (UDP.APPEND.BYTE RESPONSE \IPTALK.NOANSWER)
-                                (UDP.SEND SOCKET RESPONSE)
-                        else (UDP.APPEND.BYTE RESPONSE \IPTALK.SUCCESS)
-                              (UDP.APPEND.WORD RESPONSE (SETQ PORT (\TCP.SELECT.PORT)))
-                              (UDP.SEND SOCKET RESPONSE)
-                              (if (SETQ INPUTSTREAM (TCP.OPEN (with IP PACKET IPSOURCEADDRESS
-                                                                         )
-                                                               NIL PORT 'PASSIVE 'INPUT))
-                                  then (TALK.PROCESS INPUTSTREAM (TCP.OTHER.STREAM INPUTSTREAM)
-                                                  TALK.SERVICETYPE
-                                                  'IP
-                                                  'SERVER USER T])])
-)
-(DEFINEQ
-
-(TALK.IP.USERNAME
-  [LAMBDA (INPUTSTREAM OUTPUTSTREAM SERVICETYPE MODE USER)
-                                                             (* ; "Edited  8-Jun-88 15:45 by cdl")
-    (SELECTQ (with TALK.SERVICETYPE SERVICETYPE TALK.SERVICENAME)
-        ((TTY Sketch)                                        (* For (backward) compatibility)
-             USER)
-        (LET ((NAME (USERNAME)))
-             (PRINTOUT OUTPUTSTREAM (if (NOT (STREQUAL NAME (CONSTANT null)))
-                                        then NAME)
-                    T)
-             (FORCEOUTPUT OUTPUTSTREAM)
-             (SETQ NAME (RATOM INPUTSTREAM TALK.READTABLE))  (* Eat EOL)
-             (BIN INPUTSTREAM)
-             (OR NAME USER])
-
-(TALK.IP.CONNECT
-  [LAMBDA (HOST SERVICETYPES)                            (* ; "Edited 13-Jun-88 17:54 by cdl")
-    (DECLARE (SPECVARS HOST SERVICETYPES))
-    (LET
-     (SOCKET)
-     (DECLARE (SPECVARS SOCKET))
-     (RESETLST
-         [RESETSAVE NIL `(UDP.CLOSE.SOCKET ,(SETQ SOCKET (UDP.OPEN.SOCKET]
-         [PROG (NAME REQUEST RESPONSE INPUTSTREAM RESULT)
-               (while (STREQUAL (SETQ NAME (USERNAME))
-                                 (CONSTANT null)) do (LOGIN))
-               (if
-                [LITATOM
-                 (SETQ RESULT
-                  (for SERVICETYPE in SERVICETYPES
-                     thereis (PROGN (UDP.SETUP (SETQ REQUEST (\ALLOCATE.ETHERPACKET))
-                                               HOST TALK.UDP.PORT 0 SOCKET 'FREE)
-                                        (UDP.APPEND.BYTE
-                                         REQUEST
-                                         (with GAP.SERVICETYPE
-                                                [for GAP.SERVICETYPE in GAP.SERVICETYPES
-                                                   thereis (with GAP.SERVICETYPE 
-                                                                      GAP.SERVICETYPE
-                                                                      (with TALK.SERVICETYPE 
-                                                                             SERVICETYPE
-                                                                             (EQ GAP.SERVICENAME 
-                                                                                 TALK.SERVICENAME]
-                                                GAP.UNSPECIFIED))
-                                        (UDP.APPEND.BYTE REQUEST 0)
-                                        (UDP.APPEND.WORD REQUEST 0)
-                                        (UDP.APPEND.WORD REQUEST (NCHARS NAME))
-                                        (UDP.APPEND.STRING REQUEST NAME)
-                                        (if [SETQ RESPONSE
-                                                 (UDP.EXCHANGE SOCKET REQUEST
-                                                        (TIMES TALK.ANSWER.WAIT
-                                                               (CONSTANT (PROGN 
-                                                             (* Convert to milliseconds and 
-                                                           double in case they are idle)
-                                                                                (TIMES 2 1000]
-                                            then (SELECT (with TALK.IP.PACKET RESPONSE 
-                                                                    TALK.STATUS)
-                                                            (\IPTALK.SUCCESS T)
-                                                            (\IPTALK.NOSERVICE NIL)
-                                                            (\IPTALK.NOANSWER (RETURN 'ANSWER))
-                                                            (RETURN 'CONNECT))
-                                          else           (* Can't connect)
-                                                (RETURN 'CONNECT]
-                   then (RETURN RESULT)
-                 else (if (STREAMP (SETQ INPUTSTREAM (TCP.OPEN HOST (with TALK.IP.PACKET
-                                                                                   RESPONSE 
-                                                                                   TALK.TEDIT.PORT)
-                                                                    NIL
-                                                                    'ACTIVE
-                                                                    'INPUT T)))
-                              then [RETURN (CONS RESULT (CONS INPUTSTREAM (TCP.OTHER.STREAM
-                                                                               INPUTSTREAM]
-                            else (RETURN 'CONNECT])])
-
-(TALK.IP.EVENT
-  [LAMBDA (INPUTSTREAM OUTPUTSTREAM)                     (* cdl "18-May-87 16:29")
-    (while (AND (OPENP INPUTSTREAM)
-                    (OPENP OUTPUTSTREAM)
-                    (NOT (READP INPUTSTREAM))) do (if (EOFP INPUTSTREAM)
-                                                          then (CLOSEF? INPUTSTREAM))
-                                                     (BLOCK])
-
-(TALK.START.IP.SERVER
-  [LAMBDA (RESTART)                                      (* ; "Edited 17-Jun-88 12:20 by cdl")
-    [LET [(DEVICE (\GETDEVICEFROMNAME 'TCP 'NOERROR 'DONTCREATE]
-         (if DEVICE
-             then                                        (* (Temporary) patch to make TCP 
-                                                           streams handle NS character codes)
-                   (with FDEV DEVICE (if (NULL READCHARCODE)
-                                             then (SETQ READCHARCODE (FUNCTION \GENERIC.READCCODE
-                                                                          ]
-    (bind PROCESS while (AND (SETQ PROCESS (FIND.PROCESS 'TALK.IP.SERVER))
-                                     RESTART) do (DEL.PROCESS PROCESS)
-                                                    (BLOCK)
-       yield (if PROCESS
-                     then PROCESS
-                   elseif \IP.READY
-                     then (ADD.PROCESS '(TALK.IP.SERVER)
-                                     'RESTARTABLE
-                                     'SYSTEM])
-)
-
-(RPAQ? TALK.UDP.PORT 517)
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(GLOBALVARS TALK.UDP.PORT TALK.IP.CONSTANTS)
-)
-(DECLARE%: DONTCOPY 
-(DECLARE%: EVAL@COMPILE
-
-(ACCESSFNS TALK.IP.PACKET [(TALK.PACKET.BASE (with UDP DATUM UDPCONTENTS))
-                               (TALK.IP.USERNAME (\GETBASESTRING (with UDP DATUM UDPCONTENTS)
-                                                        6
-                                                        (with TALK.IP.PACKET DATUM 
-                                                               TALK.USERNAME.LENGTH]
-                              (BLOCKRECORD TALK.PACKET.BASE ((TALK.SERVICE.BYTE BYTE)
-                                                             (TALK.STATUS BYTE)
-                                                             (TALK.TEDIT.PORT WORD)
-                                                             (TALK.USERNAME.LENGTH WORD))))
-)
-
-
-(RPAQQ TALK.IP.CONSTANTS ((\IPTALK.SUCCESS 0)
-                              (\IPTALK.NOSERVICE 1)
-                              (\IPTALK.NOANSWER 2)))
-(DECLARE%: EVAL@COMPILE 
-
-(RPAQQ \IPTALK.SUCCESS 0)
-
-(RPAQQ \IPTALK.NOSERVICE 1)
-
-(RPAQQ \IPTALK.NOANSWER 2)
-
-
-(CONSTANTS (\IPTALK.SUCCESS 0)
-       (\IPTALK.NOSERVICE 1)
-       (\IPTALK.NOANSWER 2))
-)
-)
-
-
-
-(* etc)
-
-
-(FILESLOAD TALK TCP TCPUDP)
-
-(APPENDTOVAR TALK.PROTOCOLTYPES (IP DODIP.HOSTP TALK.IP.USERNAME TALK.IP.CONNECT TALK.IP.EVENT 
-                                        TALK.START.IP.SERVER))
-(DECLARE%: DONTCOPY DONTEVAL@LOAD EVAL@COMPILE 
-
-(FILESLOAD ETHERRECORDS TCPEXPORTS)
-)
-
-(TALK.START.IP.SERVER)
-(DECLARE%: DONTCOPY
-  (FILEMAP (NIL (1313 4720 (TALK.IP.SERVER 1323 . 4718)) (4721 11119 (TALK.IP.USERNAME 4731 . 5475) (
-TALK.IP.CONNECT 5477 . 9538) (TALK.IP.EVENT 9540 . 9963) (TALK.START.IP.SERVER 9965 . 11117)))))
-STOP
diff --git a/obsolete/lispusers/NSTALK b/obsolete/lispusers/NSTALK
deleted file mode 100644
index fbda9c18..00000000
--- a/obsolete/lispusers/NSTALK
+++ /dev/null
@@ -1,319 +0,0 @@
-(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
-(FILECREATED "27-Jul-88 09:09:52" |{MCS:MCS:STANFORD}<LANE>NSTALK.;3| 16112  
-
-      changes to%:  (FNS DEFINE.GAP.SERVER)
-
-      previous date%: "16-Jun-88 17:33:04" |{MCS:MCS:STANFORD}<LANE>NSTALK.;1|)
-
-
-(PRETTYCOMPRINT NSTALKCOMS)
-
-(RPAQQ NSTALKCOMS ((* TALK NS (GAP)
-                          Interface)
-                       (LOCALVARS . T)
-                       (FNS CH.USER.WORKSTATION TALK.NS.SERVER)
-                       (FNS TALK.NS.USERNAME TALK.NS.CONNECT TALK.NS.EVENT TALK.NS.CREDENTIALS)
-                       (* GAP Server)
-                       (FNS GAP.SERVER DEFINE.GAP.SERVER)
-                       (INITVARS GAP.SERVICETYPES [TALK.GAP.HANDLE '((0 0]
-                              (TALK.GAP.UNKNOWN "(Viewpoint or XDE User)"))
-                       (VARS TALK.GAP.PARAMETERS TALK.GAP.TRANSPORT)
-                       (GLOBALVARS GAP.SERVICETYPES TALK.GAP.HANDLE TALK.GAP.UNKNOWN 
-                              TALK.GAP.PARAMETERS TALK.GAP.TRANSPORT)
-                       (DECLARE%: DONTCOPY (RECORDS GAP.SERVICETYPE))
-                       (* etc)
-                       (FILES TALK COURIERSERVE)
-                       (APPENDVARS (TALK.PROTOCOLTYPES (NS COERCE-TO-NSADDRESS TALK.NS.USERNAME 
-                                                           TALK.NS.CONNECT TALK.NS.EVENT 
-                                                           COURIER.START.SERVER)))
-                       [DECLARE%: DOCOPY (COMS (DECLARE%: EVAL@LOADWHEN (NOT (HASDEF 'GAP
-                                                                                    'COURIERPROGRAM))
-                                                      (FILES NSTALKGAP]
-                       (* DECLARE%: DONTCOPY DONTEVAL@LOAD EVAL@COMPILE (FILES ETHERRECORDS SPPDECLS)
-                          (* Also need to load EXPORTS.ALL))
-                       (* COURIER.RESET.SOCKET used to be defined by TALK, now defined in 
-                          COURIERSERVE module)
-                       (APPENDVARS (BEFORELOGOUTFORMS (COURIER.RESET.SOCKET)))
-                       (P (DEFINE.GAP.SERVER)
-                          (COURIER.START.SERVER))))
-
-
-
-(* TALK NS (GAP) Interface)
-
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(LOCALVARS . T)
-)
-(DEFINEQ
-
-(CH.USER.WORKSTATION
-  [LAMBDA (USER WORKSTATION)                             (* ; "Edited  3-Jun-88 09:18 by cdl")
-    (if WORKSTATION
-        then (LET (NSADDRESS)
-                      (if (SETQ NSADDRESS (COERCE-TO-NSADDRESS WORKSTATION (ZERO)))
-                          then (CH.DELETE.PROPERTY USER 'ADDRESS.LIST)
-                                (CH.ADD.ITEM.PROPERTY USER 'ADDRESS.LIST (SETQ NSADDRESS (CONS 
-                                                                                            NSADDRESS
-                                                                                               ))
-                                       '(SEQUENCE NSADDRESS))
-                                (CONS USER NSADDRESS)
-                        else (ERROR WORKSTATION "Address for host not found!")))
-      else (CH.DELETE.PROPERTY USER 'ADDRESS.LIST])
-
-(TALK.NS.SERVER
-  [LAMBDA (INPUTSTREAM PROGRAM PROCEDURE PARAMETERS TRANSPORT WAITTIME CREDENTIALS VERIFIER)
-                                                             (* ; "Edited 15-Jun-88 11:10 by cdl")
-                                                             (* DECLARATIONS%: (ASSOCRECORD ALST
-                                                           (service)))
-    (LET ((USER (TALK.NS.CREDENTIALS CREDENTIALS))
-          (ADDRESS (create NSADDRESS
-                          NSSOCKET _ (ZERO) using (SPP.DESTADDRESS INPUTSTREAM)))
-          SERVICETYPE)
-         (with GAP.SERVICETYPE [for SERVICETYPE in GAP.SERVICETYPES
-                                      thereis (for NUMBER
-                                                     in (CAR (with ALST TRANSPORT service))
-                                                     thereis (with GAP.SERVICETYPE 
-                                                                        SERVICETYPE (EQP NUMBER 
-                                                                                      GAP.UNSPECIFIED
-                                                                                         ]
-                (if (OR TALK.GAG (NOT (TALK.ANSWER (OR USER TALK.GAP.UNKNOWN)
-                                                 GAP.SERVICENAME
-                                                 'NS ADDRESS)))
-                    then (if (AND (EQ GAP.SERVICENAME 'TTY)
-                                          (NULL VERIFIER))
-                                 then 
-
-         (* Should be noAnswerOrBusy, but that 915's XDE/Viewpoint so use VERIFIER to 
-       determine if called by Lisp, can't count on this for future)
-
-                                       '(ABORT serviceNotFound)
-                               else '(ABORT noAnswerOrBusy))
-                  else (COURIER.RETURN INPUTSTREAM PROGRAM PROCEDURE TALK.GAP.HANDLE)
-                        (TALK.PROCESS INPUTSTREAM (SPPOUTPUTSTREAM INPUTSTREAM)
-                               GAP.SERVICENAME
-                               'NS
-                               'SERVER USER])
-)
-(DEFINEQ
-
-(TALK.NS.USERNAME
-  [LAMBDA (INPUTSTREAM OUTPUTSTREAM SERVICETYPE MODE USER)
-                                                             (* ; "Edited  9-Jun-88 12:42 by cdl")
-    (LET (OBJECT NAME (SERVICE (with TALK.SERVICETYPE SERVICETYPE TALK.SERVICENAME)))
-         (DECLARE (GLOBALVARS LOCAL.CLEARINGHOUSE CH.NET.HINT))
-         (if (OR (EQ SERVICE 'TEdit)
-                     (EQ MODE 'CLIENT))
-             then (if (STREQUAL (SETQ NAME (USERNAME))
-                                     (CONSTANT null))
-                          then (SETQ NAME NIL)
-                        elseif (OR LOCAL.CLEARINGHOUSE CH.NET.HINT)
-                          then (if (SETQ OBJECT (CH.LOOKUP.OBJECT NAME))
-                                       then (SETQ NAME OBJECT)))
-                   (PRINTOUT OUTPUTSTREAM NAME T)
-                   (FORCEOUTPUT OUTPUTSTREAM))
-         (if (OR (EQ SERVICE 'TEdit)
-                     (EQ MODE 'SERVER))
-             then (if (SETQ OBJECT (RATOM INPUTSTREAM TALK.READTABLE))
-                          then (SETQ USER OBJECT))       (* Eat EOL)
-                   (BIN INPUTSTREAM))
-         (SELECTQ SERVICE
-             (TTY (with SPPCON (with SPPSTREAM OUTPUTSTREAM SPP.CONNECTION)
-                         (SETQ SPPEOMONFORCEOUT T)))
-             NIL)
-         USER])
-
-(TALK.NS.CONNECT
-  [LAMBDA (HOST SERVICETYPES)                            (* ; "Edited 15-Jun-88 10:40 by cdl")
-                                                             (* DECLARATIONS%: (RECORD 
-                                                           AUTHENTICATOR (CREDENTIALS VERIFIER)))
-    (PROG (USER STREAM SERVICETYPE RESULT (CREDENTIALS (with AUTHENTICATOR (CH.GETAUTHENTICATOR
-                                                                                T)
-                                                              CREDENTIALS))
-                (VERIFIER (with AUTHENTICATOR (CH.GETAUTHENTICATOR)
-                                 VERIFIER)))
-          (DECLARE (GLOBALVARS SPP.USER.TIMEOUT))
-          (if (SETQ STREAM (COURIER.OPEN HOST NIL T (PACK* 'TALK# HOST)))
-              then
-              (if
-               (SETQ SERVICETYPE
-                (for SERVICETYPE in SERVICETYPES
-                   thereis
-                   (SELECTQ [CAR
-                             (SETQ RESULT
-                              (COURIER.CALL
-                               STREAM
-                               'GAP
-                               'Create TALK.GAP.PARAMETERS
-                               `([service (,(with GAP.SERVICETYPE
-                                                   [for TYPE in GAP.SERVICETYPES
-                                                      thereis (with GAP.SERVICETYPE TYPE
-                                                                         (with TALK.SERVICETYPE 
-                                                                                SERVICETYPE
-                                                                                (EQ GAP.SERVICENAME 
-                                                                                    TALK.SERVICENAME]
-                                                   GAP.UNSPECIFIED]
-                                 ,@TALK.GAP.TRANSPORT)
-                               SPP.USER.TIMEOUT CREDENTIALS VERIFIER 'RETURNERRORS]
-                       (ERROR (SELECTQ (CADR RESULT)
-                                  (noAnswerOrBusy            (* User hung up or didn't answer, 
-                                                           don't try another service)
-                                       (RETURN))
-                                  (serviceNotFound 
-
-         (* Old Lisp TTY service returns this when it really means noAnswerOrBusy for 
-       compatibility with Tajo/Viewpoint.)
-
-                                       (if (with TALK.SERVICETYPE SERVICETYPE
-                                                      (EQ TALK.SERVICENAME 'TTY))
-                                           then 
-
-         (* Don't try services following TTY service for NS we don't know if remote 
-       service wasn't there or remote user refused connection so we may annoy the 
-       remote user, of course we may miss a possible connection)
-
-                                                 (RETURN)))
-                                  NIL))
-                       RESULT)))
-                  then [RETURN (CONS SERVICETYPE (CONS STREAM (SPPOUTPUTSTREAM STREAM]
-                else (CLOSEF? STREAM)
-                      (RETURN 'ANSWER))
-            else (RETURN 'CONNECT])
-
-(TALK.NS.EVENT
-  [LAMBDA (INPUTSTREAM OUTPUTSTREAM)                     (* cdl "10-Jun-87 07:55")
-    (if (AND (OPENP INPUTSTREAM)
-                 (OPENP OUTPUTSTREAM)
-                 (NOT (READP INPUTSTREAM)))
-        then (AWAIT.EVENT (with SPPCON (with SPPSTREAM INPUTSTREAM SPP.CONNECTION)
-                                     SPPINPUTEVENT)))
-    (if (OPENP INPUTSTREAM)
-        then (SELECTQ (EOFP INPUTSTREAM)
-                     (ATTENTION (SPP.CLEARATTENTION INPUTSTREAM)
-                                (BIN INPUTSTREAM))
-                     (EOM (SPP.CLEAREOM INPUTSTREAM))
-                     (T (CLOSEF INPUTSTREAM))
-                     NIL])
-
-(TALK.NS.CREDENTIALS
-  [LAMBDA (CREDENTIALS)                                  (* cdl " 6-May-87 15:58")
-    (if (AND CREDENTIALS (SETQ CREDENTIALS (CADR CREDENTIALS)))
-        then (SUBATOM (COURIER.READ.REP CREDENTIALS 'CLEARINGHOUSE 'NAME)
-                        1 -2])
-)
-
-
-
-(* GAP Server)
-
-(DEFINEQ
-
-(GAP.SERVER
-  [LAMBDA (STREAM PROGRAM PROCEDURE PARAMETERS TRANSPORT WAITTIME CREDENTIALS VERIFIER)
-                                                             (* ; "Edited  9-Jun-88 12:06 by cdl")
-                                                             (* DECLARATIONS%: (ASSOCRECORD ALST
-                                                           (service)))
-    (LET (SERVICETYPE)
-         (if [OR [for NUMBER in (CAR (with ALST TRANSPORT service))
-                        thereis (SETQ SERVICETYPE (for SERVICETYPE in GAP.SERVICETYPES
-                                                         thereis (with GAP.SERVICETYPE 
-                                                                            SERVICETYPE
-                                                                            (AND (EQP NUMBER 
-                                                                                      GAP.UNSPECIFIED
-                                                                                      )
-                                                                                 GAP.SERVERFN]
-                     (AND (SETQ SERVICETYPE (ASSOC T GAP.SERVICETYPES))
-                          (with GAP.SERVICETYPE SERVICETYPE 
-                                                             (* There was a server in place 
-                                                           before TALK was loaded)
-                                 (FGETD GAP.SERVERFN]
-             then (APPLY* (with GAP.SERVICETYPE SERVICETYPE GAP.SERVERFN)
-                             STREAM PROGRAM PROCEDURE PARAMETERS TRANSPORT WAITTIME CREDENTIALS 
-                             VERIFIER)
-           else '(ABORT serviceNotFound])
-
-(DEFINE.GAP.SERVER
-  [LAMBDA NIL                                            (* ; "Edited 27-Jul-88 09:08 by cdl")
-                                                             (* DECLARATIONS%: (ASSOCRECORD 
-                                                           PROCEDURES (Create))
-                                                           (PROPRECORD PROCEDURE
-                                                           (IMPLEMENTEDBY)))
-    (if (HASDEF 'GAP 'COURIERPROGRAM)
-        then (PROG [SERVERFN PROCEDURE (COURIERDEF (GETDEF 'GAP 'COURIERPROGRAM]
-                       [with COURIERPGM COURIERDEF (SETQ PROCEDURE (with PROCEDURES 
-                                                                              PROCEDURES Create))
-                              [if (SETQ SERVERFN (with PROCEDURE PROCEDURE IMPLEMENTEDBY))
-                                  then (if (EQ SERVERFN 'GAP.SERVER)
-                                               then (RETURN)) 
-                                                             (* Make the existing GAP server the 
-                                                           default)
-                                        (if GAP.SERVICETYPES
-                                            then (PUTASSOC T `(DEFAULT ,SERVERFN)
-                                                            GAP.SERVICETYPES)
-                                          else (push GAP.SERVICETYPES
-                                                          `(T DEFAULT ,SERVERFN]
-                              (with PROCEDURE PROCEDURE (SETQ IMPLEMENTEDBY 'GAP.SERVER]
-                       (PUTDEF 'GAP 'COURIERPROGRAM COURIERDEF)
-                       (UNMARKASCHANGED 'GAP 'COURIERPROGRAM))
-      else (ERROR "Courier program GAP not defined!"])
-)
-
-(RPAQ? GAP.SERVICETYPES NIL)
-
-(RPAQ? TALK.GAP.HANDLE '((0 0)))
-
-(RPAQ? TALK.GAP.UNKNOWN "(Viewpoint or XDE User)")
-
-(RPAQQ TALK.GAP.PARAMETERS (ttyHost (seven even two 100 (none 0 0))))
-
-(RPAQQ TALK.GAP.TRANSPORT ((teletype)))
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(GLOBALVARS GAP.SERVICETYPES TALK.GAP.HANDLE TALK.GAP.UNKNOWN TALK.GAP.PARAMETERS TALK.GAP.TRANSPORT)
-)
-(DECLARE%: DONTCOPY 
-(DECLARE%: EVAL@COMPILE
-
-(RECORD GAP.SERVICETYPE (GAP.UNSPECIFIED GAP.SERVICENAME GAP.SERVERFN))
-)
-)
-
-
-
-(* etc)
-
-
-(FILESLOAD TALK COURIERSERVE)
-
-(APPENDTOVAR TALK.PROTOCOLTYPES (NS COERCE-TO-NSADDRESS TALK.NS.USERNAME TALK.NS.CONNECT 
-                                        TALK.NS.EVENT COURIER.START.SERVER))
-(DECLARE%: DOCOPY 
-(DECLARE%: EVAL@LOADWHEN 
-(NOT (HASDEF 'GAP 'COURIERPROGRAM)) 
-
-(FILESLOAD NSTALKGAP)
-)
-)
-
-
-
-(* DECLARE%: DONTCOPY DONTEVAL@LOAD EVAL@COMPILE (FILES ETHERRECORDS SPPDECLS) (* Also need to load 
-EXPORTS.ALL))
-
-
-
-
-(* COURIER.RESET.SOCKET used to be defined by TALK, now defined in COURIERSERVE module)
-
-
-(APPENDTOVAR BEFORELOGOUTFORMS (COURIER.RESET.SOCKET))
-
-(DEFINE.GAP.SERVER)
-
-(COURIER.START.SERVER)
-(DECLARE%: DONTCOPY
-  (FILEMAP (NIL (2304 5420 (CH.USER.WORKSTATION 2314 . 3215) (TALK.NS.SERVER 3217 . 5418)) (5421 11213 (
-TALK.NS.USERNAME 5431 . 6816) (TALK.NS.CONNECT 6818 . 10218) (TALK.NS.EVENT 10220 . 10917) (
-TALK.NS.CREDENTIALS 10919 . 11211)) (11237 14919 (GAP.SERVER 11247 . 13041) (DEFINE.GAP.SERVER 13043
- . 14917)))))
-STOP
diff --git a/obsolete/lispusers/NSTALKGAP b/obsolete/lispusers/NSTALKGAP
deleted file mode 100644
index 3a6c3a05..00000000
--- a/obsolete/lispusers/NSTALKGAP
+++ /dev/null
@@ -1,23 +0,0 @@
-(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
-(FILECREATED "22-Jul-88 15:50:38" |{MCS:MCS:STANFORD}<LANE>NSTALKGAP.;2| 7994   
-
-      changes to%:  (COURIERPROGRAMS GAP) (VARS NSTALKGAPCOMS)
-
-      previous date%: "16-Jun-88 17:40:28" |{MCS:MCS:STANFORD}<LANE>MEDLEYTALK>NSTALKGAP.;3|)
-
-
-(PRETTYCOMPRINT NSTALKGAPCOMS)
-
-(RPAQQ NSTALKGAPCOMS ((COURIERPROGRAMS GAP)))
-
-(COURIERPROGRAM GAP (3 3)
-    TYPES
-      ((WaitTime CARDINAL) (CharLength (ENUMERATION (five 0) (six 1) (seven 2) (eight 3))) (Parity (ENUMERATION (none 0) (odd 1) (even 2) (one 3) (zero 4))) (StopBits (ENUMERATION (one 0) (two 1))) (FlowControl (RECORD (type (ENUMERATION (none 0) (xOnXOff 1))) (xOn UNSPECIFIED) (xOff UNSPECIFIED))) (SessionHandle (ARRAY 2 UNSPECIFIED)) (SessionParameterObject (CHOICE (xerox800 0 NIL) (xerox850 1 UNSPECIFIED) (xerox860 2 UNSPECIFIED) (system6 3 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (cmcll 4 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm2770 5 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm2770Host 6 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm6670 7 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm6670Host 8 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm3270 9 NIL) (ibm3270Host 10 NIL) (OldTtyHost 11 (RECORD (charLength CharLength) (parity Parity) (stopBits StopBits) (frameTimeout CARDINAL))) (OldTty 12 (RECORD (charLength CharLength) (parity Parity) (stopBits StopBits) (frameTimeout CARDINAL))) (other 13 NIL) (unknown 14 NIL) (ibm2780 15 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm2780Host 16 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm3780 17 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (ibm3780Host 18 (RECORD (sendBlockSize CARDINAL) (receiveBlockSize CARDINAL))) (siemens9750 19 NIL) (siemens9750Host 20 NIL) (ttyHost 21 (RECORD (charLength CharLength) (parity Parity) (stopBits StopBits) (frameTimeout CARDINAL) (flowControl FlowControl))) (tty 22 (RECORD (charLength CharLength) (parity Parity) (stopBits StopBits) (frameTimeout CARDINAL) (flowControl FlowControl))))) (TransportObject (CHOICE (rs232c 0 (RECORD (CommParams CommParamObject) (preemptOthers ReserveType) (preemptMe ReserveType) (phoneNumber STRING) (line (CHOICE (alreadyReserved 0 (RECORD (resource Resource))) (reserveNeeded 1 (RECORD (lineNumber CARDINAL))))))) (bsc 1 (RECORD (localTerminalID STRING) (localSecurityID STRING) (lineControl LineControl) (authenticateProc UNSPECIFIED))) (teletype 2 NIL) (polledBSCController 3 (RECORD (hostControllerName STRING) (controllerAddress ControllerAddress) (portsOnController CARDINAL))) (sdlcController 4 (RECORD (hostControllerName STRING) (controllerAddress ControllerAddress) (portsOnController CARDINAL))) (polledBSCTerminal 5 (RECORD (hostControllerName STRING) (terminalAddress TerminalAddress))) (sdlcTerminal 6 (RECORD (hostControllerName STRING) (terminalAddress TerminalAddress))) (service 7 (RECORD (id LONGCARDINAL))) (unused 8 NIL) (polledBSCPrinter 9 (RECORD (hostControllerName STRING) (printerAddress TerminalAddress))) (sdlcPrinter 10 (RECORD (hostControllerName STRING) (printerAddress TerminalAddress))))) (Sequence.TransportObject (SEQUENCE TransportObject)) (BidReply (ENUMERATION (wack 0) (nack 1) (default 2))) (ExtendedBoolean (ENUMERATION (true 0) (false 1) (default 2))) (DeviceType (ENUMERATION (undefined 0) (terminal 1) (printer 2))) (AccessDetail (CHOICE (directConn 0 (RECORD (duplex (ENUMERATION (full 0) (half 1))) (lineType LineType) (lineSpeed LineSpeed))) (dialConn 1 (RECORD (duplex (ENUMERATION (full 0) (half 1))) (lineType LineType) (lineSpeed LineSpeed) (dialMode (ENUMERATION (manual 0) (auto 1))) (dialerNumber CARDINAL) (retryCount CARDINAL))))) (CommParamObject (RECORD (accessDetail AccessDetail))) (LineType (ENUMERATION (bitSynchronous 0) (byteSynchronous 1) (asynchronous 2) (autoRecognition 3))) (LineSpeed (ENUMERATION (bps50 0) (bps75 1) (bps110 2) (bps135p5 3) (bps150 4) (bps300 5) (bps600 6) (bps1200 7) (bps2400 8) (bps3600 9) (bps4800 10) (bps7200 11) (bps9600 12) (bps19200 13) (bps28800 14) (bps38400 15) (bps48000 16) (bps56000 17) (bps57600 18))) (LineControl (ENUMERATION (primary 0) (secondary 1))) (ControllerAddress CARDINAL) (TerminalAddress CARDINAL) (credentials (AUTHENTICATION . CREDENTIALS)) (verifier (AUTHENTICATION . VERIFIER)) (Duplexity (ENUMERATION (full 0) (half 1))) (PortClientType (ENUMERATION (unassigned 0) (outOfService 1) (its 2) (irs 3) (gws 4) (ibm3270Host 5) (ttyEmulation 6) (rbs 7) (fax 8) (mailGateway 9) (phototypesetter 10))) (PortDialerType (ENUMERATION (none 0) (vadic 1) (hayes 2) (ventel 3) (rs366 4))) (PortEchoingLocation (ENUMERATION (application 0) (ciu 1) (terminal 2))) (ReserveType (ENUMERATION (preemptNever 0) (preemptAlways 1) (preemptInactive 2))) (RS232CData (RECORD (cIUPort BOOLEAN) (owningClientType PortClientType) (preemptionAllowed BOOLEAN) (lineNumber CARDINAL) (dialerNumber CARDINAL) (duplexity Duplexity) (dialingHardware PortDialerType) (charLength CharLength) (echoing PortEchoingLocation) (flowControl FlowControl) (lineSpeed LineSpeed) (parity Parity) (stopBits StopBits) (portActsAsDCE BOOLEAN) (accessControl NSNAME) (validLineSpeeds (SEQUENCE LineSpeed)))) (RS232CBack (RECORD (owningCIU STRING) (owningECS STRING) (owningClient STRING) (portNumber CARDINAL))) (IBMDeviceType (ENUMERATION (unused 0) (model1 1) (model2 2) (model3 3) (model4 4) (model5 5) (printer 6) (other 7))) (IBM3270Languages (ENUMERATION (USenglish 0) (Austrian 1) (AustrianAlt 2) (German 3) (GermanAlt 4) (Belgian 5) (Brazilian 6) (CanadianFrench 7) (Danish 8) (DanishAlt 9) (Norwegian 10) (NorwegianAlt 11) (Finnish 12) (FinnishAlt 13) (Swedish 14) (SwedishAlt 15) (French 16) (International 17) (Italian 18) (JapaneseEnglish 19) (JapaneseKana 20) (Portuguese 21) (Spanish 22) (SpanishAlt 23) (SpanishSpeaking 24) (UKenglish 25) (unused1 26) (unused2 27) (unused3 28) (unused4 29) (unused5 30) (unused6 31))) (ControllerLinkType (ENUMERATION (sdlc 0) (bsc 1))) (IBM3270Device (RECORD (model IBMDeviceType) (accessControl NSNAME))) (IBM3270Controller (RECORD (controllerAddress CARDINAL) (portsOnController CARDINAL) (linkType ControllerLinkType) (language IBM3270Languages) (devices (SEQUENCE IBM3270Device)))) (IBM3270HostData (SEQUENCE IBM3270Controller)) (IBM3270HostBack (RECORD (path NSNAME))))
-    PROCEDURES
-      ((Reset 0) (Create 2 (SessionParameterObject Sequence.TransportObject WaitTime credentials verifier) RETURNS (SessionHandle) REPORTS (badAddressFormat controllerAlreadyExists controllerDoesNotExist dialingHardwareProblem illegalTransport inconsistentParams mediumConnectFailed noCommunicationHardware noDialingHardware terminalAddressInUse terminalAddressInvalid tooManyGateStreams transmissionMediumUnavailable serviceTooBusy userNotAuthenticated userNotAuthorized serviceNotFound registeredTwice transmissionMediumHardwareProblem transmissionMediumUnavailable transmissionMediumNotReady noAnswerOrBusy noRouteToGAPService gapServiceNotResponding courierProtocolMismatch gapVersionMismatch)))
-    ERRORS
-      ((unimplemented 0) (noCommunicationHardware 1) (illegalTransport 2) (mediumConnectFailed 3) (badAddressFormat 4) (noDialingHardware 5) (dialingHardwareProblem 6) (transmissionMediumUnavailable 7) (inconsistentParams 8) (tooManyGateStreams 9) (bugInGAPCode 10) (gapNotExported 11) (gapCommunicationError 12) (controllerAlreadyExists 13) (controllerDoesNotExist 14) (terminalAddressInUse 15) (terminalAddressInvalid 16) (serviceTooBusy 17) (userNotAuthenticated 18) (userNotAuthorized 19) (serviceNotFound 20) (registeredTwice 21) (transmissionMediumHardwareProblem 22) (transmissionMediumUnavailable 23) (transmissionMediumNotReady 24) (noAnswerOrBusy 25) (noRouteToGAPService 26) (gapServiceNotResponding 27) (courierProtocolMismatch 28) (gapVersionMismatch 29))
-)
-(DECLARE%: DONTCOPY
-  (FILEMAP (NIL)))
-STOP
