summaryrefslogtreecommitdiff
path: root/libguile/vm-i-system.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@igalia.com>2013-10-14 16:05:45 +0200
committerAndy Wingo <wingo@igalia.com>2013-10-14 16:05:45 +0200
commitc6cd692f08eee7d02249d6891324511bf81aee20 (patch)
treeb1a451d967b3d6d21b5052a6fda9985954e3a793 /libguile/vm-i-system.c
parentb7f10defe61fd9febbf6c3e68a034d797b2c62c0 (diff)
downloadguile-c6cd692f08eee7d02249d6891324511bf81aee20.tar.gz
Add SCM_F_DYNSTACK_PROMPT_PUSH_NARGS prompt flag
* libguile/dynstack.h (scm_t_dynstack_prompt_flags): New flag, SCM_F_DYNSTACK_PROMPT_PUSH_NARGS, set if the continuation expects the number of args to be pushed on the top of the stack. * libguile/control.c (scm_c_abort): Only push nargs if requested. * libguile/eval.c (eval): * libguile/throw.c (pre_init_catch): * libguile/vm-i-system.c (prompt): Set SCM_F_DYNSTACK_PROMPT_PUSH_NARGS.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r--libguile/vm-i-system.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index 0973792bd..83e07f1ff 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -1453,6 +1453,7 @@ VM_DEFINE_INSTRUCTION (87, prompt, "prompt", 4, 2, 0)
SYNC_REGISTER ();
/* Push the prompt onto the dynamic stack. */
flags = escape_only_p ? SCM_F_DYNSTACK_PROMPT_ESCAPE_ONLY : 0;
+ flags |= SCM_F_DYNSTACK_PROMPT_PUSH_NARGS;
scm_dynstack_push_prompt (&current_thread->dynstack, flags, k,
fp, sp, ip + offset, &registers);
NEXT;