diff options
Diffstat (limited to 'libguile/vm-i-scheme.c')
-rw-r--r-- | libguile/vm-i-scheme.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c index 5557e19b8..ec226733a 100644 --- a/libguile/vm-i-scheme.c +++ b/libguile/vm-i-scheme.c @@ -174,9 +174,10 @@ VM_DEFINE_INSTRUCTION (144, set_cdr, "set-cdr!", 0, 2, 0) { \ ARGS2 (x, y); \ if (SCM_I_INUMP (x) && SCM_I_INUMP (y)) \ - RETURN (scm_from_bool (SCM_I_INUM (x) crel SCM_I_INUM (y))); \ - SYNC_REGISTER (); \ - RETURN (srel (x, y)); \ + RETURN (scm_from_bool ((scm_t_signed_bits) (x) \ + crel (scm_t_signed_bits) (y))); \ + SYNC_REGISTER (); \ + RETURN (srel (x, y)); \ } VM_DEFINE_FUNCTION (145, ee, "ee?", 2) |