> > This is what trace does. See the options in impnotes 25.2.5
> It seems to me that there is a small confusion.
> One may use fwrapper to create a utility like trace. But this is not the only
> possible use of fwrapper. In my opinion, the real place for fwrappers is in
> modification of behaviour of black-boxes. Say you have black-box A, which uses
> black-box B. Modifying behaviour of B leads to a new behaviour of A. This
> scenario is not about tracing or debugging. One cannot use trace for this, right?
> Trace traces execution of a given function, i.e. function is executed. But when
> you make a wrapper for a function in ACL, there might be no execution of a
> wrapped function. And a wrapped function can be itself a wrapped function.
My point was that trace is more general that it looks.
It can be used to modify a function arbitrarily, including not
evaluating the original code at all.
That said, the advice facility available in other places (originally
interlisp, I believe) still has some advantages, in particular for the
case where different users/uses want to change the same function for
different purposes. However, such uses cannot really be independent
of each other anyway, e.g., one has to decide whether to call the