(FILECREATED " 1-Mar-85 16:09:00" 
{PHYLUM}<TRILLIUM>BIRTHDAY84>ENHANCEMENTS>RECORDS-NHB>RECORD-TRILLIUM.;6 5478   

      changes to:  (VARS RECORD-TRILLIUMCOMS TRILLIUM.RECORD.FILES)
		   (FNS TRILLIUM.MAKESYS)

      previous date: "25-Feb-85 12:10:05" 
{PHYLUM}<TRILLIUM>BIRTHDAY84>ENHANCEMENTS>RECORDS-NHB>RECORD-TRILLIUM.;4)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT RECORD-TRILLIUMCOMS)

(RPAQQ RECORD-TRILLIUMCOMS ((FNS GET.FIELD GET.OTHER TRILLIUM.MAKESYS)
			    (MACROS GET.OTHERQ)
			    (VARS TRILLIUM.INTERFACES TRILLIUM.RECORD.FILES)))
(DEFINEQ

(GET.FIELD
  [LAMBDA (OBJECT FIELD EXPECTED.TYPE)                       (* N.H.Briggs "22-Feb-85 15:21")
    (SELECTQ (TYPENAME OBJECT)
	     (LISTP (LISTGET OBJECT FIELD))
	     (INTERFACE (printout T T "WARNING: GET.FIELD used on " (TYPENAME OBJECT)
				  " in "
				  (STKNTHNAME -1 (QUOTE GET.FIELD))
				  T)
			(EVAL (LIST (QUOTE fetch)
				    (CONS (QUOTE INTERFACE)
					  (LIST FIELD))
				    (QUOTE of)
				    OBJECT)))
	     (SHOULDNT (CONCAT "Can't GET.FIELD on " (TYPENAME OBJECT])

(GET.OTHER
  [LAMBDA (OBJECT FIELD)                                     (* N.H.Briggs "21-Feb-85 17:27")
    (PROG (OTHER.PROPERTY)
          (SELECTQ (TYPENAME OBJECT)
		   [LISTP (if (SETQ OTHER.PROPERTY (LISTGET OBJECT (QUOTE OTHER)))
			      then (RETURN (LISTGET OTHER.PROPERTY FIELD]
		   [INTERFACE (if (SETQ OTHER.PROPERTY (fetch (INTERFACE OTHER) of OBJECT))
				  then (RETURN (LISTGET OTHER.PROPERTY FIELD]
		   (SHOULDNT (CONCAT "can't use GET.OTHER for " (TYPENAME OBJECT])

(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])
)
(DECLARE: EVAL@COMPILE 

(PUTPROPS GET.OTHERQ MACRO ((OBJECT FIELD)
			    (GET.OTHER OBJECT (QUOTE FIELD))))
)

(RPAQQ TRILLIUM.INTERFACES NIL)

(RPAQQ TRILLIUM.RECORD.FILES (TRI-RECORD-EDITITEM TRI-RECORD-TOOLS TRI-RECORD-WINDOWS TRI-RECORD-UTIL 
						  TRI-RECORD-SPLITMERGE TRI-RECORD-SHOW 
						  TRI-RECORD-SAVING TRI-RECORD-RUN TRI-RECORD-IO 
						  TRI-RECORD-HARDCOPY TRI-RECORD-EVENTS 
						  TRI-RECORD-EDITSUPER TRI-RECORD-EDITINTERFACE 
						  TRI-RECORD-EDITFRAME TRI-RECORD-DEFINITIONS 
						  TRI-RECORD-CREATE TRI-RECORD-ANALYZE 
						  RECORD-TRILLIUM))
(PUTPROPS RECORD-TRILLIUM COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (604 4793 (GET.FIELD 614 . 1191) (GET.OTHER 1193 . 1772) (TRILLIUM.MAKESYS 1774 . 4791))
)))
STOP