summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1998-05-11 01:18:41 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1998-05-11 01:18:41 +0000
commite158e4f4654539c286124c81c853431c6858683b (patch)
treec724ab0d7f2454079a80a40149bdb22eaf47d4f2
parent5e334bd3a0a330db19b40184a2c462a9564184f6 (diff)
* throw.c, throw.h (scm_handle_by_throw): New function: This
handler throws errors to next handler on the dynwind chain.
-rw-r--r--libguile/ChangeLog18
-rw-r--r--libguile/throw.c11
-rw-r--r--libguile/throw.h1
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));