+2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
+ tables (bug#14054).
+
2013-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
* window.c (select_window): Don't record_buffer while the invariant is
{
struct Lisp_Hash_Table *h = XHASH_TABLE (collection);
i = hash_lookup (h, string, NULL);
+ Lisp_Object key = Qnil;
if (i >= 0)
tem = HASH_KEY (h, i);
else
for (i = 0; i < HASH_TABLE_SIZE (h); ++i)
if (!NILP (HASH_HASH (h, i))
+ && (key = HASH_KEY (h, i),
+ SYMBOLP (key) ? key = Fsymbol_name (key) : key,
+ STRINGP (key))
&& EQ (Fcompare_strings (string, make_number (0), Qnil,
- HASH_KEY (h, i), make_number (0) , Qnil,
+ key, make_number (0) , Qnil,
completion_ignore_case ? Qt : Qnil),
Qt))
{
- tem = HASH_KEY (h, i);
+ tem = key;
break;
}
if (!STRINGP (tem))