1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-15 08:10:17 +02:00

* goops.c (scm_sys_pre_expand_closure_x): New procedure.

This commit is contained in:
Mikael Djurfeldt 2001-03-04 05:27:41 +00:00
parent d19b0aac73
commit 87e7741df7
3 changed files with 25 additions and 3 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -934,6 +934,23 @@ SCM_DEFINE (scm_accessor_method_slot_definition, "accessor-method-slot-definitio
}
#undef FUNC_NAME
SCM_DEFINE (scm_sys_pre_expand_closure_x, "%pre-expand-closure!", 1, 0, 0,
(SCM closure),
"Internal GOOPS magic---don't use this function!")
#define FUNC_NAME s_scm_sys_pre_expand_closure_x
{
SCM formals, code, env;
SCM_VALIDATE_CLOSURE (1, closure);
formals = SCM_CAR (SCM_CODE (closure));
env = SCM_EXTEND_ENV (formals, formals, SCM_ENV (closure));
code = SCM_CDR (SCM_CODE (closure));
while (SCM_NNULLP (SCM_CDR (code))
&& SCM_IMP (SCM_CAR (code))
&& SCM_ISYMP (SCM_CAR (code)))
code = scm_m_expand_body (code, env);
return closure;
}
#undef FUNC_NAME
/******************************************************************************
*