guile-cvs
[Top][All Lists]
Advanced

[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';




reply via email to

[Prev in Thread] Current Thread [Next in Thread]