From: Kim F. Storm Date: Mon, 11 Sep 2006 08:52:42 +0000 (+0000) Subject: (Fkey_binding): Fix last change. X-Git-Tag: emacs-pretest-22.0.90~621 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4d32309c1425c4bd947e77d8d47297c4cbf8d5e0;p=emacs.git (Fkey_binding): Fix last change. --- diff --git a/src/keymap.c b/src/keymap.c index 1d854f77b4c..c249c6de406 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,