Edi Weitz edi@agharta.de writes:
More data points:
I thought this was reproducible but it isn't... :(
The reason for all this may be that SLIME (or CMUCL?) gets confused by CLSQL's reader syntax. What happens is that I look for the definition of GET-PROJECTS-FOR-COSTS but SLIME (if it doesn't hang) "finds" the definition for GET-PROJECTS which is two top-level forms off. The relevant part of the code looks like this:
#.(clsql:locally-enable-sql-reader-syntax)
Interesting idiom! And I don't think it will play well with our source-path-finder binding *READ-SUPPRESS* to T because this seems to prevent #. from having an effect.
How about if you tweak swank-source-path-parser.lisp to not bind *READ-SUPPRESS* to T?
I don't really see how this would lead to a heap explosion one way or the other but for that I think my last suggestion of running outside SLIME and prodding the definition-finder manually.
What happens if you remove that binding in swank-source-path-parser.lisp?
Nevertheless, the fact that usage of this syntax can potentially kill Emacs/SLIME makes me kind of nervous...
I thought it wasn't killing Emacs after all?