[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Date: Sat, 21 May 88 19:22:43 CDT
From: email@example.com (Gavan Duffy)
Yes, about the debugger (and most anything else) not working after
redefining length. Maybe defflavor should check for this sort of thing
before expanding. If it were already a g-f, though, the intention might
be to clobber an old definition. But defflavor could check to see
whether the g-f is already specified as a function, requiring an
explicit FUNDEFINE before expansion.
There are actually two checks that should have caught this. First, it
should have gotten the standard warning about a function being redefined
by a different file. However, if the file with the defflavor was a
patch file, this warning would be suppressed. Second, it should have
warned about an ordinary function being redefined as a generic function.
This works for me (well, I didn't use LENGTH -- I like this bootload) in
Command: (defun foo (thing) (car thing))
Command: (defflavor frob (foo) () (:writable-instance-variables (foo foo)))
FOO is being implicitly redefined as a generic function.
If you answer "Yes", FOO will only accept instances as its first argument;
if FOO is a primitive function, your world will probably no longer be usable.
Okay to redefine FOO? (Yes or No) No
For Flavor FROB
The old definition of FOO remains in effect.
To redefine it so that you can perform generic operations, do an explicit DEFGENERIC.
Otherwise, you must perform generic operations by (FUNCALL (FLAVOR:GENERIC FOO) ...)
- Flavor bug
- From: Gavan Duffy <firstname.lastname@example.org>