diff options
author | Kevin Ryde <user42@zip.com.au> | 2007-01-15 23:42:45 +0000 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2007-01-15 23:42:45 +0000 |
commit | 23d72566286b3b2b6fec9548cbfdb5d79685e973 (patch) | |
tree | c6ca72b9de559edc3c14033a1b6fcfd9578b7519 /srfi | |
parent | cea95a2fa1f2ec810f0322a038a3af33da309e4a (diff) | |
download | guile-23d72566286b3b2b6fec9548cbfdb5d79685e973.tar.gz |
merge from 1.8
Diffstat (limited to 'srfi')
-rw-r--r-- | srfi/ChangeLog | 6 | ||||
-rw-r--r-- | srfi/srfi-60.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/srfi/ChangeLog b/srfi/ChangeLog index 1d77d7747..e662163fb 100644 --- a/srfi/ChangeLog +++ b/srfi/ChangeLog @@ -1,3 +1,9 @@ +2006-12-02 Kevin Ryde <user42@zip.com.au> + + * srfi-60.c (scm_srfi60_copy_bit): Should be long not int for fixnum + bitshift, fixes 64-bit systems setting a bit between 32 and 63. + Reported by Aaron M. Ucko, Debian bug 396119. + 2006-05-28 Kevin Ryde <user42@zip.com.au> * srfi-1.scm, srfi-1.c, srfi-1.h (append-reverse, append-reverse!): diff --git a/srfi/srfi-60.c b/srfi/srfi-60.c index 257b1387f..f631c6447 100644 --- a/srfi/srfi-60.c +++ b/srfi/srfi-60.c @@ -86,7 +86,7 @@ SCM_DEFINE (scm_srfi60_copy_bit, "copy-bit", 3, 0, 0, if (ii < SCM_LONG_BIT-1) { nn &= ~(1L << ii); /* zap bit at index */ - nn |= (bb << ii); /* insert desired bit */ + nn |= ((long) bb << ii); /* insert desired bit */ return scm_from_long (nn); } else |