summaryrefslogtreecommitdiff
path: root/libguile/vm.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-12-23 22:59:12 +0100
committerAndy Wingo <wingo@pobox.com>2009-12-23 22:59:12 +0100
commitf6a8e7919755ce15cd75ad01326e02151fa99445 (patch)
tree66c4b0ce2f2a81133853375a21785f728f32b0fd /libguile/vm.c
parent1ad7fef5249f409317c20d5242bc3c4c2b8d9d18 (diff)
downloadguile-f6a8e7919755ce15cd75ad01326e02151fa99445.tar.gz
keyword arg errors throw to 'keyword-argument-error
* libguile/vm-engine.c (VM_NAME): Keyword arg errors are now thrown to 'keyword-argument-error. * libguile/vm.c: Define sym_keyword_argument_error, and statically allocate some other symbols. * module/ice-9/optargs.scm (parse-lambda-case): Throw to 'keyword-argument-error in kwarg error cases. * module/ice-9/psyntax.scm (build-lambda-case): Remove a couple workarounds for the old memoizer. Throw to 'wrong-number-of-args if the lambda-case fails to parse. * module/ice-9/psyntax-pp.scm: Regenerated. * test-suite/tests/optargs.test: Update expected exceptions.
Diffstat (limited to 'libguile/vm.c')
-rw-r--r--libguile/vm.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/libguile/vm.c b/libguile/vm.c
index 121beaa26..a5b5a558e 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -169,9 +169,10 @@ vm_dispatch_hook (SCM vm, int hook_num)
* VM Internal functions
*/
-static SCM sym_vm_run;
-static SCM sym_vm_error;
-static SCM sym_debug;
+SCM_SYMBOL (sym_vm_run, "vm-run");
+SCM_SYMBOL (sym_vm_error, "vm-error");
+SCM_SYMBOL (sym_keyword_argument_error, "keyword-argument-error");
+SCM_SYMBOL (sym_debug, "debug");
static SCM
really_make_boot_program (long nargs)
@@ -672,10 +673,6 @@ scm_bootstrap_vm (void)
scm_c_make_gsubr ("load-compiled/vm", 1, 0, 0,
scm_load_compiled_with_vm));
- sym_vm_run = scm_from_locale_symbol ("vm-run");
- sym_vm_error = scm_from_locale_symbol ("vm-error");
- sym_debug = scm_from_locale_symbol ("debug");
-
scm_c_register_extension ("libguile", "scm_init_vm",
(scm_t_extension_init_func)scm_init_vm, NULL);