On Mon, 16 Feb 2026 11:14:50 +0100 Jerome BENOIT <[email protected]> wrote:

> Here the patched code that I think is faulty:
>
> -(defun load-info-hashtables (dir-name deffn-defvr-pairs section-pairs)
> +(defun load-info-hashtables (dir-name deffn-defvr-pairs section-pairs
> +     ;; In Debian, lsp index file must be in different directory from info 
> files
> +     &aux (dir-name
> +   (or (when (equal (pathname (concatenate 'string 
> maxima::*maxima-index-dir* "/"))
> +    dir-name)
> + (maxima::combine-path maxima::*maxima-infodir* ""))
> +       dir-name)))

Thanks for citing this patch. I'm pretty sure that patching
LOAD-INFO-HASHTABLES is a suboptimal approach. The needed change is
for the caller to supply DIR-NAME which points to the place where the
info files are located.

This implies changing either the `maxima-index.lisp` file, or the Perl
script which generates the index, `build_index.pl`. If Debian is not
executing `build_index.pl` and using the index file from a tarball,
then patching `maxima-index.lisp` would be the approach. The change
would be to replace the call to MAXIMA-LOAD-PATHNAME-DIRECTORY with a
fixed path, something like #p"/usr/share/doc/info/" or whatever.

If `build_index.pl` is being executed, then we can change that
instead. On general principle, I think allowing the index and info
files to be in different directories is a good idea. The whole
business with MAXIMA-LOAD-PATHNAME-DIRECTORY is just an effort to
figure out from where the index, and therefore the info files, is
being loaded; if no specific directory is known, then load the info
from the same place as the index. I would be interested to generalize
build_index.pl in that way and then Debian could use the new version.

For the record, I am a Maxima developer and I invented the current
index file scheme. Not that it's any great thing; I'm just saying I
have can offer some insight as to why things are arranged the way they
are (and, no doubt, it could be improved). Sorry that I'm late to the
party, I guess I didn't think about it before.

Robert Dodier

Reply via email to