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

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.
This commit is contained in:
Andy Wingo 2008-10-02 11:00:55 +02:00
parent 7e91e01dd8
commit 9a8cc8e7f7
3 changed files with 15 additions and 7 deletions

View file

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