summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
Diffstat (limited to 'libguile')
-rw-r--r--libguile/control.c5
-rw-r--r--libguile/control.h7
-rw-r--r--libguile/vm-i-system.c12
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;