On Tue, Dec 02, 2003 at 01:03:32PM -0600, William Harold Newman wrote:
> On Tue, Dec 02, 2003 at 07:49:52PM +0100, Marco Baringer wrote:
> > The attached 5 line patch allows strings to appear in a trace
> > call. The string is assumed to name a package and all symbols in that
> > package, which are fbound, not macro-function and not
> > special-operators are traced.
> OK, I will probably merge this or something similar within the next
> week or so, assuming there's no gotcha (like explicit forbiddenness
> in the ANSI definition of TRACE) I haven't thought of.
I finally merged the patch in 0.8.6.40. (a week "or so," indeed! and it
remains to be seen when I'll do something useful with PROFILE) Thank you.
I made a few changes in the patch.
* I wasn't sure -- and I'm still not entirely sure -- about whether
the EQL PACKAGE (SYMBOL-PACKAGE) in DO-ALL-SYMBOLS is a good thing.
I know that it's the way that PROFILE does this, but I'm not sure
it's quite right there either. This behavior does seem closer to
what people expect than simply bare DO-SYMBOLS would be (since that
would iterate over symbols "in the package" including symbols
exported from USEd packages, ouch); but it's harder to describe.
* I attempted to describe the behavior in the doc string for TRACE.
* I used FIND-UNDELETED-PACKAGE-OR-LOSE (instead of the
UNLESS ... ERROR construct in the patch) in order to cause a
PACKAGE-ERROR (not just a SIMPLE-ERROR) when the named package
(I also made an unrelated (but nearby) change in the same CVS
checkin: I got rid of the IF at the end of EXPAND-TRACE, since
SBCL no longer has the only-an-interpreter case to worry about.)
William Harold Newman <william.newman@...>
In examining the tasks of software development versus software maintenance,
most of the tasks are the same -- except for the additional maintenance
task of "understanding the existing product". -- Robert L. Glass, _Facts
and Fallacies of Software Engineering_
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C