summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-01-26 21:44:12 +0100
committerAndy Wingo <wingo@pobox.com>2011-01-26 21:44:12 +0100
commit1cc0b6addee57984524d23abc86f9930222bc0e5 (patch)
treeb8052b9a613ce3e571fd27a966fe7f4aac946fb8 /libguile
parentc52f77ef4efa46db88bd03fc7f2f439616635f3d (diff)
downloadguile-1cc0b6addee57984524d23abc86f9930222bc0e5.tar.gz
fix error-handling of apply to non-list
* libguile/vm-engine.c (vm_error_apply_to_non_list): Sync registers before erroring. Fix type of finish_args. Thanks to Hans Aberg for the report.
Diffstat (limited to 'libguile')
-rw-r--r--libguile/vm-engine.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index e69167f31..341dbc8a7 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -154,8 +154,9 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
goto vm_error;
vm_error_apply_to_non_list:
+ SYNC_ALL ();
scm_error (scm_arg_type_key, "apply", "Apply to non-list: ~S",
- finish_args, finish_args);
+ scm_list_1 (finish_args), scm_list_1 (finish_args));
goto vm_error;
vm_error_kwargs_length_not_even: