I've been looking at the breakpoint stuff used by TRACE (and used by the
CMUCL STEP also). My gut feeling is to either clear it out completely,
or fix it and start using it properly.
I think part of the problem with the current situation is that it's used
sufficiently intermittantly that bitrot is almost inevitable. If it was
the backbone of both TRACE and STEP it would stand a better chance of
Two different worlds:
Breakpoint tracing and stepping: complex implementation, per-arch support
needed. Allows stepping in more situations and provides more features
for tracing (anonymous functions & access to the lexenv for :condition
No more breakpoint: stepping only possible in hig debug code, anonymous
functions cannot be traced and lexenv of closures cannot be accessed
within trace :condition &co. Simple cross-platform implementation. When
stepping better control over the stepping (skipping forms, etc).
The latter is a simple matter -- mostly just deleting code, but the former
can turn out to be a lengthy operation.
Are there any strong feelings either way? ...and more importantly, does
someone feel that preserving the breakpoint code for TRACE while cutting
it core STEP is a good option?
-- Nikodemus "Not as clumsy or random as a C++ or Java.
An elegant weapon for a more civilized time."
Nikodemus Siivola <tsiivola@...> writes:
> No more breakpoint: stepping only possible in hig debug code, anonymous
> functions cannot be traced
Life without the ability to say
(trace :function (fun-info-stack-allocate-result (info :function :info 'list)))
is not fun.
"Alas, the spheres of truth are less transparent than those of
illusion." -- L.E.J. Brouwer