1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-19 18:20:22 +02:00
Conflicts:
	libguile/continuations.c
	libguile/eval.c
	libguile/goops.c
	libguile/instructions.c
This commit is contained in:
Andy Wingo 2014-02-07 15:01:33 +01:00
commit dc7a33fa87
9 changed files with 135 additions and 102 deletions

View file

@ -131,20 +131,26 @@ SCM_DEFINE (scm_frame_procedure, "frame-procedure", 1, 0, 0,
}
#undef FUNC_NAME
static SCM frame_arguments_var;
static void
init_frame_arguments_var (void)
{
frame_arguments_var
= scm_c_private_lookup ("system vm frame", "frame-arguments");
}
SCM_DEFINE (scm_frame_arguments, "frame-arguments", 1, 0, 0,
(SCM frame),
"")
#define FUNC_NAME s_scm_frame_arguments
{
static SCM var = SCM_BOOL_F;
static scm_i_pthread_once_t once = SCM_I_PTHREAD_ONCE_INIT;
scm_i_pthread_once (&once, init_frame_arguments_var);
SCM_VALIDATE_VM_FRAME (1, frame);
if (scm_is_false (var))
var = scm_c_module_lookup (scm_c_resolve_module ("system vm frame"),
"frame-arguments");
return scm_call_1 (SCM_VARIABLE_REF (var), frame);
return scm_call_1 (scm_variable_ref (frame_arguments_var), frame);
}
#undef FUNC_NAME