mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
* 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.
This commit is contained in:
parent
a4156763c3
commit
9fa2c7b1fc
1 changed files with 19 additions and 10 deletions
|
@ -503,15 +503,31 @@ scm_local_eval (exp, env)
|
||||||
return scm_eval_3 (exp, 1, env);
|
return scm_eval_3 (exp, 1, env);
|
||||||
}
|
}
|
||||||
|
|
||||||
static char s_start_stack[] = "start-stack";
|
|
||||||
SCM
|
SCM
|
||||||
scm_m_start_stack (exp, env)
|
scm_start_stack (id, exp, env)
|
||||||
|
SCM id;
|
||||||
SCM exp;
|
SCM exp;
|
||||||
SCM env;
|
SCM env;
|
||||||
{
|
{
|
||||||
SCM answer;
|
SCM answer;
|
||||||
scm_debug_frame vframe;
|
scm_debug_frame vframe;
|
||||||
scm_debug_info vframe_vect_body;
|
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);
|
exp = SCM_CDR (exp);
|
||||||
SCM_ASSERT (SCM_NIMP (exp)
|
SCM_ASSERT (SCM_NIMP (exp)
|
||||||
&& SCM_ECONSP (exp)
|
&& SCM_ECONSP (exp)
|
||||||
|
@ -521,14 +537,7 @@ scm_m_start_stack (exp, env)
|
||||||
exp,
|
exp,
|
||||||
SCM_WNA,
|
SCM_WNA,
|
||||||
s_start_stack);
|
s_start_stack);
|
||||||
vframe.prev = scm_last_debug_frame;
|
return scm_start_stack (scm_eval_car (exp, env), SCM_CADR (exp), env);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* {Debug Objects}
|
/* {Debug Objects}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue