[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/libguile ChangeLog goops.c goo...
From: |
Mikael Djurfeldt |
Subject: |
guile/guile-core/libguile ChangeLog goops.c goo... |
Date: |
Sat, 03 Mar 2001 21:27:41 -0800 |
CVSROOT: /cvs
Module name: guile
Changes by: Mikael Djurfeldt <address@hidden> 01/03/03 21:27:41
Modified files:
guile-core/libguile: ChangeLog goops.c goops.h
Log message:
* goops.c (scm_sys_pre_expand_closure_x): New procedure.
CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/ChangeLog.diff?r1=1.1290&r2=1.1291
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/goops.c.diff?r1=1.19&r2=1.20
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/goops.h.diff?r1=1.7&r2=1.8
Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1290
guile/guile-core/libguile/ChangeLog:1.1291
--- guile/guile-core/libguile/ChangeLog:1.1290 Sat Mar 3 15:56:03 2001
+++ guile/guile-core/libguile/ChangeLog Sat Mar 3 21:27:40 2001
@@ -1,3 +1,7 @@
+2001-03-04 Mikael Djurfeldt <address@hidden>
+
+ * goops.c (scm_sys_pre_expand_closure_x): New procedure.
+
2001-03-04 Marius Vollmer <address@hidden>
* eval.c (scm_s_duplicate_bindings): New error message.
Index: guile/guile-core/libguile/goops.c
diff -u guile/guile-core/libguile/goops.c:1.19
guile/guile-core/libguile/goops.c:1.20
--- guile/guile-core/libguile/goops.c:1.19 Sat Feb 24 15:46:04 2001
+++ guile/guile-core/libguile/goops.c Sat Mar 3 21:27:41 2001
@@ -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 @@
}
#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
/******************************************************************************
*
Index: guile/guile-core/libguile/goops.h
diff -u guile/guile-core/libguile/goops.h:1.7
guile/guile-core/libguile/goops.h:1.8
--- guile/guile-core/libguile/goops.h:1.7 Thu Dec 21 09:07:38 2000
+++ guile/guile-core/libguile/goops.h Sat Mar 3 21:27:41 2001
@@ -2,7 +2,7 @@
#ifndef GOOPSH
#define GOOPSH
-/* 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
@@ -257,7 +257,8 @@
SCM scm_method_generic_function (SCM obj);
SCM scm_method_specializers (SCM obj);
SCM scm_method_procedure (SCM obj);
-SCM scm_accessor_method_slot_definition (SCM obj);
+SCM scm_accessor_method_slot_definition (SCM obj);
+SCM scm_sys_pre_expand_closure_x (SCM closure);
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);
- guile/guile-core/libguile ChangeLog goops.c goo...,
Mikael Djurfeldt <=