mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-30 09:00:31 -08:00
(single_keymap_panes): Use internal_condition_case_1.
(single_keymap_panes_1): New function.
This commit is contained in:
parent
047a8ea77d
commit
71cc5cf396
1 changed files with 20 additions and 3 deletions
23
src/xmenu.c
23
src/xmenu.c
|
|
@ -1149,7 +1149,16 @@ keymap_panes (vector, panes, names, enables, items, prefixes, keymaps, nmaps)
|
|||
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 @@ single_keymap_panes (keymap, panes, vector, names, enables, items, prefixes,
|
|||
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 @@ single_keymap_panes (keymap, panes, vector, names, enables, items, prefixes,
|
|||
/* 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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue