On Feb 4, 2008 10:17 AM, Helmut Eller heller@common-lisp.net wrote:
Perhaps a better way to deal with this is to have slime indicate what objects its holding and/or clear this buffer when it stops using them. This might better belong in a per-connection thing, and I wanted some advise on this before I started hacking on this.
That sounds like a quite a bit of work. Don't know if it's worth to bother. Presentations work also with normal (non-weak) hashtables and there is already a command to manually clear all presentations on the Lisp side.
Really? I guess it'd require saving *presentation-id-to-object* and *object-to-presentation-id* in the connection. Maybe instead a connection-closed-hook could look at the existing tables and clear off any entries that belonged to that connection. I don't know right now, I'd have to think about this more, but it doesn't seem to actually need to be that much work.
It's just at that point, weak hash tables wouldn't contribute anything (that I can see), so it'd be a lot of code that could be removed.
Would it be better still to add weak hashtables to ECL anyway.
There are probably uses for weak hashtables outside of Slime. But it might be better to spend the time on other features like better source-location tracking etc.
This is true. I was hoping for some low-hanging fruit initially on the ECL-side since source-location tracking and proper arglist tracking would require deeper changes to ECL.