+2006-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keymap.c: Include alloca.h if available.
+ (Fkey_binding): Only use AREF after checking it's a vector.
+ Remove unused var `window'.
+
2006-09-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* emacs.c (shut_down_emacs) [!subprocesses]: Don't set
#include <config.h>
#include <stdio.h>
+#if HAVE_ALLOCA_H
+# include <alloca.h>
+#endif
#include "lisp.h"
#include "commands.h"
#include "buffer.h"
GCPRO2 (key, position);
- if (NILP (position))
+ if (NILP (position) && VECTORP (key))
{
- Lisp_Object event;
- /* mouse events may have a symbolic prefix indicating the
- scrollbar or mode line */
- if (SYMBOLP (AREF (key, 0)) && ASIZE (key) > 1)
- event = AREF (key, 1);
- else
- event = AREF (key, 0);
+ Lisp_Object event
+ /* mouse events may have a symbolic prefix indicating the
+ scrollbar or mode line */
+ = AREF (key, SYMBOLP (AREF (key, 0)) && ASIZE (key) > 1 ? 1 : 0);
/* We are not interested in locations without event data */
if (CONSP (position))
{
- Lisp_Object string, window;
-
- window = POSN_WINDOW (position);
+ Lisp_Object string;
/* For a mouse click, get the local text-property keymap
of the place clicked on, rather than point. */