From 9fa2c7b1fc37f0dccf45334954230c7d3b21f8e6 Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Sun, 7 Jun 1998 02:11:28 +0000 Subject: * debug.h, debug.c (scm_start_stack): New function. Implements the guts of old scm_m_start_stack. * debug.c (scm_m_start_stack): Use scm_start_stack. --- libguile/debug.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'libguile/debug.c') diff --git a/libguile/debug.c b/libguile/debug.c index 4c95a8a92..9ec243d61 100644 --- a/libguile/debug.c +++ b/libguile/debug.c @@ -503,15 +503,31 @@ scm_local_eval (exp, env) return scm_eval_3 (exp, 1, env); } -static char s_start_stack[] = "start-stack"; SCM -scm_m_start_stack (exp, env) +scm_start_stack (id, exp, env) + SCM id; SCM exp; SCM env; { SCM answer; scm_debug_frame vframe; scm_debug_info vframe_vect_body; + vframe.prev = scm_last_debug_frame; + vframe.status = SCM_VOIDFRAME; + vframe.vect = &vframe_vect_body; + vframe.vect[0].id = id; + scm_last_debug_frame = &vframe; + answer = scm_eval_3 (exp, 0, env); + scm_last_debug_frame = vframe.prev; + return answer; +} + +static char s_start_stack[] = "start-stack"; +SCM +scm_m_start_stack (exp, env) + SCM exp; + SCM env; +{ exp = SCM_CDR (exp); SCM_ASSERT (SCM_NIMP (exp) && SCM_ECONSP (exp) @@ -521,14 +537,7 @@ scm_m_start_stack (exp, env) exp, SCM_WNA, s_start_stack); - vframe.prev = scm_last_debug_frame; - vframe.status = SCM_VOIDFRAME; - vframe.vect = &vframe_vect_body; - vframe.vect[0].id = scm_eval_car (exp, env); - scm_last_debug_frame = &vframe; - answer = scm_eval_car (SCM_CDR (exp), env); - scm_last_debug_frame = vframe.prev; - return answer; + return scm_start_stack (scm_eval_car (exp, env), SCM_CADR (exp), env); } /* {Debug Objects} -- cgit v1.2.3