diff src/keyboard.c @ 5808:995860e5f342

(menu_bar_item): Use internal_condition_case_1. (menu_bar_item_1): New function.
author Richard M. Stallman <rms@gnu.org>
date Mon, 07 Feb 1994 01:03:39 +0000
parents 8fae1a51e9c5
children c4030d39f26d
line wrap: on
line diff
--- a/src/keyboard.c	Mon Feb 07 01:02:05 1994 +0000
+++ b/src/keyboard.c	Mon Feb 07 01:03:39 1994 +0000
@@ -3586,6 +3586,15 @@
   return result;
 }
 
+/* This is used as the handler when calling internal_condition_case_1.  */
+
+static Lisp_Object
+menu_bar_item_1 (arg)
+     Lisp_Object arg;
+{
+  return Qnil;
+}
+
 static Lisp_Object
 menu_bar_item (key, item_string, def, result)
      Lisp_Object key, item_string, def, result;
@@ -3610,7 +3619,10 @@
 	 Otherwise, enable if value is not nil.  */
       tem = Fget (def, Qmenu_enable);
       if (!NILP (tem))
-	enabled = Feval (tem);
+	/* (condition-case nil (eval tem)
+	     (error nil))  */
+	enabled = internal_condition_case_1 (Feval, tem, Qerror,
+					     menu_bar_item_1);
     }
 
   /* Add an entry for this key and string