summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2008-10-02 11:00:55 +0200
committerAndy Wingo <wingo@pobox.com>2008-10-02 11:00:55 +0200
commit9a8cc8e7f736bda93706dc74e6ab8f07621dd341 (patch)
tree7f156621c5db8b2fe8ce9ebd6cb76036fb26cd29 /libguile/vm-engine.c
parent7e91e01dd85ae4a54f7f4c41bbb174fb73cddeeb (diff)
downloadguile-9a8cc8e7f736bda93706dc74e6ab8f07621dd341.tar.gz
be more like the interpreter in signalling wrong-num-args
* libguile/vm-engine.c: Call scm_wrong_num_args in the wrong-num-args case, to be more like the interpreter. * libguile/vm-engine.h (ASSERT): New macro. * libguile/vm-i-system.c (apply, goto/apply): Assert that nargs >= 2, because the compiler should always feed us correct instructions. (call/cc): If no values are returned to the continuation, signal no_values instead of wrong_num_args.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r--libguile/vm-engine.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 86b19de54..4436e7bd5 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -151,8 +151,9 @@ vm_run (SCM vm, SCM program, SCM args)
goto vm_error;
vm_error_wrong_num_args:
- err_msg = scm_from_locale_string ("VM: Wrong number of arguments");
- err_args = SCM_EOL;
+ /* nargs and program are valid */
+ scm_wrong_num_args (program);
+ /* shouldn't get here */
goto vm_error;
vm_error_wrong_type_apply: