TALK files were moved to lispusers/talk/ but never deleted (#2218)
These files were moved to lispusers/talk/ but never deleted
This commit is contained in:
@@ -1,404 +0,0 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
(FILECREATED "22-Jul-88 15:32:46" |{MCS:MCS:STANFORD}<LANE>SKETCHTALK.;26| 20834
|
||||
|
||||
previous date%: "13-Jun-88 16:34:08" |{MCS:MCS:STANFORD}<LANE>SKETCHTALK.;25|)
|
||||
|
||||
|
||||
(* "
|
||||
Copyright (c) 1987, 1988 by Stanford University. All rights reserved.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT SKETCHTALKCOMS)
|
||||
|
||||
(RPAQQ SKETCHTALKCOMS ((* TALK Sketch Service)
|
||||
(LOCALVARS . T)
|
||||
(FNS TALK.SKETCH.DISPLAY TALK.SKETCH.LISTEN)
|
||||
(FNS TALK.SKETCH.FIND.ELEMENT TALK.SKETCH.FIND.SYMBOLS)
|
||||
(* Sketch Viewer Control Properties)
|
||||
(FNS TALK.SKETCH.WHENADDEDFN TALK.SKETCH.WHENCHANGEDFN
|
||||
TALK.SKETCH.WHENDELETEDFN TALK.SKETCH.WHENMOVEDFN
|
||||
TALK.SKETCH.PREMOVEFN)
|
||||
(FNS TALK.SKETCH.WHENGROUPEDFN TALK.SKETCH.WHENUNGROUPEDFN)
|
||||
(VARS TALK.TO.SKETCH.PROPS TALK.SKETCH.REDISPLAY.PROPS)
|
||||
(* TALK Sketch Actions)
|
||||
(FNS TALK.SKETCH.ADD.ELEMENT TALK.SKETCH.CHANGE.ELEMENT
|
||||
TALK.SKETCH.DELETE.ELEMENTS TALK.SKETCH.MOVE.ELEMENTS
|
||||
TALK.SKETCH.POSITION.ELEMENTS)
|
||||
(VARS TALK.SKETCH.ACTIONS)
|
||||
(* TALK Sketch Data)
|
||||
(VARS TALK.SKETCH.DELETE.ITEMS)
|
||||
(INITVARS TALK.SKETCH.TRACK)
|
||||
(GLOBALVARS TALK.SKETCH.ACTIONS TALK.TO.SKETCH.PROPS
|
||||
TALK.SKETCH.REDISPLAY.PROPS TALK.SKETCH.DELETE.ITEMS
|
||||
TALK.SKETCH.TRACK)
|
||||
(* etc)
|
||||
(FILES TALK SKETCH)
|
||||
(APPENDVARS (GAP.SERVICETYPES (7 Sketch TALK.NS.SERVER))
|
||||
(TALK.SERVICETYPES (Sketch TALK.SKETCH.DISPLAY TALK.SKETCH.LISTEN))
|
||||
)
|
||||
(* Sketch Bug Fixes)
|
||||
(FNS TALK.SKETCH.NOP)
|
||||
(P (CHANGENAME '\SK.PUT.FONT 'SK.INSURE.TEXT 'TALK.SKETCH.NOP))
|
||||
(ADVISE BITMAPELT.CHANGEFN SK.IMAGEOBJ.CHANGEFN (TEXTUREP :IN SKFILLINGP))
|
||||
))
|
||||
|
||||
|
||||
|
||||
(* TALK Sketch Service)
|
||||
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(LOCALVARS . T)
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.SKETCH.DISPLAY
|
||||
[LAMBDA (MAINWINDOW WINDOW INPUTSTREAM OUTPUTSTREAM PROTOCOL USER)
|
||||
(* ; "Edited 9-Jun-88 16:36 by cdl")
|
||||
(LET (MENUWINDOW)
|
||||
(SKETCH NIL MAINWINDOW)
|
||||
(SKETCH NIL WINDOW)
|
||||
(DETACHWINDOW (SETQ MENUWINDOW (WINDOWPROP WINDOW 'SKETCHFIXEDMENU NIL)))
|
||||
(CLOSEW MENUWINDOW)
|
||||
(DETACHWINDOW (SETQ MENUWINDOW (WINDOWPROP MAINWINDOW 'SKETCHFIXEDMENU NIL)))
|
||||
(CLOSEW MENUWINDOW)
|
||||
(WINDOWPROP MAINWINDOW 'SKETCHFIXEDMENU (ATTACHMENU
|
||||
(LET ((ITEMS (SKETCH.COMMANDMENU.ITEMS NIL T)))
|
||||
(for KEY in TALK.SKETCH.DELETE.ITEMS
|
||||
do (SETQ ITEMS (DREMOVE (SASSOC KEY
|
||||
ITEMS)
|
||||
ITEMS)))
|
||||
(SKETCH.COMMANDMENU ITEMS))
|
||||
MAINWINDOW
|
||||
'RIGHT
|
||||
'TOP))
|
||||
(WINDOWPROP MAINWINDOW 'SKETCHPOPUPMENU NIL)
|
||||
(WINDOWPROP WINDOW 'SKETCHPOPUPMENU NIL)
|
||||
(for PAIR on TALK.TO.SKETCH.PROPS do (PUTSKETCHPROP MAINWINDOW (CAR PAIR)
|
||||
(CADR PAIR)))
|
||||
(PUTSKETCHPROP MAINWINDOW 'TALK OUTPUTSTREAM) (* Still need to combine the two
|
||||
prompt windows into one)
|
||||
(WINDOWPROP MAINWINDOW 'SCROLLFN NIL)
|
||||
(WINDOWPROP WINDOW 'SCROLLFN NIL)
|
||||
(PUTWINDOWPROP MAINWINDOW 'DONTQUERYCHANGES T)
|
||||
(PUTWINDOWPROP WINDOW 'DONTQUERYCHANGES T)
|
||||
(RPLACA (CDAR (INSURE.SKETCH MAINWINDOW))
|
||||
(CONCAT "Talk with " USER))
|
||||
(WINDOWDELPROP WINDOW 'SHRINKFN 'SK.SHRINK.ICONCREATE)
|
||||
(WINDOWDELPROP WINDOW 'SHRINKFN 'SK.RETURN.TTY)
|
||||
(with REGION (DSPCLIPPINGREGION NIL MAINWINDOW)
|
||||
(SKED.SET.SELECTION (CREATEPOSITION (QUOTIENT WIDTH 2)
|
||||
(QUOTIENT HEIGHT 2))
|
||||
MAINWINDOW))
|
||||
(TTY.PROCESS (WINDOWPROP MAINWINDOW 'PROCESS])
|
||||
|
||||
(TALK.SKETCH.LISTEN
|
||||
[LAMBDA (MAINWINDOW WINDOW INPUTSTREAM OUTPUTSTREAM PROTOCOLTYPE)
|
||||
(* ; "Edited 7-Jun-88 08:46 by cdl")
|
||||
(* DECLARATIONS%: (RECORD EXPR
|
||||
(KEY . ARGUMENTS))
|
||||
(RECORD OPERATION (KEY FUNCTION)))
|
||||
(PROG [OPERATION (EVENTFN (with TALK.PROTOCOLTYPE PROTOCOLTYPE TALK.EVENTFN))
|
||||
(SKETCH (INSURE.SKETCH (MAINWINDOW WINDOW]
|
||||
(DECLARE (GLOBALVARS TALK.CLOSED.STRING))
|
||||
(while (OPENWP WINDOW)
|
||||
do (APPLY* EVENTFN INPUTSTREAM OUTPUTSTREAM)
|
||||
(if (NOT (AND (OPENP INPUTSTREAM)
|
||||
(OPENP OUTPUTSTREAM)))
|
||||
then (RETURN))
|
||||
[SELCHARQ (PEEKCCODE INPUTSTREAM)
|
||||
(^G (TALK.RINGBELLS WINDOW))
|
||||
(with EXPR (HREAD INPUTSTREAM)
|
||||
(if (SETQ OPERATION (ASSOC KEY TALK.SKETCH.ACTIONS))
|
||||
then (with OPERATION OPERATION (APPLY FUNCTION
|
||||
(CONS WINDOW
|
||||
ARGUMENTS)))
|
||||
else (PRINTOUT (GETPROMPTWINDOW MAINWINDOW)
|
||||
"Unknown Sketch Talk operation:" %, KEY]
|
||||
(BIN INPUTSTREAM))
|
||||
(RPLACA (CDAR SKETCH)
|
||||
(CONCAT (CADAR SKETCH)
|
||||
TALK.CLOSED.STRING))
|
||||
(PUTSKETCHPROP MAINWINDOW 'TALK NIL])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.SKETCH.FIND.ELEMENT
|
||||
[LAMBDA (SKETCH SYMBOLS) (* ; "Edited 18-Jun-87 09:21 by cdl")
|
||||
(DECLARE (SPECVARS SYMBOLS))
|
||||
(SKETCH.LIST.OF.ELEMENTS SKETCH (FUNCTION (LAMBDA (ELEMENT)
|
||||
(EQMEMB (GETSKETCHELEMENTPROP ELEMENT 'TALK)
|
||||
SYMBOLS])
|
||||
|
||||
(TALK.SKETCH.FIND.SYMBOLS
|
||||
[LAMBDA (SKETCH ELEMENTS) (* ; "Edited 18-Jun-87 11:11 by cdl")
|
||||
(for ELEMENT in ELEMENTS collect (GETSKETCHELEMENTPROP ELEMENT 'TALK])
|
||||
)
|
||||
|
||||
|
||||
|
||||
(* Sketch Viewer Control Properties)
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.SKETCH.WHENADDEDFN
|
||||
[LAMBDA (VIEWER ELEMENT) (* ; "Edited 23-Jun-87 07:48 by cdl")
|
||||
(LET [(STREAM (GETSKETCHPROP VIEWER 'TALK]
|
||||
(if (AND STREAM (OPENP STREAM))
|
||||
then (PROG [(SCRATCHSTREAM (OPENSTREAM '{NODIRCORE} 'BOTH]
|
||||
(PUTSKETCHELEMENTPROP ELEMENT 'TALK (GENSYM 'TALK))
|
||||
(HPRINT `(ADD ,ELEMENT)
|
||||
SCRATCHSTREAM)
|
||||
(SETFILEPTR SCRATCHSTREAM 0)
|
||||
(COPYBYTES SCRATCHSTREAM STREAM)
|
||||
(FORCEOUTPUT STREAM)
|
||||
(CLOSEF? SCRATCHSTREAM])
|
||||
|
||||
(TALK.SKETCH.WHENCHANGEDFN
|
||||
[LAMBDA (VIEWER ELEMENT PROPERTY NEWVALUE OLDVALUE) (* ; "Edited 10-Jun-88 09:17 by cdl")
|
||||
(PROG [(STREAM (GETSKETCHPROP VIEWER 'TALK]
|
||||
(if (AND STREAM (OPENP STREAM))
|
||||
then (SELECTQ PROPERTY
|
||||
(HASBOX (TALK.SKETCH.WHENDELETEDFN VIEWER (LIST OLDVALUE))
|
||||
(TALK.SKETCH.WHENADDEDFN VIEWER NEWVALUE)
|
||||
(RETURN))
|
||||
(DATA (SELECTQ NEWVALUE
|
||||
((NIL CHANGED)
|
||||
(SETQ NEWVALUE OLDVALUE))
|
||||
NIL))
|
||||
NIL)
|
||||
(LET [(SCRATCHSTREAM (OPENSTREAM '{NODIRCORE} 'BOTH]
|
||||
(HPRINT `(CHANGE ,(TALK.SKETCH.FIND.SYMBOLS VIEWER (CONS ELEMENT))
|
||||
,PROPERTY
|
||||
,NEWVALUE)
|
||||
SCRATCHSTREAM)
|
||||
(SETFILEPTR SCRATCHSTREAM 0)
|
||||
(COPYBYTES SCRATCHSTREAM STREAM)
|
||||
(FORCEOUTPUT STREAM)
|
||||
(CLOSEF? SCRATCHSTREAM])
|
||||
|
||||
(TALK.SKETCH.WHENDELETEDFN
|
||||
[LAMBDA (VIEWER ELEMENTS) (* ; "Edited 23-Jun-87 07:48 by cdl")
|
||||
(PROG [(STREAM (GETSKETCHPROP VIEWER 'TALK]
|
||||
(if (AND STREAM (OPENP STREAM))
|
||||
then (HPRINT `(DELETE ,(TALK.SKETCH.FIND.SYMBOLS VIEWER ELEMENTS))
|
||||
STREAM)
|
||||
(FORCEOUTPUT STREAM])
|
||||
|
||||
(TALK.SKETCH.WHENMOVEDFN
|
||||
[LAMBDA (VIEWER ELEMENTS DELTA) (* ; "Edited 23-Jun-87 10:14 by cdl")
|
||||
(PROG [(STREAM (GETSKETCHPROP VIEWER 'TALK]
|
||||
(if (AND STREAM (OPENP STREAM))
|
||||
then
|
||||
[SETQ ELEMENTS
|
||||
(if (EQ (CAR ELEMENTS)
|
||||
T)
|
||||
then [if (NULL TALK.SKETCH.TRACK)
|
||||
then (if (LISTP (CAADR ELEMENTS))
|
||||
then [for ELEMENT in (CDR ELEMENTS)
|
||||
collect (CONS T (
|
||||
TALK.SKETCH.FIND.SYMBOLS
|
||||
VIEWER
|
||||
(LIST ELEMENT]
|
||||
else (* Fix for Sketch UNDO/MOVE bug)
|
||||
(with POSITION DELTA (SETQ XCOORD (MINUS XCOORD)
|
||||
)
|
||||
(SETQ YCOORD (MINUS YCOORD)))
|
||||
(LIST (CONS T (TALK.SKETCH.FIND.SYMBOLS
|
||||
VIEWER
|
||||
(CONS (CDR ELEMENTS]
|
||||
elseif (in (CAR ELEMENTS) always NUMBERP)
|
||||
then [LIST (CONS (CAR ELEMENTS)
|
||||
(TALK.SKETCH.FIND.SYMBOLS VIEWER (LIST (CDR ELEMENTS]
|
||||
else (for ELEMENT in ELEMENTS when (OR (NEQ (CAR ELEMENT)
|
||||
T)
|
||||
(NOT TALK.SKETCH.TRACK))
|
||||
collect (CONS (CAR ELEMENT)
|
||||
(TALK.SKETCH.FIND.SYMBOLS VIEWER
|
||||
(CONS (CDR ELEMENT]
|
||||
(HPRINT `(MOVE ,ELEMENTS ,DELTA)
|
||||
STREAM)
|
||||
(FORCEOUTPUT STREAM])
|
||||
|
||||
(TALK.SKETCH.PREMOVEFN
|
||||
[LAMBDA (VIEWER ELEMENTS ALIGNHOW) (* ; "Edited 23-Jun-87 07:53 by cdl")
|
||||
(LET [(STREAM (GETSKETCHPROP VIEWER 'TALK]
|
||||
(if (AND TALK.SKETCH.TRACK (NULL ALIGNHOW)
|
||||
(EQ (CAR ELEMENTS)
|
||||
T)
|
||||
STREAM
|
||||
(OPENP STREAM))
|
||||
then (LET [(SYMBOLS (TALK.SKETCH.FIND.SYMBOLS VIEWER (CDR ELEMENTS]
|
||||
(SKETCH.TRACK.ELEMENTS (CDR ELEMENTS)
|
||||
VIEWER
|
||||
[FUNCTION (LAMBDA (POSITION VIEWER STREAM)
|
||||
(HPRINT `(POSITION ,SYMBOLS ,POSITION)
|
||||
STREAM)
|
||||
(FORCEOUTPUT STREAM]
|
||||
NIL NIL STREAM])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.SKETCH.WHENGROUPEDFN
|
||||
[LAMBDA (VIEWER ELEMENTS) (* ; "Edited 18-Jun-87 11:02 by cdl")
|
||||
'DON'T])
|
||||
|
||||
(TALK.SKETCH.WHENUNGROUPEDFN
|
||||
[LAMBDA (VIEWER ELEMENTS) (* ; "Edited 18-Jun-87 11:02 by cdl")
|
||||
'DON'T])
|
||||
)
|
||||
|
||||
(RPAQQ TALK.TO.SKETCH.PROPS
|
||||
(WHENADDEDFN TALK.SKETCH.WHENADDEDFN WHENDELETEDFN TALK.SKETCH.WHENDELETEDFN WHENMOVEDFN
|
||||
TALK.SKETCH.WHENMOVEDFN WHENCHANGEDFN TALK.SKETCH.WHENCHANGEDFN WHENGROUPEDFN
|
||||
TALK.SKETCH.WHENGROUPEDFN WHENUNGROUPEDFN TALK.SKETCH.WHENUNGROUPEDFN PREMOVEFN
|
||||
TALK.SKETCH.PREMOVEFN))
|
||||
|
||||
(RPAQQ TALK.SKETCH.REDISPLAY.PROPS ((TEXT FONT)
|
||||
(TEXTBOX FONT BRUSH)
|
||||
(CLOSEDWIRE DASHING)))
|
||||
|
||||
|
||||
|
||||
(* TALK Sketch Actions)
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.SKETCH.ADD.ELEMENT
|
||||
[LAMBDA (SKETCH ELEMENT) (* ; "Edited 21-Jun-87 11:24 by cdl")
|
||||
(SKETCH.ADD.ELEMENT ELEMENT SKETCH])
|
||||
|
||||
(TALK.SKETCH.CHANGE.ELEMENT
|
||||
[LAMBDA (SKETCH ELEMENT PROPERTY VALUE) (* ; "Edited 10-Jun-88 09:35 by cdl")
|
||||
(* DECLARATIONS%: (RECORD ENTRY
|
||||
(TYPE . PROPERTIES)))
|
||||
(bind ENTRY for ELEMENT in (TALK.SKETCH.FIND.ELEMENT SKETCH ELEMENT)
|
||||
do (PUTSKETCHELEMENTPROP ELEMENT PROPERTY VALUE SKETCH)
|
||||
(if (SETQ ENTRY (ASSOC (SKETCH.ELEMENT.TYPE ELEMENT)
|
||||
TALK.SKETCH.REDISPLAY.PROPS))
|
||||
then (with ENTRY ENTRY (if (OR (NULL PROPERTIES)
|
||||
(MEMB PROPERTY PROPERTIES))
|
||||
then (REDISPLAYW SKETCH])
|
||||
|
||||
(TALK.SKETCH.DELETE.ELEMENTS
|
||||
[LAMBDA (SKETCH ELEMENTS) (* ; "Edited 18-Jun-87 09:47 by cdl")
|
||||
(for ELEMENT inside (TALK.SKETCH.FIND.ELEMENT SKETCH ELEMENTS)
|
||||
do (SKETCH.DELETE.ELEMENT ELEMENT SKETCH])
|
||||
|
||||
(TALK.SKETCH.MOVE.ELEMENTS
|
||||
[LAMBDA (SKETCH ELEMENTS DELTA) (* ; "Edited 18-Jun-87 17:48 by cdl")
|
||||
(for PAIR in ELEMENTS
|
||||
do (SELECTQ (CAR PAIR)
|
||||
(T (SKETCH.MOVE.ELEMENTS (TALK.SKETCH.FIND.ELEMENT SKETCH (CDR PAIR))
|
||||
DELTA SKETCH))
|
||||
(bind POSITIONS POSITION CONTROLPT [ELEMENT _ (CAR (TALK.SKETCH.FIND.ELEMENT
|
||||
SKETCH
|
||||
(CDR PAIR] for NUMBER
|
||||
in (CAR PAIR)
|
||||
do (SELECTQ NUMBER
|
||||
((1 2 3)
|
||||
(SETQ CONTROLPT (SELECTQ NUMBER
|
||||
(1 '1STCONTROLPT)
|
||||
(2 '2NDCONTROLPT)
|
||||
(3 '3RDCONTROLPT)
|
||||
(SHOULDNT)))
|
||||
(with POSITION (SETQ POSITION (COPY (GETSKETCHELEMENTPROP
|
||||
ELEMENT CONTROLPT)))
|
||||
(add XCOORD (fetch (POSITION XCOORD) of
|
||||
DELTA))
|
||||
(add YCOORD (fetch (POSITION YCOORD) of
|
||||
DELTA)))
|
||||
(PUTSKETCHELEMENTPROP ELEMENT CONTROLPT POSITION SKETCH))
|
||||
(if [SETQ POSITIONS (COPY (GETSKETCHELEMENTPROP ELEMENT
|
||||
'DATA]
|
||||
then (with POSITION (CAR (NTH POSITIONS NUMBER))
|
||||
(add XCOORD (fetch (POSITION XCOORD)
|
||||
of DELTA))
|
||||
(add YCOORD (fetch (POSITION YCOORD)
|
||||
of DELTA)))
|
||||
(PUTSKETCHELEMENTPROP ELEMENT 'DATA POSITIONS SKETCH])
|
||||
|
||||
(TALK.SKETCH.POSITION.ELEMENTS
|
||||
[LAMBDA (SKETCH SYMBOLS POSITION) (* ; "Edited 19-Jun-87 09:17 by cdl")
|
||||
(LET ((ELEMENTS (TALK.SKETCH.FIND.ELEMENT SKETCH SYMBOLS)))
|
||||
(SKETCH.MOVE.ELEMENTS ELEMENTS (with POSITION (GETSKETCHELEMENTPROP (CAR ELEMENTS)
|
||||
'1STCONTROLPT)
|
||||
(create POSITION
|
||||
XCOORD _ (DIFFERENCE (fetch (POSITION
|
||||
XCOORD)
|
||||
of POSITION)
|
||||
XCOORD)
|
||||
YCOORD _ (DIFFERENCE (fetch (POSITION
|
||||
YCOORD)
|
||||
of POSITION)
|
||||
YCOORD)))
|
||||
SKETCH])
|
||||
)
|
||||
|
||||
(RPAQQ TALK.SKETCH.ACTIONS ((ADD TALK.SKETCH.ADD.ELEMENT)
|
||||
(DELETE TALK.SKETCH.DELETE.ELEMENTS)
|
||||
(MOVE TALK.SKETCH.MOVE.ELEMENTS)
|
||||
(CHANGE TALK.SKETCH.CHANGE.ELEMENT)
|
||||
(POSITION TALK.SKETCH.POSITION.ELEMENTS)))
|
||||
|
||||
|
||||
|
||||
(* TALK Sketch Data)
|
||||
|
||||
|
||||
(RPAQQ TALK.SKETCH.DELETE.ITEMS (Group UnGroup Put "Move view"))
|
||||
|
||||
(RPAQ? TALK.SKETCH.TRACK NIL)
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS TALK.SKETCH.ACTIONS TALK.TO.SKETCH.PROPS TALK.SKETCH.REDISPLAY.PROPS
|
||||
TALK.SKETCH.DELETE.ITEMS TALK.SKETCH.TRACK)
|
||||
)
|
||||
|
||||
|
||||
|
||||
(* etc)
|
||||
|
||||
|
||||
(FILESLOAD TALK SKETCH)
|
||||
|
||||
(APPENDTOVAR GAP.SERVICETYPES (7 Sketch TALK.NS.SERVER))
|
||||
|
||||
(APPENDTOVAR TALK.SERVICETYPES (Sketch TALK.SKETCH.DISPLAY TALK.SKETCH.LISTEN))
|
||||
|
||||
|
||||
|
||||
(* Sketch Bug Fixes)
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.SKETCH.NOP
|
||||
[LAMBDA (X) (* ; "Edited 19-Jun-87 07:50 by cdl")
|
||||
X])
|
||||
)
|
||||
|
||||
(CHANGENAME '\SK.PUT.FONT 'SK.INSURE.TEXT 'TALK.SKETCH.NOP)
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'BITMAPELT.CHANGEFN :AFTER '((:LAST (RPLACA (CDDAR (CADAR !VALUE))
|
||||
(CADDAR (CAAR !VALUE]
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'SK.IMAGEOBJ.CHANGEFN :AFTER '((:LAST (RPLACA (CDDAR (CADAR !VALUE))
|
||||
(CADDAR (CAAR !VALUE]
|
||||
|
||||
[XCL:REINSTALL-ADVICE '(TEXTUREP :IN SKFILLINGP)
|
||||
:BEFORE
|
||||
'((:LAST (IF (NULL OBJECT)
|
||||
THEN (RETURN T]
|
||||
|
||||
(READVISE BITMAPELT.CHANGEFN SK.IMAGEOBJ.CHANGEFN (TEXTUREP :IN SKFILLINGP))
|
||||
(PUTPROPS SKETCHTALK COPYRIGHT ("Stanford University" 1987 1988))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (2500 6848 (TALK.SKETCH.DISPLAY 2510 . 4998) (TALK.SKETCH.LISTEN 5000 . 6846)) (6849
|
||||
7473 (TALK.SKETCH.FIND.ELEMENT 6859 . 7250) (TALK.SKETCH.FIND.SYMBOLS 7252 . 7471)) (7519 13184 (
|
||||
TALK.SKETCH.WHENADDEDFN 7529 . 8234) (TALK.SKETCH.WHENCHANGEDFN 8236 . 9498) (
|
||||
TALK.SKETCH.WHENDELETEDFN 9500 . 9896) (TALK.SKETCH.WHENMOVEDFN 9898 . 12275) (TALK.SKETCH.PREMOVEFN
|
||||
12277 . 13182)) (13185 13493 (TALK.SKETCH.WHENGROUPEDFN 13195 . 13341) (TALK.SKETCH.WHENUNGROUPEDFN
|
||||
13343 . 13491)) (14060 19099 (TALK.SKETCH.ADD.ELEMENT 14070 . 14242) (TALK.SKETCH.CHANGE.ELEMENT 14244
|
||||
. 15104) (TALK.SKETCH.DELETE.ELEMENTS 15106 . 15374) (TALK.SKETCH.MOVE.ELEMENTS 15376 . 17890) (
|
||||
TALK.SKETCH.POSITION.ELEMENTS 17892 . 19097)) (19962 20105 (TALK.SKETCH.NOP 19972 . 20103)))))
|
||||
STOP
|
||||
Binary file not shown.
@@ -1,244 +0,0 @@
|
||||
(FILECREATED "26-Mar-87 09:58:58" {MCS:MCS:STANFORD}<LANE>TALKGAP.LSP;3
|
||||
|
||||
previous date: " 3-Mar-87 10:52:35" {MCS:MCS:STANFORD}<LANE>TALKGAP.LSP;2)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT TALKGAPCOMS)
|
||||
|
||||
(RPAQQ TALKGAPCOMS ((COURIERPROGRAMS TALKGAP)
|
||||
(P (DEFINE.GAP.SERVER))))
|
||||
|
||||
(COURIERPROGRAM TALKGAP (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]
|
||||
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)
|
||||
IMPLEMENTEDBY GAP.SERVER))
|
||||
ERRORS
|
||||
((unimplemented 0)
|
||||
(noCommunicationHardware 1)
|
||||
(illegalTransport 2)
|
||||
(mediumConnectFailed 3)
|
||||
(badAddressFormat 4)
|
||||
(noDialingHardware 5)
|
||||
(dialingHardwareProblem 6)
|
||||
(transmissionMediumUnavailable 23)
|
||||
(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)
|
||||
(transmissionMediumNotReady 24)
|
||||
(noAnswerOrBusy 25)
|
||||
(noRouteToGAPService 26)
|
||||
(gapServiceNotResponding 27)
|
||||
(courierProtocolMismatch 28)
|
||||
(gapVersionMismatch 29)))
|
||||
(DEFINE.GAP.SERVER)
|
||||
STOP
|
||||
@@ -1,509 +0,0 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "28-Mar-2024 00:03:10" {WMEDLEY}<lispusers>TEDITTALK.;2 24401
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS TEDITTALKCOMS)
|
||||
(FNS TALK.TEDIT.DISPLAY TALK.TEDIT.LISTEN)
|
||||
|
||||
:PREVIOUS-DATE "22-Jul-88 15:38:03" {WMEDLEY}<lispusers>TEDITTALK.;1)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT TEDITTALKCOMS)
|
||||
|
||||
(RPAQQ TEDITTALKCOMS
|
||||
[ (* ; "TALK TEdit Service")
|
||||
(LOCALVARS . T)
|
||||
(FNS TALK.TEDIT.DISPLAY TALK.TEDIT.LISTEN TALK.TEDIT.CHARFN)
|
||||
(* ; "TALK TEdit hooks")
|
||||
(FNS TALK.TEDIT.USERFN TALK.TEDIT.INSERT TALK.SELFN TALK.SETSELFN TALK.IMAGEOBJFN
|
||||
TALK.LOOKSFN TALK.PARAFN TALK.INSERTFN TALK.INCLUDEFN TALK.DELETEFN TALK.GETFN)
|
||||
(FNS TALK.TEDIT.BACKSPACE TALK.TEDIT.INCLUDE TALK.TEDIT.DELETE.TEXT TALK.TEDIT.GET
|
||||
TALK.TEDIT.INSERT.TEXT TALK.TEDIT.SETSEL TALK.TEDIT.INSERT.OBJECT TALK.TEDIT.LOOKS
|
||||
TALK.TEDIT.PARALOOKS TALK.TEDIT.DELETE)
|
||||
(FNS TALK.ENCODE.SEL TALK.DECODE.SEL)
|
||||
(* ; "TALK data")
|
||||
(VARS TALK.TEDIT.ACTIONS TALK.FROM.TEDIT.PROPS TALK.TO.TEDIT.PROPS)
|
||||
(GLOBALVARS TALK.TEDIT.ACTIONS TALK.TO.TEDIT.PROPS TALK.FROM.TEDIT.PROPS)
|
||||
(* ; "etc")
|
||||
(FILES TALK TEDIT)
|
||||
(APPENDVARS (GAP.SERVICETYPES (6 TEdit TALK.NS.SERVER))
|
||||
(TALK.SERVICETYPES (TEdit TALK.TEDIT.DISPLAY TALK.TEDIT.LISTEN)))
|
||||
(ADDVARS (TALK.TEDIT.ADVISEDFNS TEDIT.SETSEL TEDIT.INSERT TEDIT.DELETE TEDIT.INSERT.OBJECT
|
||||
TEDIT.LOOKS TEDIT.PARALOOKS OPENFILE-IN-TEDIT.INCLUDE))
|
||||
(ADVISE * (PROGN TALK.TEDIT.ADVISEDFNS))
|
||||
(GLOBALVARS TALK.TEDIT.ADVISEDFNS)
|
||||
(DECLARE%: DONTCOPY DOEVAL@COMPILE (FILES TEDIT-EXPORTS.ALL)
|
||||
(ALISTS (CHARACTERNAMES UNDO REDO NEXT MARGINS FONT SHIFT.UNDO SHIFT.REDO SHIFT.NEXT
|
||||
SHIFT.MARGINS SHIFT.FONT SHIFT.DEL)
|
||||
(PRINTOUTMACROS .OP .FORCE)))
|
||||
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA)
|
||||
(NLAML)
|
||||
(LAMA TALK.TEDIT.USERFN])
|
||||
|
||||
|
||||
|
||||
(* ; "TALK TEdit Service")
|
||||
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(LOCALVARS . T)
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.TEDIT.DISPLAY
|
||||
[LAMBDA (MAINWINDOW WINDOW INPUTSTREAM OUTPUTSTREAM PROTOCOL USER)
|
||||
(* ; "Edited 27-Mar-2024 23:55 by rmk")
|
||||
(* ; "Edited 2-Jun-88 16:25 by cdl")
|
||||
(LET (TEXTOBJ)
|
||||
(TEDIT NIL MAINWINDOW NIL TALK.TO.TEDIT.PROPS)
|
||||
(SETQ TEXTOBJ (TEXTOBJ MAINWINDOW))
|
||||
(TEXTPROP TEXTOBJ 'TALK OUTPUTSTREAM)
|
||||
(SETTOBJ TEXTOBJ TXTFILE (CONCAT "Talk with " USER))
|
||||
(TEDIT.SETSEL (OPENTEXTSTREAM NIL WINDOW NIL NIL TALK.FROM.TEDIT.PROPS)
|
||||
1 0 'LEFT)
|
||||
(WINDOWPROP WINDOW 'PROMPTWINDOW (WINDOWPROP MAINWINDOW 'PROMPTWINDOW])
|
||||
|
||||
(TALK.TEDIT.LISTEN
|
||||
[LAMBDA (MAINWINDOW WINDOW INPUTSTREAM OUTPUTSTREAM PROTOCOLTYPE)
|
||||
(* ; "Edited 28-Mar-2024 00:01 by rmk")
|
||||
(* ; "Edited 7-Jun-88 08:45 by cdl")
|
||||
(* DECLARATIONS%: (RECORD ACTION
|
||||
(CCODES ACTIONFN TEXTOBJP)))
|
||||
(DECLARE (SPECVARS INPUTSTREAM))
|
||||
(PROG ((POSITION (create POSITION))
|
||||
(TEXTSTREAM (TEXTSTREAM WINDOW))
|
||||
(SCRATCHPTR (ALLOCSTRING 0))
|
||||
(STRING (ALLOCSTRING 128))
|
||||
(EVENTFN (with TALK.PROTOCOLTYPE PROTOCOLTYPE TALK.EVENTFN))
|
||||
TEXTOBJ STRINGSTREAM EOFPTR BYTE ACTION CCODE)
|
||||
(SETQ TEXTOBJ (fetch (TEXTSTREAM TEXTOBJ) of TEXTSTREAM))
|
||||
[SETQ EOFPTR (GETEOFPTR (SETQ STRINGSTREAM (OPENSTRINGSTREAM STRING 'BOTH]
|
||||
(while (OPENP TEXTSTREAM)
|
||||
do (APPLY* EVENTFN INPUTSTREAM OUTPUTSTREAM)
|
||||
(CL:UNLESS (AND (OPENP INPUTSTREAM)
|
||||
(OPENP OUTPUTSTREAM))
|
||||
(RETURN))
|
||||
(TALK.FLASH.CARET WINDOW POSITION 'OFF)
|
||||
(while (AND (OPENP INPUTSTREAM)
|
||||
(READP INPUTSTREAM))
|
||||
do (SELCHARQ (SETQ BYTE (LOGAND (SETQ CCODE (READCCODE INPUTSTREAM))
|
||||
(MASK.1'S 0 8)))
|
||||
(BS (* ; "Flush text buffer")
|
||||
(TALK.TEDIT.INSERT TEXTSTREAM STRING STRINGSTREAM SCRATCHPTR)
|
||||
(* ; "the escape code")
|
||||
(SETQ CCODE (LOGAND (SETQ CCODE (READCCODE INPUTSTREAM))
|
||||
(MASK.1'S 0 10)))
|
||||
(if [SETQ ACTION (for ACTION in TALK.TEDIT.ACTIONS
|
||||
thereis (with ACTION ACTION (EQMEMB CCODE CCODES]
|
||||
then (with ACTION ACTION (APPLY* ACTIONFN
|
||||
(if TEXTOBJP
|
||||
then TEXTOBJ
|
||||
else TEXTSTREAM)
|
||||
INPUTSTREAM))))
|
||||
(^G (* ; "Flush text buffer")
|
||||
(TALK.TEDIT.INSERT TEXTSTREAM STRING STRINGSTREAM SCRATCHPTR)
|
||||
(TALK.RINGBELLS WINDOW))
|
||||
(if (LESSP CCODE (MASK.1'S 0 8))
|
||||
then (PRINTCCODE CCODE STRINGSTREAM)
|
||||
(if (LEQ EOFPTR (GETFILEPTR STRINGSTREAM))
|
||||
then (TALK.TEDIT.INSERT TEXTSTREAM STRING STRINGSTREAM
|
||||
SCRATCHPTR))
|
||||
else (TALK.TEDIT.INSERT TEXTSTREAM STRING STRINGSTREAM SCRATCHPTR)
|
||||
(* ;
|
||||
"String streams don't handle NS charaters so don't buffer")
|
||||
(TALK.TEDIT.INSERT TEXTSTREAM CCODE)))
|
||||
finally (TALK.TEDIT.INSERT TEXTSTREAM STRING STRINGSTREAM SCRATCHPTR))
|
||||
(TALK.FLASH.CARET WINDOW POSITION 'ON))
|
||||
(CL:WHEN (SETQ TEXTOBJ (TEXTOBJ MAINWINDOW T))
|
||||
(SETTOBJ TEXTOBJ TXTFILE (CONCAT TXTFILE TALK.CLOSED.STRING)))])
|
||||
|
||||
(TALK.TEDIT.CHARFN
|
||||
[LAMBDA (TEXTOBJ CCODE) (* ; "Edited 9-Jun-88 15:06 by cdl")
|
||||
(DECLARE (SPECVARS CCODE))
|
||||
(PROG [(STREAM (TEXTPROP TEXTOBJ 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (SELCHARQ CCODE
|
||||
((BS ^W DEL UNDO REDO NEXT)
|
||||
(PRINTOUT STREAM .OP CCODE))
|
||||
((SHIFT.UNDO SHIFT.REDO SHIFT.NEXT)
|
||||
(PRINTOUT STREAM .OP (BITCLEAR CCODE (MASK.1'S 5 1))))
|
||||
(^O (RETURN T))
|
||||
(^A (RETURN))
|
||||
((SHIFT.DEL FONT SHIFT.FONT MARGINS SHIFT.MARGINS)
|
||||
(* Unimplemented function keys, pass
|
||||
through)
|
||||
(PRINTCCODE CCODE STREAM))
|
||||
(if (OR (LESSP CCODE (CHARCODE 2,0))
|
||||
(GEQ CCODE (CHARCODE 3,0)))
|
||||
then (* Filter out function keys in the
|
||||
2,0 range)
|
||||
(PRINTCCODE CCODE STREAM)))
|
||||
(if (NOT (READP))
|
||||
then (FORCEOUTPUT STREAM)))
|
||||
(RETURN T])
|
||||
)
|
||||
|
||||
|
||||
|
||||
(* ; "TALK TEdit hooks")
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.TEDIT.USERFN
|
||||
[LAMBDA VAR (* cdl " 2-Mar-87 09:53")
|
||||
(LET [(USERFN (TEXTPROP (ARG VAR 2)
|
||||
(ARG VAR 1]
|
||||
(if USERFN
|
||||
then (APPLY USERFN (for M from 2 to VAR collect (ARG VAR M])
|
||||
|
||||
(TALK.TEDIT.INSERT
|
||||
[LAMBDA (TEXTSTREAM STRING.OR.CCODE STRINGSTREAM SCRATCHPTR)
|
||||
(* cdl "24-Mar-87 08:45")
|
||||
(if STRINGSTREAM
|
||||
then (LET ((FILEPTR (GETFILEPTR STRINGSTREAM)))
|
||||
(if (NOT (ZEROP FILEPTR))
|
||||
then (TEDIT.INSERT TEXTSTREAM (SUBSTRING STRING.OR.CCODE 1 FILEPTR
|
||||
SCRATCHPTR))
|
||||
(SETFILEPTR STRINGSTREAM 0)))
|
||||
else (TEDIT.INSERT TEXTSTREAM (MKSTRING (CHARACTER STRING.OR.CCODE])
|
||||
|
||||
(TALK.SELFN
|
||||
[LAMBDA (TEXTOBJ SELECTION SELECTMODE FINAL?) (* ; "Edited 9-Jun-88 15:06 by cdl")
|
||||
(DECLARE (SPECVARS SELECTION SELECTMODE))
|
||||
(SELECTQ FINAL?
|
||||
(FINAL (SELECTQ SELECTMODE
|
||||
((NORMAL PENDINGDEL DELETE)
|
||||
(PROG [(STREAM (TEXTPROP TEXTOBJ 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^S)
|
||||
|.P2|
|
||||
(LIST (TALK.ENCODE.SEL SELECTION)
|
||||
SELECTMODE)
|
||||
.FORCE))))
|
||||
NIL))
|
||||
NIL])
|
||||
|
||||
(TALK.SETSELFN
|
||||
[LAMBDA (TEXTSTREAM CH#ORSEL LEN POINT PENDINGDELFLG LEAVECARETLOOKS OPERATION)
|
||||
(* ; "Edited 9-Jun-88 15:09 by cdl")
|
||||
(DECLARE (SPECVARS CH#ORSEL LEN POINT OPERATION))
|
||||
(PROG [(STREAM (TEXTPROP TEXTSTREAM 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then [if (NULL OPERATION)
|
||||
then (SETQ OPERATION (if PENDINGDELFLG
|
||||
then 'PENDINGDEL
|
||||
else 'NORMAL]
|
||||
(PRINTOUT STREAM .OP (CHARCODE ^S)
|
||||
|.P2|
|
||||
(LIST (TALK.ENCODE.SEL CH#ORSEL LEN POINT)
|
||||
OPERATION)
|
||||
.FORCE])
|
||||
|
||||
(TALK.IMAGEOBJFN
|
||||
[LAMBDA (TEXTSTREAM OBJECT CH#ORSEL) (* ; "Edited 9-Jun-88 15:10 by cdl")
|
||||
(DECLARE (SPECVARS TEXTSTREAM CH#ORSEL))
|
||||
(PROG [(STREAM (TEXTPROP TEXTSTREAM 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^T))
|
||||
(WRITEIMAGEOBJ OBJECT STREAM)
|
||||
(PRINTOUT STREAM |.P2| (with SELECTION (TEDIT.GETSEL TEXTSTREAM)
|
||||
(TALK.ENCODE.SEL CH#ORSEL DCH POINT))
|
||||
.FORCE])
|
||||
|
||||
(TALK.LOOKSFN
|
||||
[LAMBDA (TEXTSTREAM NEWLOOKS CH#ORSEL LEN) (* ; "Edited 9-Jun-88 15:10 by cdl")
|
||||
(DECLARE (SPECVARS NEWLOOKS CH#ORSEL LEN))
|
||||
(PROG [(STREAM (TEXTPROP TEXTSTREAM 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^U)
|
||||
|.P2|
|
||||
(LIST NEWLOOKS (TALK.ENCODE.SEL CH#ORSEL LEN))
|
||||
.FORCE])
|
||||
|
||||
(TALK.PARAFN
|
||||
[LAMBDA (TEXTOBJ NEWLOOKS CH#ORSEL LEN) (* ; "Edited 9-Jun-88 15:10 by cdl")
|
||||
(DECLARE (SPECVARS NEWLOOKS CH#ORSEL LEN))
|
||||
(PROG [(STREAM (TEXTPROP TEXTOBJ 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^V)
|
||||
|.P2|
|
||||
(LIST NEWLOOKS (TALK.ENCODE.SEL CH#ORSEL LEN))
|
||||
.FORCE])
|
||||
|
||||
(TALK.INSERTFN
|
||||
[LAMBDA (TEXTSTREAM TEXT CH#ORSEL LOOKS DONTSCROLL) (* ; "Edited 9-Jun-88 15:11 by cdl")
|
||||
(DECLARE (SPECVARS TEXT CH#ORSEL LOOKS DONTSCROLL))
|
||||
(PROG [(STREAM (TEXTPROP TEXTSTREAM 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^R)
|
||||
|.P2|
|
||||
(LIST TEXT (TALK.ENCODE.SEL CH#ORSEL)
|
||||
LOOKS DONTSCROLL)
|
||||
.FORCE])
|
||||
|
||||
(TALK.INCLUDEFN
|
||||
[LAMBDA (TEXTSTREAM FILE START END) (* ; "Edited 9-Jun-88 15:11 by cdl")
|
||||
(DECLARE (SPECVARS FILE START END))
|
||||
(PROG [(STREAM (TEXTPROP TEXTSTREAM 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^O)
|
||||
|.P2|
|
||||
(LIST FILE START END)
|
||||
.FORCE])
|
||||
|
||||
(TALK.DELETEFN
|
||||
[LAMBDA (TEXTSTREAM CH#ORSEL LEN) (* ; "Edited 9-Jun-88 15:12 by cdl")
|
||||
(DECLARE (SPECVARS TEXTSTREAM CH#ORSEL LEN))
|
||||
(PROG [(STREAM (TEXTPROP TEXTSTREAM 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^P)
|
||||
|.P2|
|
||||
(LIST (TALK.ENCODE.SEL (OR CH#ORSEL (TEDIT.GETSEL TEXTSTREAM))
|
||||
LEN)
|
||||
LEN)
|
||||
.FORCE])
|
||||
|
||||
(TALK.GETFN
|
||||
[LAMBDA (TEXTSTREAM FULLFILENAME WHEN) (* ; "Edited 9-Jun-88 15:12 by cdl")
|
||||
(DECLARE (SPECVARS FULLFILENAME))
|
||||
(SELECTQ WHEN
|
||||
(BEFORE (PROG [(STREAM (TEXTPROP TEXTSTREAM 'TALK]
|
||||
(if (OPENP STREAM)
|
||||
then (PRINTOUT STREAM .OP (CHARCODE ^Q)
|
||||
|.P2|
|
||||
(LIST FULLFILENAME)
|
||||
.FORCE))))
|
||||
NIL])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.TEDIT.BACKSPACE
|
||||
[LAMBDA (TEXTSTREAM) (* cdl " 5-May-87 18:07")
|
||||
(with SELECTION (TEDIT.GETSEL TEXTSTREAM)
|
||||
(TEDIT.DELETE TEXTSTREAM (SUB1 (SELECTQ POINT
|
||||
(LEFT CH#)
|
||||
CHLIM))
|
||||
1])
|
||||
|
||||
(TALK.TEDIT.INCLUDE
|
||||
[LAMBDA (TEXTSTREAM STREAM) (* cdl "10-Mar-87 17:04")
|
||||
(* DECLARATIONS%: (RECORD DATA
|
||||
(FILE START END)))
|
||||
(with DATA (READ STREAM)
|
||||
(TEDIT.INCLUDE TEXTSTREAM FILE START END])
|
||||
|
||||
(TALK.TEDIT.DELETE.TEXT
|
||||
[LAMBDA (TEXTSTREAM STREAM) (* cdl " 2-Mar-87 12:06")
|
||||
(* DECLARATIONS%: (RECORD DATA
|
||||
(PLST LEN)))
|
||||
(with DATA (READ STREAM)
|
||||
(TEDIT.DELETE TEXTSTREAM (TALK.DECODE.SEL TEXTSTREAM PLST)
|
||||
LEN])
|
||||
|
||||
(TALK.TEDIT.GET
|
||||
[LAMBDA (TEXTOBJ STREAM) (* ; "Edited 3-Jun-88 09:54 by cdl")
|
||||
(* DECLARATIONS%: (RECORD DATA
|
||||
(FULLFILENAME)))
|
||||
(with TEXTOBJ TEXTOBJ (SETQ \XDIRTY NIL))
|
||||
(with DATA (READ STREAM)
|
||||
(TEDIT.GET TEXTOBJ FULLFILENAME])
|
||||
|
||||
(TALK.TEDIT.INSERT.TEXT
|
||||
[LAMBDA (TEXTSTREAM STREAM) (* cdl " 2-Mar-87 11:42")
|
||||
(* DECLARATIONS%: (RECORD DATA
|
||||
(TEXT PLST LOOKS DONTSCROLL)))
|
||||
(with DATA (READ STREAM)
|
||||
(TEDIT.INSERT TEXTSTREAM TEXT (TALK.DECODE.SEL TEXTSTREAM PLST)
|
||||
LOOKS DONTSCROLL])
|
||||
|
||||
(TALK.TEDIT.SETSEL
|
||||
[LAMBDA (TEXTSTREAM STREAM) (* cdl " 1-Mar-87 10:33")
|
||||
(* DECLARATIONS%: (RECORD DATA
|
||||
(PLST SELECTMODE)))
|
||||
(with DATA (READ STREAM)
|
||||
(TALK.DECODE.SEL TEXTSTREAM PLST SELECTMODE])
|
||||
|
||||
(TALK.TEDIT.INSERT.OBJECT
|
||||
[LAMBDA (TEXTSTREAM STREAM) (* cdl " 5-May-87 18:04")
|
||||
(LET (OBJECT)
|
||||
(if [SETQ OBJECT (RESETFORM (INPUT STREAM)
|
||||
(ERRORSET (READ]
|
||||
then (TEDIT.INSERT.OBJECT (CAR OBJECT)
|
||||
TEXTSTREAM
|
||||
(TALK.DECODE.SEL TEXTSTREAM (READ STREAM])
|
||||
|
||||
(TALK.TEDIT.LOOKS
|
||||
[LAMBDA (TEXTSTREAM STREAM) (* cdl " 1-Mar-87 12:19")
|
||||
(* DECLARATIONS%: (RECORD DATA
|
||||
(NEWLOOKS PLST)))
|
||||
(with DATA (READ STREAM)
|
||||
(TEDIT.LOOKS TEXTSTREAM NEWLOOKS (TALK.DECODE.SEL TEXTSTREAM PLST])
|
||||
|
||||
(TALK.TEDIT.PARALOOKS
|
||||
[LAMBDA (TEXTSTREAM STREAM) (* cdl " 1-Mar-87 12:22")
|
||||
(* DECLARATIONS%: (RECORD DATA
|
||||
(NEWLOOKS PLST)))
|
||||
(with DATA (READ STREAM)
|
||||
(TEDIT.PARALOOKS (TEXTOBJ TEXTSTREAM)
|
||||
NEWLOOKS
|
||||
(TALK.DECODE.SEL TEXTSTREAM PLST])
|
||||
|
||||
(TALK.TEDIT.DELETE
|
||||
[LAMBDA (TEXTSTREAM) (* cdl " 1-Mar-87 10:34")
|
||||
(TEDIT.DELETE TEXTSTREAM (TEDIT.GETSEL TEXTSTREAM])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.ENCODE.SEL
|
||||
[LAMBDA (CH#ORSEL LEN POINT) (* cdl "16-Mar-87 08:18")
|
||||
(* DECLARATIONS%: (PROPRECORD PLST
|
||||
(CH# DCH POINT)))
|
||||
(if (type? SELECTION CH#ORSEL)
|
||||
then [for FIELD
|
||||
in [CONSTANT (LDIFFERENCE (RECORDFIELDNAMES 'SELECTION)
|
||||
'(X0 Y0 XLIM YLIM L1 LN DX \TEXTOBJ SELOBJINFO]
|
||||
join (LIST FIELD (RECORDACCESS FIELD CH#ORSEL (CONSTANT (RECLOOK 'SELECTION))
|
||||
'FETCH]
|
||||
else (create PLST
|
||||
CH# _ CH#ORSEL
|
||||
DCH _ (OR LEN 0)
|
||||
POINT _ (OR POINT 'LEFT])
|
||||
|
||||
(TALK.DECODE.SEL
|
||||
[LAMBDA (TEXTSTREAM PLST SELECTMODE) (* cdl "16-Mar-87 08:12")
|
||||
(* DECLARATIONS%: (PROPRECORD PLST
|
||||
(CH# DCH POINT)))
|
||||
(with PLST PLST (TEDIT.SETSEL TEXTSTREAM (OR CH# (fetch (SELECTION CH#)
|
||||
of (TEDIT.GETSEL TEXTSTREAM)))
|
||||
DCH POINT (EQ 'PENDINGDEL SELECTMODE)
|
||||
NIL SELECTMODE])
|
||||
)
|
||||
|
||||
|
||||
|
||||
(* ; "TALK data")
|
||||
|
||||
|
||||
(RPAQQ TALK.TEDIT.ACTIONS
|
||||
((8 TALK.TEDIT.BACKSPACE)
|
||||
(15 TALK.TEDIT.INCLUDE)
|
||||
(16 TALK.TEDIT.DELETE.TEXT)
|
||||
(17 TALK.TEDIT.GET TEXTOBJ)
|
||||
(18 TALK.TEDIT.INSERT.TEXT)
|
||||
(19 TALK.TEDIT.SETSEL)
|
||||
(20 TALK.TEDIT.INSERT.OBJECT)
|
||||
(21 TALK.TEDIT.LOOKS)
|
||||
(22 TALK.TEDIT.PARALOOKS)
|
||||
(23 \TEDIT.WORDDELETE TEXTOBJ)
|
||||
(127 TALK.TEDIT.DELETE)
|
||||
(516 TEDIT.UNDO TEXTOBJ)
|
||||
(520 TEDIT.REDO TEXTOBJ)
|
||||
(530 TEDIT.NEXT)))
|
||||
|
||||
(RPAQQ TALK.FROM.TEDIT.PROPS (PROMPTWINDOW DON'T NOTITLE T COPYBYBKSYSBUF T MENU
|
||||
((Put 'Put NIL (SUBITEMS Plain-Text Old-Format))
|
||||
Find Quit)))
|
||||
|
||||
(RPAQQ TALK.TO.TEDIT.PROPS (CHARFN TALK.TEDIT.CHARFN SELFN TALK.SELFN GETFN TALK.GETFN IMAGEOBJFN
|
||||
TALK.IMAGEOBJFN LOOKSFN TALK.LOOKSFN PARAFN TALK.PARAFN INSERTFN
|
||||
TALK.INSERTFN SETSELFN TALK.SETSELFN DELETEFN TALK.DELETEFN
|
||||
INCLUDEFN TALK.INCLUDEFN NOTITLE T QUITFN TRUE COPYBYBKSYSBUF T))
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS TALK.TEDIT.ACTIONS TALK.TO.TEDIT.PROPS TALK.FROM.TEDIT.PROPS)
|
||||
)
|
||||
|
||||
|
||||
|
||||
(* ; "etc")
|
||||
|
||||
|
||||
(FILESLOAD TALK TEDIT)
|
||||
|
||||
(APPENDTOVAR GAP.SERVICETYPES (6 TEdit TALK.NS.SERVER))
|
||||
|
||||
(APPENDTOVAR TALK.SERVICETYPES (TEdit TALK.TEDIT.DISPLAY TALK.TEDIT.LISTEN))
|
||||
|
||||
(ADDTOVAR TALK.TEDIT.ADVISEDFNS TEDIT.SETSEL TEDIT.INSERT TEDIT.DELETE TEDIT.INSERT.OBJECT
|
||||
TEDIT.LOOKS TEDIT.PARALOOKS OPENFILE-IN-TEDIT.INCLUDE)
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'TEDIT.SETSEL :BEFORE '((:LAST (TALK.TEDIT.USERFN 'SETSELFN STREAM CH# LEN
|
||||
POINT PENDINGDELFLG LEAVECARETLOOKS
|
||||
OPERATION]
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'TEDIT.INSERT :BEFORE '((:LAST (TALK.TEDIT.USERFN 'INSERTFN STREAM TEXT
|
||||
CH#ORSEL LOOKS DONTSCROLL]
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'TEDIT.DELETE :BEFORE '((:LAST (TALK.TEDIT.USERFN 'DELETEFN STREAM SEL LEN
|
||||
LEAVECARETLOOKS]
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'TEDIT.INSERT.OBJECT :BEFORE '((:LAST (TALK.TEDIT.USERFN 'IMAGEOBJFN STREAM
|
||||
OBJECT CH#]
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'TEDIT.LOOKS :BEFORE '((:LAST (TALK.TEDIT.USERFN 'LOOKSFN STREAM NEWLOOKS
|
||||
SELORCH# LEN]
|
||||
|
||||
[XCL:REINSTALL-ADVICE 'TEDIT.PARALOOKS :BEFORE '((:LAST (TALK.TEDIT.USERFN 'PARAFN TEXTOBJ NEWLOOKS
|
||||
SEL LEN]
|
||||
|
||||
[XCL:REINSTALL-ADVICE '(OPENFILE :IN TEDIT.INCLUDE)
|
||||
:BEFORE
|
||||
'((:LAST (TALK.TEDIT.USERFN 'INCLUDEFN STREAM FILE START END]
|
||||
|
||||
(READVISE TEDIT.SETSEL TEDIT.INSERT TEDIT.DELETE TEDIT.INSERT.OBJECT TEDIT.LOOKS TEDIT.PARALOOKS
|
||||
(OPENFILE :IN TEDIT.INCLUDE))
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS TALK.TEDIT.ADVISEDFNS)
|
||||
)
|
||||
(DECLARE%: DONTCOPY DOEVAL@COMPILE
|
||||
|
||||
(FILESLOAD TEDIT-EXPORTS.ALL)
|
||||
|
||||
|
||||
(ADDTOVAR CHARACTERNAMES
|
||||
(UNDO 2,4)
|
||||
(REDO 2,10)
|
||||
(NEXT 2,22)
|
||||
(MARGINS 2,111)
|
||||
(FONT 2,112)
|
||||
(SHIFT.UNDO 2,44)
|
||||
(SHIFT.REDO 2,50)
|
||||
(SHIFT.NEXT 2,62)
|
||||
(SHIFT.MARGINS 2,151)
|
||||
(SHIFT.FONT 2,152)
|
||||
(SHIFT.DEL 2,27))
|
||||
|
||||
(ADDTOVAR PRINTOUTMACROS
|
||||
[.OP (LAMBDA (COMS)
|
||||
(CONS `(PROGN (PRINTCCODE (CHARCODE BS)
|
||||
NIL)
|
||||
(PRINTCCODE ,(CADR COMS)
|
||||
NIL))
|
||||
(CDDR COMS]
|
||||
[.FORCE (LAMBDA (COMS)
|
||||
(CONS '(FORCEOUTPUT NIL)
|
||||
(CDR COMS])
|
||||
)
|
||||
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
|
||||
|
||||
(ADDTOVAR NLAMA )
|
||||
|
||||
(ADDTOVAR NLAML )
|
||||
|
||||
(ADDTOVAR LAMA TALK.TEDIT.USERFN)
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (2574 8668 (TALK.TEDIT.DISPLAY 2584 . 3310) (TALK.TEDIT.LISTEN 3312 . 7217) (
|
||||
TALK.TEDIT.CHARFN 7219 . 8666)) (8702 14871 (TALK.TEDIT.USERFN 8712 . 9020) (TALK.TEDIT.INSERT 9022 .
|
||||
9658) (TALK.SELFN 9660 . 10438) (TALK.SETSELFN 10440 . 11298) (TALK.IMAGEOBJFN 11300 . 11878) (
|
||||
TALK.LOOKSFN 11880 . 12345) (TALK.PARAFN 12347 . 12808) (TALK.INSERTFN 12810 . 13330) (TALK.INCLUDEFN
|
||||
13332 . 13763) (TALK.DELETEFN 13765 . 14338) (TALK.GETFN 14340 . 14869)) (14872 18780 (
|
||||
TALK.TEDIT.BACKSPACE 14882 . 15238) (TALK.TEDIT.INCLUDE 15240 . 15619) (TALK.TEDIT.DELETE.TEXT 15621
|
||||
. 16042) (TALK.TEDIT.GET 16044 . 16470) (TALK.TEDIT.INSERT.TEXT 16472 . 16929) (TALK.TEDIT.SETSEL
|
||||
16931 . 17317) (TALK.TEDIT.INSERT.OBJECT 17319 . 17739) (TALK.TEDIT.LOOKS 17741 . 18146) (
|
||||
TALK.TEDIT.PARALOOKS 18148 . 18607) (TALK.TEDIT.DELETE 18609 . 18778)) (18781 20236 (TALK.ENCODE.SEL
|
||||
18791 . 19644) (TALK.DECODE.SEL 19646 . 20234)))))
|
||||
STOP
|
||||
@@ -1,133 +0,0 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
(FILECREATED "22-Jul-88 15:35:50" |{MCS:MCS:STANFORD}<LANE>TTYTALK.;2| 6354
|
||||
|
||||
previous date%: "13-Jun-88 16:35:13" |{MCS:MCS:STANFORD}<LANE>TTYTALK.;1|)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT TTYTALKCOMS)
|
||||
|
||||
(RPAQQ TTYTALKCOMS ((* TALK TTY Service)
|
||||
(LOCALVARS . T)
|
||||
(FNS TALK.TTY.DISPLAY TALK.TTY.LISTEN TALK.TTY.CHARFN)
|
||||
[INITVARS (TALK.TTY.FONT DEFAULTFONT)
|
||||
(TALK.TTY.TERMTABLE (COPYTERMTABLE 'ORIG]
|
||||
(GLOBALVARS TALK.TTY.FONT TALK.TTY.TERMTABLE)
|
||||
(FILES TALK)
|
||||
(APPENDVARS (GAP.SERVICETYPES (5 TTY TALK.NS.SERVER))
|
||||
(TALK.SERVICETYPES (TTY TALK.TTY.DISPLAY TALK.TTY.LISTEN)))
|
||||
(P (ECHOCHAR (CHARCODE BS)
|
||||
'IGNORE TALK.TTY.TERMTABLE))))
|
||||
|
||||
|
||||
|
||||
(* TALK TTY Service)
|
||||
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(LOCALVARS . T)
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(TALK.TTY.DISPLAY
|
||||
[LAMBDA (MAINWINDOW WINDOW INPUTSTREAM OUTPUTSTREAM PROTOCOLTYPE USER)
|
||||
(* ; "Edited 8-Jun-88 12:21 by cdl")
|
||||
(LET (PROCESS)
|
||||
(DSPFONT TALK.TTY.FONT MAINWINDOW)
|
||||
(DSPFONT TALK.TTY.FONT WINDOW)
|
||||
(DSPSCROLL 'ON MAINWINDOW)
|
||||
(DSPSCROLL 'ON WINDOW)
|
||||
(if USER
|
||||
then (WINDOWPROP MAINWINDOW 'ICON (CONCAT "Talk with " USER)))
|
||||
[WINDOWPROP MAINWINDOW 'TALK.TTY.PROCESS (SETQ PROCESS
|
||||
(ADD.PROCESS `(TALK.TTY.CHARFN
|
||||
,MAINWINDOW
|
||||
,OUTPUTSTREAM
|
||||
,(with TALK.PROTOCOLTYPE
|
||||
PROTOCOLTYPE TALK.CASEARRAY
|
||||
]
|
||||
(TTY.PROCESS PROCESS])
|
||||
|
||||
(TALK.TTY.LISTEN
|
||||
[LAMBDA (MAINWINDOW WINDOW INPUTSTREAM OUTPUTSTREAM PROTOCOLTYPE)
|
||||
(* ; "Edited 8-Jun-88 12:21 by cdl")
|
||||
(DECLARE (SPECVARS INPUTSTREAM))
|
||||
(PROG ((POSITION (create POSITION))
|
||||
(CHARWIDTH (CHARWIDTH (CHARCODE A)
|
||||
TALK.TTY.FONT))
|
||||
BYTE PROCESS EVENTFN CASEARRAY EOM?)
|
||||
[with TALK.PROTOCOLTYPE PROTOCOLTYPE (SETQ EVENTFN TALK.EVENTFN)
|
||||
(SETQ CASEARRAY TALK.CASEARRAY)
|
||||
(SETQ EOM? (EQ TALK.PROTOCOLNAME 'NS]
|
||||
(while (OPENWP WINDOW)
|
||||
do (APPLY* EVENTFN INPUTSTREAM OUTPUTSTREAM)
|
||||
(if (NOT (AND (OPENP INPUTSTREAM)
|
||||
(OPENP OUTPUTSTREAM)))
|
||||
then (RETURN))
|
||||
(TALK.FLASH.CARET WINDOW POSITION 'OFF)
|
||||
(bind CCODE while (AND (OPENP INPUTSTREAM)
|
||||
(PROGN (if EOM?
|
||||
then (SPP.CLEAREOM INPUTSTREAM T))
|
||||
(READP INPUTSTREAM)))
|
||||
do (SETQ BYTE (LOGAND (SETQ CCODE (READCCODE INPUTSTREAM))
|
||||
(MASK.1'S 0 8)))
|
||||
[if CASEARRAY
|
||||
then (SETQ BYTE (SETQ CCODE (ELT CASEARRAY BYTE]
|
||||
(SELCHARQ BYTE
|
||||
(LF NIL)
|
||||
(^G (TALK.RINGBELLS WINDOW))
|
||||
(BS (if (GEQ (DSPXPOSITION NIL WINDOW)
|
||||
CHARWIDTH)
|
||||
then (DSPBACKUP CHARWIDTH WINDOW)))
|
||||
(PRINTCCODE CCODE WINDOW)))
|
||||
(TALK.FLASH.CARET WINDOW POSITION 'ON))
|
||||
(WINDOWPROP MAINWINDOW 'ICON (CONCAT (WINDOWPROP MAINWINDOW 'ICON)
|
||||
TALK.CLOSED.STRING))
|
||||
(if (PROCESSP (SETQ PROCESS (WINDOWPROP MAINWINDOW 'TALK.TTY.PROCESS NIL)))
|
||||
then (DEL.PROCESS PROCESS])
|
||||
|
||||
(TALK.TTY.CHARFN
|
||||
[LAMBDA (DISPLAYSTREAM OUTPUTSTREAM CHARARRAY) (* ; "Edited 9-Jun-88 15:02 by cdl")
|
||||
(DECLARE (SPECVARS DISPLAYSTREAM OUTPUTSTREAM CHARARRAY))
|
||||
[RESETFORM (TTYDISPLAYSTREAM DISPLAYSTREAM)
|
||||
(bind CCODE (STREAM _ (GETSTREAM NIL 'INPUT))
|
||||
(CHARWIDTH _ (CHARWIDTH (CHARCODE A)
|
||||
TALK.TTY.FONT)) declare%: (SPECVARS STREAM)
|
||||
while (AND (OPENP OUTPUTSTREAM)
|
||||
(OPENWP DISPLAYSTREAM))
|
||||
do (if (SETQ CCODE (RESETLST
|
||||
(RESETSAVE (SETTERMTABLE TALK.TTY.TERMTABLE))
|
||||
(RESETSAVE (CONTROL T))
|
||||
(READCCODE STREAM)))
|
||||
then (SELCHARQ CCODE
|
||||
(BS (if (GEQ (DSPXPOSITION NIL DISPLAYSTREAM)
|
||||
CHARWIDTH)
|
||||
then (DSPBACKUP CHARWIDTH DISPLAYSTREAM)))
|
||||
NIL)
|
||||
(if CHARARRAY
|
||||
then (SETQ CCODE (ELT CHARARRAY CCODE)))
|
||||
(PRINTCCODE CCODE OUTPUTSTREAM)
|
||||
(if (NOT (READP STREAM T))
|
||||
then (FORCEOUTPUT OUTPUTSTREAM]
|
||||
(TTY.PROCESS T])
|
||||
)
|
||||
|
||||
(RPAQ? TALK.TTY.FONT DEFAULTFONT)
|
||||
|
||||
(RPAQ? TALK.TTY.TERMTABLE (COPYTERMTABLE 'ORIG))
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS TALK.TTY.FONT TALK.TTY.TERMTABLE)
|
||||
)
|
||||
|
||||
(FILESLOAD TALK)
|
||||
|
||||
(APPENDTOVAR GAP.SERVICETYPES (5 TTY TALK.NS.SERVER))
|
||||
|
||||
(APPENDTOVAR TALK.SERVICETYPES (TTY TALK.TTY.DISPLAY TALK.TTY.LISTEN))
|
||||
|
||||
(ECHOCHAR (CHARCODE BS)
|
||||
'IGNORE TALK.TTY.TERMTABLE)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (1045 5941 (TALK.TTY.DISPLAY 1055 . 2143) (TALK.TTY.LISTEN 2145 . 4428) (TALK.TTY.CHARFN
|
||||
4430 . 5939)))))
|
||||
STOP
|
||||
Reference in New Issue
Block a user