(FILECREATED "19-Dec-84 15:39:18" {PHYLUM}<TRILLIUM>BIRTHDAY84>FIXES>TRI-FIX-FNS.;3 18377 changes to: (FNS TRILLIUM.LOAD.FIXES) previous date: "18-Dec-84 11:00:06" {PHYLUM}<TRILLIUM>BIRTHDAY84>FIXES>TRI-FIX-FNS.;2) (* Copyright (c) 1984 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT TRI-FIX-FNSCOMS) (RPAQQ TRI-FIX-FNSCOMS ((FNS SET.TRILLIUM.FILES.LOCATION SET.TRILLIUM.FILES.LOCATION.ORIGINAL TRILLIUM.MAKESYS TRILLIUM.MAKESYS.ORIGINAL TRILLIUM.SET.SOURCE TRILLIUM.SET.SOURCE.ORIGINAL TRILLIUM.LOAD.FIXES TRILLIUM.LOAD.TRILLIUM? TRILLIUM.LOAD.TRILLIUM?.ORIGINAL TRILLIUM.FILENAME TRILLIUM.FILENAME.ORIGINAL) (VARS TRILLIUM.RELEASE.HOST/DIRECTORY TRILLIUM.SOURCE.SUBDIRECTORY TRILLIUM.PTYPE.SUBDIRECTORY TRILLIUM.ITEMTYPE.SUBDIRECTORY TRILLIUM.FIX.SUBDIRECTORY TRILLIUM.INTERFACE.SUBDIRECTORY))) (DEFINEQ (SET.TRILLIUM.FILES.LOCATION [LAMBDA (FILE) (DECLARE (GLOBALVARS TRILLIUM.DIRECTORY TRILLIUM.HOST TRILLIUM.SOURCE.SUBDIRECTORY)) (* NHB "17-Dec-84 13:38") (PROG ((UPFN (UNPACKFILENAME FILE)) SOURCEDIR? SOURCEDIRLENGTH) (SETQ TRILLIUM.HOST (LISTGET UPFN (QUOTE HOST))) (SETQ TRILLIUM.DIRECTORY (LISTGET UPFN (QUOTE DIRECTORY))) (SETQ SOURCEDIRLENGTH (LENGTH (UNPACK TRILLIUM.SOURCE.SUBDIRECTORY))) (SETQ SOURCEDIR? (SUBSTRING TRILLIUM.DIRECTORY (MINUS SOURCEDIRLENGTH))) (COND ((EQ (MKATOM SOURCEDIR?) TRILLIUM.SOURCE.SUBDIRECTORY) (SETQ TRILLIUM.DIRECTORY (MKATOM (SUBSTRING TRILLIUM.DIRECTORY 1 (DIFFERENCE -1 SOURCEDIRLENGTH]) (SET.TRILLIUM.FILES.LOCATION.ORIGINAL [LAMBDA (FILE) (DECLARE (GLOBALVARS TRILLIUM.DIRECTORY TRILLIUM.HOST)) (PROG ((UPFN (UNPACKFILENAME FILE))) (SETQ TRILLIUM.HOST (LISTGET UPFN (QUOTE HOST))) (SETQ TRILLIUM.DIRECTORY (LISTGET UPFN (QUOTE DIRECTORY]) (TRILLIUM.MAKESYS [LAMBDA (BIGSYSFLG SYSFILESPEC) (* NHB "17-Dec-84 17:31") (* Fixed by NHB to handle null connected directory) (DECLARE (GLOBALVARS ADVISEDFNS POSTGREETFORMS CHANGESARRAY FILELST INTERFACES NOTCOMPILEDFILES NOTLISTEDFILES \CONNECTED.DIR \CONNECTED.HOST)) (PROG [(MAKESYSFILE (PACKFILENAME (QUOTE HOST) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE HOST)) \CONNECTED.HOST) (QUOTE DIRECTORY) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE DIRECTORY)) (AND (NOT (STREQUAL \CONNECTED.DIR "")) \CONNECTED.DIR)) (QUOTE NAME) (COND ((FILENAMEFIELD SYSFILESPEC (QUOTE NAME))) (BIGSYSFLG (QUOTE BIGTRILLIUM)) (T (QUOTE TRILLIUM))) (QUOTE EXTENSION) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE EXTENSION)) (QUOTE SYSOUT)) (QUOTE VERSION) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE VERSION)) 1] (OR (TTYCONFIRM (CONCAT "Makesys into " MAKESYSFILE " [confirm] ")) (RETURN)) (FILES?) [COND ([OR NOTCOMPILEDFILES (FILEPKGCHANGES) (for F in FILELST thereis (CDR (GETPROP F (QUOTE FILE] (OR (TTYCONFIRM "You have made changes which have not been filed! Continue makesys? ") (RETURN] [COND ((TTYCONFIRM "Reset interfaces? ") (for INTERFACE.NAME in INTERFACES do (RESET.INTERFACE (FIND.INTERFACE INTERFACE.NAME) T] [COND [(AND (NOT BIGSYSFLG) (TTYCONFIRM "Gain space? ") (TTYCONFIRM "For sure? ")) (%. ERASE) [for F in FILELST do (RPLACD (GETPROP F (QUOTE FILE] (CLEARFILEPKG (QUOTE E)) (CLRHASH CHANGESARRAY) (CLRHASH) (SETQ ADVISEDFNS) (MAPATOMS (FUNCTION (LAMBDA (X) (REMPROPLIST X (QUOTE (VALUE EXPR CODE SUBR FILEMAP ADVISED ADVICE READVICE EDIT-SAVE *HISTORY*] (T (MAPATOMS (FUNCTION (LAMBDA (X) (REMPROPLIST X (QUOTE (VALUE CODE SUBR EDIT-SAVE *HISTORY*] (* * Let MAKESYS worry about this: (SETQ GREETHIST)) (SETQ NOTLISTEDFILES) (PURGEHISTORY (QUOTE E)) (REMPROP (QUOTE EDIT) (QUOTE LASTVALUE)) (RESETDEDIT) [OR (FASSOC (QUOTE TRILLIUM.LOAD.FIXES) POSTGREETFORMS) (NCONC1 POSTGREETFORMS (QUOTE (TRILLIUM.LOAD.FIXES] [OR (FASSOC (QUOTE PROFILE.INIT) POSTGREETFORMS) (NCONC1 POSTGREETFORMS (QUOTE (PROFILE.INIT] (RECLAIM) (MAKESYS MAKESYSFILE]) (TRILLIUM.MAKESYS.ORIGINAL [LAMBDA (BIGSYSFLG SYSFILESPEC) (* NHB "17-Dec-84 13:29") (DECLARE (GLOBALVARS ADVISEDFNS AFTERSYSOUTFORMS CHANGESARRAY FILELST INTERFACES NOTCOMPILEDFILES NOTLISTEDFILES \CONNECTED.DIR \CONNECTED.HOST)) (PROG [(MAKESYSFILE (PACKFILENAME (QUOTE HOST) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE HOST)) \CONNECTED.HOST) (QUOTE DIRECTORY) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE DIRECTORY)) \CONNECTED.DIR) (QUOTE NAME) (COND ((FILENAMEFIELD SYSFILESPEC (QUOTE NAME))) (BIGSYSFLG (QUOTE BIGTRILLIUM)) (T (QUOTE TRILLIUM))) (QUOTE EXTENSION) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE EXTENSION)) (QUOTE SYSOUT)) (QUOTE VERSION) (OR (FILENAMEFIELD SYSFILESPEC (QUOTE VERSION)) 1] (OR (TTYCONFIRM (CONCAT "Makesys into " MAKESYSFILE " [confirm] ")) (RETURN)) (FILES?) [COND ([OR NOTCOMPILEDFILES (FILEPKGCHANGES) (for F in FILELST thereis (CDR (GETPROP F (QUOTE FILE] (OR (TTYCONFIRM "You have made changes which have not been filed! Continue makesys? ") (RETURN] [COND ((TTYCONFIRM "Reset interfaces? ") (for INTERFACE.NAME in INTERFACES do (RESET.INTERFACE (FIND.INTERFACE INTERFACE.NAME) T] [COND [(AND (NOT BIGSYSFLG) (TTYCONFIRM "Gain space? ") (TTYCONFIRM "For sure? ")) (%. ERASE) [for F in FILELST do (RPLACD (GETPROP F (QUOTE FILE] (CLEARFILEPKG (QUOTE E)) (CLRHASH CHANGESARRAY) (CLRHASH) (SETQ ADVISEDFNS) (MAPATOMS (FUNCTION (LAMBDA (X) (REMPROPLIST X (QUOTE (VALUE EXPR CODE SUBR FILEMAP ADVISED ADVICE READVICE EDIT-SAVE *HISTORY*] (T (MAPATOMS (FUNCTION (LAMBDA (X) (REMPROPLIST X (QUOTE (VALUE CODE SUBR EDIT-SAVE *HISTORY*] (* * Let MAKESYS worry about this: (SETQ GREETHIST)) (SETQ NOTLISTEDFILES) (PURGEHISTORY (QUOTE E)) (REMPROP (QUOTE EDIT) (QUOTE LASTVALUE)) (RESETDEDIT) [OR (FASSOC (QUOTE TRILLIUM.INIT) AFTERSYSOUTFORMS) (NCONC1 AFTERSYSOUTFORMS (QUOTE (TRILLIUM.INIT] (RECLAIM) (MAKESYS MAKESYSFILE]) (TRILLIUM.SET.SOURCE [LAMBDA (FILE) (* NHB "17-Dec-84 15:21") (DECLARE (GLOBALVARS TRILLIUM.DIRECTORY TRILLIUM.HOST)) (CDR (RPLACD (CAR (GETPROP FILE (QUOTE FILEDATES))) (PACKFILENAME (QUOTE HOST) TRILLIUM.HOST (QUOTE DIRECTORY) (CONCAT TRILLIUM.DIRECTORY TRILLIUM.SOURCE.SUBDIRECTORY) (QUOTE NAME) FILE]) (TRILLIUM.SET.SOURCE.ORIGINAL [LAMBDA (FILE) (* NHB "17-Dec-84 12:26") (DECLARE (GLOBALVARS TRILLIUM.DIRECTORY TRILLIUM.HOST)) (CDR (RPLACD (CAR (GETPROP FILE (QUOTE FILEDATES))) (PACKFILENAME (QUOTE HOST) TRILLIUM.HOST (QUOTE DIRECTORY) TRILLIUM.DIRECTORY (QUOTE NAME) FILE]) (TRILLIUM.LOAD.FIXES [LAMBDA NIL (* edited: "19-Dec-84 15:36") (* NHB "17-Dec-84 17:12") (* load all the fix files we can find from the fixes subdirectory) (DECLARE (GLOBALVARS TRILLIUM.FIX.SUBDIRECTORY)) (PROG (FIX-FILES) (SETQ FIX-FILES (DIRECTORY (TRILLIUM.FILENAME (QUOTE *) T TRILLIUM.FIX.SUBDIRECTORY))) [MAPC FIX-FILES (FUNCTION (LAMBDA (FILE) (COND ((INFILEP FILE) (LOAD FILE] (COND ((GETPROP (QUOTE TRILLIUM.INIT) (QUOTE EXPR)) (SETQ FIX-FILES (DIRECTORY (TRILLIUM.FILENAME (QUOTE *.;) NIL TRILLIUM.FIX.SUBDIRECTORY))) (MAPC FIX-FILES (FUNCTION (LAMBDA (FILE) (COND ((INFILEP FILE) (LOAD FILE (QUOTE ALLPROP]) (TRILLIUM.LOAD.TRILLIUM? [LAMBDA NIL (* NHB "17-Dec-84 15:29") (* DAHJr " 5-DEC-83 09:17") (* Load the Trillium system unless TRILLIUM.LOADED has a value.) (DECLARE (GLOBALVARS TRILLIUM.FILES TRILLIUM.LOADED TRILLIUM.ITEMTYPE.SUBDIRECTORY TRILLIUM.PTYPE.SUBDIRECTORY TRILLIUM.INTERFACE.SUBDIRECTORY)) (COND ((NOT (BOUNDP (QUOTE TRILLIUM.LOADED))) (PROG (SOURCES? SOURCEONLY? SYSONLY? STANDARD? DEMO? (TRIFILES (REMOVE (QUOTE TRI-ITEMTYPES) TRILLIUM.FILES))) (SETQ TRILLIUM.LOADED T) (* So we can recursively load sources of TRILLIUM file.) (printout T T "Loading the TRILLIUM system ..." T) (SETQ SYSONLY? (EQ (ASKUSER NIL NIL " Small loadup? ") (QUOTE Y))) [COND ((NOT SYSONLY?) (SETQ TRIFILES (CONS (QUOTE TRI-TOOLS) TRIFILES)) (SETQ SOURCES? (EQ (ASKUSER NIL NIL " Load sources? ") (QUOTE Y))) (COND (SOURCES? (SETQ SOURCEONLY? (EQ (ASKUSER NIL NIL " Load sources only? ") (QUOTE Y] (SETQ STANDARD? (EQ (ASKUSER NIL NIL " Load standard set of item types? ") (QUOTE Y))) (SETQ DEMO? (EQ (ASKUSER NIL NIL " Load DEMO interface? ") (QUOTE Y))) (printout NIL T "Loading Trillium files: ") (for FILE in (SETQ TRIFILES (SORT (COPY TRIFILES))) do (printout NIL T 3 FILE)) (printout NIL T T "Go ahead and have some coffee!" T) (printout NIL 3 "(Don't forget to hit the SPACE bar a few times!)" T) [COND ((AND SOURCES? (NOT SOURCEONLY?)) (LOAD (TRILLIUM.FILENAME (QUOTE TRILLIUM)) (QUOTE ALLPROP] (FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) COMPILEBANG EDITBITMAP GRAPHER HEADLINE MAKEGRAPH READNUMBER TEDIT TRAJECTORY-FOLLOWER PIECE-MENUS) [for F in TRIFILES do (COND (SOURCEONLY? (LOAD (TRILLIUM.FILENAME F))) (T (LOAD (TRILLIUM.FILENAME F T) (AND SYSONLY? (QUOTE SYSLOAD))) (COND (SOURCES? (LOAD (TRILLIUM.FILENAME F) (QUOTE ALLPROP] (LOAD (TRILLIUM.FILENAME (QUOTE TRI-ITEMTYPES)) (AND SYSONLY? (QUOTE SYSLOAD))) (TRILLIUM.INIT) (TRILLIUM (create POSITION XCOORD ← 730 YCOORD ← 330)) [COND (STANDARD? (for F in (QUOTE (PRIMITIVE-ITEMTYPES COMPOSITE-ITEMTYPES)) do (LOAD (TRILLIUM.FILENAME F NIL TRILLIUM.ITEMTYPE.SUBDIRECTORY) (AND SYSONLY? (QUOTE SYSLOAD))) (MARK.OBJECT.FILE F)) (LOAD (TRILLIUM.FILENAME (QUOTE BASIC-PTYPES) NIL TRILLIUM.PTYPE.SUBDIRECTORY) (AND SYSONLY? (QUOTE SYSLOAD))) (MARK.OBJECT.FILE (QUOTE BASIC-PTYPES] [COND (DEMO? (LOAD (TRILLIUM.FILENAME (QUOTE DEMO-INTERFACE) NIL TRILLIUM.INTERFACE.SUBDIRECTORY) (AND SYSONLY? (QUOTE SYSLOAD))) (MARK.OBJECT.FILE (QUOTE DEMO-INTERFACE] (COMPILE.INTERNAL.FNS.IF.NECESSARY) (RETURN T]) (TRILLIUM.LOAD.TRILLIUM?.ORIGINAL [LAMBDA NIL (* kkm "26-Nov-84 11:44") (* DAHJr " 5-DEC-83 09:17") (* Load the Trillium system unless TRILLIUM.LOADED has a value.) (DECLARE (GLOBALVARS TRILLIUM.FILES TRILLIUM.LOADED)) (COND ((NOT (BOUNDP (QUOTE TRILLIUM.LOADED))) (PROG (SOURCES? SOURCEONLY? SYSONLY? STANDARD? DEMO? (TRIFILES (REMOVE (QUOTE TRI-ITEMTYPES) TRILLIUM.FILES))) (SETQ TRILLIUM.LOADED T) (* So we can recursively load sources of TRILLIUM file.) (printout T T "Loading the TRILLIUM system ..." T) (SETQ SYSONLY? (EQ (ASKUSER NIL NIL " Small loadup? ") (QUOTE Y))) [COND ((NOT SYSONLY?) (SETQ TRIFILES (CONS (QUOTE TRI-TOOLS) TRIFILES)) (SETQ SOURCES? (EQ (ASKUSER NIL NIL " Load sources? ") (QUOTE Y))) (COND (SOURCES? (SETQ SOURCEONLY? (EQ (ASKUSER NIL NIL " Load sources only? ") (QUOTE Y] (SETQ STANDARD? (EQ (ASKUSER NIL NIL " Load standard set of item types? ") (QUOTE Y))) (SETQ DEMO? (EQ (ASKUSER NIL NIL " Load DEMO interface? ") (QUOTE Y))) (printout NIL T "Loading Trillium files: ") (for FILE in (SETQ TRIFILES (SORT (COPY TRIFILES))) do (printout NIL T 3 FILE)) (printout NIL T T "Go ahead and have some coffee!" T) (printout NIL 3 "(Don't forget to hit the SPACE bar a few times!)" T) [COND ((AND SOURCES? (NOT SOURCEONLY?)) (LOAD (TRILLIUM.FILENAME (QUOTE TRILLIUM)) (QUOTE ALLPROP] (FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) COMPILEBANG EDITBITMAP GRAPHER HEADLINE MAKEGRAPH READNUMBER TEDIT TRAJECTORY-FOLLOWER PIECE-MENUS) [for F in TRIFILES do (COND (SOURCEONLY? (LOAD (TRILLIUM.FILENAME F))) (T (LOAD (TRILLIUM.FILENAME F T) (AND SYSONLY? (QUOTE SYSLOAD))) (COND (SOURCES? (LOAD (TRILLIUM.FILENAME F) (QUOTE ALLPROP] (LOAD (TRILLIUM.FILENAME (QUOTE TRI-ITEMTYPES)) (AND SYSONLY? (QUOTE SYSLOAD))) (TRILLIUM.INIT) (TRILLIUM (create POSITION XCOORD ← 730 YCOORD ← 330)) [COND (STANDARD? (for F in (QUOTE (PRIMITIVE-ITEMTYPES COMPOSITE-ITEMTYPES)) do (LOAD (TRILLIUM.ITEMTYPES.FILENAME F) (AND SYSONLY? (QUOTE SYSLOAD))) (MARK.OBJECT.FILE F)) (LOAD (TRILLIUM.PTYPES.FILENAME (QUOTE BASIC-PTYPES)) (AND SYSONLY? (QUOTE SYSLOAD))) (MARK.OBJECT.FILE (QUOTE BASIC-PTYPES] [COND (DEMO? (LOAD (TRILLIUM.FILENAME (QUOTE DEMO-INTERFACE)) (AND SYSONLY? (QUOTE SYSLOAD))) (MARK.OBJECT.FILE (QUOTE DEMO-INTERFACE] (COMPILE.INTERNAL.FNS.IF.NECESSARY) (RETURN T]) (TRILLIUM.FILENAME [LAMBDA (FILE COMPILED SUBDIRECTORY) (* NHB "17-Dec-84 13:20") (DECLARE (GLOBALVARS COMPILE.EXT TRILLIUM.DIRECTORY TRILLIUM.HOST TRILLIUM.SOURCE.SUBDIRECTORY)) (PROG [(DIRECTORY (COND (SUBDIRECTORY (CONCAT TRILLIUM.DIRECTORY SUBDIRECTORY)) (T (CONCAT TRILLIUM.DIRECTORY TRILLIUM.SOURCE.SUBDIRECTORY] (RETURN (COND (COMPILED (PACKFILENAME (QUOTE HOST) TRILLIUM.HOST (QUOTE DIRECTORY) DIRECTORY (QUOTE NAME) FILE (QUOTE EXTENSION) COMPILE.EXT)) (T (PACKFILENAME (QUOTE HOST) TRILLIUM.HOST (QUOTE DIRECTORY) DIRECTORY (QUOTE NAME) FILE]) (TRILLIUM.FILENAME.ORIGINAL [LAMBDA (FILE COMPILED) (* edited: "18-SEP-82 09:52") (DECLARE (GLOBALVARS COMPILE.EXT TRILLIUM.DIRECTORY TRILLIUM.HOST)) (COND (COMPILED (PACKFILENAME (QUOTE HOST) TRILLIUM.HOST (QUOTE DIRECTORY) TRILLIUM.DIRECTORY (QUOTE NAME) FILE (QUOTE EXTENSION) COMPILE.EXT)) (T (PACKFILENAME (QUOTE HOST) TRILLIUM.HOST (QUOTE DIRECTORY) TRILLIUM.DIRECTORY (QUOTE NAME) FILE]) ) (RPAQQ TRILLIUM.RELEASE.HOST/DIRECTORY NOBIND) (RPAQQ TRILLIUM.SOURCE.SUBDIRECTORY SOURCES) (RPAQQ TRILLIUM.PTYPE.SUBDIRECTORY PTYPES) (RPAQQ TRILLIUM.ITEMTYPE.SUBDIRECTORY ITEMTYPES) (RPAQQ TRILLIUM.FIX.SUBDIRECTORY FIXES) (RPAQQ TRILLIUM.INTERFACE.SUBDIRECTORY INTERFACES) (PUTPROPS TRI-FIX-FNS COPYRIGHT ("Xerox Corporation" 1984)) (DECLARE: DONTCOPY (FILEMAP (NIL (900 17990 (SET.TRILLIUM.FILES.LOCATION 910 . 1791) ( SET.TRILLIUM.FILES.LOCATION.ORIGINAL 1793 . 2119) (TRILLIUM.MAKESYS 2121 . 5106) ( TRILLIUM.MAKESYS.ORIGINAL 5108 . 7771) (TRILLIUM.SET.SOURCE 7773 . 8241) (TRILLIUM.SET.SOURCE.ORIGINAL 8243 . 8678) (TRILLIUM.LOAD.FIXES 8680 . 9721) (TRILLIUM.LOAD.TRILLIUM? 9723 . 13243) ( TRILLIUM.LOAD.TRILLIUM?.ORIGINAL 13245 . 16568) (TRILLIUM.FILENAME 16570 . 17371) ( TRILLIUM.FILENAME.ORIGINAL 17373 . 17988))))) STOP