diff options
author | Kim F. Storm <[email protected]> | 2006-09-11 08:52:42 +0000 |
---|---|---|
committer | Kim F. Storm <[email protected]> | 2006-09-11 08:52:42 +0000 |
commit | 4d32309c1425c4bd947e77d8d47297c4cbf8d5e0 (patch) | |
tree | 3b001ec2fea837e97bb23f9ae9c879ac73ec5b20 | |
parent | 9a71d7deb40072fc41a9fe3d93acf72a480a2bcf (diff) |
(Fkey_binding): Fix last change.
-rw-r--r-- | src/keymap.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/keymap.c b/src/keymap.c index 1d854f77b4..c249c6de40 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -1577,16 +1577,17 @@ is non-nil, `key-binding' returns the unmapped command. */) GCPRO1 (key); #ifdef HAVE_MOUSE - if (VECTORP (key) - && ASIZE (key) > 0 - && CONSP (AREF (key, 0)) - && SYMBOLP (XCAR (AREF (key, 0))) - && CONSP (XCDR (AREF (key, 0)))) + if (VECTORP (key) && ASIZE (key) > 0) { - Lisp_Object map, obj, pos = XCAR (XCDR (AREF (key, 0))); - - if (XINT (Flength (pos)) == 10 && INTEGERP (XCAR (XCDR (pos)))) + Lisp_Object ev, pos; + if ((ev = AREF (key, 0), CONSP (ev)) + && SYMBOLP (XCAR (ev)) + && CONSP (XCDR (ev)) + && (pos = XCAR (XCDR (ev)), CONSP (pos)) + && 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, |