On Mon, 23 Nov 2009, Raymond Toy wrote:
< Ok, the TAGS file itself is fine. (I stopped using TAGS long ago,
< because it was never up-to-date for any sources I used. With Lisp, I
< usually use describe with cmucl to tell me where the source file is. Of
< course that doesn't work for Maxima sources.) Also, I find my self
< grepping more often for error messages than for function/variable names.
Let's tag the error messages, too, then. They can be thrown in a
separate TAGS file and the info can be put into a separate hash table to
be accessible through ?.
We're wasting our time with hacked regexps to trawl through code. I'm
just asking for the permission to waste my time so you won't waste
yours.
<
< I guess it useful it needs to be built each time I build maxima so it's
< up-to-date.
Exactly. More often, even.
This is why I want to have a Maxima function and a function in
maxima-mode that generates the info in real time. On a 7 yr. old
thinkpad, it takes <1s to tag the whole Maxima src and share code,
and generate a lisp hash table for Maxima's online help.
< > It is possible to alter the regexps so that the lisp docstrings are
< > included, where they exist, so documentation in the source code could
< > also be centralized (if there are concerns about docstrings bloating the
< > binary, then we can put in comments where the docstrings should be).
< >
< > More importantly, the TAGS file needs to be used in conjunction with
< > some other tool to make it useful. Emacs has good support for it, so
< > that is one tool. Another tool would be to filter the information in the
< > TAGS file and auto-generate the 'maxima-font-lock.el' and
< > 'builtins-list.txt' files. And another tool would be to auto-generate a
< > location lookup table that's accessible from within Maxima's online
< > help.
< >
< >
< I can see the utility of using ? to find such symbol, but my expectation
< is that there is some useful documentation on what the symbol is. And
< it might increase the number of false positives to wade through.
<
< So, for me, TAGS is good. TAGS in describe is bad.
Ray, try using user_doc. Suppose you have written a note about foo with
user_doc, and later you query maxima: ? foo. If you have an exact match,
you will be presented with Maxima's online documentation, at the bottom
of which is your note. That is what I am proposing: the location
information would seemlessly be presented at the bottom of the info, if
the user chose to display it.
Leo
-------
(%i479) user_doc("sin","Remember, sin(x)=x-x^3/6+...");
(%o479) "sin"
(%i480) ? sin
-- Function: sin (<x>)
- Sine.
Remember, sin(x)=x-x^3/6+...
Created: 2009-11-23 17:23:18-00:00
There are also some inexact matches for `sin'.
Try `?? sin' to see them.
(%o480) true
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.