* throw.c, throw.h (scm_handle_by_throw): New function: This
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Mon, 11 May 1998 01:18:41 +0000 (01:18 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Mon, 11 May 1998 01:18:41 +0000 (01:18 +0000)
handler throws errors to next handler on the dynwind chain.

libguile/ChangeLog
libguile/throw.c
libguile/throw.h

index 9b0ed1c..8b86ab9 100644 (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
index 8664bee..bd15f2a 100644 (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 */
+}
+
+
 \f
 /* the Scheme-visible CATCH and LAZY-CATCH functions */
 
index 3eb7918..3bc3aa6 100644 (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));