forked from pool/guile
Petr Gajdos
896b37a464
** `guile-tools' renamed to `guild' ** New control operators: `shift' and `reset' ** `while' as an expression ** Disallow access to handles of weak hash tables ** More precision for `get-internal-run-time', `get-internal-real-time' ** Guile now measures time spent in GC ** Add `gcprof' ** `map', `for-each' and some others now implemented in Scheme ** Add `scm_peek_byte_or_eof'. ** Implement #:stop-at-first-non-option option for getopt-long ** Improve R6RS conformance for conditions in the I/O libraries ** All deprecated routines emit warnings ** Constants in compiled code now share state better ** VLists: optimize `vlist-fold-right', and add `vhash-fold-right' ** UTF-8 ports to bypass `iconv' entirely ** Compiler speedups ** VM speed tuning ** SRFI-1 list-set optimizations ** `memq', `memv' optimizations ** Deprecate scm_whash API ** Deprecate scm_struct_table ** Deprecate scm_internal_dynamic_wind ** Deprecate scm_immutable_cell, scm_immutable_double_cell ** Fix double-loading of script in -ds case ** -x error message fix ** iconveh-related cross-compilation fixes ** Fix small integer return value packing on big endian machines. ** Fix hash-set! in weak-value table from non-immediate to immediate ** Fix call-with-input-file & relatives for multiple values OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/guile?expand=0&rev=13
36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
Index: libguile/hash.c
|
|
===================================================================
|
|
--- libguile/hash.c.orig
|
|
+++ libguile/hash.c
|
|
@@ -270,7 +270,7 @@ scm_hasher(SCM obj, unsigned long n, siz
|
|
unsigned long
|
|
scm_ihashq (SCM obj, unsigned long n)
|
|
{
|
|
- return (SCM_UNPACK (obj) >> 1) % n;
|
|
+ return ((unsigned long) SCM_UNPACK (obj) >> 1) % n;
|
|
}
|
|
|
|
|
|
@@ -306,7 +306,7 @@ scm_ihashv (SCM obj, unsigned long n)
|
|
if (SCM_NUMP(obj))
|
|
return (unsigned long) scm_hasher(obj, n, 10);
|
|
else
|
|
- return SCM_UNPACK (obj) % n;
|
|
+ return (unsigned long) SCM_UNPACK (obj) % n;
|
|
}
|
|
|
|
|
|
Index: libguile/struct.c
|
|
===================================================================
|
|
--- libguile/struct.c.orig
|
|
+++ libguile/struct.c
|
|
@@ -942,7 +942,7 @@ scm_struct_ihashq (SCM obj, unsigned lon
|
|
{
|
|
/* The length of the hash table should be a relative prime it's not
|
|
necessary to shift down the address. */
|
|
- return SCM_UNPACK (obj) % n;
|
|
+ return (unsigned long) SCM_UNPACK (obj) % n;
|
|
}
|
|
|
|
SCM_DEFINE (scm_struct_vtable_name, "struct-vtable-name", 1, 0, 0,
|