[elephant-devel] Re: Postmodern: Removing the ABORT restart
Alex Mizrahi
killerstorm at newmail.ru
Wed May 7 10:24:07 UTC 2008
??>> sorry, i didn't get -- what is "ABORT restart",
LPP> http://www.lisp.org/HyperSpec/Body/res_abort.html
"Typically, in an interactive listener, the invocation of abort returns to
the Lisp reader phase of the Lisp read-eval-print loop, though in some batch
or multi-processing situations there may be situations in which having it
kill the running process is more appropriate."
are you sure that it is a good idea to make it returning to a random point
in program (after with-transaction) rather than to a command prompt (what
people would expect)?
and if people want to abort transaction only, can't they just call
abort-transaction?
??>> how does it lose the controller
LPP> After invoking this restart, the controller is gone. I don't know
LPP> exactly why, but I suppose the reason is that the current transaction
LPP> isn't aborted.
maybe we'll better fix this bug? non-local control transfer should correctly
abort transaction.
i think "controller lost" is only possible when when something awful happens
to the socket.
i can't reproduce "controller lost" via abort restart.
i.e. i run such code
(ele:with-transaction () (make-instance 'something) (error "barf"))
and when SLIME debugger opens, i choose ABORT restart, and it returns to
REPL.
and works quite fine afterwards..
if you have that "controller lost" thing reproducible, please share how to
reproduce this
More information about the elephant-devel
mailing list