From: Barry Margolin
Subject: Re: condition system handler-bind analogy to call-next-method or compute-restarts
Date: 
Message-ID: <1n81lfINN5io@early-bird.think.com>
In article <···············@trc.amoco.com> ······@trc.amoco.com (Donald H. Mitchell) writes:
>At a certain point in my code, I would like to prevent certain
>conditions from continuing but defer to any higher level handlers. 
>As far as I can see, there is no (call-next-handler),
>#'compute-handlers, or other form that I can use to defer above but
>if no one above takes responsibility for redirecting control then
>force it.  Something like

Your handler can call SIGNAL:

(handler-bind ((halt-insertion
		 #'(lambda (condition)
		     (signal condition)
		     ;; no outer handler
		     (return-from this-block nil))))
  ...)

>I know that I could use error which is "guaranteed" to prevent
>continuation; however, I would also then need to ensure that I
>catch all the conditions that I don't want invoking the debugger
>before they get to the debugger.

If a condition is signaled with SIGNAL rather than ERROR, failure to find a
handler results in SIGNAL returning, not invoking the the debugger (that's
the main difference between SIGNAL and ERROR).
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

······@think.com          {uunet,harvard}!think!barmar