1
Fork 0
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:
Richard M. Stallman 1994-02-07 01:05:06 +00:00
parent 047a8ea77d
commit 71cc5cf396

View file

@ -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);