diff options
author | Andy Wingo <wingo@pobox.com> | 2009-12-23 22:59:12 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-23 22:59:12 +0100 |
commit | f6a8e7919755ce15cd75ad01326e02151fa99445 (patch) | |
tree | 66c4b0ce2f2a81133853375a21785f728f32b0fd /libguile/vm.c | |
parent | 1ad7fef5249f409317c20d5242bc3c4c2b8d9d18 (diff) | |
download | guile-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.c | 11 |
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); |