meta_bit = VECTORP (key) ? meta_modifier : 0x80;
- if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, make_number (0))))
+ if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, 0)))
{ /* DEF is apparently an XEmacs-style keyboard macro. */
Lisp_Object tmp = Fmake_vector (make_number (ASIZE (def)), Qnil);
int i = ASIZE (def);
/* We are not interested in locations without event data */
- if (EVENT_HAS_PARAMETERS (event)) {
- Lisp_Object kind;
-
- kind = EVENT_HEAD_KIND (EVENT_HEAD (event));
- if (EQ (kind, Qmouse_click))
- position = EVENT_START (event);
- }
+ if (EVENT_HAS_PARAMETERS (event))
+ {
+ Lisp_Object kind = EVENT_HEAD_KIND (EVENT_HEAD (event));
+ if (CONSP (XCDR (event)) && EQ (kind, Qmouse_click))
+ position = EVENT_START (event);
+ }
}
/* Key sequences beginning with mouse clicks
pos = XCDR (string);
string = XCAR (string);
- if (XINT (pos) >= 0
+ if (INTEGERP (pos)
+ && XINT (pos) >= 0
&& XINT (pos) < SCHARS (string))
{
map = Fget_text_property (pos, Qlocal_map, string);