<div class="gmail_quote">On Tue, Jan 25, 2011 at 10:37 PM, Matthew Mondor <span dir="ltr"><<a href="mailto:mm_lists@pulsar-zone.net">mm_lists@pulsar-zone.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":1dv">I can indeed see the error type symbol in the cl_[c]error() calls, that<br>
clears up things a lot, thanks!  The remaining unclear part to me is<br>
FEerror() which seems to invoke universal_error_handler() and from<br>
there I get lost as to how the condition object is created.<br>
<div><div></div></div></div></blockquote></div><br>universal-error-handler is the function which is reponsible for creating and signaling conditions. It is defined in src/clos/conditions.lsp with the following signature<div>

<br></div><div>(defun sys::universal-error-handler (continue-string datum args)</div><div><br></div><div>As you see, it is basically a CERROR on steroids. The CONTINUE-STRING argument allows for three ways of signalling error:</div>

<div>* T for CERROR with the usual restart IGNORE</div><div>* NIL for ERROR with no restarts and an opened debugger</div><div>* A string for a CERROR with a CONTINUE restart. The string is the message.</div><div>* A symbol for a named restart around a CERROR.</div>

<div><br></div><div>Juanjo<br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>


</div>