summaryrefslogtreecommitdiff
path: root/libguile/dynwind.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/dynwind.c')
-rw-r--r--libguile/dynwind.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libguile/dynwind.c b/libguile/dynwind.c
index c79097b61..54323a568 100644
--- a/libguile/dynwind.c
+++ b/libguile/dynwind.c
@@ -193,8 +193,7 @@ scm_swap_bindings (SCM glocs, SCM vals)
while (SCM_NIMP (vals))
{
tmp = SCM_GLOC_VAL (SCM_CAR (glocs));
- SCM_SETCDR (SCM_PACK (SCM_UNPACK (SCM_CAR (glocs)) - 1L),
- SCM_CAR (vals));
+ SCM_GLOC_SET_VAL (SCM_CAR (glocs), SCM_CAR (vals));
SCM_SETCAR (vals, tmp);
glocs = SCM_CDR (glocs);
vals = SCM_CDR (vals);