build-index, cl-ppcre and github



Hello,

I have put together a version of Maxima that incorporates cl-ppcre and  
a new way of building info indexes, as discussed in December  
(http://www.math.utexas.edu/pipermail/maxima/2010/023435.html).

1. info indexes:

Amongst the changes, I have exposed two user-level functions

-setup_help_database &
-print_help_database

The former takes an optional list of master info files; the default  
behaviour is to use the default master info file as previously. The  
latter prints out a lisp file of the current info hashtables. The  
invocation:

setup_help_database(); print_help_database("maxima-index.lisp");

emulates the old build_index.pl script (and is idempotent). This  
exposes the opportunity to:
-use multiple master info files  (i.e. use documentation in several languages)
-add third party info documentation to the online help
-rebuild+reload the online documentation during a maxima session

By my computations, it takes about 5.5sec to execute  
setup_help_database() on an Atom-based netbook with the english info  
files; this is about 1/3 the time of the Perl script.

2. I have included a testsuite for this code, but it is not run during  
the normal testsuite.

3. I have mirrored Maxima's sourceforge CVS repository on GitHUB. You  
can pick up the above code by (install git, then...)

git clone git://github.com/leo-butler/Maxima-CAS.git
git checkout build-index+cl-ppcre
Then build Maxima as you normally would from HEAD.

Alternatively, you can visit the repository at
https://github.com/leo-butler/Maxima-CAS
and peruse the branches there (HEAD=master).

In light of the recent prolonged outage at sourceforge, I'm going to try
to maintain this as a mirror, in addition to using it as a public  
scratchpad for
my own stuff.

4. REQUEST: please checkout and test the above code. I am especially  
interested in hearing about bugs or feature requests.
At the moment, the code appears to work for me with clisp+cmucl+sbcl,  
but it may need tweaking for other lisps, so I am interested in  
hearing about how it works on other lisps, too.

Leo


-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.