From: Attila L. <att...@gm...> - 2008-03-13 21:08:15
|
> > well, before my frame cleaning changes, frame-call-as-list used to > > return all kind of things as car of the result, which was often > > something else then a symbol naming a function. > > We specifically don't want just *symbols* naming functions. > > CL-USER> (defmethod foo :before ((a (eql #.*a*))) 1) > #<STANDARD-METHOD FOO :BEFORE ((EQL #(1 2 3))) {B786F11}> > CL-USER> (fdefinition '(sb-pcl::fast-method foo :before ((eql #.*a*)))) > #<FUNCTION (SB-PCL::FAST-METHOD FOO :BEFORE ...)> ok, make it (frame-call-as-list frame :verbosity 2) then, which will clean xep and things like that but won't touch actual function names (these are sb!pcl::fast-method and sb!pcl::slow-method currently). btw, doesn't grabbing (fdefinition 'foo) in this case do the right thing, only a generic dispatch slower? but either way, going through the symbol lookup first is a good thing, but it'll need some more error handling then. if somebody could paste how to look up the lambda for a frame, then i can offer to debug and resend this patch with the possible required slime changes. -- attila |