The default behavior of the LMI/MIT version of the Lisp Machine code, as
described by MLY and GJC, is not legal Common Lisp as I understand the
manual (page 55). In Common Lisp, references to variables not lexically
bound in the current environment are supposed to refer to the special
value of that variable, and should not generate an error (unless the
special variable has no current value). This is true whether or not the
reference occurs at top level. One can argue about whether the LMI
behavior is better, but it is not Common Lisp. At least they provide a
switch which makes the system conform to Common Lisp in this matter, but
I find disturbing the sentiment that anyone setting this switch, except
when dealing with "crufty old code" should be shot, at least if LMI is
advertising their system as a Common Lisp. In that case, I think that
Common Lisp compatibility should be the default.
-- Scott