gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: si::universal-error-handler for dummies


From: Camm Maguire
Subject: [Gcl-devel] Re: si::universal-error-handler for dummies
Date: 15 May 2006 11:16:52 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

We still implement the conditions package as a set of patches applied
at the end of the ansi build process.  One of these is (setf
(symbol-function 'si::universal-error-handler) (symbol-function
'conditions::clcs-universal-error-handler)).  This needs cleaning up,
but if instead you redefine the latter and execute the above redirect,
you should see the behavior you expect. (i.e. 'error in the ansi build
calls the conditioned version).

Take care,



Robert Boyer <address@hidden> writes:

> The GCL documentation says:
> 
>    When an error is detected, GCL calls SI:UNIVERSAL-ERROR-HANDLER with the
>    specified arguments. ...  To change the error handler of GCL, redefine
>    SI:UNIVERSAL-ERROR-HANDLER.
> 
> So why doesn't the function ERROR normally eventually call
> SI:UNIVERSAL-ERROR-HANDLER?  Below is a transcript that I think supports my
> question.  Is there some new way to get into the heart of all GCL error
> handling?
> 
> Bob
> 
> -------------------------------------------------------------------------------
> 
> GCL (GNU Common Lisp)  2.7.0 ANSI    May 13 2006 18:48:14
> ... some boilerplate deleted
> >(defun si::universal-error-handler (&rest x) (format t "Bye!") (bye))
> 
> SYSTEM:UNIVERSAL-ERROR-HANDLER
> 
> >(error "foo")
> 
> foo
> 
> Fast links are on: do (si::use-fast-links nil) for debugging
> Broken at ERROR.  Type :H for Help.
>  1 (Continue) Return to top level.
> dbl:>>:q
> 
> Top level.
> >(car 3)
> Bye!% 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]