idx++;
if (idx >= HASH_TABLE_SIZE (XHASH_TABLE (collection)))
break;
+ else if (symbol_table_p)
+ {
+ elt = HASH_KEY (XHASH_TABLE (collection), idx);
+ eltstring = SYMBOL_NAME (elt);
+ ++idx;
+ }
else
elt = eltstring = HASH_KEY (XHASH_TABLE (collection), idx++);
}
tem = Fcommandp (elt, Qnil);
else if (HASH_TABLE_P (collection))
{
- const Lisp_Object value = HASH_VALUE (XHASH_TABLE (collection), idx - 1);
if (symbol_table_p)
- tem = call1 (predicate, value);
+ tem = call1 (predicate, elt);
else
- tem = call2 (predicate, elt, value);
+ {
+ const Lisp_Object value = HASH_VALUE (XHASH_TABLE (collection), idx - 1);
+ tem = call2 (predicate, elt, value);
+ }
}
else
tem = call1 (predicate, elt);
idx++;
if (idx >= HASH_TABLE_SIZE (XHASH_TABLE (collection)))
break;
+ else if (symbol_table_p)
+ {
+ elt = HASH_KEY (XHASH_TABLE (collection), idx++);
+ eltstring = SYMBOL_NAME (elt);
+ }
else
elt = eltstring = HASH_KEY (XHASH_TABLE (collection), idx++);
}
tem = Fcommandp (elt, Qnil);
else if (HASH_TABLE_P (collection))
{
- const Lisp_Object value = HASH_VALUE (XHASH_TABLE (collection), idx - 1);
if (symbol_table_p)
- tem = call1 (predicate, value);
+ tem = call1 (predicate, elt);
else
- tem = call2 (predicate, elt, value);
+ {
+ const Lisp_Object value = HASH_VALUE (XHASH_TABLE (collection), idx - 1);
+ tem = call2 (predicate, elt, value);
+ }
}
else
tem = call1 (predicate, elt);
if (HASH_TABLE_P (collection))
{
- const Lisp_Object value = HASH_VALUE (XHASH_TABLE (collection), i);
if (symbol_table_p)
- return call1 (predicate, value);
+ {
+ Lisp_Object sym = HASH_KEY (XHASH_TABLE (collection), i);
+ return call1 (predicate, sym);
+ }
+ const Lisp_Object value = HASH_VALUE (XHASH_TABLE (collection), i);
return call2 (predicate, tem, value);
}