On Wed, 2005-08-03 at 11:00 -0400, Marco Antoniotti wrote:
The error seemed to be in swank.lisp. What exactly is the problem?
The error is not in swank itself. It is related to the following fact: the closure analyzer in ECL, i.e. the code which determines which variables have to be preserved in closures when creating functions with FLET, LABELS and LAMBDA, works well with all forms except toplevel forms. The circumstances under which it fails are quite borderline, though, and have not shown up until the slime port.
The reason for this bug is that ECL had, up to now, different compilation routines for toplevel and non-toplevel forms, and the toplevel routines were difficult to modify. I am still working on unifying both layers.
Juanjo