]> code.delx.au - gnu-emacs/blobdiff - src/menu.c
Reword header comment to prevent copyright.el wanting to update years.
[gnu-emacs] / src / menu.c
index 969225d4c72cd1b79abafe3f9fa7c3d0c861f826..74d455a8c0ab5c0ceff507638be96e2bce1f2b99 100644 (file)
@@ -1,6 +1,6 @@
 /* Platform-independent code for terminal communications.
    Copyright (C) 1986, 1988, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2003,
-                 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+                 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -19,6 +19,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 #include <stdio.h>
+#include <setjmp.h>
 
 #include "lisp.h"
 #include "keyboard.h"
@@ -365,7 +366,7 @@ single_menu_item (key, item, dummy, skp_v)
       return;
     }
 
-#ifdef HAVE_X_WINDOWS
+#if defined(HAVE_X_WINDOWS) || defined(MSDOS)
 #ifndef HAVE_BOXES
   /* Simulate radio buttons and toggle boxes by putting a prefix in
      front of them.  */
@@ -435,7 +436,7 @@ single_menu_item (key, item, dummy, skp_v)
     item_string = concat2 (item_string, build_string (" >"));
 #endif
 
-#endif /* HAVE_X_WINDOWS */
+#endif /* HAVE_X_WINDOWS || MSDOS */
 
   push_menu_item (item_string, enabled, key,
                  XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF],
@@ -881,7 +882,7 @@ update_submenu_strings (first_wv)
 void
 find_and_call_menu_selection (f, menu_bar_items_used, vector, client_data)
      FRAME_PTR f;
-     EMACS_INT menu_bar_items_used;
+     int menu_bar_items_used;
      Lisp_Object vector;
      void *client_data;
 {
@@ -1005,7 +1006,7 @@ find_and_return_menu_selection (FRAME_PTR f, int keymaps, void *client_data)
         {
           entry
             = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_VALUE];
-          if ((int) (EMACS_INT)client_data == i)
+          if ((EMACS_INT)client_data ==  (EMACS_INT)(&XVECTOR (menu_items)->contents[i]))
             {
               if (keymaps != 0)
                 {
@@ -1023,8 +1024,9 @@ find_and_return_menu_selection (FRAME_PTR f, int keymaps, void *client_data)
           i += MENU_ITEMS_ITEM_LENGTH;
         }
     }
+  return Qnil;
 }
-#endif
+#endif  /* HAVE_NS */
 
 void
 syms_of_menu ()