Commit 25126faa authored by Gerd Moellmann's avatar Gerd Moellmann
Browse files

(menu_bar_one_keymap): If KEYMAP is a symbol,

use its function definition.
(tool_bar_items): Likewise.
parent a55b799a
2000-09-29 Gerd Moellmann <gerd@gnu.org> 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. * lisp.h (fatal): Declare NO_RETURN.
2000-09-29 Kenichi Handa <handa@etl.go.jp> 2000-09-29 Kenichi Handa <handa@etl.go.jp>
......
...@@ -6139,8 +6139,8 @@ map_prompt (map) ...@@ -6139,8 +6139,8 @@ map_prompt (map)
return Qnil; return Qnil;
} }
static void menu_bar_item (); static void menu_bar_item P_ ((Lisp_Object, Lisp_Object));
static void menu_bar_one_keymap (); static void menu_bar_one_keymap P_ ((Lisp_Object));
/* These variables hold the vector under construction within /* These variables hold the vector under construction within
menu_bar_items and its subroutines, and the current index menu_bar_items and its subroutines, and the current index
...@@ -6236,12 +6236,9 @@ menu_bar_items (old) ...@@ -6236,12 +6236,9 @@ menu_bar_items (old)
result = Qnil; result = Qnil;
for (mapno = nmaps - 1; mapno >= 0; mapno--) 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); def = get_keyelt (access_keymap (maps[mapno], Qmenu_bar, 1, 0), 0);
else
def = Qnil;
tem = Fkeymapp (def); tem = Fkeymapp (def);
if (!NILP (tem)) if (!NILP (tem))
menu_bar_one_keymap (def); menu_bar_one_keymap (def);
...@@ -6309,6 +6306,11 @@ menu_bar_one_keymap (keymap) ...@@ -6309,6 +6306,11 @@ menu_bar_one_keymap (keymap)
{ {
Lisp_Object tail, item; 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; menu_bar_one_keymap_changed_items = Qnil;
/* Loop over all keymap entries that have menu strings. */ /* Loop over all keymap entries that have menu strings. */
...@@ -6901,6 +6903,11 @@ tool_bar_items (reuse, nitems) ...@@ -6901,6 +6903,11 @@ tool_bar_items (reuse, nitems)
{ {
Lisp_Object tail; 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) ...)'. */ /* KEYMAP is a list `(keymap (KEY . BINDING) ...)'. */
for (tail = keymap; CONSP (tail); tail = XCDR (tail)) for (tail = keymap; CONSP (tail); tail = XCDR (tail))
{ {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment