summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-02-25 00:18:07 +0100
committerAndy Wingo <wingo@pobox.com>2010-02-25 00:43:51 +0100
commitb3950ad6d88c5675dadb74c8ce5668daaa1b8692 (patch)
treeff5539ed1061a0fcbbcfc26c6876559d3c06359f /libguile/vm-engine.c
parent35ac785286a527449b9866b4b9adb78a41e545a7 (diff)
downloadguile-b3950ad6d88c5675dadb74c8ce5668daaa1b8692.tar.gz
error if given an unrewindable partial continuation
* libguile/vm-engine.c (vm_error_continuation_not_rewindable): * libguile/vm-i-system.c (partial-cont-call): * libguile/vm.h (SCM_VM_CONT_PARTIAL_P): (SCM_VM_CONT_REWINDABLE_P): Fix a bug in which we weren't checking if a partial continuation was actually rewindable.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r--libguile/vm-engine.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 8c188d33d..1976f7107 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -233,6 +233,11 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
finish_args = SCM_EOL;
goto vm_error;
+ vm_error_continuation_not_rewindable:
+ err_msg = scm_from_locale_string ("Unrewindable partial continuation");
+ finish_args = scm_cons (finish_args, SCM_EOL);
+ goto vm_error;
+
vm_error_bad_wide_string_length:
err_msg = scm_from_locale_string ("VM: Bad wide string length: ~S");
goto vm_error;