From b2173f8bd437611146dd217f3106702af5b37c23 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Mon, 23 May 2005 13:41:23 +0000
Subject: [PATCH] Patch from Gerd Moellmann, cmucl-imp, 2005-05-21:

    The problem here is that a fixnum value gets stored in an
    unsigned-byte vector, which messes up the linked list.
---
 lisp/gencgc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/gencgc.c b/lisp/gencgc.c
index 932482dfd..adcbae678 100644
--- a/lisp/gencgc.c
+++ b/lisp/gencgc.c
@@ -7,7 +7,7 @@
  *
  * Douglas Crosher, 1996, 1997, 1998, 1999.
  *
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gencgc.c,v 1.64 2005/05/16 13:16:11 rtoy Exp $
+ * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gencgc.c,v 1.65 2005/05/23 13:41:23 rtoy Exp $
  *
  */
 
@@ -3470,7 +3470,7 @@ free_hash_entry (struct hash_table *hash_table, int hash_index,
       unsigned count = fixnum_value (hash_table->number_entries);
       gc_assert (count > 0);
       hash_table->number_entries = make_fixnum (count - 1);
-      next_vector[kv_index] = hash_table->next_free_kv;
+      next_vector[kv_index] = fixnum_value (hash_table->next_free_kv);
       hash_table->next_free_kv = make_fixnum (kv_index);
     }
 }
-- 
GitLab