[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/libguile ChangeLog goops.c
From: |
Mikael Djurfeldt |
Subject: |
guile/guile-core/libguile ChangeLog goops.c |
Date: |
Wed, 08 Jan 2003 13:47:31 -0500 |
CVSROOT: /cvs
Module name: guile
Branch: branch_release-1-6
Changes by: Mikael Djurfeldt <address@hidden> 03/01/08 13:47:31
Modified files:
guile-core/libguile: ChangeLog goops.c
Log message:
* goops.c (scm_sys_prep_layout_x): Bugfix: Only create layout for
slots with instance allocation.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ChangeLog.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.1465.2.104&tr2=1.1465.2.105&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/goops.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.39.2.3&tr2=1.39.2.4&r1=text&r2=text
Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -c guile/guile-core/libguile/ChangeLog:1.1767
guile/guile-core/libguile/ChangeLog:1.1768
*** guile/guile-core/libguile/ChangeLog:1.1767 Wed Jan 8 08:24:36 2003
--- guile/guile-core/libguile/ChangeLog Wed Jan 8 10:05:55 2003
***************
*** 1,5 ****
--- 1,8 ----
2003-01-08 Mikael Djurfeldt <address@hidden>
+ * goops.c (scm_sys_prep_layout_x): Bugfix: Only create layout for
+ slots with instance allocation.
+
* goops.c, goops.h (scm_class_extended_generic_with_setter): New
class.
(scm_compute_applicable_methods): Use scm_generic_function_methods.
Index: guile/guile-core/libguile/goops.c
diff -c guile/guile-core/libguile/goops.c:1.55
guile/guile-core/libguile/goops.c:1.56
*** guile/guile-core/libguile/goops.c:1.55 Wed Jan 8 08:24:36 2003
--- guile/guile-core/libguile/goops.c Wed Jan 8 10:05:55 2003
***************
*** 466,471 ****
--- 466,473 ----
SCM_KEYWORD (k_class, "class");
+ SCM_KEYWORD (k_allocation, "allocation");
+ SCM_KEYWORD (k_instance, "instance");
SCM_DEFINE (scm_sys_prep_layout_x, "%prep-layout!", 1, 0, 0,
(SCM class),
***************
*** 492,505 ****
for (i = 0; i < n; i += 2)
{
long len;
! SCM type;
char p, a;
if (!SCM_CONSP (slots))
SCM_MISC_ERROR ("too few slot definitions", SCM_EOL);
len = scm_ilength (SCM_CDAR (slots));
! type = scm_i_get_keyword (k_class, SCM_CDAR (slots), len, SCM_BOOL_F,
! FUNC_NAME);
if (SCM_FALSEP (type))
{
p = 'p';
--- 494,516 ----
for (i = 0; i < n; i += 2)
{
long len;
! SCM type, allocation;
char p, a;
if (!SCM_CONSP (slots))
SCM_MISC_ERROR ("too few slot definitions", SCM_EOL);
len = scm_ilength (SCM_CDAR (slots));
! allocation = scm_i_get_keyword (k_allocation, SCM_CDAR (slots),
! len, k_instance, FUNC_NAME);
! while (!SCM_EQ_P (allocation, k_instance))
! {
! slots = SCM_CDR (slots);
! len = scm_ilength (SCM_CDAR (slots));
! allocation = scm_i_get_keyword (k_allocation, SCM_CDAR (slots),
! len, k_instance, FUNC_NAME);
! }
! type = scm_i_get_keyword (k_class, SCM_CDAR (slots),
! len, SCM_BOOL_F, FUNC_NAME);
if (SCM_FALSEP (type))
{
p = 'p';