(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
(FILECREATED "15-Sep-87 11:25:28" |{MCS:MCS:STANFORD}<LANE>HASHDATUM.;3| 3477   

      changes to%:  (VARS HASHDATUMCOMS)

      previous date%: " 4-Sep-87 08:16:37" |{MCS:MCS:STANFORD}<LANE>HASHDATUM.;2|)


(* "
Copyright (c) 1985, 1986, 1987 by Stanford University.  All rights reserved.
")

(PRETTYCOMPRINT HASHDATUMCOMS)

(RPAQQ HASHDATUMCOMS ((FNS GETHASHDATUM PUTHASHDATUM)
                      (MACROS GETHASHBITMAP PUTHASHBITMAP GETHASHBINARYBITMAP PUTHASHBINARYBITMAP 
                             GETHASHGRAPH PUTHASHGRAPH GETHASHUGLY PUTHASHUGLY PUTHASHTEDIT)
                      (FNS GETHASHTEDIT \WRITEBM)
                      (FILES HASH)))
(DEFINEQ

(GETHASHDATUM
  [LAMBDA (KEY HASHFILE READFN)                              (* cdl "28-Jun-85 10:07")
    (PROG ((HASHTEXTPTR (GETHASHFILE KEY HASHFILE)))
          (if (type? HashTextPtr HASHTEXTPTR)
              then (with HashFile HASHFILE (with HashTextPtr HASHTEXTPTR (SETFILEPTR Stream Start))
                         (RETURN (APPLY* READFN Stream])

(PUTHASHDATUM
  [LAMBDA (KEY DATA HASHFILE PRINTFN)                        (* cdl "28-Jun-85 10:17")
    (with HashFile (SETQ HASHFILE (GTHASHFILE HASHFILE T))
          (SETFILEPTR Stream -1)
          (PROG [(HASHTEXTPTR (create HashTextPtr
                                     Start ← (GETEOFPTR Stream]
                (with HashTextPtr HASHTEXTPTR (APPLY* PRINTFN DATA Stream)
                      (SETQ End (GETEOFPTR Stream)))
                (RETURN (PUTHASHFILE KEY HASHTEXTPTR HASHFILE])
)
(DECLARE%: EVAL@COMPILE 
[PUTPROPS GETHASHBITMAP MACRO ((KEY HASHFILE)
                               (GETHASHDATUM KEY HASHFILE (FUNCTION READBITMAP]
[PUTPROPS PUTHASHBITMAP MACRO ((KEY BITMAP HASHFILE)
                               (PUTHASHDATUM KEY BITMAP HASHFILE (FUNCTION PRINTBITMAP]
[PUTPROPS GETHASHBINARYBITMAP MACRO ((KEY HASHFILE)
                                     (GETHASHDATUM KEY HASHFILE (FUNCTION READBM]
[PUTPROPS PUTHASHBINARYBITMAP MACRO ((KEY BITMAP HASHFILE)
                                     (PUTHASHDATUM KEY BITMAP HASHFILE (FUNCTION \WRITEBM]
[PUTPROPS GETHASHGRAPH MACRO ((KEY HASHFILE)
                              (GETHASHDATUM KEY HASHFILE (FUNCTION READGRAPH]
[PUTPROPS PUTHASHGRAPH MACRO ((KEY GRAPH HASHFILE)
                              (PUTHASHDATUM KEY GRAPH HASHFILE (FUNCTION DUMPGRAPH]
[PUTPROPS GETHASHUGLY MACRO ((KEY HASHFILE)
                             (GETHASHDATUM KEY HASHFILE (FUNCTION HREAD]
[PUTPROPS PUTHASHUGLY MACRO ((KEY UGLYVAR HASHFILE)
                             (PUTHASHDATUM KEY UGLYVAR HASHFILE (FUNCTION HPRINT]
[PUTPROPS PUTHASHTEDIT MACRO ((KEY TEXTOBJ HASHFILE)
                              (PUTHASHDATUM KEY TEXTOBJ HASHFILE (FUNCTION TEDIT.PUT.PCTB]
)
(DEFINEQ

(GETHASHTEDIT
  [LAMBDA (KEY HASHFILE WINDOW)                              (* ; "Edited  4-Sep-87 08:15 by cdl")

    (with HashTextPtr (GETHASHFILE KEY HASHFILE)
          (OPENTEXTSTREAM (OPENSTREAM (with HashFile HASHFILE File)
                                 'INPUT)
                 WINDOW Start End])

(\WRITEBM
  [LAMBDA (BITMAP STREAM)                                    (* cdl "24-Oct-85 10:51")
    (WRITEBM STREAM BITMAP])
)
(FILESLOAD HASH)
(PUTPROPS HASHDATUM COPYRIGHT ("Stanford University" 1985 1986 1987))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (733 1657 (GETHASHDATUM 743 . 1131) (PUTHASHDATUM 1133 . 1655)) (2889 3367 (GETHASHTEDIT
 2899 . 3226) (\WRITEBM 3228 . 3365)))))
STOP