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 |