[Ecls-list] Patches committed

Juan Jose Garcia-Ripoll lisp at arrakis.es
Sat May 20 15:31:04 UTC 2006


Hi Brian,

I just wanted to let you know that I have committed all your fixes:

1) DEFPACKAGE's :IMPORT-FROM was not able to import the symbol NIL

2) Environments for the interpreter are now structurally similar to those
for the compiler, so that the shadowing local functions are detected
	(defmacro foo () 2)
	(defmacro test (symbol &environment env)
		(and (macro-function symbol env) t))
	(defun doit () (flet ((foo () 1)) (test foo))))

3) The discriminating function of a generic function can be set by the
user with CLOS::SET-FUNCALLABLE-INSTANCE-FUNCTION The protocol of this
function differs however from the one in the AMOP in that parameters are
not passed around in a list. It is thus not recommended unless you know
what you are doing.

Additionally I have severely reduced the number of functions which are
available for dealing with macros (basically now you only have the ones in
the spec: cl_macroexpand, cl_macroexpand_1, etc), and have optimized your
patches for 2) further so that the enviroment need not be copied. Finally,
your patch for 2) had a bug: compiler macros suffer also from shadowing
and one should include in the macroexpansion environment not only the
macros but also the local functions.

Thanks for your contributions!

Juanjo





More information about the ecl-devel mailing list