I'd like to propose a modest addition to the source-code documentation.
It consists of the following bits:
1-a bash script that generates TAGS files for both src and share
mac and lisp files, extracting variables/functions/macros defined
using
(def*
:=
::=
define
define_variable
(As an aside, writing the regexps to do this was non-trivial, but
I believe that the ones I've written will extract the names from
any valid bit of maxima or lisp code, which addresses a point
raised by Stavros here
http://www.math.utexas.edu/pipermail/maxima/2009/019321.html)
2-an awk script that parses the TAGS files and generates a lisp
hashed array that can be searched using Maxima's online help ? &
??
3-altering cl-info.lisp to allow it to search a configurable list
of hash arrays (this would be similar to the alterations I made
in writing user_doc, but more general).
4-a maxima function to allow the user to generate TAGS files and
the associated hash array for user code (the hash array would be
pushed onto the list of info hash arrays).
I've done 1 and 2, and 4 is a simple matter. Item 3 is the most
sensitive, but I believe it make sense. We've had repeated
complaints on the list about the difficulty of finding
information about where X is defined (see the above-cited
email). This would go some way toward rectifying this
problem (especially for non-users of emacs). I've thought about
altering the .texi files to add this information, but I've
rejected it for two reasons: 1/ it would mean a huge amount of
manual labour and maintainability would be big issue; 2/ for most
users, this information is unimportant, will only cause confusion
and shouldn't be displayed by default.
Opinions or suggestions are solicited.
Leo
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.