# HG changeset patch # User Richard M. Stallman # Date 760583106 0 # Node ID 1493700a3d7834a4aa34d2ae26571a7ddd378d1d # Parent 995860e5f3423d4ec7696e19bd56de6c8d963c88 (single_keymap_panes): Use internal_condition_case_1. (single_keymap_panes_1): New function. diff -r 995860e5f342 -r 1493700a3d78 src/xmenu.c --- a/src/xmenu.c Mon Feb 07 01:03:39 1994 +0000 +++ b/src/xmenu.c Mon Feb 07 01:05:06 1994 +0000 @@ -1149,7 +1149,16 @@ return p; } -/* This is a recursive subroutine of the previous function. +/* This is used as the handler when calling internal_condition_case_1. */ + +static Lisp_Object +single_keymap_panes_1 (arg) + Lisp_Object arg; +{ + return Qnil; +} + +/* This is a recursive subroutine of keymap_panes. It handles one keymap, KEYMAP. The other arguments are passed along or point to local variables of the previous function. */ @@ -1246,7 +1255,11 @@ 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, + single_keymap_panes_1); } tem = Fkeymapp (def); if (XSTRING (item2)->data[0] == '@' && !NILP (tem)) @@ -1291,7 +1304,11 @@ /* No property, or nil, means enable. Otherwise, enable if value is not nil. */ if (!NILP (tem)) - enabled = Feval (tem); + /* (condition-case nil (eval tem) + (error nil)) */ + enabled = internal_condition_case_1 (Feval, tem, + Qerror, + single_keymap_panes_1); } tem = Fkeymapp (def);