(FILECREATED "28-Jan-85 05:01:25" {ERIS}<LISPCORE>LIBRARY>MSHASHSYSTEM.;4 4392   

      changes to:  (FNS MSHASH.SYSTEM)
		   (VARS MSHASHSYSTEMCOMS)

      previous date: "28-Jan-85 04:02:57" {ERIS}<LISPCORE>LIBRARY>MSHASHSYSTEM.;1)


(* Copyright (c)  by NIL. All rights reserved.)

(PRETTYCOMPRINT MSHASHSYSTEMCOMS)

(RPAQQ MSHASHSYSTEMCOMS ((FILES NOBOX MSHASH {ERIS}<LISPCORE>LIBRARY>HASH.DCOM SEQUENTIAL KNOWNFILES 
				MAKEDATABASE)
			 (FNS MSHASH.SYSTEM)))
(FILESLOAD NOBOX MSHASH {ERIS}<LISPCORE>LIBRARY>HASH.DCOM SEQUENTIAL KNOWNFILES MAKEDATABASE)
(DEFINEQ

(MSHASH.SYSTEM
  [LAMBDA (FILES)                                            (* gbn "28-Jan-85 05:00")

          (* * The top-level entry that builds the sequential runs record and initiates all the idiocy.
	  Must be run on a Dorado. (Sequential uses REM.CM))


    (PROG ((FILES (OR FILES (UNION SOURCEFILES SYSTEMFILES)))
	   (RUNS (QUOTE (RUN1 RUN2 RUN3 RUN4 RUN5)))
	   (DBNAME (QUOTE {DSK}SYSTEM.HFDB)))
          [SETQ #EACHRUN (ADD1 (IQUOTIENT (LENGTH FILES)
					  (LENGTH RUNS]      (* should have 5 nice runs worth of analysis to do 
							     now.)
          [for RUN in RUNS do (SET RUN (for I to #EACHRUN collect (pop FILES]
          (if (NEQ (for I in RUNS sum (LENGTH I))
		   (LENGTH FILES))
	      then (ERROR 
		     "inconsistency in mshash.system, fewer files in seq. runs than in files arg"))
          [SETQ SEQ (create SEQUENTIALRUNS
			    INITFORMS ←(QUOTE ((PRINT 
					     "No initialization performed to begin MSHASH.SYSTEM"
						      T)))
			    CLEANUPFORMS ←[QUOTE ((PRINT "Done!" T)
						   ([LAMBDA (DRIBBLE)
						       (COND
							 (DRIBBLE (RENAMEFILE DRIBBLE (QUOTE 
									{DSK}BATCHDRIBBLE.ARCHIVE))
								  (EMPRESS
								    (QUOTE {DSK}BATCHDRIBBLE.ARCHIVE)
								    NIL
								    (OR (CAR (MKLIST 
									      DEFAULTPRINTINGHOST))
									(QUOTE Expresso]
						     (DRIBBLE NIL]
			    FINALREM.CM ← "Q
"
			    RELOADINGFORMS ←(BQUOTE ((PROGN (FILESLOAD MAKEDATABASE)
							    (PRINTOUT T 
						      "starting mshash of first fifth of system:"
								      (QUOTE , RUN1)
								      T)
							    (STARTMAKINGDATABASE (QUOTE , RUN1)
										 (QUOTE , DBNAME)
										 NIL
										 (QUOTE HASHFILE))
							    (PRINT "First Run Finishes" T))
						     (PROGN (FILESLOAD MAKEDATABASE)
							    (PRINTOUT T 
						     "starting mshash of second fifth of system:"
								      (QUOTE , RUN2)
								      T)
							    (CONTINUEMAKINGDATABASE (QUOTE , RUN2)
										    (QUOTE , DBNAME)
										    NIL
										    (QUOTE HASHFILE))
							    (PRINTOUT T "Second Run Finishes" T))
						     (PROGN (FILESLOAD MAKEDATABASE)
							    (PRINTOUT T 
						      "starting mshash of third fifth of system:"
								      (QUOTE , RUN3)
								      T)
							    (CONTINUEMAKINGDATABASE (QUOTE , RUN3)
										    (QUOTE , DBNAME)
										    NIL
										    (QUOTE HASHFILE))
							    (PRINTOUT T "Third Run finishes" T))
						     (PROGN (FILESLOAD MAKEDATABASE)
							    (PRINTOUT T 
						     "starting mshash of fourth fifth of system:"
								      (QUOTE , RUN4)
								      T)
							    (CONTINUEMAKINGDATABASE (QUOTE , RUN4)
										    (QUOTE , DBNAME)
										    NIL
										    (QUOTE HASHFILE))
							    (PRINTOUT T "Fourth Run Finishes" T))
						     (PROGN (FILESLOAD MAKEDATABASE)
							    (PRINTOUT T 
						      "starting mshash of fifth fifth of system:"
								      (QUOTE , RUN5)
								      T)
							    (CONTINUEMAKINGDATABASE (QUOTE , RUN5)
										    (QUOTE , DBNAME)
										    NIL
										    (QUOTE HASHFILE))
							    (PRINTOUT "Fifth Run Finishes" T]
          (printout T (fetch RELOADINGFORMS of SEQ))         (* There are thirty bizarre defaults going on here.)
          (DO.SEQUENTIAL.RUNS SEQ (QUOTE {ERIS}<LISP>HARMONY>BASICS>FULL.SYSOUT)
			      (QUOTE {ERIS}<LISPCORE>LIBRARY>SEQUENTIAL.DCOM])
)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (571 4370 (MSHASH.SYSTEM 581 . 4368)))))
STOP