diff options
-rw-r--r-- | libguile/ChangeLog | 18 | ||||
-rw-r--r-- | libguile/throw.c | 11 | ||||
-rw-r--r-- | libguile/throw.h | 1 |
3 files changed, 30 insertions, 0 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 9b0ed1c9c..8b86ab907 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,21 @@ +1998-05-11 Mikael Djurfeldt <mdj@kenneth> + + * readline.c (scm_add_history): Bugfix: Do strdup before giving + away the string to add_history. + (completion_function): Do completion for readline. + (scm_filename_completion_function): New procedure: Filename + completer. + (current_input_getc): New function. Use this one instead of + standard getc from readline. + + * throw.c, throw.h (scm_handle_by_throw): New function: This + handler throws errors to next handler on the dynwind chain. + +1998-05-09 Mikael Djurfeldt <mdj@kenneth> + + * scmsigs.c (scm_usleep): Bugfix: Don't define j if it isn't + used. + 1998-05-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se> * procprop.c (scm_i_procedure_arity): New function. Returns arity diff --git a/libguile/throw.c b/libguile/throw.c index 8664bee74..bd15f2a09 100644 --- a/libguile/throw.c +++ b/libguile/throw.c @@ -548,6 +548,17 @@ scm_handle_by_message_noexit (handler_data, tag, args) } +SCM +scm_handle_by_throw (handler_data, tag, args) + void *handler_data; + SCM tag; + SCM args; +{ + scm_ithrow (tag, args, 1); + return SCM_UNSPECIFIED; /* never returns */ +} + + /* the Scheme-visible CATCH and LAZY-CATCH functions */ diff --git a/libguile/throw.h b/libguile/throw.h index 3eb7918ba..3bc3aa6d2 100644 --- a/libguile/throw.h +++ b/libguile/throw.h @@ -91,6 +91,7 @@ extern SCM scm_handle_by_proc SCM_P ((void *, SCM, SCM)); extern SCM scm_handle_by_proc_catching_all SCM_P ((void *, SCM, SCM)); extern SCM scm_handle_by_message SCM_P ((void *, SCM, SCM)); extern SCM scm_handle_by_message_noexit SCM_P ((void *, SCM, SCM)); +extern SCM scm_handle_by_throw SCM_P ((void *, SCM, SCM)); extern int scm_exit_status SCM_P ((SCM args)); extern SCM scm_catch SCM_P ((SCM tag, SCM thunk, SCM handler)); |