[Ecls-list] flet/labels compiler/interpreter inconsistency patch
Brian Spilsbury
brian.spilsbury at gmail.com
Tue May 9 16:13:02 UTC 2006
This patches the compiler to use the form (NAME KIND VALUE) in the
environment for macros and functions, as well as to consider functions
and macros to shadow one another lexically.
This depends on the earlier patch which patches macroexpand for the interpreter.
; After patching this should be fine
(defmacro foo () die)
(defun test ()
(flet ((foo () 1))
(foo)))
; this should be fine, too
(defun test2 ()
(macrolet ((foo () die))
(flet ((foo () 1))
(foo))))
; this should have an undefined variable 'die'
(defun test3 ()
(flet ((foo () 1))
(macrolet ((foo () die))
(foo))))
Regards,
Brian.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.5
Type: application/octet-stream
Size: 3423 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20060509/7bbc4a5c/attachment.obj>
More information about the ecl-devel
mailing list