From 88482b31af4eee6a14d9a6d8f8c9dfbce3337b61 Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Mon, 25 Aug 1997 12:33:50 +0000 Subject: [PATCH] * error.c, error.h (scm_error_callback): Removed (see NEWS). --- NEWS | 7 +++++++ libguile/ChangeLog | 4 ++++ libguile/error.c | 5 ----- libguile/error.h | 2 -- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index 1c59a03b6..4492ed3c7 100644 --- a/NEWS +++ b/NEWS @@ -208,6 +208,13 @@ value for NAME. * Changes to the scm_ interface +** The hook scm_error_callback has been removed. It was originally +intended as a way for the user to install his own error handler. But +that method works badly since it intervenes between throw and catch, +thereby changing the semantics of expressions like (catch #t ...). +The correct way to do it is to use one of the C level catch functions +in throw.c: scm_internal_catch/lazy_catch/stack_catch. + Changes in Guile 1.2 (released Tuesday, June 24 1997): diff --git a/libguile/ChangeLog b/libguile/ChangeLog index d9dba2387..9209f6d84 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,7 @@ +Mon Aug 25 13:47:25 1997 Mikael Djurfeldt + + * error.c, error.h (scm_error_callback): Removed (see NEWS). + Sun Aug 24 01:25:35 1997 Mikael Djurfeldt * regex-posix.c: If can't be found, try or diff --git a/libguile/error.c b/libguile/error.c index 0fd8d39a3..175655b20 100644 --- a/libguile/error.c +++ b/libguile/error.c @@ -60,8 +60,6 @@ extern int errno; -void (*scm_error_callback) () = 0; - /* All errors should pass through here. */ void scm_error (key, subr, message, args, rest) @@ -72,9 +70,6 @@ scm_error (key, subr, message, args, rest) SCM rest; { SCM arg_list; - if (scm_error_callback) - (*scm_error_callback) (key, subr, message, args, rest); - arg_list = scm_listify (subr ? scm_makfrom0str (subr) : SCM_BOOL_F, message ? scm_makfrom0str (message) : SCM_BOOL_F, args, diff --git a/libguile/error.h b/libguile/error.h index 4560d97fd..2b75f9297 100644 --- a/libguile/error.h +++ b/libguile/error.h @@ -61,8 +61,6 @@ extern int scm_ints_disabled; extern void scm_error SCM_P ((SCM key, char *subr, char *message, SCM args, SCM rest)) SCM_NORETURN; -extern void (*scm_error_callback) SCM_P ((SCM key, char *subr, - char *message, SCM args, SCM rest)); extern SCM scm_error_scm SCM_P ((SCM key, SCM subr, SCM message, SCM args, SCM rest)) SCM_NORETURN; extern SCM scm_strerror (SCM err);