summaryrefslogtreecommitdiff
path: root/libguile/eval.h
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-03-20 04:19:54 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-03-20 04:19:54 +0000
commitb464b97039b7bb57b7bde2c408060a4f84cce07b (patch)
tree8c5180b6f2dda518598cad361eca17c67954be04 /libguile/eval.h
parent3ab9f56eaf4940f181eb2c6dd034d2ef41370680 (diff)
downloadguile-b464b97039b7bb57b7bde2c408060a4f84cce07b.tar.gz
Fix mixup of packed/unpacked SCM values. (Thanks Thien-Thi Nguyen.)
Diffstat (limited to 'libguile/eval.h')
-rw-r--r--libguile/eval.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/eval.h b/libguile/eval.h
index 4d5ef02b9..0b163f77f 100644
--- a/libguile/eval.h
+++ b/libguile/eval.h
@@ -162,9 +162,9 @@ extern long scm_tc16_macro;
* tag of 1. This is called a "gloc".
*/
-#define SCM_GLOC_SYM(x) (SCM_CAR((x)-1L))
-#define SCM_GLOC_VAL(x) (SCM_CDR((x)-1L))
-#define SCM_GLOC_VAL_LOC(x) (SCM_CDRLOC((x)-1L))
+#define SCM_GLOC_SYM(x) (SCM_CAR (SCM_PACK (SCM_UNPACK (x) - 1L)))
+#define SCM_GLOC_VAL(x) (SCM_CDR (SCM_PACK (SCM_UNPACK (x) - 1L)))
+#define SCM_GLOC_VAL_LOC(x) (SCM_CDRLOC (SCM_PACK (SCM_UNPACK (x) - 1L)))