final bug is squashed

parent 53e71812
......@@ -146,6 +146,7 @@
gp-push-engine
gp-peek-engine
gp-combine-engines
gp-current-engine-path
))
;; Tos silence the compiler, those are fetched from the .so file
......@@ -341,3 +342,4 @@
(define attributeU (make-variable #f))
(gp-set-attribute-trampoline attributeU *delayers*)
......@@ -1618,3 +1618,11 @@ SCM_DEFINE(gp_combine_engines, "gp-combine-engines", 1, 0, 0, (SCM l),
return SCM_UNSPECIFIED;
}
#undef FUNC_NAME
SCM_DEFINE(gp_get_current_engine_path, "gp-current-engine-path", 0, 0, 0, (),
"marks a variable as permanent and hence will be removed from stacks")
#define FUNC_NAME s_gp_get_current_engine_path
{
return gp_engine_path;
}
#undef FUNC_NAME
......@@ -923,8 +923,9 @@ static inline void gp_unwind_(SCM s , int ncons, int nvar, int nci,
while(SCM_CONSP(l) && !scm_is_eq(SCM_CAR(l), a0))
{
SCM engine = SCM_CDAR(l);
scm_fluid_set_x(gp_current_stack, engine);
gp_clear(SCM_BOOL_F);
scm_fluid_set_x(gp_current_stack, engine);
gp_engine_path = SCM_CDR(gp_engine_path);
l = SCM_CDR(l);
}
......@@ -2004,4 +2005,5 @@ SCM_DEFINE(gp_add_unwind_hook, "gp-add-unwind-hook", 1, 0, 0, (SCM x),
}
#undef FUNC_NAME
//#define DB(X)
......@@ -165,6 +165,7 @@ SCM_API SCM gp_push_engine(SCM s, SCM engine);
SCM_API SCM gp_pop_engine();
SCM_API SCM gp_peek_engine();
SCM_API SCM gp_combine_engines(SCM l);
SCM_API SCM gp_get_current_engine_path();
SCM_API SCM gp_set_struct(SCM a, SCM b);
SCM_API SCM gp_make_struct(SCM a, SCM b);
SCM_API SCM gp_custom_fkn(SCM custom_vm_fkn, SCM a, SCM b);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment