Hi Bob, A workaround I use when I'm really annoyed by the bogus warning message is to call FMAKUNBOUND on the to-be-redefined function before I actually redefine it.
Best, -cph bob coyne <[EMAIL PROTECTED]> writes: > The compiler sometimes prints out an annoying (and incorrect) > warning that callers of functions are passing the wrong number of > arguments. This happens when the called function has been redefined > to take a different number of arguments. The compiler lets the function > be redefined, but seems to hold on to the old information about how many > arguments it has and complains when any callers are subsequently recompiled > using the new (correct) number of arguments. > > I'm running with cmucl-18e on linux. > > ---------------------------------- > > (defun fun1 (x) > (+ x 3)) > > ;;; Compiling defun fun1 (fmakunbound 'fun1) ;; make the compiler quiet > (defun fun1 (x y) > (+ x y)) > * ;;; Compiling defun fun1 > 3. compile a caller > (defun fun2 () > (fun1 3 2)) > > ;;; Compiling defun fun2
