On 3/11/10 9:58 PM, Raymond Toy wrote:
On 3/10/10 1:47 PM, Helmut Eller wrote:
One more thing:
(defmacro bar () 1) (compile 'bar '(lambda () 2))
should remove the macro binding for bar.
I agree. I think I've figured out how to remove the macro binding and will be checking it in shortly.
Another issue. This is ok: * (defstruct rrr a) RRR * (defun rrr-a () 42) Warning: Undefining structure type: RRR so that this slot accessor can be redefined: RRR-A RRR-A But: * (defstruct zzz a) ZZZ * (compile 'zzz-a '(lambda () 42)) ; Compiling LAMBDA NIL: ; Compiling Top-Level Form: ZZZ-A NIL NIL * (zzz-a) 42 * (make-zzz) Invalid number of arguments: 1 So COMPILE has silently zapped the structure. We should probably print he warning for this too. Note that in both cases any existing structures will be in a bad state. They still exist, but there's not much you can do with them. Ray