1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

* throw.c, throw.h (scm_handle_by_throw): New function: This

handler throws errors to next handler on the dynwind chain.
This commit is contained in:
Mikael Djurfeldt 1998-05-11 01:18:41 +00:00
parent 5e334bd3a0
commit e158e4f465
3 changed files with 30 additions and 0 deletions

View file

@ -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

View file

@ -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 */

View file

@ -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));