Mercurial > emacs
comparison src/keymap.c @ 72806:d148ed3e5bb4
* keymap.c (Fkey_binding): Use string position for string objects.
| author | Chong Yidong <cyd@stupidchicken.com> |
|---|---|
| date | Mon, 11 Sep 2006 13:03:40 +0000 |
| parents | 93843380f78b |
| children | 25c755416160 a1a25ac6c88a |
comparison
equal
deleted
inserted
replaced
| 72805:e5e7b6d129dd | 72806:d148ed3e5bb4 |
|---|---|
| 1585 && CONSP (XCDR (ev)) | 1585 && CONSP (XCDR (ev)) |
| 1586 && (pos = XCAR (XCDR (ev)), CONSP (pos)) | 1586 && (pos = XCAR (XCDR (ev)), CONSP (pos)) |
| 1587 && XINT (Flength (pos)) == 10 | 1587 && XINT (Flength (pos)) == 10 |
| 1588 && INTEGERP (XCAR (XCDR (pos)))) | 1588 && INTEGERP (XCAR (XCDR (pos)))) |
| 1589 { | 1589 { |
| 1590 Lisp_Object map, obj; | 1590 Lisp_Object map, object; |
| 1591 obj = Fnth (make_number(4), pos); | 1591 |
| 1592 map = Fget_char_property (XCAR (XCDR (pos)), | 1592 object = Fnth (make_number(4), pos); |
| 1593 Qkeymap, | 1593 |
| 1594 NILP (obj) ? | 1594 if (CONSP (object)) |
| 1595 Fwindow_buffer (XCAR (pos)) | 1595 map = Fget_char_property (XCDR (object), Qkeymap, XCAR (object)); |
| 1596 : XCAR (obj)); | 1596 else |
| 1597 map = Fget_char_property (XCAR (XCDR (pos)), Qkeymap, | |
| 1598 Fwindow_buffer (XCAR (pos))); | |
| 1599 | |
| 1597 if (!NILP (Fkeymapp (map))) | 1600 if (!NILP (Fkeymapp (map))) |
| 1598 { | 1601 { |
| 1599 value = Flookup_key (map, key, accept_default); | 1602 value = Flookup_key (map, key, accept_default); |
| 1600 if (! NILP (value) && !INTEGERP (value)) | 1603 if (! NILP (value) && !INTEGERP (value)) |
| 1601 goto done; | 1604 goto done; |
