1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

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.
This commit is contained in:
Andy Wingo 2013-10-14 16:05:45 +02:00
parent b7f10defe6
commit c6cd692f08
5 changed files with 9 additions and 4 deletions

View file

@ -130,7 +130,8 @@ typedef enum {
} scm_t_dynstack_winder_flags;
typedef enum {
SCM_F_DYNSTACK_PROMPT_ESCAPE_ONLY = (1 << SCM_DYNSTACK_TAG_FLAGS_SHIFT)
SCM_F_DYNSTACK_PROMPT_ESCAPE_ONLY = (1 << SCM_DYNSTACK_TAG_FLAGS_SHIFT),
SCM_F_DYNSTACK_PROMPT_PUSH_NARGS = (2 << SCM_DYNSTACK_TAG_FLAGS_SHIFT)
} scm_t_dynstack_prompt_flags;
typedef void (*scm_t_guard) (void *);