[comp.sys.next] indexing Common Lisp documentation

joe@mathcs.emory.edu (Joe Christy) (10/09/89)

In the printed release notes for system 1.0, it says that in order
to use the Librarian to browse the Common Lisp documentation, you
must rebuild the index. Well, I did this and the Librarian can only
find references in /NextLibrary/Documentation/CommonLisp/README.wn.
If I uncheck the use index box, it can find references in the actual
user manual, but I might as well use grep for that. Is there something
I'm missing about building the index? I've read [several times] the
documentation on indexing, and succesfully indexed several of my own
directories, so I'm pretty mystified about this problem. Could it be
that the Franz troff macros are confusing the Librarian into thinking
that the CLUserMan is unreadable?
-- 
Joe Christy         | joe@mathcs.emory.edu      | Time flies like an
Emory University    | {decvax,gatech}!emory!joe | arrow, fruit flies
Dept of Math and CS | joe@emory.bitnet          | like bananas.
Atlanta, GA 30322   | Phone: (404) 727-7956     |

teddy@akbar.Franz.COM (Ted Gilchrist) (10/12/89)

>> In the printed release notes for system 1.0, it says that in order
>> to use the Librarian to browse the Common Lisp documentation, you
>> must rebuild the index. Well, I did this and the Librarian can only
>> find references in /NextLibrary/Documentation/CommonLisp/README.wn.
>> If I uncheck the use index box, it can find references in the actual
>> user manual, but I might as well use grep for that. Is there something
>> I'm missing about building the index? I've read [several times] the
>> documentation on indexing, and succesfully indexed several of my own
>> directories, so I'm pretty mystified about this problem. Could it be
>> that the Franz troff macros are confusing the Librarian into thinking
>> that the CLUserMan is unreadable?
>> -- 
>> Joe Christy         | joe@mathcs.emory.edu      | Time flies like an
>> Emory University    | {decvax,gatech}!emory!joe | arrow, fruit flies
>> Dept of Math and CS | joe@emory.bitnet          | like bananas.
>> Atlanta, GA 30322   | Phone: (404) 727-7956     |
>> 
>> 


I was unable to create this bug with a fresh NeXT 1.0, so let me review the
steps in creating the CommonLisp index (but before you do this, read the 
next section on "PATCHES for the Digital Librarian"):

	--  launch the Digital Librarian
	--  launch a File Browser
	--  locate the directory /NextLibrary/Documentation/CommonLisp/
		in the File Browser

	--  if an icon titled Common Lisp already exists in the Digital
	    Librarian (along with the bust of Shakespeare, etc)
 	    delete it by selecting "target" and the subitem "remove" in 
	    the Librarian Menu in the upper left-hand corner of your screen)

	--  drag the folder icon for the Common Lisp directory from the
	    Directory Browser to the Digital Librarian 

        --  the system will pop up a dialog window for creating the index
	    	--  choose "Delete" to delete the old index
	        --  choose "Create" to create a new index
			(when a dialog window pops up asking for settings,
			 just use the defaults)


	 -- after approximately 20 minutes the creation of the new index will be 
		completed


	
PATCHES FOR THE DIGITAL LIBRARIAN: 

This section contains the text of a file to install before generating the new 
index:

The index to the Common Lisp documentation, in the directory
/NextLibrary/Documentation/CommonLisp/.index, does not correctly
handle symbols involving asterisks.  The following file partially
corrects this problem.  After installing this file, you will be able
to look up all symbols, including ones with asterisks.

You still have to escape asterisks, however.  For instance, to look up 
*read*, you should enter \*read\* in the small dialog window that
prompts you for input.

Here are the contents of the file.  This file replaces /usr/lib/indexing/lispdoc-keys.


----file starts here
#!/bin/sh
sed -n -f /usr/lib/indexing/lispdoc-sed $1 | sed -e 's/\*/\\\*/g' \
	| sed -e '/..*:/s/..*:\(.*\)/\1/'

---- file ends here




BUGS THAT WILL NOT BE FIXED BEFORE NeXT Release 2.0

>>	When you look up a symbol containing an asterisk, the 
	Digital Librarian will pop up a "Warning" window when 
	it cannot locate the symbol in order to highlight it.
	Disregard this window.  It is a result of the fact that
	you had to look up the symbol by escaping the asterisks
	(eg \*print\*), and the Digital Librarian cannot
	find this escaped symbol in the text of the manual
	page.

>>	One feature of the Digital Librarian is the small panel
	which contains a list of "hits" for any given manual
	request.  Symbols containing colons and asterisks
	are incorrectly printed in this window.  
        Instead of the actual symbol being printed, the full pathname 
	of the file containing the symbol
	 is printed (usually, but see the next bug).  Thus, when you 
	look up :find, instead of seeing :find in the panel, 
	you will see:
	
		CLUserMan/toplevel/Cfind.lispd
	
	When you look up \*print\*, you will see 
		
		CLUserMan/toplevel/SprintS.lispd
		CLUserMan/toplevel/SreadS.lispd

	Clicking on the first of these will bring up the page for 
	*print*, while clicking on the second will bring up the page
	for *read*.  Thus, there is a straightforward translation from
	such pathnames to the manual pages they point to (S translates
	as *, and C traslates as :)


>>      Sometimes symbols containing asterisks are simply printed in
	this panel without their asterisks.  For instance, when you
	look up \*print-level\*, you get the following list of hits:
	
		print-level
		step-print-length
		print-length
		...

	This list should actually be 
		*print-level*
		*step-print-length*
		*print-length*
	
	Thus, when you see an entry in the panel, there is no way of 
	knowing whether or not it refers to a symbol that contains 
	asterisks.


	If you have any questions, you can reach me by phone or email:


	Ted Gilchrist
	Franz Inc.
	phone: (415) 548-3600
	teddy@franz.com