[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


I've been trying out trace-method and untrace-method. What I find is
that even though
	(trace-method '(distance (position position)))

actually does put a traced version of the code in the method-function
slot of the appropriate method object, I still don't get a trace when
I invoke the generic function which executes the method.

To be specific, after executing the above form,

(distance posa posb) 

returns the correct result with no trace printed, but if I try this:

(setf (symbol-function 'temporary) 
   (method-function (get-method (symbol-function 'distance) ()
			(list 	(class-named 'position)
					(class-named 'position)))))

(temporary posa posb)

I get the correct result and a trace. How does the system manage to
skip using the method-function of the method object?