|
From: Raymond T. <toy...@gm...> - 2022-07-11 14:59:59
|
On Mon, Jul 11, 2022 at 12:15 AM Michel Talon <ta...@lp...>
wrote:
>
> Le 11/07/2022 à 04:32, Eduardo Ochs a écrit :
> > Is there a way to make Maxima say where a function is defined, i.e.,
> > something like "changevar is defined in the `defun changevar' in line
> > 345 of outmis.lisp"? Anything in that direction would help me a lot -
> > Emacs Lisp and Common Lisp are very different in that part...
>
> If you are ready to use emacs and slime there is a way to find where
> functions are defined.
>
> After having started maxima you open a swank server in maxima There is a
> script to do that
>
> in the slime distribution, called start-swank.lisp. You can copy it in
> your .maxima so that you
>
> have only to do load("start-swank");
>
> Then in emacs you do
>
> M-x slime-connect
>
> which asks a number of questions and then connects you to the lisp
> underlying maxima.
>
Here's the message
<https://def.fe.up.pt/pipermail/maxima-discuss/2012/042643.html> that
describes how to do this. This is what I put into my startswank.lisp file,
and I load it in my .maximarc so that it's ready whenever I start maxima.
Then in emacs, M-x slime-connect. Use the default for host and port.
>
> Finally it is now very easy to find definition of functions. I suppose
> you have run ctags in the maxima sources.
>
And if you didn't, you could try :lisp (describe '$changevar)
This gives enough information of where to find $changevar. I think this
only works for clisp, cmucl and sbcl. I don't think the other lisps record
the source information.
----
--
Ray
|