aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index 29dff44f007..e82de026a82 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1409,16 +1409,16 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1409 if (h->count <= 5) 1409 if (h->count <= 5)
1410 { /* Do a linear search if there are not many cases 1410 { /* Do a linear search if there are not many cases
1411 FIXME: 5 is arbitrarily chosen. */ 1411 FIXME: 5 is arbitrarily chosen. */
1412 Lisp_Object hash_code = h->test.cmpfn 1412 Lisp_Object hash_code
1413 ? make_fixnum (h->test.hashfn (&h->test, v1)) : Qnil; 1413 = h->test.cmpfn ? h->test.hashfn (v1, &h->test) : Qnil;
1414 1414
1415 for (i = h->count; 0 <= --i; ) 1415 for (i = h->count; 0 <= --i; )
1416 if (EQ (v1, HASH_KEY (h, i)) 1416 if (EQ (v1, HASH_KEY (h, i))
1417 || (h->test.cmpfn 1417 || (h->test.cmpfn
1418 && EQ (hash_code, HASH_HASH (h, i)) 1418 && EQ (hash_code, HASH_HASH (h, i))
1419 && h->test.cmpfn (&h->test, v1, HASH_KEY (h, i)))) 1419 && !NILP (h->test.cmpfn (v1, HASH_KEY (h, i),
1420 &h->test))))
1420 break; 1421 break;
1421
1422 } 1422 }
1423 else 1423 else
1424 i = hash_lookup (h, v1, NULL); 1424 i = hash_lookup (h, v1, NULL);