A new user interface for you! Read more...

File guile-64bit.patch of Package guile

Index: libguile/hash.c
===================================================================
--- libguile/hash.c.orig	2016-07-21 14:25:17.522695394 +0200
+++ libguile/hash.c	2016-07-21 14:25:22.778646713 +0200
@@ -296,7 +296,7 @@
 unsigned long
 scm_ihashq (SCM obj, unsigned long n)
 {
-  return (SCM_UNPACK (obj) >> 1) % n;
+  return ((unsigned long) SCM_UNPACK (obj) >> 1) % n;
 }
 
 
@@ -332,7 +332,7 @@
   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	2016-07-21 14:25:17.522695394 +0200
+++ libguile/struct.c	2016-07-21 14:25:22.778646713 +0200
@@ -918,7 +918,7 @@
 {
   /* 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;
 }
 
 /* Return the hash of struct OBJ, modulo N.  Traverse OBJ's fields to