fix delayed hashing (especially as needed by MrEd under X11) again
svn: r8160
This commit is contained in:
parent
da15443ebc
commit
a85d979a2d
|
@ -160,9 +160,17 @@ static Scheme_Object *do_hash(Scheme_Hash_Table *table, Scheme_Object *key, int
|
|||
mask = table->size - 1;
|
||||
|
||||
if (table->make_hash_indices) {
|
||||
table->make_hash_indices((void *)key, (long *)&h, NULL);
|
||||
h = h & mask;
|
||||
GC_CAN_IGNORE hash_v_t *_h2;
|
||||
if (table->compare) {
|
||||
h2 = 0;
|
||||
_h2 = NULL;
|
||||
} else
|
||||
_h2 = &h2;
|
||||
table->make_hash_indices((void *)key, (long *)&h, (long *)_h2);
|
||||
h = h & mask;
|
||||
if (_h2) {
|
||||
h2 = (h2 & mask) | 1;
|
||||
}
|
||||
} else {
|
||||
unsigned long lkey;
|
||||
lkey = (unsigned long)PTR_TO_LONG((Scheme_Object *)key);
|
||||
|
|
Loading…
Reference in New Issue
Block a user