summaryrefslogtreecommitdiff
path: root/libguile/ramap.c
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1996-10-20 03:29:38 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1996-10-20 03:29:38 +0000
commit25d8012c77b335723269a490b7e0661d01fd3bab (patch)
tree5485289a106431db0df5a54a3229bd473a47ba09 /libguile/ramap.c
parent24e68a57b9cf7bb8f0d0881911a5e233a2bc6616 (diff)
downloadguile-25d8012c77b335723269a490b7e0661d01fd3bab.tar.gz
* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
ramap.c, symbols.c: Added new selectors SCM_CARLOC and SCM_CDRLOC for obtaining the address of a car or cdr field. Motivation: &SCM_CXR make assumptions about the internal structure of the SCM_CXR selectors. * alist.c, arbiters.c, continuations.c, debug.c, debug.h, eval.c, eval.h, feature.c, filesys.c, fports.c, gc.c, gsubr.c, init.c, ioext.c, kw.c, list.c, load.c, mallocs.c, numbers.c, numbers.h, pairs.c, pairs.h, ports.c, ports.h, posix.c, procprop.c, procs.c, procs.h, ramap.c, read.c, root.c, srcprop.c, srcprop.h, strports.c, symbols.c, tags.h, throw.c, unif.c, variable.c, vports.c: Cleaned up use of pairs: Don't make any special assumptions about the internal structure of selectors and mutators: SCM_CXR (<e1>) = <e2> --> SCM_SETCXR (<e1>, <e2>), SCM_CXR (<e1>) &= <e2> --> SCM_SETAND_CXR (<e1>, <e2>) etc. (Among other things, this change makes it easier to build Guile with certain compilers which have problems with casted lvalues.)
Diffstat (limited to 'libguile/ramap.c')
-rw-r--r--libguile/ramap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/ramap.c b/libguile/ramap.c
index 673129158..7d721bd83 100644
--- a/libguile/ramap.c
+++ b/libguile/ramap.c
@@ -282,7 +282,7 @@ scm_ramapc (cproc, data, ra0, lra, what)
SCM_ARRAY_V (vra1) = SCM_ARRAY_V (ra1);
}
*plvra = scm_cons (vra1, SCM_EOL);
- plvra = &SCM_CDR (*plvra);
+ plvra = SCM_CDRLOC (*plvra);
}
return (SCM_UNBNDP (data) ? cproc(vra0, lvra) : cproc(vra0, data, lvra));
case 1:
@@ -338,7 +338,7 @@ scm_ramapc (cproc, data, ra0, lra, what)
SCM_ARRAY_V (vra1) = ra1;
}
*plvra = scm_cons (vra1, SCM_EOL);
- plvra = &SCM_CDR (*plvra);
+ plvra = SCM_CDRLOC (*plvra);
}
inds = scm_make_uve (SCM_ARRAY_NDIM (ra0), SCM_MAKINUM (-1L));
vinds = (long *) SCM_VELTS (inds);