+2006-09-11 Chong Yidong <cyd@stupidchicken.com>
+
+ * keymap.c (Fkey_binding): Use string position for string objects.
+
2006-09-11 Kim F. Storm <storm@cua.dk>
* keymap.c (Fkey_binding): Fix last change.
&& XINT (Flength (pos)) == 10
&& INTEGERP (XCAR (XCDR (pos))))
{
- Lisp_Object map, obj;
- obj = Fnth (make_number(4), pos);
- map = Fget_char_property (XCAR (XCDR (pos)),
- Qkeymap,
- NILP (obj) ?
- Fwindow_buffer (XCAR (pos))
- : XCAR (obj));
+ Lisp_Object map, object;
+
+ object = Fnth (make_number(4), pos);
+
+ if (CONSP (object))
+ map = Fget_char_property (XCDR (object), Qkeymap, XCAR (object));
+ else
+ map = Fget_char_property (XCAR (XCDR (pos)), Qkeymap,
+ Fwindow_buffer (XCAR (pos)));
+
if (!NILP (Fkeymapp (map)))
{
value = Flookup_key (map, key, accept_default);