diff options
author | Andy Wingo <wingo@pobox.com> | 2010-12-07 12:26:07 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-12-07 13:21:01 +0100 |
commit | d1079217947013dac495a95e433ad5da9f7aa80a (patch) | |
tree | d78ea60cd2c581c64d37ee3326733b255c836817 /libguile/vm-i-system.c | |
parent | 1f845305c184814e253f0c4ac5a2aaac874b20a2 (diff) | |
download | guile-d1079217947013dac495a95e433ad5da9f7aa80a.tar.gz |
better unbound variable errors in the vm
* libguile/vm-i-system.c (variable-ref, toplevel-ref)
(long-toplevel-ref): Fixup callers.
* libguile/vm-engine.c (vm_error_unbound): Don't use vm-error for
unbound vars, use misc-error. Don't include VM: in the string. Take
the name directly in finish_args, not as a list.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r-- | libguile/vm-i-system.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index bc0c9620d..e1aedd7cd 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -306,7 +306,7 @@ VM_DEFINE_INSTRUCTION (25, variable_ref, "variable-ref", 0, 1, 1) /* Attempt to provide the variable name in the error message. */ var_name = scm_module_reverse_lookup (scm_current_module (), x); - finish_args = scm_list_1 (scm_is_true (var_name) ? var_name : x); + finish_args = scm_is_true (var_name) ? var_name : x; goto vm_error_unbound; } else @@ -340,7 +340,7 @@ VM_DEFINE_INSTRUCTION (27, toplevel_ref, "toplevel-ref", 1, 0, 1) resolved = resolve_variable (what, scm_program_module (program)); if (!VARIABLE_BOUNDP (resolved)) { - finish_args = scm_list_1 (what); + finish_args = what; goto vm_error_unbound; } what = resolved; @@ -366,7 +366,7 @@ VM_DEFINE_INSTRUCTION (28, long_toplevel_ref, "long-toplevel-ref", 2, 0, 1) resolved = resolve_variable (what, scm_program_module (program)); if (!VARIABLE_BOUNDP (resolved)) { - finish_args = scm_list_1 (what); + finish_args = what; goto vm_error_unbound; } what = resolved; |