1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 05:01:02 -08:00

(menu_bar_one_keymap): If KEYMAP is a symbol,

use its function definition.
(tool_bar_items): Likewise.
This commit is contained in:
Gerd Moellmann 2000-09-29 12:42:01 +00:00
parent a55b799a74
commit 25126faa09
2 changed files with 22 additions and 11 deletions

View file

@ -1,5 +1,9 @@
2000-09-29 Gerd Moellmann <gerd@gnu.org>
* keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
use its function definition.
(tool_bar_items): Likewise.
* lisp.h (fatal): Declare NO_RETURN.
2000-09-29 Kenichi Handa <handa@etl.go.jp>

View file

@ -6139,8 +6139,8 @@ map_prompt (map)
return Qnil;
}
static void menu_bar_item ();
static void menu_bar_one_keymap ();
static void menu_bar_item P_ ((Lisp_Object, Lisp_Object));
static void menu_bar_one_keymap P_ ((Lisp_Object));
/* These variables hold the vector under construction within
menu_bar_items and its subroutines, and the current index
@ -6236,16 +6236,13 @@ menu_bar_items (old)
result = Qnil;
for (mapno = nmaps - 1; mapno >= 0; mapno--)
{
if (! NILP (maps[mapno]))
if (!NILP (maps[mapno]))
{
def = get_keyelt (access_keymap (maps[mapno], Qmenu_bar, 1, 0), 0);
else
def = Qnil;
tem = Fkeymapp (def);
if (!NILP (tem))
menu_bar_one_keymap (def);
}
tem = Fkeymapp (def);
if (!NILP (tem))
menu_bar_one_keymap (def);
}
/* Move to the end those items that should be at the end. */
@ -6309,6 +6306,11 @@ menu_bar_one_keymap (keymap)
{
Lisp_Object tail, item;
/* If KEYMAP is a symbol, its function definition is the keymap
to use. */
if (SYMBOLP (keymap))
keymap = indirect_function (keymap);
menu_bar_one_keymap_changed_items = Qnil;
/* Loop over all keymap entries that have menu strings. */
@ -6901,6 +6903,11 @@ tool_bar_items (reuse, nitems)
{
Lisp_Object tail;
/* If KEYMAP is a symbol, its function definition is the
keymap to use. */
if (SYMBOLP (keymap))
keymap = indirect_function (keymap);
/* KEYMAP is a list `(keymap (KEY . BINDING) ...)'. */
for (tail = keymap; CONSP (tail); tail = XCDR (tail))
{