Steve Haflich <smh at franz.com> writes:
> Another way is to use Emacs tags files, if you are capable of running
> Maxima under Emacs. (Yes, Henry, _you_ almost certainly are, and
> probably know the rest of this paragraph, but others might not.) The
> Emacs etags program will create a TAGS file indexing all the functions
> in a set of source files, even over multiple languages, and M-. followed
> by M-, with the cursor on any sort of name will successively visit all
> the definitions with that name. M-x tags-search will very efficiently
> search through all the indexed files finding all references to a regular
> expression. This is valuable in finding all references (e.g. calls) to
> a name.
>
> All this works without involvement of the subject program. It doesn't
> even need to be running.
If you're happy to actually run the program, you can do even better
using SLIME. I've got the following code in a file called
~/.maxima/startswank.lisp:
(require :swank)
(swank:create-server :port 56789 :dont-close t)
Then if I start Maxima and run load("startswank"), I'll create a socket
to which SLIME can connect. Now connect to it with M-x slime-connect
Once all this is done, M-. will work through SLIME and will query the
running lisp process to ask it where a function or variable was
defined. This is somewhat more robust than using a tags file. Even
better, if you're writing some code in lisp, you get clever tab
completion, arguments echoed in the minibuffer etc. etc. It's really
good!
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/20121128/a1ad97e1/attachment.pgp>