XEROX HELPSYS 2 4 1 HELPSYS 1 4 By: Doug Cutting (Cutting.PA@Xerox.COM) additions (CLHS, REPO) by lmm Uses: DINFO, HASH The second part of This document last edited on October 7, 1987; now updated August 20. If given a symbol in the Common Lisp package, the functions below will look up the symbol in the CLHS Index ; these additions work for ? while typing in and the 'man' command. (CLHS.LOOKUP entry) [Function] This reads in the CLHS and finds the URL and fragment of the CLHS page there is one. It uses the opener (indicated by CLHS.OPENER) to show the URL if it can. (CLHS.OPENER) [Function] This guesses based on your environment what Shell Command can be used to display the CLHS page. One of "wslview" (For Windows with WSL installs), "open" (For Mac OS, "git web--browser" (for various kinds of linux systems or "lynx" (using xterm if available, or CHAT(SHELL) to run lynx. ( a fast limited text-only browser). On debian-based systems "sudo apt install lynx" will install it. CLHS.OPENER [Variable] If set, will be used; t the opener you prefer from the choices above. (REPO.LOOKUP keyord) [Function] In addition, the lookup program has been extended to also look up functions and variables in Library and LispUsers packages, by looking up in the WHEREIS database and, if there is a TEdit or TXT file for that package, opening that. This only works for functions and variables that are on the same file (according to WHEREIS) as file name of the tedit (or TXT) file, or follow the MAIN-SUBPART convention. ============================ INTRODUCTION HelpSys is the interface to the online version of the Interlisp-D Reference Manual. It provides both sequential perusal of the manual and random access lookup and display of index entries. Interlisp-D Reference Manual DInfo Graph Helpsys uses the DInfo library package as a means of accessing the Interlisp-D Reference Manual. Once you have loaded Helpsys, selecting DInfo from the Background Menu will raise a menu which will contain an item named Interlisp-D Reference Manual. Selecting this item will start DInfo on the DInfo graph for the manual. (Note: IRM.HOST&DIR must be set correctly beforeÿÿ HelpSys will work; see Installing HelpSys, below).ÿ See the documentation for DInfo for more information on this package. ? [EXEC macro] Helpsys enables the EXEC and TEXEC macro ?. Typing this (a question-mark followed by a carriage-return) will cause the CAR of the form currently being typed to be looked up. This works much like the more familiar ?= macro which displays arguement lists. Lookup! [DInfo Command] Selecting Lookup! from DInfo's menu in the IRM DInfo Graph will prompt for and look up a term. INSTALLING HELPSYS Helpsys requires a number of files which should be provided with the LispUsers release. These are the 31 chapter files (CHAP*.TEDIT) the top node file (IRMTOP.TEDIT), the file containing the DINFOGRAPH (IRM.DINFOGRAPH) and the index hash file ( IRM.HASHFILE). To install HELPSYS you must copy all these files to one directory, and set the variable IRM.HOST&DIR to the name of this directory. IRM.HOST&DIR [Variable] This determines where HelpSys will look for the manual files and hash file. This should be set in your site init file. As file servers can often be quite loaded down, HelpSys will work much faster if you cache these files on the local disk. IRM.HASHFILE.NAME [Variable] If this is NIL, HelpSys will look for the hash file as IRM.HASHFILE on IRM.HOST&DIR, otherwise it uses the value of this variable. Note that the hash file must be on a random access filing device (eg. the local disk). PROGRAMMERS¹ INTERFACE (IRM.LOOKUP KEYWORD TYPE GRAPH SMARTFLG) [Function] This is the primary function of HelpSys. If TYPE is specified, then the primary manual entry for KEYWORD of TYPE, or the first if there is no primary, will be displayed in WINDOW. If TYPE is not specified, then a pop-up menu will be raised containing all the manual entries for KEYWORD. Primary entries are marked with stars (*'s) on either end of the item. GRAPH should be the IRM Dinfo graph, and defaults to IRM.DINFOGRAPH. (IRM.SMART.LOOKUP KEYWORD GRAPH) [Function] Uses wild card matching if *'s are in KEYWORD (* matches any substring) or tries spelling correction. A pop-up menu is raised if more than one wild card match is found. Note that the first time a * appears in a KEYWORD, HelpSys will need to load the list of possible keywords for matching against, and only after this list has been loaded will spelling correction be enabled. This is the function called by the Lookup! button in DInfo's FreeMenu. GRAPH again defaults to IRM.DINFOGRAPH. (IRM.RESET) [Function] Will reset HelpSys so that everything will be reinitialized. (LIST ((PAGE NIL (PAPERSIZE LETTER STARTINGPAGE# 116) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) 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 NIL) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE NIL . LETTER) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) 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 NIL) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE NIL . LETTER) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) 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 NIL) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))4ÈÈ.È.È .È.ŠŠ8.ŠŠ8JÈÈ PAGEHEADING RUNNINGHEAD MODERN MODERN MODERN MODERN MODERN MODERN MODERNMODERN LOGO  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN )X°ž†F ç¯ 6m)-+ 4T 3$J)­&+%„÷œ;  .1;[L? %¨ç#=Оzº