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

Retry function for debugger.

We (meaning mostly Dave Touretzky) are working on a new debugging package
for MACLISP.  One common need is to crawl a few levels up the stack,
change something that caused the bug (edit a function, etc.), then retry
everything below this level.

To do this right, we need a new function (FRETRY x).  This would be just
like FRETURN, except that it retrys the function associated with the
argument (a pdlptr) rather than returning a given value from it.  The
stack would be peeled back to the pdlptr position before the form is retried.

This is not a class AAA priority.  We can fake the effect, but only by a lot
of very ugly hacking which leaves the old losing stack intact, jumps back
over it, and makes it invisible during baktrace.  It seems to me that FRETRY
(or whatever you want to call it) should be easy to do, given that FRETURN
already exists.  And it cleans things up tremendously.  It seems to me to
be a logical part of the LISP virtual machine.
-- Scott Fahlman