(FILECREATED "24-Jan-86 17:45:34" {QV}<PEDERSEN>LISP>MANAGER.;2 57764
changes to: (FNS Manager.COMS.BEF MANAGER MANAGER.RESET Manager.ADDADV Manager.ADDTOFILES?
Manager.ALTERMARKING Manager.CHANGED? Manager.CHECKFILE Manager.COLLECTCOMS
Manager.COMPILE Manager.COMS.BGF Manager.COMS.WSF Manager.COMSCLOSE
Manager.COMSOPEN Manager.COMSSHRINK Manager.COMSUPDATE
Manager.CORNER.POSITION Manager.FILECHANGES Manager.FILESUBTYPES
Manager.GETFILE Manager.INIT Manager.INTITLE? Manager.MAIN.BEF
Manager.MAIN.BGF Manager.MAIN.WHF Manager.MAIN.WSF Manager.MAINCLOSE
Manager.MAINMENUITEMS Manager.MAINOPEN Manager.MAINUPDATE
Manager.MAKEFILE.ADV Manager.MENUCOLUMNS Manager.NEWMENU Manager.PROMPT
Manager.RENAME Manager.REPAINTFN Manager.RESETSUBITEMS Manager.SHOWCHANGED
Manager.SORTBYCOLUMN Manager.TTYCOMMAND Manager.VALUE/ERROR ManagerCommand)
(VARS MANAGER.BM MANAGER.BM.MASK)
(ADVICE DOSELECTEDITEM ADDFILE ADDTOFILES? MAKEFILE MARKASCHANGED UNMARKASCHANGED
ADDTOCOMS DELFROMCOMS \ADDTOFILEBLOCK/ADDNEWCOM LOAD)
previous date: "24-Jan-86 14:51:25" {QV}<PEDERSEN>LISP>MANAGER.;1)
(PRETTYCOMPRINT MANAGERCOMS)
(RPAQQ MANAGERCOMS [(* * The Manager : a graphical interface to the FilePkg. Written By: Jay
Ferguson of Ford Aerospace & Communications Corp and Robert Noble of
Intellicorp)
(* * Variables and Constants)
(VARS MANAGER.BM MANAGER.BM.MASK MANAGERADVICE)
[INITVARS Manager.ACTIVEFLG (Manager.SORTFILELSTFLG T)
(Manager.MENUROWS 20)
(Manager.MENUFONT (FONTCREATE (QUOTE HELVETICA)
10
(QUOTE (MEDIUM REGULAR REGULAR))
0
(QUOTE DISPLAY)))
[Manager.DATASPACE (BQUOTE (, [COPY (QUOTE (MENUS (MAIN]
,
(CONS (QUOTE MENUFONT)
Manager.MENUFONT)
,
(CONS (QUOTE MENUBOLDFONT)
(FONTCOPY Manager.MENUFONT (QUOTE (WEIGHT
BOLD]
(Manager.DIRECTION (QUOTE DOWN))
(Manager.TITLEFONT (QUOTE (GACHA 12]
(GLOBALVARS Manager.ACTIVEFLG Manager.DATASPACE Manager.MENUFONT BackgroundMenuCommands
BackgroundMenu FILEPKGTYPES PROMPTWINDOW \TopLevelTtyWindow
WindowTitleDisplayStream MANAGERADVICE Manager.DIRECTION Manager.MENUROWS
MANAGER.BM MANAGER.BM.MASK Manager.SORTFILELSTFLG Manager.TITLEFONT SCREENHEIGHT
FILELST MACROPROPS LCFIL LAPFLG STRF SVFLG LSTFIL)
(* * Advice for interfacing with the FilePkg.)
(ADVISE DOSELECTEDITEM)
(ADVISE * (PROGN MANAGERADVICE))
(* * Functions and Macros)
(FNS * MANAGERFNS)
(MACROS GETDATUM PUTDATUM Manager.GETMENU)
(* * Misc)
(P (Manager.INIT))
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA)
(NLAML
Manager.TTYCOMMAND)
(LAMA])
(* * The Manager : a graphical interface to the FilePkg. Written By: Jay Ferguson of Ford
Aerospace & Communications Corp and Robert Noble of Intellicorp)
(* * Variables and Constants)
(RPAQ MANAGER.BM (READBITMAP))
(72 40
"@@@@@@@@@@@@AOOL@@@@"
"@@@@@@@@AO@@ABBD@@@@"
"@@@@@@@@AO@@AFKD@@@@"
"@@@@@@@@CEH@ALAL@@@@"
"@@@@@@@@GKL@AADD@@@@"
"@@@@@@@@BDH@A@@D@@@@"
"@@@@@@@@AA@@AOOL@@@@"
"@@@@@@@@@N@@@@@@@@@@"
"@@@@@@@@CC@@@@@@@@@@"
"@@@@@@@@D@H@@@@@@@@@"
"@@@@@@@@D@H@@@@@@@@@"
"@@@@@@@@D@D@@@@@@@@@"
"@@@@@@@@EBD@@@@@@@@@"
"@@@@@@@@IBB@@@@@@@@@"
"@@@@B@@@JCB@@@@@@@@@"
"@@@@EOOABAA@@@@@@@@@"
"@@@@GHGICKI@@@@@@@@@"
"@AOOIOKJAL@H@AOO@@@@"
"@B@@E@OIANA@@B@@L@@@"
"@D@@IOOHOON@@D@@D@@@"
"OOOOOOOOOOOOOOOOOO@@"
"OOOOOOOOOOOOOOOOOO@@"
"OOOOOOOOOOOOOOOOOO@@"
"A@@@@@@@@@@@@@@@@D@@"
"A@@@@@@@@@@@@@@@@D@@"
"A@@@@@@@@@@@@@@@@D@@"
"A@GALBALFA@GLOMO@D@@"
"A@GALGANFCHLFLAIHD@@"
"A@GKLGANFCHL@LAIHD@@"
"A@GKLMIKFFLLNOIIHD@@"
"A@FNLMIKFFLLFLAO@D@@"
"A@FNLOIINGLLFLAIHD@@"
"A@FNMHMINLFLNLAIHD@@"
"A@FDMHMHNLFGFOMIHD@@"
"A@@@@@@@@@@@@@@@@D@@"
"A@@@@@@@@@@@@@@@@D@@"
"A@@@@@@@@@@@@@@@@D@@"
"A@@@@@@@@@@@@@@@@D@@"
"A@@@@@@@@@@@@@@@@D@@"
"AOOOOOOOOOOOOOOOOL@@")
(RPAQ MANAGER.BM.MASK (READBITMAP))
(72 40
"@@@@@@@@@@@@AOOL@@@@"
"@@@@@@@@AO@@AOOL@@@@"
"@@@@@@@@AO@@AOOL@@@@"
"@@@@@@@@COH@AOOL@@@@"
"@@@@@@@@GOL@AOOL@@@@"
"@@@@@@@@COH@AOOL@@@@"
"@@@@@@@@AO@@AOOL@@@@"
"@@@@@@@@@N@@@@@@@@@@"
"@@@@@@@@CO@@@@@@@@@@"
"@@@@@@@@GOH@@@@@@@@@"
"@@@@@@@@GOH@@@@@@@@@"
"@@@@@@@@GOL@@@@@@@@@"
"@@@@@@@@GOL@@@@@@@@@"
"@@@@@@@@OON@@@@@@@@@"
"@@@@B@@@OON@@@@@@@@@"
"@@@@GOOAOOO@@@@@@@@@"
"@@@@GOOIOOO@@@@@@@@@"
"@AOOIOOKOOOH@AOO@@@@"
"@COOMOOIOOO@@COOL@@@"
"@GOOOOOHOON@@GOOL@@@"
"OOOOOOOOOOOOOOOOOO@@"
"OOOOOOOOOOOOOOOOOO@@"
"OOOOOOOOOOOOOOOOOO@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@"
"AOOOOOOOOOOOOOOOOL@@")
(RPAQQ MANAGERADVICE (ADDFILE ADDTOFILES? MAKEFILE MARKASCHANGED UNMARKASCHANGED ADDTOCOMS
DELFROMCOMS \ADDTOFILEBLOCK/ADDNEWCOM LOAD))
(RPAQ? Manager.ACTIVEFLG NIL)
(RPAQ? Manager.SORTFILELSTFLG T)
(RPAQ? Manager.MENUROWS 20)
(RPAQ? Manager.MENUFONT (FONTCREATE (QUOTE HELVETICA)
10
(QUOTE (MEDIUM REGULAR REGULAR))
0
(QUOTE DISPLAY)))
(RPAQ? Manager.DATASPACE [BQUOTE (, [COPY (QUOTE (MENUS (MAIN]
,
(CONS (QUOTE MENUFONT)
Manager.MENUFONT)
,
(CONS (QUOTE MENUBOLDFONT)
(FONTCOPY Manager.MENUFONT (QUOTE (WEIGHT BOLD])
(RPAQ? Manager.DIRECTION (QUOTE DOWN))
(RPAQ? Manager.TITLEFONT (QUOTE (GACHA 12)))
(DECLARE: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS Manager.ACTIVEFLG Manager.DATASPACE Manager.MENUFONT BackgroundMenuCommands
BackgroundMenu FILEPKGTYPES PROMPTWINDOW \TopLevelTtyWindow WindowTitleDisplayStream
MANAGERADVICE Manager.DIRECTION Manager.MENUROWS MANAGER.BM MANAGER.BM.MASK
Manager.SORTFILELSTFLG Manager.TITLEFONT SCREENHEIGHT FILELST MACROPROPS LCFIL LAPFLG
STRF SVFLG LSTFIL)
)
(* * Advice for interfacing with the FilePkg.)
(PUTPROPS DOSELECTEDITEM READVICE [NIL (AROUND NIL
(COND
([AND (NEQ BUTTON (QUOTE RIGHT))
(OR (KEYDOWNP (QUOTE LSHIFT))
(KEYDOWNP (QUOTE RSHIFT]
(SELECTQ
BUTTON
[LEFT (BKSYSBUF (COND ((LISTP ITEM)
(CAR ITEM))
(ITEM]
[MIDDLE (BKSYSBUF (COND ((LISTP ITEM)
(CAR ITEM))
(ITEM)))
(BKSYSBUF (CONSTANT
(CHARACTER (CHARCODE CR]
*))
(T *])
(READVISE DOSELECTEDITEM)
(PUTPROPS ADDFILE READVICE [NIL (AFTER NIL (COND (Manager.ACTIVEFLG (MANAGER)
(Manager.CHECKFILE FILE])
(PUTPROPS ADDTOFILES? READVICE [NIL (AROUND NIL (COND (Manager.ACTIVEFLG
(RESETLST [RESETSAVE
(PUTDATUM (QUOTE ADDTOFILES?)
T)
(FUNCTION (PROGN (
Manager.ADDTOFILES?]
*))
(T *])
(PUTPROPS MAKEFILE READVICE [NIL (AROUND NIL (COND (Manager.ACTIVEFLG (PROG1 * (
Manager.MAKEFILE.ADV
FILE)))
(T *])
(PUTPROPS MARKASCHANGED READVICE [NIL (AFTER NIL (AND Manager.ACTIVEFLG (Manager.ALTERMARKING
NAME TYPE T])
(PUTPROPS UNMARKASCHANGED READVICE [NIL (AFTER NIL (AND Manager.ACTIVEFLG !VALUE (
Manager.ALTERMARKING NAME TYPE])
(PUTPROPS ADDTOCOMS READVICE [NIL (AFTER NIL (AND Manager.ACTIVEFLG (Manager.ADDADV !VALUE COMS
NAME TYPE])
(PUTPROPS DELFROMCOMS READVICE [NIL (AFTER NIL (AND Manager.ACTIVEFLG (Manager.ADDADV !VALUE COMS
NAME TYPE])
(PUTPROPS \ADDTOFILEBLOCK/ADDNEWCOM READVICE [NIL (AFTER NIL (AND Manager.ACTIVEFLG
(Manager.RESETSUBITEMS FILE TYPE])
(PUTPROPS LOAD READVICE [NIL (AROUND NIL (PROGN (RESETVAR Manager.ACTIVEFLG NIL *)
(AND Manager.ACTIVEFLG (MANAGER])
(READVISE ADDFILE ADDTOFILES? MAKEFILE MARKASCHANGED UNMARKASCHANGED ADDTOCOMS DELFROMCOMS
\ADDTOFILEBLOCK/ADDNEWCOM LOAD)
(* * Functions and Macros)
(RPAQQ MANAGERFNS (MANAGER MANAGER.RESET Manager.ADDADV Manager.ADDTOFILES? Manager.ALTERMARKING
Manager.CHANGED? Manager.CHECKFILE Manager.COLLECTCOMS Manager.COMPILE
Manager.COMS.BEF Manager.COMS.BGF Manager.COMS.WSF Manager.COMSCLOSE
Manager.COMSOPEN Manager.COMSSHRINK Manager.COMSUPDATE
Manager.CORNER.POSITION Manager.FILECHANGES Manager.FILESUBTYPES
Manager.GETFILE Manager.INIT Manager.INTITLE? Manager.MAIN.BEF
Manager.MAIN.BGF Manager.MAIN.WHF Manager.MAIN.WSF Manager.MAINCLOSE
Manager.MAINMENUITEMS Manager.MAINOPEN Manager.MAINUPDATE
Manager.MAKEFILE.ADV Manager.MENUCOLUMNS Manager.NEWMENU Manager.PROMPT
Manager.RENAME Manager.REPAINTFN Manager.RESETSUBITEMS
Manager.SHOWCHANGED Manager.SORTBYCOLUMN Manager.TTYCOMMAND
Manager.VALUE/ERROR ManagerCommand))
(DEFINEQ
(MANAGER
[LAMBDA (POSITION) (* edited: " 3-Jan-86 08:50")
(PROG (WINDOW OLDMENU)
(SETQ OLDMENU (Manager.GETMENU (QUOTE MAIN)))
(if (SETQ WINDOW (GETDATUM (QUOTE MAINWINDOW)))
then (if (NOT (OPENWP WINDOW))
then [if (OPENWP (WINDOWPROP WINDOW (QUOTE ICONWINDOW)))
then (EXPANDW (WINDOWPROP WINDOW (QUOTE ICONWINDOW]
else (TOTOPW WINDOW)))
(if (EQLENGTH FILELST 0)
then
(* * Closing the system down)
(Manager.MAINCLOSE T)
elseif [OR (NULL Manager.ACTIVEFLG)
[NOT (IEQP (LENGTH FILELST)
(LENGTH (fetch (MENU ITEMS) of OLDMENU]
(NOT (for FN1 in FILELST as FN2 in (fetch (MENU ITEMS)
of OLDMENU)
always (EQ FN1 (CAR FN2]
then
(* * User must have added or deleted a file)
(if Manager.ACTIVEFLG
then (Manager.MAINCLOSE)
else (UPDATEFILES))
(Manager.MAINOPEN (OR (POSITIONP POSITION)
WINDOW))
else (Manager.MAINUPDATE])
(MANAGER.RESET
[LAMBDA NIL (* j.ferguson "13-Dec-85 09:55")
(Manager.MAINCLOSE T)
(APPLY (FUNCTION UNADVISE)
MANAGERADVICE)
(APPLY (FUNCTION READVISE)
MANAGERADVICE)
(for ADVICE in MANAGERADVICE do (UNMARKASCHANGED ADVICE (QUOTE ADVICE)))
[SETQ Manager.DATASPACE (BQUOTE (, [COPY (QUOTE (MENUS (MAIN]
,
(CONS (QUOTE MENUFONT)
Manager.MENUFONT)
,
(CONS (QUOTE MENUBOLDFONT)
(FONTCOPY Manager.MENUFONT (QUOTE
(WEIGHT BOLD]
(for MENU in (QUOTE (MAIN.BACKGROUND FNS VARS RECORDS PROPS MAIN.MIDDLE COMS.MIDDLE
COMS.RIGHT NEW.TYPE))
do (Manager.NEWMENU MENU))
(MANAGER])
(Manager.ADDADV
[LAMBDA (!VALUE FILECOMS NAME COMSTYPE) (* j.ferguson "18-Sep-85 11:58")
(PROG (FILE SUBITEMS ITEMS)
(if (OR (NULL !VALUE)
(LISTP FILECOMS))
then (RETURN)
else (if [SETQ FILE (for F in FILELST thereis (EQ FILECOMS (FILECOMS
F]
then (for WINDOW in (GETDATUM (QUOTE OPEN.WINDOWS))
bind STUFF CASES (ADDTOFILES? ←(GETDATUM (QUOTE ADDTOFILES?))
)
first [AND ADDTOFILES? (SETQ CASES (GETDATUM (QUOTE CASES]
when (AND (OPENWP WINDOW)
(EQ [CDR (SETQ STUFF
(GETDATUM (CAR (WINDOWPROP
WINDOW
(QUOTE MENU]
COMSTYPE)
(EQ (CAR STUFF)
FILE))
do (COND
(ADDTOFILES? (pushnew CASES STUFF))
(T (Manager.COMSOPEN FILE COMSTYPE)))
finally (AND ADDTOFILES? (PUTDATUM (QUOTE CASES)
CASES)))
(Manager.RESETSUBITEMS FILE COMSTYPE)
(Manager.MAINUPDATE (GETDATUM (QUOTE MAINWINDOW])
(Manager.ADDTOFILES?
[LAMBDA NIL (* ren "11-Feb-85 23:03")
(PUTDATUM (QUOTE ADDTOFILES?))
(MANAGER)
(for CASE in (GETDATUM (QUOTE CASES)) do (Manager.COMSOPEN (CAR CASE)
(CDR CASE)))
(PUTDATUM (QUOTE CASES])
(Manager.ALTERMARKING
[LAMBDA (ITEM TYPE MARKING?) (* j.ferguson " 1-Oct-85 08:21")
(COND
((EQ ITEM (QUOTE FILELST))
(UNMARKASCHANGED (QUOTE FILELST)
(QUOTE VARS))
(MANAGER))
((EQ TYPE (QUOTE FILES))
(MANAGER))
(T (if (NULL (STKPOS (QUOTE UPDATEFILES)))
then (UPDATEFILES))
[for WINDOW in (GETDATUM (QUOTE OPEN.WINDOWS)) bind MENU
when (AND (OPENWP WINDOW)
[SETQ MENU (CAR (WINDOWPROP WINDOW (QUOTE MENU]
[OR (NULL TYPE)
(EQ TYPE (CDR (GETDATUM MENU]
(MEMBER (COND
((LISTP ITEM)
(SETQ ITEM (CAR ITEM)))
(T ITEM))
(fetch ITEMS of MENU)))
do (Manager.SHOWCHANGED WINDOW MENU ITEM MARKING?)
(COND
((EQ (CDR (GETDATUM MENU))
(QUOTE FILEVARS))
(Manager.CHECKFILE (CAR (GETDATUM MENU]
(Manager.MAINUPDATE])
(Manager.CHANGED?
[LAMBDA (FILES) (* jcf " 8-Mar-85 10:23")
(bind CHANGES for FILE in (OR FILES FILELST) first (TERPRI)
when [SETQ CHANGES (CDR (GETPROP FILE (QUOTE FILE]
do (printout T .FONT LAMBDAFONT FILE .FONT DEFAULTFONT T)
(for CHANGE in CHANGES do (printout T (CAR CHANGE)
":" 10 .PARA 10 0 (CDR CHANGE)
T))
(printout T "------" T])
(Manager.CHECKFILE
[LAMBDA (FILE) (* j.ferguson "30-Sep-85 11:29")
[if (NULL (GETDATUM (QUOTE ADDTOFILES?)))
then (SETQ FILE (ROOTFILENAME FILE))
(for WINDOW in (GETDATUM (QUOTE OPEN.WINDOWS)) bind MENU
when [AND (OPENWP WINDOW)
(EQ [CAR (GETDATUM (SETQ MENU (CAR (WINDOWPROP
WINDOW
(QUOTE MENU]
FILE)
(NOT (EQUAL (Manager.COLLECTCOMS FILE (CDR (GETDATUM MENU)))
(fetch (MENU ITEMS) of MENU]
do (Manager.COMSOPEN FILE (CDR (GETDATUM MENU]
(Manager.RESETSUBITEMS FILE])
(Manager.COLLECTCOMS
[LAMBDA (FILE TYPE) (* j.ferguson "26-Sep-85 16:31")
(PROG (COMSLST)
(SETQ COMSLST (FILECOMSLST FILE TYPE))
(RETURN (Manager.SORTBYCOLUMN (COND
((NULL COMSLST)
(RETURN))
((EQ TYPE (QUOTE PROPS))
(for PROP in COMSLST
when (AND (NOT (FMEMB (CAR PROP)
$$VAL))
(NOT (FMEMB (CADR PROP)
MACROPROPS)))
collect (CAR PROP)))
((EQ TYPE (QUOTE VARS))
(for VAR in COMSLST
bind (FILEVARS ←(FILECOMSLST FILE
(QUOTE
FILEVARS)))
when (NOT (FMEMB VAR FILEVARS))
collect VAR))
((INTERSECTION [SETQ COMSLST
(for ITEM in COMSLST
collect (COND
((ATOM ITEM)
ITEM)
((CAR ITEM]
COMSLST])
(Manager.COMPILE
[LAMBDA (FILE.OR.FN FILEFLG) (* j.ferguson "31-Oct-85 17:55")
(SETQ LCFIL NIL)
(SETQ LAPFLG NIL)
(SETQ STRF T)
(SETQ SVFLG T)
(SETQ LSTFIL NIL)
(if FILEFLG
then (for FN in (FILEFNSLST FILE.OR.FN) when (NOT (CCODEP FN))
do (COMPILE1 FN (GETDEF FN (QUOTE FNS))
T))
else (COMPILE1 FILE.OR.FN (GETDEF FILE.OR.FN (QUOTE FNS))
T])
(Manager.COMS.BEF
[LAMBDA (WINDOW) (* jop: "24-Jan-86 17:44")
(if (Manager.INTITLE? WINDOW)
then (SELECTQ LASTMOUSEBUTTONS
(1 (* MIDDLE BUTTON)
(Manager.COMSSHRINK WINDOW))
(2 (* RIGHT BUTTON)
(Manager.COMSCLOSE WINDOW))
(4 (* LEFT BUTTON)
(MOVEW WINDOW))
NIL)
else (if (IEQP LASTMOUSEBUTTONS 2)
then (Manager.COMS.BGF WINDOW)
else (MENUBUTTONFN WINDOW])
(Manager.COMS.BGF
[LAMBDA (WINDOW) (* j.ferguson "13-Dec-85 09:52")
(SELECTQ (MENU (Manager.GETMENU (QUOTE COMS.RIGHT)))
(CLOSE (Manager.COMSCLOSE WINDOW))
(MOVE (MOVEW WINDOW))
(SHRINK (Manager.COMSSHRINK WINDOW))
(BURY (BURYW WINDOW))
(REDISPLAY (Manager.COMSUPDATE WINDOW))
NIL])
(Manager.COMS.WSF
[LAMBDA (ITEM MENU KEY) (* j.ferguson "13-Dec-85 20:22")
(PROG (NEWMENU ANSWER FILE COMSTYPE COMSLST FILECOMS COMMAND)
(DECLARE (SPECVARS ITEM COMSTYPE))
(if (NULL ITEM)
then (RETURN))
(SETQ COMSLST (GETDATUM MENU))
(SETQ FILE (CAR COMSLST))
(SETQ COMSTYPE (CDR COMSLST))
(SELECTQ KEY
[LEFT (COND
((SETQ NEWMENU (Manager.GETMENU COMSTYPE))
(MENU NEWMENU))
((SELECTQ (MENU (Manager.GETMENU (QUOTE NEW.TYPE)))
(EDIT (Manager.VALUE/ERROR (BQUOTE
(EDITDEF ,
(KWOTE
ITEM)
,
(KWOTE
COMSTYPE)))
"Can't Edit!!!"))
[PP (Manager.TTYCOMMAND (BQUOTE (GETDEF
,
(KWOTE ITEM)
,
(KWOTE COMSTYPE]
NIL]
((MIDDLE RIGHT)
(SPAWN.MOUSE)
[SETQ COMMAND (MENU (Manager.GETMENU (QUOTE COMS.MIDDLE]
(SELECTQ COMMAND
(RENAME (Manager.RENAME ITEM COMSTYPE FILE (WFROMMENU
MENU)))
(RENAME-ALL (Manager.RENAME ITEM COMSTYPE NIL (WFROMMENU
MENU)))
(DELETE (if (MOUSECONFIRM (CONCAT "DELETE the " COMSTYPE
" "
ITEM " from " FILE "?"))
then (DELFROMFILES ITEM COMSTYPE FILE)))
[MOVE (COND
((SETQ ANSWER (Manager.GETFILE COMMAND))
(ADDTOFILE ITEM COMSTYPE ANSWER)
(DELFROMFILES ITEM COMSTYPE FILE)
(MARKASCHANGED ITEM COMSTYPE (QUOTE CHANGED]
[COPY (COND
((SETQ ANSWER (Manager.GETFILE COMMAND))
(ADDTOFILE ITEM COMSTYPE ANSWER)
(MARKASCHANGED ITEM COMSTYPE (QUOTE CHANGED]
((CHANGED DELETED DEFINED CLISP)
(if (EQ COMSTYPE (QUOTE PROPS))
then (for PROP in (PROPNAMES ITEM)
do (MARKASCHANGED (LIST ITEM PROP)
(QUOTE PROPS)
(QUOTE CHANGED)))
else (MARKASCHANGED ITEM COMSTYPE COMMAND)))
(UNMARK (if (EQ COMSTYPE (QUOTE PROPS))
then (for PROP in (PROPNAMES ITEM)
do (UNMARKASCHANGED (LIST ITEM PROP)
(QUOTE PROPS)))
else (UNMARKASCHANGED ITEM COMSTYPE)))
NIL))
NIL])
(Manager.COMSCLOSE
[LAMBDA (WINDOW) (* j.ferguson "18-Sep-85 12:49")
(PROG [(MENU (CAR (WINDOWPROP WINDOW (QUOTE MENU]
(WINDOWPROP WINDOW (QUOTE CLOSEFN)
NIL)
[if (NULL (OPENWP WINDOW))
then (EXPANDW (WINDOWPROP WINDOW (QUOTE ICONWINDOW]
(DELETEMENU MENU T WINDOW)
(DREMOVE (FASSOC MENU Manager.DATASPACE)
Manager.DATASPACE)
(DREMOVE (FASSOC (WINDOWPROP WINDOW (QUOTE COMSTYPE))
Manager.DATASPACE)
Manager.DATASPACE)
(PUTDATUM (QUOTE OPEN.WINDOWS)
(DREMOVE WINDOW (GETDATUM (QUOTE OPEN.WINDOWS])
(Manager.COMSOPEN
[LAMBDA (FILE TYPE FLASHFLG) (* j.ferguson "13-Dec-85 15:55")
(PROG ((COMSLST (Manager.COLLECTCOMS FILE TYPE))
(COMSTYPE (FILECOMS FILE TYPE))
COMS.MENU COMS.WINDOW POSITION)
(COND
(COMSLST (if [AND (GETDATUM COMSTYPE)
(EQUAL COMSLST (fetch (MENU ITEMS) of (GETDATUM COMSTYPE]
then (Manager.COMSUPDATE (OR (WFROMMENU (GETDATUM COMSTYPE))
(for W in (GETDATUM (QUOTE
OPEN.WINDOWS))
thereis
(EQ (WINDOWPROP W (QUOTE
COMSTYPE))
COMSTYPE)))
FLASHFLG)
(RETURN))
[SETQ COMS.MENU (create MENU
ITEMS ← COMSLST
MENUCOLUMNS ←(Manager.MENUCOLUMNS COMSLST)
MENUTITLEFONT ← Manager.TITLEFONT
TITLE ←(CONCAT (NAMEFIELD FILE)
"'s "
(L-CASE TYPE T))
WHENSELECTEDFN ←(FUNCTION Manager.COMS.WSF)
WHENHELDFN ←(FUNCTION [LAMBDA (ITEM MENU KEY)
(SELECTQ KEY
(LEFT (PROMPTPRINT
"Menu of "
(CDR (GETDATUM MENU))
" operations for " ITEM))
(MIDDLE (PROMPTPRINT
"Menu of file package commands for "
ITEM))
NIL])
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
(COND
((SETQ COMS.WINDOW (WFROMMENU (GETDATUM COMSTYPE)))
(SETQ POSITION (Manager.CORNER.POSITION COMS.WINDOW COMS.MENU))
(Manager.COMSCLOSE COMS.WINDOW)))
[SETQ COMS.WINDOW (ADDMENU COMS.MENU NIL (OR POSITION
(with MENU COMS.MENU
(GETBOXPOSITION
IMAGEWIDTH
IMAGEHEIGHT]
(for ITEM in (Manager.FILECHANGES FILE TYPE)
do (Manager.SHOWCHANGED COMS.WINDOW COMS.MENU ITEM T))
(PUTDATUM COMSTYPE COMS.MENU)
(PUTDATUM COMS.MENU (CONS FILE TYPE))
[PUTDATUM (QUOTE OPEN.WINDOWS)
(CONS COMS.WINDOW (GETDATUM (QUOTE OPEN.WINDOWS]
(WINDOWPROP COMS.WINDOW (QUOTE RIGHTBUTTONFN)
(FUNCTION Manager.COMS.BEF))
(WINDOWPROP COMS.WINDOW (QUOTE BUTTONEVENTFN)
(FUNCTION Manager.COMS.BEF))
(WINDOWPROP COMS.WINDOW (QUOTE COMSTYPE)
COMSTYPE)
(WINDOWPROP COMS.WINDOW (QUOTE REPAINTFN)
(FUNCTION Manager.REPAINTFN))
(WINDOWPROP COMS.WINDOW (QUOTE CLOSEFN)
(QUOTE DON'T)))
((SETQ COMS.WINDOW (WFROMMENU (GETDATUM COMSTYPE)))
(Manager.COMSCLOSE COMS.WINDOW])
(Manager.COMSSHRINK
[LAMBDA (WINDOW) (* j.ferguson "13-Dec-85 09:44")
(PROG (ICONWINDOW)
(RESETLST [RESETSAVE (DSPFONT Manager.TITLEFONT WindowTitleDisplayStream)
(QUOTE (PROGN (DSPFONT OLDVALUE WindowTitleDisplayStream]
[SHRINKW WINDOW (fetch (MENU TITLE) of (GETDATUM (WINDOWPROP
WINDOW
(QUOTE COMSTYPE]
(WINDOWPROP WINDOW (QUOTE EXPANDFN)
(FUNCTION Manager.COMSUPDATE))
(SETQ ICONWINDOW (WINDOWPROP WINDOW (QUOTE ICONWINDOW)))
(WINDOWPROP ICONWINDOW (QUOTE RIGHTBUTTONFN)
(QUOTE NILL))
(WINDOWPROP ICONWINDOW (QUOTE CLOSEFN)
(QUOTE DON'T])
(Manager.COMSUPDATE
[LAMBDA (WINDOW FLASHFLG) (* j.ferguson "18-Sep-85 14:41")
(PROG ([MENU (CAR (WINDOWPROP WINDOW (QUOTE MENU]
CHANGELST FILE TYPE)
(SETQ FILE (CAR (GETDATUM MENU)))
(SETQ TYPE (CDR (GETDATUM MENU)))
(SETQ CHANGELST (Manager.FILECHANGES FILE TYPE))
[COND
[(NULL (OPENWP WINDOW))
(if (OPENWP (WINDOWPROP WINDOW (QUOTE ICONWINDOW)))
then (EXPANDW (WINDOWPROP WINDOW (QUOTE ICONWINDOW]
(T (if FLASHFLG
then (FLASHWINDOW WINDOW 2)
else (TOTOPW WINDOW]
(COND
((EQUAL (fetch (MENU ITEMS) of MENU)
(Manager.COLLECTCOMS FILE TYPE))
(for ITEM in (LDIFFERENCE (WINDOWPROP WINDOW (QUOTE MANAGER.CHANGES))
CHANGELST)
do (Manager.SHOWCHANGED WINDOW MENU ITEM))
(for ITEM in CHANGELST do (Manager.SHOWCHANGED WINDOW MENU ITEM T)))
(T (Manager.COMSOPEN FILE TYPE])
(Manager.CORNER.POSITION
[LAMBDA (OLDWINDOW MENU) (* jcf "13-Feb-85 21:51")
(PROG (POSITION)
(with REGION (WINDOWPROP OLDWINDOW (QUOTE REGION))
(SELECTQ Manager.DIRECTION
(UP (SETQ POSITION (create POSITION
XCOORD ← LEFT
YCOORD ← BOTTOM)))
[DOWN (SETQ POSITION (create POSITION
XCOORD ← LEFT
YCOORD ←(MAX (IDIFFERENCE
PTOP
(fetch IMAGEHEIGHT
of MENU))
0]
[CENTER (SETQ POSITION
(create POSITION
XCOORD ← LEFT
YCOORD ←(MAX (IQUOTIENT (IDIFFERENCE
PTOP
(fetch IMAGEHEIGHT
of MENU))
2)
0]
NIL))
(RETURN POSITION])
(Manager.FILECHANGES
[LAMBDA (FILE COMSTYPE) (* j.ferguson "18-Sep-85 12:32")
(PROG (CHANGES)
(SETQ CHANGES (GETPROP FILE (QUOTE FILE)))
(RETURN (COND
[(AND CHANGES (EQ COMSTYPE (QUOTE PROPS)))
(for CHANGE in (CDR (FASSOC COMSTYPE (CDR CHANGES)))
collect (CAR CHANGE) when (NOT (FMEMB (CAR CHANGE)
$$VAL]
[CHANGES (CDR (FASSOC COMSTYPE (CDR CHANGES]
((INTERSECTION (GETATOMVAL (PACK* (QUOTE CHANGED)
COMSTYPE
(QUOTE LST)))
(FILECOMSLST FILE COMSTYPE])
(Manager.FILESUBTYPES
[LAMBDA (FILE) (* j.ferguson "26-Sep-85 16:30")
(for TYPE in FILEPKGTYPES bind COMSLST
when (AND [NOT (FMEMB TYPE (QUOTE (EXPRESSIONS]
(SETQ COMSLST (FILECOMSLST FILE TYPE))
(if (EQ TYPE (QUOTE PROPS))
then (for PROP in COMSLST thereis (NOT (FMEMB (CADR PROP)
MACROPROPS)))
else (if (EQ TYPE (QUOTE VARS))
then (for VAR in COMSLST bind (FILEVARS
←(FILECOMSLST
FILE
(QUOTE FILEVARS)))
thereis (NOT (FMEMB VAR FILEVARS)))
else T)))
collect TYPE])
(Manager.GETFILE
[LAMBDA (MOVE.OR.COPY) (* jcf "16-Mar-85 09:32")
(PROG (FILEMENU)
(SETQ FILEMENU (GETDATUM (QUOTE FILELST.MENU)))
(COND
([OR (NULL FILEMENU)
(NOT (EQUAL FILELST (CDR (fetch ITEMS of FILEMENU]
[SETQ FILEMENU (create MENU
ITEMS ←(CONS (QUOTE *newfile*)
(COPY FILELST))
TITLE ← "Files"
WHENSELECTEDFN ←(FUNCTION (LAMBDA (ITEM MENU KEY)
(PROG (ANSWER FILECOMS)
(COND
((EQ ITEM (QUOTE *newfile*))
(SETQ ANSWER (Manager.PROMPT
"File Name: "))
(SETQ FILECOMS (FILECOMS ANSWER))
[SET FILECOMS (COPY (QUOTE (
(* File created by Coms Manager.)]
(ADDFILE ANSWER)
(RETURN ANSWER))
(T (RETURN ITEM]
(PUTDATUM (QUOTE FILELST.MENU)
FILEMENU)))
(RETURN (MENU FILEMENU])
(Manager.INIT
[LAMBDA NIL (* j.ferguson "13-Dec-85 09:55")
(COND
((NOT (SASSOC "Manager" BackgroundMenuCommands))
(SETQ BackgroundMenu)
[NCONC1 BackgroundMenuCommands (QUOTE ("Manager" (QUOTE (MANAGER]
(for MENU in (QUOTE (MAIN.BACKGROUND FNS VARS RECORDS PROPS MAIN.MIDDLE COMS.MIDDLE
COMS.RIGHT NEW.TYPE))
do (Manager.NEWMENU MENU))
(for ADVICE in MANAGERADVICE do (UNMARKASCHANGED ADVICE (QUOTE ADVICE])
(Manager.INTITLE?
[LAMBDA (WINDOW) (* jcf " 9-Mar-85 13:24")
(PROG (INTERIOR.HEIGHT REGION MENU)
[SETQ MENU (CAR (WINDOWPROP WINDOW (QUOTE MENU]
(SETQ INTERIOR.HEIGHT (FONTPROP (OR (fetch MENUTITLEFONT of MENU)
(fetch MENUFONT of MENU))
(QUOTE HEIGHT)))
(with REGION (WINDOWPROP WINDOW (QUOTE REGION))
(SETQ REGION (CREATEREGION LEFT (IDIFFERENCE TOP INTERIOR.HEIGHT)
WIDTH INTERIOR.HEIGHT)))
(RETURN (INSIDEP REGION LASTMOUSEX LASTMOUSEY])
(Manager.MAIN.BEF
[LAMBDA (WINDOW) (* edited: " 3-Jan-86 08:39")
(PROG (ICONWINDOW)
(if (Manager.INTITLE? WINDOW)
then (SELECTQ LASTMOUSEBUTTONS
(1 (* MIDDLE BUTTON)
(SHRINKW WINDOW)
(WINDOWPROP WINDOW (QUOTE EXPANDFN)
(FUNCTION Manager.MAINUPDATE))
(SETQ ICONWINDOW (WINDOWPROP WINDOW (QUOTE ICONWINDOW)))
(WINDOWPROP ICONWINDOW (QUOTE RIGHTBUTTONFN)
(QUOTE NILL))
(WINDOWPROP ICONWINDOW (QUOTE CLOSEFN)
(QUOTE DON'T)))
(4 (* LEFT BUTTON)
(MOVEW WINDOW))
NIL)
else (APPLY* (QUOTE MENUBUTTONFN)
WINDOW])
(Manager.MAIN.BGF
[LAMBDA (WINDOW) (* jcf "10-Mar-85 15:15")
(SELECTQ (MENU (Manager.GETMENU (QUOTE MAIN.BACKGROUND)))
(FILES? (Manager.TTYCOMMAND (FILES?)))
(CHANGES (Manager.TTYCOMMAND (Manager.CHANGED?)))
(MAKEFILES (Manager.TTYCOMMAND (MAKEFILES)))
(CLEANUP (Manager.TTYCOMMAND (CLEANUP)))
(EDIT (DV FILELST)
(UNMARKASCHANGED FILELST (QUOTE VARS))
(MANAGER))
(CLOSE (Manager.MAINCLOSE T))
NIL])
(Manager.MAIN.WHF
[LAMBDA (ITEM MENU KEY) (* jcf "11-Mar-85 09:10")
(COND
([NOT (OR (KEYDOWNP (QUOTE LSHIFT))
(KEYDOWNP (QUOTE RSHIFT]
[COND
((EQLENGTH ITEM 3)
(SETQ KEY (QUOTE MIDDLE]
(SETQ ITEM (CADR ITEM))
(SELECTQ KEY
(MIDDLE (CLRPROMPT)
(PROMPTPRINT "Create a menu of " (CDR ITEM)
" for the file "
(CAR ITEM)))
(LEFT (CLRPROMPT)
(PROMPTPRINT "Menu of individual operations for file " (CAR ITEM)))
NIL])
(Manager.MAIN.WSF
[LAMBDA (ITEM MENU KEY) (* j.ferguson "13-Dec-85 17:39")
(DECLARE (SPECVARS ITEM))
[COND
((EQLENGTH ITEM 3)
(SETQ KEY (QUOTE MIDDLE]
(SETQ ITEM (CADR ITEM))
(SELECTQ KEY
(MIDDLE (Manager.COMSOPEN (CAR ITEM)
(CDR ITEM)
T))
(LEFT (SELECTQ (MENU (Manager.GETMENU (QUOTE MAIN.MIDDLE)))
[LOAD (Manager.TTYCOMMAND (BQUOTE (LOAD ,
(KWOTE
(CAR ITEM]
[MAKEFILE (Manager.TTYCOMMAND (BQUOTE
(MAKEFILE ,
(KWOTE
(CAR ITEM]
[NEW (Manager.TTYCOMMAND (BQUOTE (MAKEFILE ,
(KWOTE
(CAR ITEM))
(QUOTE NEW]
[CLISPIFY (Manager.TTYCOMMAND (BQUOTE
(MAKEFILE ,
(KWOTE
(CAR ITEM))
(QUOTE CLISPIFY]
[FAST (Manager.TTYCOMMAND (BQUOTE (MAKEFILE
,
(KWOTE (CAR ITEM))
(QUOTE FAST]
[LIST (Manager.TTYCOMMAND (BQUOTE (LISTFILES
,
(KWOTE (CAR ITEM]
[CLEANUP (Manager.TTYCOMMAND (BQUOTE (CLEANUP , (CAR ITEM]
[ANALYZE (Manager.TTYCOMMAND
(BQUOTE (MASTERSCOPE (QUOTE (ANALYZE FNS ON ,
(CAR ITEM]
[CHECK (Manager.TTYCOMMAND
(BQUOTE (MASTERSCOPE (QUOTE (CHECK , (CAR ITEM]
[INCORE (Manager.TTYCOMMAND (BQUOTE (Manager.COMPILE
,
(KWOTE (CAR ITEM))
T]
[COMPILE (Manager.TTYCOMMAND (BQUOTE (COMPILEFILES
,
(CAR ITEM]
[TCOMPL (Manager.TTYCOMMAND (BQUOTE (TCOMPL
,
(KWOTE (CAR ITEM]
[BCOMPL (Manager.TTYCOMMAND (BQUOTE (BCOMPL
,
(KWOTE (CAR ITEM]
[RECOMPILE (Manager.TTYCOMMAND (BQUOTE
(RECOMPILE
,
(KWOTE (CAR ITEM]
[BRECOMPILE (Manager.TTYCOMMAND
(BQUOTE (BRECOMPILE , (KWOTE (CAR ITEM]
(REMOVE (if (EQLENGTH FILELST 1)
then (SETTOPVAL (QUOTE FILELST)
NIL)
else (DREMOVE (CAR ITEM)
FILELST))
(UNMARKASCHANGED (QUOTE FILELST)
(QUOTE VARS))
(MANAGER))
[CHANGES (Manager.TTYCOMMAND
(BQUOTE (Manager.CHANGED? (QUOTE
(, (CAR ITEM]
[UNMARK (COND
((MOUSECONFIRM (CONCAT "Unmark entire contents of "
(CAR ITEM)
"?"))
[PUTPROP (CAR ITEM)
(QUOTE FILE)
(LIST (CAR (GETPROP (CAR ITEM)
(QUOTE FILE]
(Manager.SHOWCHANGED (GETDATUM (QUOTE MAINWINDOW))
MENU
(CAR ITEM))
(for WINDOW in (GETDATUM (QUOTE OPEN.WINDOWS))
bind MENU
when
(EQ [CAR (GETDATUM (SETQ MENU
(CAR (WINDOWPROP
WINDOW
(QUOTE MENU]
(CAR ITEM))
do (for ITEM in (APPEND (WINDOWPROP
WINDOW
(QUOTE
MANAGER.CHANGES)))
do (Manager.SHOWCHANGED WINDOW MENU ITEM]
NIL))
NIL])
(Manager.MAINCLOSE
[LAMBDA (SHUTDOWNFLG) (* j.ferguson "18-Sep-85 14:34")
(PROG (MENU ICON.WINDOW MAIN.WINDOW)
(COND
(SHUTDOWNFLG (SETQ Manager.ACTIVEFLG NIL)))
(for WINDOW in (APPEND (GETDATUM (QUOTE OPEN.WINDOWS)))
when (OR SHUTDOWNFLG (NOT (FMEMB [CAR (GETDATUM (CAR (WINDOWPROP
WINDOW
(QUOTE MENU]
FILELST)))
do (Manager.COMSCLOSE WINDOW))
(SETQ MAIN.WINDOW (GETDATUM (QUOTE MAINWINDOW)))
(if [SETQ MENU (CAR (WINDOWPROP MAIN.WINDOW (QUOTE MENU]
then (WINDOWPROP MAIN.WINDOW (QUOTE CLOSEFN)
NIL)
(DELETEMENU MENU T)
(if (SETQ ICON.WINDOW (WINDOWPROP MAIN.WINDOW (QUOTE ICON)))
then (CLOSEW (WINDOWPROP MAIN.WINDOW (QUOTE ICON])
(Manager.MAINMENUITEMS
[LAMBDA NIL (* edited: " 3-Jan-86 08:55")
(for FILE in (if Manager.SORTFILELSTFLG
then (SORT FILELST)
else FILELST)
bind DEFAULT MENU OLDITEMS OLDITEM SUBTYPES ITEMS FILECOMS
first (if (SETQ MENU (Manager.GETMENU (QUOTE MAIN)))
then (SETQ OLDITEMS (fetch (MENU ITEMS) of MENU)))
do [if (NULL (SETQ OLDITEM (FASSOC FILE OLDITEMS)))
then (SETQ FILECOMS (FILECOMS FILE))
(SETQ DEFAULT (if (INFILECOMS? T (QUOTE FNS)
FILECOMS)
then (QUOTE FNS)
elseif (LDIFFERENCE (FILECOMSLST FILE (QUOTE VARS))
(FILECOMSLST FILE (QUOTE
FILEVARS)))
then (QUOTE VARS)
else (QUOTE FILEVARS)))
(SETQ SUBTYPES (for TYPE in (Manager.FILESUBTYPES FILE)
collect (BQUOTE (, TYPE (, FILE ,@ TYPE)
NIL]
(SETQ ITEMS (DOCOLLECT [OR OLDITEM (BQUOTE (, FILE (, FILE ,@ DEFAULT)
NIL
(SUBITEMS ,@ SUBTYPES]
ITEMS))
finally (RETURN (ENDCOLLECT ITEMS NIL])
(Manager.MAINOPEN
[LAMBDA (WIN.OR.POSITION) (* edited: " 3-Jan-86 08:44")
(PROG (MENU WINDOW ITEMS)
(if (IGREATERP (TIMES (FONTPROP (GETDATUM (QUOTE MENUFONT))
(QUOTE HEIGHT))
(PLUS (LENGTH FILELST)
2))
SCREENHEIGHT)
then (CLRPROMPT)
(printout PROMPTWINDOW T
"The MANAGER menu is too large to fit on the screen..."
T T "Please edit the FILELST and try again." T)
(RETURN))
(SETQ ITEMS (Manager.MAINMENUITEMS))
(SETQ MENU (create MENU
ITEMS ← ITEMS
WHENHELDFN ←(FUNCTION Manager.MAIN.WHF)
WHENSELECTEDFN ←(FUNCTION Manager.MAIN.WSF)
MENUTITLEFONT ← Manager.TITLEFONT
TITLE ← "Manager"
MENUFONT ←(GETDATUM (QUOTE MENUFONT))
MENUCOLUMNS ← 1))
(PUTASSOC (QUOTE MAIN)
MENU
(GETDATUM (QUOTE MENUS)))
[SETQ WINDOW (PUTDATUM (QUOTE MAINWINDOW)
(ADDMENU MENU NIL (COND
((WINDOWP WIN.OR.POSITION)
(Manager.CORNER.POSITION WIN.OR.POSITION MENU))
(WIN.OR.POSITION)
(T (with MENU MENU (GETBOXPOSITION IMAGEWIDTH
IMAGEHEIGHT]
(WINDOWPROP WINDOW (QUOTE RIGHTBUTTONFN)
(FUNCTION Manager.MAIN.BGF))
(WINDOWPROP WINDOW (QUOTE BUTTONEVENTFN)
(FUNCTION Manager.MAIN.BEF))
(WINDOWPROP WINDOW (QUOTE REPAINTFN)
(FUNCTION Manager.REPAINTFN))
(WINDOWPROP WINDOW (QUOTE CLOSEFN)
(QUOTE DON'T))
[WINDOWPROP WINDOW (QUOTE ICONFN)
(FUNCTION (LAMBDA (WIN OICON)
(if (NULL OICON)
then (if (GETPROP (QUOTE ICONW)
(QUOTE FILEDATES))
then (ICONW MANAGER.BM MANAGER.BM.MASK)
else MANAGER.BM)
else OICON]
(for ITEM in [for FILE in FILELST collect FILE
when (CDR (GETPROP FILE (QUOTE FILE]
do (Manager.SHOWCHANGED WINDOW MENU ITEM T))
(SETQ Manager.ACTIVEFLG T])
(Manager.MAINUPDATE
[LAMBDA (WINDOW) (* j.ferguson "28-Oct-85 11:11")
(PROG (MENU)
(SETQ MENU (Manager.GETMENU (QUOTE MAIN)))
(if MENU
then [if (NULL WINDOW)
then (SETQ WINDOW (GETDATUM (QUOTE MAINWINDOW]
(if (OPENWP WINDOW)
then (for FILE in FILELST do (Manager.SHOWCHANGED
WINDOW MENU FILE
(CDR (GETPROP FILE
(QUOTE FILE])
(Manager.MAKEFILE.ADV
[LAMBDA (FILE) (* j.ferguson "23-Sep-85 17:05")
(bind MENU (FILENAME ←(ROOTFILENAME FILE)) for WINDOW in (GETDATUM (QUOTE OPEN.WINDOWS))
when (AND (OPENWP WINDOW)
(EQ [CAR (GETDATUM (SETQ MENU (CAR (WINDOWPROP WINDOW (QUOTE MENU]
FILENAME))
do (for ITEM in (APPEND (WINDOWPROP WINDOW (QUOTE MANAGER.CHANGES)))
do (Manager.SHOWCHANGED WINDOW MENU ITEM))
finally (Manager.SHOWCHANGED (GETDATUM (QUOTE MAINWINDOW))
(Manager.GETMENU (QUOTE MAIN))
FILENAME])
(Manager.MENUCOLUMNS
[LAMBDA (ITEMSLST FONT BORDER) (* jcf "12-Jun-85 15:55")
(PROG (NUMBER.COLUMNS MAX.ROW.WIDTH)
(if (NULL BORDER)
then (SETQ BORDER 1))
[if (NULL FONT)
then (SETQ FONT (GETDATUM (QUOTE MENUFONT]
(SETQ MAX.ROW.WIDTH (IPLUS BORDER (for NAME in ITEMSLST largest (STRINGWIDTH
NAME FONT)
finally (RETURN $$EXTREME))
BORDER))
(SETQ NUMBER.COLUMNS (ADD1 (IQUOTIENT (SUB1 (FLENGTH ITEMSLST))
Manager.MENUROWS)))
(if (IGREATERP (ITIMES NUMBER.COLUMNS MAX.ROW.WIDTH)
1024)
then (SETQ NUMBER.COLUMNS (QUOTIENT 1024 MAX.ROW.WIDTH)))
(RETURN NUMBER.COLUMNS])
(Manager.NEWMENU
[LAMBDA (MENU) (* j.ferguson "13-Dec-85 17:36")
(PUTASSOC
MENU
(SELECTQ
MENU
[COMS.RIGHT (create MENU
ITEMS ←(QUOTE (CLOSE BURY REDISPLAY MOVE SHRINK))
CENTERFLG ← T
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
[MAIN.BACKGROUND (create MENU
ITEMS ←(QUOTE ((CLOSE (QUOTE CLOSE)
"Close this window")
(CHANGES (QUOTE CHANGES)
"Prints all the changes that have been made")
(MAKEFILES (QUOTE MAKEFILES)
"Update the source of all changed files")
("Edit FILELST" (QUOTE EDIT)
"Edit the FILELST and remake the main menu")
(CLEANUP (QUOTE CLEANUP)
"Dump, list and recompile any changed files")
(FILES? (QUOTE FILES?)
"Ask for updates and display status of files")))
CENTERFLG ← T
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
[FNS (create MENU
ITEMS ←(QUOTE
(("BREAK" (Manager.VALUE/ERROR (BQUOTE (BREAK , ITEM)))
"Break this function")
("TRACE" (Manager.VALUE/ERROR (BQUOTE (TRACE , ITEM)))
"Trace this function")
("UNBREAK" (Manager.VALUE/ERROR (BQUOTE (UNBREAK , ITEM)))
"UnBreak this function")
("PP" (Manager.TTYCOMMAND (BQUOTE (PP , ITEM)))
"Print the function"
(SUBITEMS (PRINTCODE [Manager.TTYCOMMAND
(BQUOTE (PRINTCODE , (KWOTE ITEM]
" Print the compiled code of the function")))
("COMPILE" [Manager.TTYCOMMAND (BQUOTE (Manager.COMPILE
,
(KWOTE ITEM]
"Compile Function")
(DESCRIBE [Manager.TTYCOMMAND (BQUOTE (MASTERSCOPE
(QUOTE (DESCRIBE , ITEM]
"Invoke MasterScope to DESCRIBE the function"
(SUBITEMS (CALLS [Manager.TTYCOMMAND
(BQUOTE (CAR (CALLS , (KWOTE ITEM]
"Returns a list of functions called by selected function")
(USES (Manager.TTYCOMMAND
[BQUOTE (CADR (CALLS , (KWOTE ITEM]
"Returns the list of variables bound by selected function"))
(USES% FREELY
[Manager.TTYCOMMAND
(BQUOTE (CADDR (CALLS , (KWOTE ITEM]
"Returns the list of variables used freely by selected function")
(USES% GLOBALLY
[Manager.TTYCOMMAND
(BQUOTE (CADDDR (CALLS , (KWOTE ITEM]
"Returns the list of variables used globally by selected function")))
("?=" (Manager.VALUE/ERROR
[BQUOTE (QUOTE , (CONS ITEM
(OR (CADR (GETPROP
ITEM
(QUOTE ARGNAMES)))
(ARGLIST ITEM]
"Args not availiable!")
"The function's argument list"
(SUBITEMS ("FNTYP" (Manager.VALUE/ERROR
[BQUOTE (LIST , (KWOTE ITEM)
"="
(FNTYP , (KWOTE ITEM]
"Fn's type not found")
"Get the FNTYP of the function")))
("EDIT" (Manager.VALUE/ERROR (BQUOTE (EDITDEF , (KWOTE ITEM)
(QUOTE FNS)))
"Nothing to EDIT!")
"Edit the function")))
CENTERFLG ← T
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
[VARS (create MENU
ITEMS ←(QUOTE (("NIL" (SETTOPVAL ITEM NIL)
"Set the toplevel value of this variable to NIL")
("PP" (Manager.TTYCOMMAND (BQUOTE (PP , ITEM)))
"Pretty Print the variable")
("EDIT" (Manager.VALUE/ERROR
(BQUOTE (EDITDEF , (KWOTE ITEM)
(QUOTE VARS)))
"Nothing to EDIT!")
"Edit the value")))
CENTERFLG ← T
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
(RECORDS (create MENU
ITEMS ←(QUOTE ((FIELDS [Manager.VALUE/ERROR
(BQUOTE (QUOTE ,
(LIST ITEM "="
(REVERSE
(RECORDFIELDNAMES
ITEM]
"List the field names")
("EDIT" (Manager.VALUE/ERROR
(BQUOTE (EDITDEF , (KWOTE ITEM)
(QUOTE RECORDS)))
"Nothing to EDIT!")
"Edit the property list")))
CENTERFLG ← T))
[PROPS (create MENU
ITEMS ←(QUOTE ((PL (Manager.TTYCOMMAND (BQUOTE (PL , ITEM)))
"Print the property list")
(EDIT (Manager.VALUE/ERROR (BQUOTE (DP , ITEM))
"Nothing to EDIT!")
"Edit the property list")))
CENTERFLG ← T
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
[MAIN.MIDDLE (create MENU
ITEMS ←(QUOTE ((LOAD (QUOTE LOAD)
"Load the source of this file")
(MAKEFILE (QUOTE MAKEFILE)
"Dump the source of this file"
(SUBITEMS (NEW (QUOTE NEW)
"Dump the source from core")
(FAST (QUOTE FAST)
"Dump the source without pretty printing")
(CLISPIFY (QUOTE CLISPIFY)
"Clispify and then dump source")
(MAKEFILE (QUOTE MAKEFILE)
"Dump the source of this file")))
(LIST (QUOTE LIST)
"List this file")
(CLEANUP (QUOTE CLEANUP)
"Dump, list and recompile this file")
(CHECK (QUOTE CHECK)
"Check the file for problems through MasterScope"
(SUBITEMS (ANALYZE (QUOTE ANALYZE)
"Analyze the FNS on selected file for MasterScope")))
[COMPILE (QUOTE COMPILE)
"Compile this file"
(SUBITEMS (INCORE (QUOTE INCORE))
(TCOMPL (QUOTE TCOMPL))
(RECOMPILE (QUOTE RECOMPILE)
)
(BCOMPL (QUOTE BCOMPL))
(BRECOMPILE (QUOTE
BRECOMPILE]
(REMOVE (QUOTE REMOVE)
"Remove this file from FILELST")
(CHANGES (QUOTE CHANGES)
"Print the changes that have been made to this file.")
(UNMARK (QUOTE UNMARK)
"Unmark this file. No changes will be remembered")))
CENTERFLG ← T
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
[COMS.MIDDLE (create MENU
ITEMS ←(QUOTE ((RENAME (QUOTE RENAME)
"Rename this item and update file with new name"
(SUBITEMS (RENAME (QUOTE RENAME)
"Rename this item locally and update file with new name")
(RENAME% ALL (QUOTE RENAME-ALL)
"Rename this item in *ALL* loaded files")))
(DELETE (QUOTE DELETE)
"Delete this item")
(MOVE (QUOTE MOVE)
"Move this item to another file")
(COPY (QUOTE COPY)
"Copy this item to another file")
(MARK (QUOTE CHANGED)
"Mark this item as being changed"
(SUBITEMS (DEFINED (QUOTE DEFINED)
"Mark item as being DEFINED")
(CHANGED (QUOTE CHANGED)
"Mark item as being CHANGED")
(DELETED (QUOTE DELETED)
"Mark item as being DELETED")
(CLISP (QUOTE CLISP)
"Mark item as being CLISPIFIED")))
(UNMARK (QUOTE UNMARK)
"Unmark this item as being changed")))
CENTERFLG ← T
MENUFONT ←(GETDATUM (QUOTE MENUFONT]
[NEW.TYPE (create MENU
ITEMS ←(QUOTE ((EDIT (QUOTE EDIT)
"Edit item")
(PP (QUOTE PP)
"Display item"]
NIL)
(GETDATUM (QUOTE MENUS])
(Manager.PROMPT
[LAMBDA (PROMPT) (* jop: "30-Sep-85 15:32")
(CLRPROMPT)
(RESETFORM (TTY.PROCESS (THIS.PROCESS))
(PROG1 (MKATOM (PROMPTFORWORD PROMPT NIL NIL PROMPTWINDOW))
(printout PROMPTWINDOW T])
(Manager.RENAME
[LAMBDA (ITEM COMSTYPE FILE WINDOW) (* jop: "30-Sep-85 15:17")
(PROG (ANSWER)
(COND
((SETQ ANSWER (Manager.PROMPT (CONCAT "Rename " ITEM " to: ")))
(RESETLST [RESETSAVE (WINDOWPROP PROMPTWINDOW (QUOTE PROCESS))
(QUOTE (PROGN (WINDOWPROP PROMPTWINDOW (QUOTE
PROCESS)
OLDVALUE]
(RESETSAVE (TTYDISPLAYSTREAM PROMPTWINDOW))
(RENAME ITEM ANSWER COMSTYPE FILE))
(Manager.COMSUPDATE WINDOW)
(if (WINDOWDELPROP WINDOW (QUOTE Manager.CHANGES)
ITEM)
then (WINDOWADDPROP WINDOW (QUOTE Manager.CHANGES)
ANSWER])
(Manager.REPAINTFN
[LAMBDA (WIN) (* j.ferguson "31-Jul-85 16:42")
(PROG (MENU)
[SETQ MENU (CAR (WINDOWPROP WIN (QUOTE MENU]
(BLTMENUIMAGE MENU WIN)
(for ITEM in (WINDOWPROP WIN (QUOTE MANAGER.CHANGES)
NIL)
do (Manager.SHOWCHANGED WIN MENU ITEM T])
(Manager.RESETSUBITEMS
[LAMBDA (FILE COMSTYPE) (* j.ferguson "17-Sep-85 08:32")
(AND FILE (PROG (ITEMS MENU.ITEMS SUBTYPES)
(* * REPLACE DEFAULT COMSTYPE IF CHANGED)
[SETQ MENU.ITEMS (FASSOC FILE (fetch (MENU ITEMS)
of (Manager.GETMENU (QUOTE MAIN]
(SETQ ITEMS (NTH MENU.ITEMS 4))
(SETQ SUBTYPES (Manager.FILESUBTYPES FILE))
(if [AND ITEMS (OR (NULL COMSTYPE)
(if (FASSOC COMSTYPE (CDAR ITEMS))
then (NULL (FMEMB COMSTYPE SUBTYPES))
else (FMEMB COMSTYPE SUBTYPES]
then [RPLACA ITEMS
(BQUOTE (SUBITEMS ,@(for TYPE in SUBTYPES
collect
(BQUOTE (, TYPE
(, FILE ,@ TYPE)
NIL]
(RPLACD (CADR MENU.ITEMS)
(COND
((FILECOMSLST FILE (QUOTE FNS))
(QUOTE FNS))
((LDIFFERENCE (FILECOMSLST FILE (QUOTE VARS))
(FILECOMSLST FILE (QUOTE FILEVARS))
)
(QUOTE VARS))
(T (QUOTE FILEVARS])
(Manager.SHOWCHANGED
[LAMBDA (WINDOW MENU ITEM MARKED?) (* j.ferguson "23-Sep-85 16:52")
(* Highlights a menu entry in bold print to show its
marked status in the FILEPKG.)
(if (OPENWP WINDOW)
then (COND
([COND
[MARKED? (NOT (FMEMB (COND
((LISTP ITEM)
(CAR ITEM))
(T ITEM))
(WINDOWPROP WINDOW (QUOTE MANAGER.CHANGES]
(T (FMEMB (COND
((LISTP ITEM)
(CAR ITEM))
(T ITEM))
(WINDOWPROP WINDOW (QUOTE MANAGER.CHANGES]
(COND
([SETQ ITEM (for MENU.ITEM in (fetch (MENU ITEMS) of MENU)
thereis (COND
((LISTP MENU.ITEM)
(OR (EQ ITEM (CAR MENU.ITEM))
(EQUAL ITEM MENU.ITEM)))
((EQ ITEM MENU.ITEM]
(with REGION (MENUITEMREGION ITEM MENU)
(BITBLT NIL NIL NIL WINDOW (ADD1 LEFT)
(IPLUS BOTTOM 2)
(IDIFFERENCE WIDTH (COND
((AND (LISTP ITEM)
(FASSOC (QUOTE SUBITEMS)
(CDR ITEM)))
9)
(2)))
(IDIFFERENCE HEIGHT 2)
(QUOTE TEXTURE)
(QUOTE REPLACE)
WHITESHADE)
(MOVETO (ADD1 LEFT)
(IPLUS BOTTOM (COND
((EQ BOTTOM 1)
3)
(2)))
WINDOW)
[COND
((LISTP ITEM)
(SETQ ITEM (CAR ITEM]
(COND
(MARKED? (WINDOWADDPROP WINDOW (QUOTE MANAGER.CHANGES)
ITEM)
(DSPFONT (GETDATUM (QUOTE MENUBOLDFONT))
WINDOW))
(T (WINDOWDELPROP WINDOW (QUOTE MANAGER.CHANGES)
ITEM)
(DSPFONT (GETDATUM (QUOTE MENUFONT))
WINDOW)))
(PRIN1 ITEM WINDOW])
(Manager.SORTBYCOLUMN
[LAMBDA (ITEMS) (* j.ferguson "10-Sep-85 11:14")
(PROG ((LNGTH (FLENGTH ITEMS))
COLUMNCOUNT COLUMNLENGTH EXTRAITEMCOLUMNS RESULT)
(if (NULL ITEMS)
then (RETURN))
(SORT ITEMS)
(SETQ COLUMNCOUNT (Manager.MENUCOLUMNS ITEMS))
(SETQ COLUMNLENGTH (IQUOTIENT LNGTH COLUMNCOUNT))
(SETQ EXTRAITEMCOLUMNS (IREMAINDER LNGTH COLUMNCOUNT))
[SETQ RESULT (for I to COLUMNCOUNT collect (for J to (COND
((ILEQ I
EXTRAITEMCOLUMNS)
(ADD1 COLUMNLENGTH)
)
(COLUMNLENGTH))
collect (pop ITEMS]
(RETURN (while (CAR RESULT) join (DREMOVE NIL
(for LST on RESULT
collect
(PROG1 (CAAR LST)
(RPLACA LST
(CDAR LST])
(Manager.TTYCOMMAND
[NLAMBDA (COMMAND) (* ren "11-Feb-85 06:33")
(GIVE.TTY.PROCESS \TopLevelTtyWindow)
(BKSYSBUF (COND
([AND (LISTP COMMAND)
(FMEMB (CAR COMMAND)
(QUOTE (QUOTE BQUOTE]
(EVAL COMMAND))
(T COMMAND])
(Manager.VALUE/ERROR
[LAMBDA ($$FORM $$ERRORMSG) (* j.ferguson "13-Dec-85 20:26")
(TTY.PROCESS (ADD.PROCESS (BQUOTE (ManagerCommand , (KWOTE $$FORM)
,
(KWOTE $$ERRORMSG)))
(QUOTE RESTARTABLE)
(QUOTE YES])
(ManagerCommand
[LAMBDA ($$FORM $$ERRORMSG) (* j.ferguson "13-Dec-85 16:06")
(PROG ($$RESULT MESSAGE)
(SETQ $$RESULT (RESETLST (RESETSAVE (TTYDISPLAYSTREAM PROMPTWINDOW))
(EVAL $$FORM)))
(CLRPROMPT)
(SETQ MESSAGE (OR $$RESULT $$ERRORMSG))
(if (ILESSP (fetch (REGION WIDTH) of (WINDOWPROP PROMPTWINDOW (QUOTE REGION)))
(STRINGWIDTH MESSAGE PROMPTWINDOW))
then (PROMPTPRINT MESSAGE)
else (CENTERPRINTINREGION MESSAGE NIL PROMPTWINDOW))
(RETURN $$RESULT])
)
(DECLARE: EVAL@COMPILE
[PUTPROPS GETDATUM MACRO ((KEY)
(CDR (FASSOC KEY Manager.DATASPACE]
(PUTPROPS PUTDATUM MACRO ((KEY VALUE)
(PUTASSOC KEY VALUE Manager.DATASPACE)))
[PUTPROPS Manager.GETMENU MACRO ((MEN)
(CDR (FASSOC MEN (GETDATUM (QUOTE MENUS]
)
(* * Misc)
(Manager.INIT)
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
(ADDTOVAR NLAMA )
(ADDTOVAR NLAML Manager.TTYCOMMAND)
(ADDTOVAR LAMA )
)
(DECLARE: DONTCOPY
(FILEMAP (NIL (8993 57295 (MANAGER 9003 . 10283) (MANAGER.RESET 10285 . 11129) (Manager.ADDADV 11131
. 12319) (Manager.ADDTOFILES? 12321 . 12651) (Manager.ALTERMARKING 12653 . 13704) (Manager.CHANGED?
13706 . 14218) (Manager.CHECKFILE 14220 . 14941) (Manager.COLLECTCOMS 14943 . 15997) (Manager.COMPILE
15999 . 16510) (Manager.COMS.BEF 16512 . 17148) (Manager.COMS.BGF 17150 . 17568) (Manager.COMS.WSF
17570 . 20161) (Manager.COMSCLOSE 20163 . 20878) (Manager.COMSOPEN 20880 . 23633) (Manager.COMSSHRINK
23635 . 24418) (Manager.COMSUPDATE 24420 . 25511) (Manager.CORNER.POSITION 25513 . 26395) (
Manager.FILECHANGES 26397 . 27083) (Manager.FILESUBTYPES 27085 . 27861) (Manager.GETFILE 27863 . 28961
) (Manager.INIT 28963 . 29526) (Manager.INTITLE? 29528 . 30161) (Manager.MAIN.BEF 30163 . 30989) (
Manager.MAIN.BGF 30991 . 31599) (Manager.MAIN.WHF 31601 . 32203) (Manager.MAIN.WSF 32205 . 35819) (
Manager.MAINCLOSE 35821 . 36760) (Manager.MAINMENUITEMS 36762 . 38057) (Manager.MAINOPEN 38059 . 40232
) (Manager.MAINUPDATE 40234 . 40765) (Manager.MAKEFILE.ADV 40767 . 41458) (Manager.MENUCOLUMNS 41460
. 42269) (Manager.NEWMENU 42271 . 50339) (Manager.PROMPT 50341 . 50635) (Manager.RENAME 50637 . 51369
) (Manager.REPAINTFN 51371 . 51762) (Manager.RESETSUBITEMS 51764 . 53022) (Manager.SHOWCHANGED 53024
. 55011) (Manager.SORTBYCOLUMN 55013 . 56002) (Manager.TTYCOMMAND 56004 . 56342) (Manager.VALUE/ERROR
56344 . 56663) (ManagerCommand 56665 . 57293)))))
STOP