(FILECREATED " 9-Apr-86 17:10:44" {XDE:MCS:STANFORD}<LISPUSERS>KOTO>INSPECTCODE-TEDIT.;1
changes to: (FNS \INSPECTCODE.WITH.TEDIT.ICONFN \INSPECTCODE.WITH.TEDIT.INSP.ERROR
\INSPECTCODE.WITH.TEDIT.TITLEMENUFN)
previous date: " 4-Apr-86 10:38:41" {SUMEX-AIM}<LANE>INSPECTCODE-TEDIT.;1)
(* Copyright (c) 1985, 1986 by Beckman Instruments, Inc.. All rights reserved.)
(PRETTYCOMPRINT INSPECTCODE-TEDITCOMS)
(RPAQQ INSPECTCODE-TEDITCOMS ((FNS \INSPECTCODE.WITH.TEDIT.BUILD.TITLEMENU
\INSPECTCODE.WITH.TEDIT.ICONFN
\INSPECTCODE.WITH.TEDIT.INSP.ERROR
\INSPECTCODE.WITH.TEDIT.KILL.TEDIT.PROCESS
\INSPECTCODE.WITH.TEDIT.NOSELFN
\INSPECTCODE.WITH.TEDIT.TITLEMENUFN)
(UGLYVARS \INSPECTCODE.WITH.TEDIT.ICON.TEMPLATE)
(LISPXMACROS IC)
(PROP FILETYPE INSPECTCODE-TEDIT)
(ADVISE OPENTEXTSTREAM-IN-\TEDIT.INSPECTCODE)))
(DEFINEQ
(\INSPECTCODE.WITH.TEDIT.BUILD.TITLEMENU
[LAMBDA NIL (* mth: "30-Aug-85 15:49")
(DECLARE (GLOBALVARS \INSPECTCODE.WITH.TEDIT.TITLEMENU))
(SETQ \INSPECTCODE.WITH.TEDIT.TITLEMENU (create MENU
ITEMS ←
'((GraphCalls 'GC
"Invoke GRAPHCALLS on the current selection")
(InspectCode 'IC
"INSPECTCODE the current selection")
(Inspect 'INSP
"INSPECT the current selection"
(SUBITEMS (Freely 'INSP
"INSPECT the free-reference value of the selection")
(Globally 'INSP.GLOB
"INSPECT the Global (Top Level) value of the selection")
("In Process Context"
'INSP.PROC
"INSPECT the value of the selection in a process' context")))
("Pretty Print Value"
'PPV
"Pretty Print the value of the current selection"
(SUBITEMS (Freely 'PPV
"Pretty Print the free-reference value of the selection")
(Globally 'PPV.GLOB
"Pretty Print the Global (Top Level) value of the selection")
("In Process Context"
'PPV.PROC
"Pretty Print the value of the selection in a process' context")))
(Quit 'QUIT
"Terminates this INSPECTCODE"))])
(\INSPECTCODE.WITH.TEDIT.ICONFN
[LAMBDA (W) (* cdl " 9-Apr-86 17:06")
(DECLARE (GLOBALVARS \INSPECTCODE.WITH.TEDIT.ICON.TEMPLATE))
(LET ((ICON (TITLEDICONW \INSPECTCODE.WITH.TEDIT.ICON.TEMPLATE (WINDOWPROP W 'FNNAME)
(FONTCREATE '(HELVETICA 8)
NIL NIL NIL NIL T)
NIL T)))
(WINDOWPROP W 'ICON
ICON)
(WINDOWPROP W 'ICONWINDOW
ICON)
(WINDOWPROP W 'ICONFN
NIL)
ICON])
(\INSPECTCODE.WITH.TEDIT.INSP.ERROR
[LAMBDA (MESS1 MESS2 MESS3) (* cdl " 9-Apr-86 16:58")
(CLRPROMPT)
(if MESS2=NIL
then (PROMPTPRINT MESS1)
elseif MESS3=NIL
then (PROMPTPRINT MESS1 MESS2)
else (PROMPTPRINT MESS1 MESS2 MESS3))
(RINGBELLS])
(\INSPECTCODE.WITH.TEDIT.KILL.TEDIT.PROCESS
[LAMBDA (W) (* mth: " 4-Apr-86 10:12")
(DEL.PROCESS (WINDOWPROP W 'PROCESS])
(\INSPECTCODE.WITH.TEDIT.NOSELFN
[LAMBDA NIL (* mth: "29-Aug-85 09:36")
(CLRPROMPT)
(PROMPTPRINT "No current selection")
(RINGBELLS])
(\INSPECTCODE.WITH.TEDIT.TITLEMENUFN
[LAMBDA (W) (* cdl " 9-Apr-86 17:05")
(DECLARE (GLOBALVARS \INSPECTCODE.WITH.TEDIT.TITLEMENU))
(if ~(BOUNDP '\INSPECTCODE.WITH.TEDIT.TITLEMENU) or ~(type? MENU
\INSPECTCODE.WITH.TEDIT.TITLEMENU)
then (\INSPECTCODE.WITH.TEDIT.BUILD.TITLEMENU))
[LET* ((STREAM (TEXTSTREAM W))
(SELLEN (TEDIT.GETSEL STREAM):SELECTION.DCH)
(MENUCHOICE (MENU \INSPECTCODE.WITH.TEDIT.TITLEMENU))
(SpecifyRegionString "Specify a region for the value pretty print window")
INSPVAL SELSTR DISPLAYWINDOW)
(if ~MENUCHOICE
then (* Nothing to do, clicked out of menu)
elseif MENUCHOICE= 'QUIT
then (TEDIT.QUIT STREAM)
(if (OPENWP W)
then (CLOSEW W))
else (if (ZEROP SELLEN)
then (\INSPECTCODE.WITH.TEDIT.NOSELFN)
elseif SELLEN gt 255
then (\INSPECTCODE.WITH.TEDIT.INSP.ERROR
"Selection is too long (> 255 characters)")
(TEDIT.SHOWSEL STREAM NIL NIL)
(TEDIT.SETSEL STREAM 0 0 'LEFT)
else SELSTR←(PACK* (TEDIT.SEL.AS.STRING STREAM NIL)))
(SELECTQ MENUCHOICE
(IC (INSPECTCODE SELSTR))
(GC (if (FGETD 'GRAPHCALLSW)
then (if ~(GRAPHCALLS SELSTR)
then (\INSPECTCODE.WITH.TEDIT.INSP.ERROR
"Nothing to graph!!"))
else (\INSPECTCODE.WITH.TEDIT.INSP.ERROR
"The GRAPHCALLS package is not loaded. Cannot graph "
SELSTR)))
[(INSP PPV)
(if (BOUNDP SELSTR)
then (if MENUCHOICE= 'PPV
then (PROMPTPRINT SpecifyRegionString)
(DISPLAYWINDOW←(CREATEW (GETREGION
(WIDTHIFWINDOW
72)
(HEIGHTIFWINDOW
72 T))
SELSTR))
(CLRPROMPT)
(printout DISPLAYWINDOW .PPV (EVAL SELSTR))
else (INSPECT (EVAL SELSTR)))
else (\INSPECTCODE.WITH.TEDIT.INSP.ERROR SELSTR
" has no value to "
(if MENUCHOICE=
'PPV
then "print"
else "inspect"]
[(INSP.GLOB PPV.GLOB)
(if INSPVAL←(GETTOPVAL SELSTR)
~=
'NOBIND
then (if MENUCHOICE= 'PPV.GLOB
then (PROMPTPRINT SpecifyRegionString)
(DISPLAYWINDOW←(CREATEW (GETREGION
(WIDTHIFWINDOW
72)
(HEIGHTIFWINDOW
72 T))
SELSTR))
(CLRPROMPT)
(printout DISPLAYWINDOW .PPV INSPVAL)
else (INSPECT INSPVAL))
else (\INSPECTCODE.WITH.TEDIT.INSP.ERROR SELSTR
" has no Global value to "
(if MENUCHOICE=
'PPV.GLOB
then "print"
else "inspect"]
[(INSP.PROC PPV.PROC)
(LET (PROCESSLIST PROC)
(DECLARE (SPECVARS PROCESSLIST))
[MAP.PROCESSES (FUNCTION (LAMBDA (PHANDLE PNAME PFORM)
(push PROCESSLIST (<PNAME PHANDLE>]
(if PROC←(MENU (create MENU
ITEMS ← PROCESSLIST
CENTERFLG ← T))
then [if INSPVAL←(PROCESS.EVALV PROC SELSTR)
~=
'NOBIND
then (if MENUCHOICE= 'PPV.PROC
then
(PROMPTPRINT SpecifyRegionString)
(DISPLAYWINDOW←(CREATEW
(GETREGION (WIDTHIFWINDOW
72)
(HEIGHTIFWINDOW
72 T))
SELSTR))
(CLRPROMPT)
(printout DISPLAYWINDOW .PPV INSPVAL)
else (INSPECT INSPVAL))
else (\INSPECTCODE.WITH.TEDIT.INSP.ERROR
SELSTR
(if MENUCHOICE= 'PPV.PROC
then
" has no value to print in process "
else
" has no value to inspect in process ")
(PROCESSPROP PROC 'NAME]
else (\INSPECTCODE.WITH.TEDIT.INSP.ERROR
"No process selected. Will not "
(if MENUCHOICE= 'PPV.PROC
then "print "
else "inspect ")
SELSTR]
(PROGN (* Shouldn't happen, but ignore it.)]
NIL])
)
(READVARS \INSPECTCODE.WITH.TEDIT.ICON.TEMPLATE)
(({(READBITMAP)(87 91
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@COO@@@@@F@@"
"L@@@@@@@@@@@AOOON@@@@F@@"
"L@@@@@@@@@@@GN@AOH@@@F@@"
"L@@@@@@@@@@AO@@@CN@@@F@@"
"L@@@@@@@@@@CL@@@@O@@@F@@"
"L@@@@@@@@@@O@@@@@CL@@F@@"
"L@@@@@@@@@AN@@@@@AN@@F@@"
"L@@@@@@@@@CH@@@@@@G@@F@@"
"L@@@@@@@@@C@@@@@@@C@@F@@"
"L@@@@@@@@@G@@@@@@@CH@F@@"
"L@@@@@@@@@N@@@@@@@AL@F@@"
"L@@@@@@@@@L@@@@@@@@L@F@@"
"L@@@@@@@@AL@@@@@@@@N@F@@"
"L@@@@@@@@AH@@@@@@@@F@F@@"
"L@@@@@@@@CH@@@@@@@@G@F@@"
"L@@@@@@@@C@@@@@@@@@C@F@@"
"L@@@@@@@@C@@@@@@@@@C@F@@"
"L@@@@@@@@GGL@OHGO@OOHF@@"
"L@@@@@@@@GLFCHNFALLAHF@@"
"L@@@@@@@@GHCC@FF@LLAHF@@"
"L@@@@@@@@G@@F@CF@FLAHF@@"
"LBIGKMLNOO@@F@CF@FOOHF@@"
"LBMDBEA@BG@@F@CF@FLAHF@@"
"LBOGKMM@BG@@F@CF@FLAHF@@"
"LBK@JAA@BGHCC@FF@LLAHF@@"
"LBIGJALNBGLFCHNFALLAHF@@"
"L@@@@@@@@GGL@OHGO@OOHF@@"
"L@@@@@@@@C@@@@@@@@@C@F@@"
"L@@@@@@@@C@@@@@@@@@C@F@@"
"L@@@@@@@@CH@@@@@@@@G@F@@"
"L@@@@@@@@AH@@@@@@@@F@F@@"
"L@@@@@@@@AL@@@@@@@@N@F@@"
"L@@@@@@@@@L@@@@@@@@L@F@@"
"L@@@@@@@@@N@@@@@@@AL@F@@"
"L@@@@@@@@@G@@@@@@@CH@F@@"
"L@@@@@@@@@G@@@@@@@C@@F@@"
"L@@@@@@@@@OL@@@@@@G@@F@@"
"L@@@@@@@@@ON@@@@@AN@@F@@"
"L@@@@@@@@AGO@@@@@CL@@F@@"
"L@@@@@@@@CKCL@@@@O@@@F@@"
"L@@@@@@@@GLAO@@@CN@@@F@@"
"L@@@@@@@@OH@GN@AOH@@@F@@"
"L@@@@@@@AO@@AOOON@@@@F@@"
"L@@@@@@@FN@@@COO@@@@@F@@"
"L@@@@@@@OD@@@@@@@@@@@F@@"
"L@@@@@@AOH@@@@@@@@@@@F@@"
"L@@@@@@COH@@@@@@@@@@@F@@"
"L@@@@@@GO@@@@@@@@@@@@F@@"
"L@@@@@@ON@@@@@@@@@@@@F@@"
"L@@@@@AOL@@@@@@@@@@@@F@@"
"L@@@@@COH@@@@@@@@@@@@F@@"
"L@@@@@GO@@@@@@@@@@@@@F@@"
"L@@@@@ON@@@@@@@@@@@@@F@@"
"L@@@@AOL@@@@@@@@@@@@@F@@"
"L@@@@COH@@@@@@@@@@@@@F@@"
"L@@@@GO@@@@@@@@@@@@@@F@@"
"L@@@@ON@@@@@@@@@@@@@@F@@"
"L@@@AOL@@@@@@@@@@@@@@F@@"
"L@@@COH@@@@@@@@@@@@@@F@@"
"L@@@GO@@@@@@@@@@@@@@@F@@"
"L@@@GN@@@@@@@@@@@@@@@F@@"
"L@@@CL@@@@@@@@@@@@@@@F@@"
"L@@@AH@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"L@@@@@@@@@@@@@@@@@@@@F@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@")} {(READBITMAP)(87 91
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@"
"OOOOOOOOOOOOOOOOOOOOON@@")} (4 5 79 18)))
(ADDTOVAR LISPXMACROS (IC (APPLY 'INSPECTCODE
LISPXLINE)))
(PUTPROPS INSPECTCODE-TEDIT FILETYPE CLISP)
(PUTPROPS OPENTEXTSTREAM-IN-\TEDIT.INSPECTCODE READVICE [(\TEDIT.INSPECTCODE . OPENTEXTSTREAM)
(AROUND NIL (PROG2 [SETQ PROPS (APPEND PROPS '(QUITFN T TITLEMENUFN
\INSPECTCODE.WITH.TEDIT.TITLEMENUFN
NOTITLE T)]
*
(WINDOWADDPROP WINDOW 'CLOSEFN
(FUNCTION \INSPECTCODE.WITH.TEDIT.KILL.TEDIT.PROCESS))
(WINDOWPROP WINDOW 'ICONFN
(FUNCTION \INSPECTCODE.WITH.TEDIT.ICONFN))
(WINDOWPROP WINDOW 'FNNAME
FN])
(READVISE OPENTEXTSTREAM-IN-\TEDIT.INSPECTCODE)
(PUTPROPS INSPECTCODE-TEDIT COPYRIGHT ("Beckman Instruments, Inc." 1985 1986))
STOP