From 293bb454ed6f97f504715afdbd19797d7176ed16 Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Sat, 11 Mar 2000 23:38:33 +0000 Subject: [PATCH] * pairs.h (SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR, SCM_SETOR_CDR): Corrected SCM_ASSCM/WORD fixes. --- libguile/pairs.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libguile/pairs.h b/libguile/pairs.h index 96e6f42cc..e74c855a2 100644 --- a/libguile/pairs.h +++ b/libguile/pairs.h @@ -2,7 +2,7 @@ #ifndef PAIRSH #define PAIRSH -/* Copyright (C) 1995,1996 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996, 2000 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 @@ -111,10 +111,14 @@ typedef SCM huge *SCMPTR; #define SCM_CARLOC(x) (&SCM_CAR (x)) #define SCM_CDRLOC(x) (&SCM_CDR (x)) -#define SCM_SETAND_CAR(x, y) (SCM_CARW (x) &= (y)) -#define SCM_SETAND_CDR(x, y) (SCM_ASWORD (SCM_CDR (x)) &= (y)) -#define SCM_SETOR_CAR(x, y) (SCM_CARW (x) |= (y)) -#define SCM_SETOR_CDR(x, y) (SCM_ASWORD (SCM_CDR (x)) |= (y)) +#define SCM_SETAND_CAR(x, y)\ + (SCM_CAR (x) = SCM_ASSCM (SCM_ASWORD (SCM_CAR (x)) & (y))) +#define SCM_SETAND_CDR(x, y)\ + (SCM_CDR (x) = SCM_ASSCM (SCM_ASWORD (SCM_CDR (x)) & (y))) +#define SCM_SETOR_CAR(x, y)\ + (SCM_CAR (x) = SCM_ASSCM (SCM_ASWORD (SCM_CAR (x)) | (y))) +#define SCM_SETOR_CDR(x, y)\ + (SCM_CDR (x) = SCM_ASSCM (SCM_ASWORD (SCM_CDR (x)) | (y))) #define SCM_CAAR(OBJ) SCM_CAR (SCM_CAR (OBJ)) #define SCM_CDAR(OBJ) SCM_CDR (SCM_CAR (OBJ))