(FILECREATED "28-Jan-85 05:00:18" {ERIS}<LISPCORE>LIBRARY>MSHASH.SYSTEM;1 3309   )


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

(PRETTYCOMPRINT MSHASHCOMS)

(RPAQQ MSHASHCOMS [(VARS MSHFNS)
		   [DECLARE: FIRST (P * (MAPCAR MSHFNS (FUNCTION (LAMBDA (X)
									 (LIST (QUOTE MOVD?)
									       (KWOTE (CADR X))
									       (KWOTE (CADDR X]
		   (FNS * (MAPCAR MSHFNS (FUNCTION CAR)))
		   (DECLARE: DONTCOPY (RECORDS HFTABLE))
		   (FNS LOCALFNP MSHASH.HASHCOPYFN MSKEY FORWARDTABLE MSVAL NEXTHASHKEY 
			STOREHASHVALUE GETHASHTABLE)
		   (VARS (MSHASHSCRATCHSTRING (ALLOCSTRING 255)))
		   (GLOBALVARS MSHASHSCRATCHSTRING)
		   (ADDVARS (MSHASHFILE)
			    (MSHASHFILENAME)
			    (MSREADONLYFLG)
			    (NEXTHASHKEY)
			    (MSFILETABLE))
		   (DECLARE: EVAL@COMPILE DONTCOPY (PROP MACRO BOGUSVAL BOGUSVALP))
		   (FILES (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES)
			  HASH NOBOX)
		   (LOCALVARS . T)
		   (FNS ANALYZEFILES BUILDDB COPYDB FLUSHDB EQLST HFGETARGS MSFILECHECK MSFILES 
			RESTOREDB SETDB UPDATECONTAINS UPDATEDB MSHASHWHENCLOSE)
		   (ADDVARS (ANALYZEUSERFNS HFGETARGS))
		   [P (ADVISE (QUOTE REHASHFILE)
			      (QUOTE AFTER)
			      NIL
			      (QUOTE (PROGN (MSHASHWHENCLOSE NEWNAME)
					    (SETQ MSHASHFILENAME (HASHFILEPROP HASHFILE (QUOTE NAME)))
					    (SETQ MSHASHFILE HASHFILE]
		   (COMS (* tell the hash package to be verbose)
			 (VARS (REHASHGAG T])

(RPAQQ MSHFNS ((HFGETTABLE GETTABLE OLDHASHGETTABLE)
	       (HFMAKETABLE MAKETABLE OLDHASHMAKETABLE)
	       (HFMAPTABLE MAPTABLE OLDHASHMAPTABLE)
	       (HFTESTTABLE TESTTABLE OLDHASHTESTTABLE)
	       (HFEQMEMBTABLE EQMEMBTABLE OLDHASHEQMEMBTABLE)
	       (HFSTORETABLE STORETABLE OLDHASHSTORETABLE)
	       (HFPUTTABLE PUTTABLE OLDHASHPUTTABLE)
	       (HFADDTABLE ADDTABLE OLDHASHADDTABLE)
	       (HFSUBTABLE SUBTABLE OLDHASHSUBTABLE)))
(DECLARE: FIRST 
(MOVD? (QUOTE GETTABLE)
       (QUOTE OLDHASHGETTABLE))
(MOVD? (QUOTE MAKETABLE)
       (QUOTE OLDHASHMAKETABLE))
(MOVD? (QUOTE MAPTABLE)
       (QUOTE OLDHASHMAPTABLE))
(MOVD? (QUOTE TESTTABLE)
       (QUOTE OLDHASHTESTTABLE))
(MOVD? (QUOTE EQMEMBTABLE)
       (QUOTE OLDHASHEQMEMBTABLE))
(MOVD? (QUOTE STORETABLE)
       (QUOTE OLDHASHSTORETABLE))
(MOVD? (QUOTE PUTTABLE)
       (QUOTE OLDHASHPUTTABLE))
(MOVD? (QUOTE ADDTABLE)
       (QUOTE OLDHASHADDTABLE))
(MOVD? (QUOTE SUBTABLE)
       (QUOTE OLDHASHSUBTABLE))
)
(DEFINEQ









)
(DECLARE: DONTCOPY 
[DECLARE: EVAL@COMPILE 
(QUOTE (no RECORD declaration for HFTABLE))
]
)
(DEFINEQ








)

(RPAQ MSHASHSCRATCHSTRING (ALLOCSTRING 255))
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS MSHASHSCRATCHSTRING)
)

(ADDTOVAR MSHASHFILE )

(ADDTOVAR MSHASHFILENAME )

(ADDTOVAR MSREADONLYFLG )

(ADDTOVAR NEXTHASHKEY )

(ADDTOVAR MSFILETABLE )
(DECLARE: EVAL@COMPILE DONTCOPY 
)
(FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES)
	   HASH NOBOX)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(LOCALVARS)
)
(DEFINEQ













)

(ADDTOVAR ANALYZEUSERFNS HFGETARGS)
[ADVISE (QUOTE REHASHFILE)
	(QUOTE AFTER)
	NIL
	(QUOTE (PROGN (MSHASHWHENCLOSE NEWNAME)
		      (SETQ MSHASHFILENAME (HASHFILEPROP HASHFILE (QUOTE NAME)))
		      (SETQ MSHASHFILE HASHFILE]



(* tell the hash package to be verbose)


(RPAQQ REHASHGAG T)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (2401 2420) (2517 2535) (2960 2983))))
STOP