summaryrefslogtreecommitdiff
path: root/libguile/goops.c
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2001-05-27 22:00:03 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2001-05-27 22:00:03 +0000
commit729dbac32f9b3a8b2c6fe399f4e725549cecd1e7 (patch)
treeb8ffb0687a7290e037a64aef646fee3747574db0 /libguile/goops.c
parentfc62c86a599039709b22783a0abc552a5f33719e (diff)
downloadguile-729dbac32f9b3a8b2c6fe399f4e725549cecd1e7.tar.gz
* Changed the default definition of SCM.
* Fixed some typing problems detected by the above change. * Fixed some problems that were detected by compiling guile with -W.
Diffstat (limited to 'libguile/goops.c')
-rw-r--r--libguile/goops.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/libguile/goops.c b/libguile/goops.c
index 1fe133828..a85f4975c 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -1129,8 +1129,8 @@ test_slot_existence (SCM class, SCM obj, SCM slot_name)
{
register SCM l;
- for (l = SCM_ACCESSORS_OF (obj); SCM_NNULLP (l); l = SCM_CDR (l))
- if (SCM_CAAR (l) == slot_name)
+ for (l = SCM_ACCESSORS_OF (obj); !SCM_NULLP (l); l = SCM_CDR (l))
+ if (SCM_EQ_P (SCM_CAAR (l), slot_name))
return SCM_BOOL_T;
return SCM_BOOL_F;
@@ -1289,9 +1289,10 @@ wrap_init (SCM class, SCM *m, long n)
m[i] = SCM_GOOPS_UNBOUND;
SCM_NEWCELL2 (z);
- SCM_SETCDR (z, (SCM) m);
SCM_SET_STRUCT_GC_CHAIN (z, 0);
- SCM_SETCAR (z, (scm_bits_t) SCM_STRUCT_DATA (class) | scm_tc3_cons_gloc);
+ SCM_SET_CELL_WORD_1 (z, m);
+ SCM_SET_CELL_WORD_0 (z, (scm_bits_t) SCM_STRUCT_DATA (class)
+ | scm_tc3_cons_gloc);
return z;
}
@@ -1435,10 +1436,10 @@ SCM_DEFINE (scm_sys_modify_class, "%modify-class", 2, 0, 0,
SCM cdr = SCM_CDR (old);
SCM_SETCAR (old, SCM_CAR (new));
SCM_SETCDR (old, SCM_CDR (new));
- SCM_STRUCT_DATA (old)[scm_vtable_index_vtable] = old;
+ SCM_STRUCT_DATA (old)[scm_vtable_index_vtable] = SCM_UNPACK (old);
SCM_SETCAR (new, car);
SCM_SETCDR (new, cdr);
- SCM_STRUCT_DATA (new)[scm_vtable_index_vtable] = new;
+ SCM_STRUCT_DATA (new)[scm_vtable_index_vtable] = SCM_UNPACK (new);
}
SCM_REALLOW_INTS;
return SCM_UNSPECIFIED;
@@ -1462,7 +1463,7 @@ SCM_DEFINE (scm_sys_invalidate_class, "%invalidate-class", 1, 0, 0,
* infinite recursions.
*/
-static SCM **hell;
+static scm_bits_t **hell;
static long n_hell = 1; /* one place for the evil one himself */
static long hell_size = 4;
#ifdef USE_THREADS