> Here is another one, for `read_key_sequence' in keyboard.c.
> `first_binding' is always used with `submaps', shouldn't the
> comment for it be `submaps', rather than `defs'?
No, the comment is correct. The "submaps[first_binding]" expressions are
used to check whether that first binding is a prefix or not. I.e. kind of
like "KEYMAPP (defs[first_binding])".
It's mostly set in follow_key:
if (! NILP (defs[i]))
first_binding = i;
Excuse me, but there are two ``first_binding''s in this file; I refered
the one in ``read_key_sequence''. Please take a look at near line
8996:
/* Find an accurate initial value for first_binding. */
for (first_binding = 0; first_binding < nmaps; first_binding++)
if (! NILP (submaps[first_binding]))
break;