summaryrefslogtreecommitdiff
path: root/libguile/tag.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/tag.c')
-rw-r--r--libguile/tag.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libguile/tag.c b/libguile/tag.c
index 24e6b1802..4de379543 100644
--- a/libguile/tag.c
+++ b/libguile/tag.c
@@ -105,9 +105,8 @@ SCM_DEFINE (scm_tag, "tag", 1, 0, 0,
return SCM_CDR (scm_utag_immediate_char) ;
else
{
- int tag;
- tag = SCM_MAKINUM ((x >> 8) & 0xff);
- return SCM_MAKINUM (SCM_INUM (SCM_CDR (scm_utag_flag_base) ) | (tag << 8));
+ SCM tag = SCM_MAKINUM ((SCM_ASWORD (x) >> 8) & 0xff);
+ return SCM_MAKINUM (SCM_INUM (SCM_CDR (scm_utag_flag_base) ) | (SCM_ASWORD (tag) << 8));
}
case scm_tc3_cons: