+2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
+ (scm_sys_tag_body): Added.
+
2001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
* continuations.c (continuation_apply), eval.c (scm_m_lambda,
}
#undef FUNC_NAME
-SCM_DEFINE (scm_sys_pre_expand_closure_x, "%pre-expand-closure!", 1, 0, 0,
- (SCM closure),
+SCM_DEFINE (scm_sys_tag_body, "%tag-body", 1, 0, 0,
+ (SCM body),
"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;
+#define FUNC_NAME s_scm_sys_tag_body
+{
+ return scm_cons (SCM_IM_LAMBDA, body);
}
#undef FUNC_NAME
SCM scm_method_specializers (SCM obj);
SCM scm_method_procedure (SCM obj);
SCM scm_accessor_method_slot_definition (SCM obj);
-SCM scm_sys_pre_expand_closure_x (SCM closure);
+SCM scm_sys_tag_body (SCM body);
SCM scm_sys_fast_slot_ref (SCM obj, SCM index);
SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value);
SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name);