[Ecls-list] Line Number of errors ?
Juan Jose Garcia-Ripoll
jjgarcia at users.sourceforge.net
Sun Apr 27 13:47:43 UTC 2008
On Fri, Apr 25, 2008 at 3:09 AM, Geo Carncross <geocar at gmail.com> wrote:
> Slime assumes there's a single indexable list of "frames" and doesn't seem
> to overspecify what a frame is. The indexes are just integers. Some function
> would be called given one of those indexes, and the swank-backend would
> lookup the given things accessible to that frame- for example:
> frame-catch-tags returns
> a list of all the catch tags at a index.
Hi, I already have a kind of implementation sitting in my hard disk.
It works as I mentioned before: it precomputes the backtrace whenever
you enter the debugger, getting a list of frames (1 frame = 1 function
call in IHS), and adding to each record the lexical environment and
the list of catch points.
I now have a problem which I ignore whether other implementations
faced, which is that Slime's functions appear in those backtraces. I
think I will commit those patches (if I remember my password and the
account still works) or send it to you to further work on them. Any
step will have to wait until tomorrow, when I get to a place with
Things which are missing right now are:
- return from frames
- stepping through frames
- calling functions again
I do not want to say this is impossible because nothing is impossible,
but it would imply changes in the interpreter to support those
changes. Support in the C compiled code, though, is not possible
unless we change the compiler significantly.
As for the other stuff, which is registering functions and objects
with the source files in which they appear, what I can do is to
provide hooks into the standard macros, DEFSTRUCT, DEFCLASS, etc.
My current idea is the following: I will add a form (REGISTER-SOURCE
object file position). REGISTER-SOURCE will be a macro that will, by
default, expand to (PROGN) and, in case you redefine it through slime,
it may give rise to a more complicated registration into a database
that Slime can use.
I think it is a good compromise. Do you agree?
Facultad de Fisicas, Universidad Complutense,
Ciudad Universitaria s/n Madrid 28040 (Spain)
More information about the ecl-devel