<nb0yjxtr at ma.sdf.org> writes:
> Rupert, I did some work on this a while ago; the work is in my github
> repo. I had the code to a point where it worked correctly for the
> languages in the info directories and all the lisps I had access to
> (sbcl, cmucl, ecl, gcl, clisp). The speed-up was great--even clisp was
> faster than the perl script by a noticeable amount. Also, I used an eq
> hash so you could pull in multiple docs that covered the same subject.
The eq hash is a neat idea - I'll have a look. The speed-up is already
pretty good: on my branch we're talking 0.7 seconds on the crappiest
implementation as opposed to 10 seconds with Perl.
> I would suggest a few things:
>
> 1. make it an option to build maxima-index.lisp at build time, the
> cost is minimal when doing it in lisp, and it is pretty painless to
> write a function to dump the info hash;
I *really* don't want to do this. Basically, the offsets we store would
be bogus when using multiple implementations in the presence of
unicode. It was wrong with the perl script and I'd rather not have it
wrong here. I agree that it's easy - in fact the first patch on the
branch does this!
> 2. make a user-level function available to pull in more info files
> than just those supplied in the installation;
That seems like a sensible thing to do. Maybe something like this?
register_info_file (path);
Tries to read in the info file at PATH and add it to the documentation
system. On success, returns the number of topics added.
With the work Robert did on multiple locations, that'd probably be a
sub-50-line patch.
> 3. make it optional to use the perl script during the build process.
Bleurgh. We should have one way to do it. Otherwise we'll have weird
bugs with one build system and not with the other.
Rupert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: not available
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20130325/02df16cc/attachment.pgp>