diff options
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/control.c | 5 | ||||
-rw-r--r-- | libguile/control.h | 7 | ||||
-rw-r--r-- | libguile/vm-i-system.c | 12 |
3 files changed, 8 insertions, 16 deletions
diff --git a/libguile/control.c b/libguile/control.c index 0686924d5..b9ecff1e1 100644 --- a/libguile/control.c +++ b/libguile/control.c @@ -49,16 +49,13 @@ SCM_DEFINE (scm_atprompt, "@prompt", 4, 0, 0, #undef FUNC_NAME SCM -scm_c_make_prompt (SCM vm, SCM k, SCM handler, scm_t_uint8 inline_handler_p, - scm_t_uint8 escape_only_p) +scm_c_make_prompt (SCM vm, SCM k, SCM handler, scm_t_uint8 escape_only_p) { scm_t_bits tag; SCM ret; struct scm_prompt_registers *regs; tag = scm_tc7_prompt; - if (inline_handler_p) - tag |= SCM_F_PROMPT_INLINE; if (escape_only_p) tag |= SCM_F_PROMPT_ESCAPE; ret = scm_words (tag, 5); diff --git a/libguile/control.h b/libguile/control.h index 9fe880b11..e95ef99ff 100644 --- a/libguile/control.h +++ b/libguile/control.h @@ -20,14 +20,12 @@ #define SCM_CONTROL_H -#define SCM_F_PROMPT_INLINE 0x1 -#define SCM_F_PROMPT_ESCAPE 0x2 +#define SCM_F_PROMPT_ESCAPE 0x1 #define SCM_PROMPT_P(x) (!SCM_IMP (x) && SCM_TYP7(x) == scm_tc7_prompt) #define SCM_PROMPT_FLAGS(x) (SCM_CELL_WORD ((x), 0) >> 8) -#define SCM_PROMPT_INLINE_P(x) (SCM_PROMPT_FLAGS (x) & SCM_F_PROMPT_INLINE) #define SCM_PROMPT_ESCAPE_P(x) (SCM_PROMPT_FLAGS (x) & SCM_F_PROMPT_ESCAPE) -#define SCM_PROMPT_TAG(x) (SCM_CELL_OBJECT ((x), 1) +#define SCM_PROMPT_TAG(x) (SCM_CELL_OBJECT ((x), 1)) #define SCM_PROMPT_REGISTERS(x) ((struct scm_prompt_registers*)SCM_CELL_WORD ((x), 2)) #define SCM_PROMPT_DYNENV(x) (SCM_CELL_OBJECT ((x), 3)) #define SCM_PROMPT_HANDLER(x) (SCM_CELL_OBJECT ((x), 4)) @@ -44,7 +42,6 @@ struct scm_prompt_registers SCM_INTERNAL SCM scm_c_make_prompt (SCM vm, SCM k, SCM handler, - scm_t_uint8 inline_handler_p, scm_t_uint8 escape_only_p); diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index a262d443f..98ef189e4 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -1450,13 +1450,12 @@ VM_DEFINE_INSTRUCTION (82, make_symbol, "make-symbol", 0, 1, 1) NEXT; } -VM_DEFINE_INSTRUCTION (83, prompt, "prompt", 5, 2, 0) +VM_DEFINE_INSTRUCTION (83, prompt, "prompt", 4, 2, 0) { scm_t_int32 offset; - scm_t_uint8 inline_handler_p, escape_only_p; + scm_t_uint8 escape_only_p; SCM k, handler, prompt; - inline_handler_p = FETCH (); escape_only_p = FETCH (); FETCH_OFFSET (offset); POP (handler); @@ -1466,14 +1465,13 @@ VM_DEFINE_INSTRUCTION (83, prompt, "prompt", 5, 2, 0) /* Push the prompt onto the dynamic stack. The setjmp itself has to be local to this procedure. */ /* FIXME: do more error checking */ - prompt = scm_c_make_prompt (vm, k, handler, inline_handler_p, escape_only_p); + prompt = scm_c_make_prompt (vm, k, handler, escape_only_p); scm_i_set_dynwinds (scm_cons (prompt, scm_i_dynwinds ())); if (SCM_PROMPT_SETJMP (prompt)) { /* The prompt exited nonlocally. Cache the regs back from the vp, and go - to the handler or post-handler label. (The meaning of the label differs - depending on whether the prompt's handler is rendered inline or not.) - */ + to the handler. + */ CACHE_REGISTER (); /* Really we only need SP. FP and IP should be unmodified. */ ip += offset; |