1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-14 15:40:19 +02:00

fix error handling in variable-ref family of instructions

* libguile/vm-i-system.c (variable-ref, variable-set, variable-bound?):
  Check that the argument is actually a variable.  Thanks to Kevin
  Holmes for the report.

* libguile/vm-engine.c (vm_engine): Error handling down here.

* THANKS: Update.
This commit is contained in:
Andy Wingo 2011-01-27 10:49:51 +01:00
parent 4914fe1963
commit dce0252bf2
3 changed files with 34 additions and 5 deletions

View file

@ -153,6 +153,12 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
scm_list_1 (finish_args), SCM_BOOL_F);
goto vm_error;
vm_error_not_a_variable:
SYNC_ALL ();
scm_error (scm_arg_type_key, func_name, "Not a variable: ~S",
scm_list_1 (finish_args), scm_list_1 (finish_args));
goto vm_error;
vm_error_apply_to_non_list:
SYNC_ALL ();
scm_error (scm_arg_type_key, "apply", "Apply to non-list: ~S",