Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!swidir.switch.ch!newsfeed.ACO.net!Austria.EU.net!EU.net!uunet!sytex!smcl
From: smcl@sytex.com (Scott McLoughlin)
Subject: Re: Help with conditions
Message-ID: <NcaBVc2w165w@sytex.com>
Sender: bbs@sytex.com
Organization: Sytex Access Ltd.
References: <miller-0411941554290001@199.89.214.2>
Date: Sat, 5 Nov 1994 09:46:46 GMT
Lines: 36

miller@cs.rochester.edu (Brad Miller) writes:

> the macros do just that. That is, the handler can certainly execute a throw
> to any dynamically apparent catch, e.g. where the handler was bound. Another
> thing you can do is look to see if there are available handlers. That would
> be one way to decide if you want to just handle the event locally before
> signalling (if you know no handler will answer). I usually do this by setting
> up a local handler, signal the error, and if the local handler can find anoth
> handler, it returns nil (so the next handler will be called), otherwise,
> it deals with the "problem" best as it can.
> 

Howdy,
        First. Since the handler established by HANDLER-BIND is 
executed in the dynamic environment of the call to SIGNAL, I 
would think that "any dynamically apparent catch" would not
be restricted to "where the handler was bound".
        Second, I don't see any facillity for examining 
currently bound condition handlers: CLtL2, pg. 881 says...
"When a program does not know how to continue, and no active
handler is able to advise it, the "interactive condition
handler," or "debugger," can be entered." RESTARTs seem
inspectable (I've not looked at this so closely), but no
HANDLERs.  Of course, CLtL2 is not the final word I 
suppose.
        BTW: what is the expected/defacto/mandated 
behavior when you get a "stack overflow" or some other
error that might prevent a handler from being evaluated
in the dynamic context of the signaling function???????
        Yes, this is a hairy chapter, but a nice 
"lispy" exception handling mechanism.

=============================================
Scott McLoughlin
Conscious Computing
=============================================
