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

