1 LISP LIBRARY PACKAGES MANUAL 1 LISP LIBRARY PACKAGES MANUAL WHEREIS 1 FILE UTILITIES 1 WHEREIS 6 The WHEREIS package extends the function WHEREIS such that, when asked about a given name as a function, WHEREIS will consult not only the commands of files that have been noticed by the file packages, but also one or more hash file data bases that associate function names with file names. (WHEREIS NAME TYPE FILES FN) [Function] Behaves exactly like the standard WHEREIS function (see the Interlisp-D Reference Manual) unless TYPE=FNS (or NIL) and FILES=T. In this case, WHEREIS will consult, in addition to the files on FILELST, the hash files that are on the value of WHEREIS.HASH. Note: normally the user will just enter the full name of a file onto WHEREIS.HASH, but as WHEREIS begins to use it, it will convert the entry into a cons of the name and the hash file handle. Many system functions, such as the editors, call WHEREIS with FILES=T, so loading this package automatically makes any information contained in the WHEREIS data base files available throughout the system. 2 Creating a Where Is Data Base 1 Information may be added to an existing WHEREIS hash file, or by creating new data bases. It is often useful to have a separate data base for large user systems, explicitly calling the following function: (WHEREISNOTICE FILEGROUP NEWFLG DATABASEFILE) [Function] Inserts the information about all of the functions on the files in FILEGROUP into the WHEREIS data base contained on DATABASEFILE. If DATABASEFILE is NIL, the first entry on WHEREIS.HASH is used. FILEGROUP may be simply a list of files, in which case each file thereon is handled directly; but it may also be a pattern to be given as a file group argument to DIRECTORY, so * may be used. If NEWFLG is non-NIL, a new version of DATABASEFILE will be created containing the data base for the functions specified in FILEGROUP. If NEWFLG is a number, the hash file will be created with NEWFLG entries. Otherwise, it will be created to allow 20,000 entries. Example: The following sequence of actions will cause all of the files on the PROJECT directory to be noticed by the WHEREIS package. (WHEREISNOTICE'*. T 'PROJECTWHEREIS.HASH) (push WHEREIS.HASH (FINDFILE 'PROJECTWHEREIS.HASH))(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# 171) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 618) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (-234 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))).()2T)T/T. C PAGEHEADING VERSOHEADT.(.B PAGEHEADING VERSOHEADB PAGEHEADING RECTOHEADA PAGEHEADINGFOOTINGVA PAGEHEADINGFOOTINGRMODERNTERMINAL MODERN MODERNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN     HRULE.GETFNMODERN   HRULE.GETFNMODERN   HRULE.GETFNMODERN#   < F > HRULE.GETFNMODERN HRULE.GETFNMODERN  2  C )  2   I 0B  }<* .^z