(FILECREATED "24-Apr-86 11:52:10" {ERIS}<LISPCORE>LIBRARY>CMLHELP.;14 6806   

      changes to:  (FNS CMLSHOW)

      previous date: " 9-Apr-86 00:13:46" {ERIS}<LISPCORE>LIBRARY>CMLHELP.;13)


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

(PRETTYCOMPRINT CMLHELPCOMS)

(RPAQQ CMLHELPCOMS ((VARS CMLPATH (CMLWINDOW))
                    (FNS ADDHASHFILE CMLSHOW MAKECMLINDEX CMLWINDOW CMLHASHFILE)
                    (INITVARS (CMLDEFS))))

(RPAQQ CMLPATH ({ERIS}<CommonLoops>PCL> {ERIS}<COMMONLISP>CODE> {ERIS}<COMMONLISP>CLC>))

(RPAQQ CMLWINDOW NIL)
(DEFINEQ

(ADDHASHFILE
  [LAMBDA (NAME VAL HARRAY)
    (PUTHASHFILE NAME (CONS VAL (GETHASHFILE NAME HARRAY))
		   HARRAY])

(CMLSHOW
  [LAMBDA (NAME TO)                                          (* lmm "23-Apr-86 16:50")
    (LET ([OUT (OR TO (OPENSTREAM (QUOTE {SCRATCH})
                             (QUOTE BOTH)
                             (QUOTE NEW]
          (FOUND 0))
         [for HF inside (CMLHASHFILE)
            do
            (for occurence inside (GETHASHFILE (U-CASE NAME)
                                         (CAR HF))
               do (RESETLST [RESETSAVE NIL (LIST (QUOTE CLOSEF?)
                                                 (SETQ STR (for FILE inside (CDR HF) bind FN
                                                              when [SETQ FN
                                                                    (INFILEP (PACKFILENAME
                                                                              (QUOTE NAME)
                                                                              (CAR occurence)
                                                                              (QUOTE BODY)
                                                                              FILE
                                                                              (QUOTE EXTENSION)
                                                                              (QUOTE SLISP]
                                                              do (RETURN (OPENSTREAM FN (QUOTE INPUT)
                                                                                (QUOTE OLD]
                         (if STR
                             then                            (* we found the file on this dir)
                                  (LET [(END (OR (FILEPOS "
(def" STR (PLUS 4 (CADR occurence)))
                                                 (GETEOFPTR STR]
                                       (SELECTQ OUT
                                           (TEDIT [OPENTEXTSTREAM STR (CMLWINDOW)
                                                         (CADR occurence)
                                                         END
                                                         (QUOTE (FONT (TERMINAL 10)
                                                                      PARALOOKS
                                                                      (TABS (48])
                                           ((ALLFILE T) 
                                                (TEDIT.SETSEL [SETQ STR
                                                               (OPENTEXTSTREAM
                                                                STR NIL NIL NIL
                                                                (QUOTE (FONT (TERMINAL 10]
                                                       (CADR occurence)
                                                       (DIFFERENCE END (CADR occurence)))
                                                [OPENTEXTSTREAM STR NIL NIL NIL
                                                       (QUOTE (FONT (TERMINAL 10])
                                           (PROGN (PRINTOUT OUT "(from " (FULLNAME STR)
                                                         ")" T)
                                                  (COPYBYTES STR OUT (CADR occurence)
                                                         END)
                                                  (TERPRI OUT)))
                                       (add FOUND 1]
         [if (NOT TO)
             then [OPENTEXTSTREAM OUT (CMLWINDOW)
                         NIL NIL (QUOTE (FONT (TERMINAL 10]
                  (LET [(PW (GETPROMPTWINDOW (CMLWINDOW]
                       (CLEARW PW)
                       (SELECTQ FOUND
                           (0 (PRINTOUT PW "No occurences of" , NAME "."))
                           (1 (PRINTOUT PW FOUND , "occurence of" , NAME "."))
                           (PRINTOUT PW FOUND , "occurences of" , NAME "."]
     FOUND])

(MAKECMLINDEX
  (LAMBDA (PATTERN HF)                                                 (* lmm 
                                                                           "25-Feb-86 12:51")
    (SETQ HF (OPENHASHFILE (OR HF "CML.HASH")
                    (QUOTE NEW)
                    40 3080))
    (bind STR NF for FILE in (FILDIR PATTERN)
       do (RESETLST (RESETSAVE NIL (LIST (QUOTE CLOSEF?)
                                             (SETQ STR (OPENSTREAM FILE (QUOTE INPUT)
                                                              (QUOTE OLD)))))
                     (SETQ NF (NAMEFIELD FILE T))
                     (while (FILEPOS "
(def" STR) do (READC STR)
                 (LET ((POS (GETFILEPTR STR))
                       (DEFFER (PROGN (BIN STR)
                                      (READ STR CMLRDTBL)))
                       (DEFD (READ STR CMLRDTBL)))
                      (LET ((DEFA (if (LISTP DEFD)
                                      then (CAR DEFD)
                                    else DEFD)))
                           (if (SYMBOLP DEFA)
                               then (ADDHASHFILE (U-CASE DEFA)
                                               (LIST NF POS)
                                               HF)))))))))

(CMLWINDOW
(LAMBDA NIL (OR CMLWINDOW (SETQ CMLWINDOW (CREATEW (QUOTE (0 0 500 300)) "CML definitions")))))

(CMLHASHFILE
  [LAMBDA NIL                                                          (* lmm 
                                                                           "14-Feb-86 17:40")
    (OR CMLDEFS (SETQ CMLDEFS (for path inside CMLPATH bind FILE
                                 when (SETQ FILE (FINDFILE "CML.HASH" T (MKLIST path)))
                                 collect (CONS (OPENHASHFILE FILE (QUOTE INPUT))
                                                   path])
)

(RPAQ? CMLDEFS )
(PUTPROPS CMLHELP COPYRIGHT ("Xerox Corporation" 1985 1986))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (599 6701 (ADDHASHFILE 609 . 738) (CMLSHOW 740 . 4750) (MAKECMLINDEX 4752 . 6076) (
CMLWINDOW 6078 . 6188) (CMLHASHFILE 6190 . 6699)))))
STOP