Edi Weitz edi@agharta.de writes:
Yo! I think I have a simple test case now:
Very interesting indeed.
I have narrowed the test case down far enough to take slime out of the picture:
$ rm *.x86f $ lisp * (asdf:oos 'asdf:load-op :foo) * (let ((*read-suppress* t)) (with-open-file (s "foo1.lisp") (dotimes (i 4) (read s)))) ...hits the error...
i.e. it looks like a bug where clsql's reader syntax doesn't work with *READ-SUPPRESS* but just looking at the code I don't see why this is so. Unfortunately I need to stop here to debug some other code :-)
NB: I want buffer-local syntax as much as the next guy but I think this clsql #.(hack-read-syntax) ... #.(unhack-read-syntax) trick is a bit fragile -- I don't think that tools like SLIME or the CMUCL debugger can really do the right thing with it.
BTW, on my machine it also hangs Emacs but that's just due to swappage as the lisp heap expands. I don't have much ram though.
Cheers, Luke