summaryrefslogtreecommitdiff
path: root/libguile/debug.c
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1998-06-07 02:11:28 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1998-06-07 02:11:28 +0000
commit9fa2c7b1fc37f0dccf45334954230c7d3b21f8e6 (patch)
tree9ada2efa528776a310669c18bd382babb23ee3de /libguile/debug.c
parenta4156763c3a93a7193d647ba3db183aa6675e661 (diff)
downloadguile-9fa2c7b1fc37f0dccf45334954230c7d3b21f8e6.tar.gz
* 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.
Diffstat (limited to 'libguile/debug.c')
-rw-r--r--libguile/debug.c29
1 files changed, 19 insertions, 10 deletions
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}