diff options
author | Gerd Moellmann <gerd@gnu.org> | 2000-07-13 14:07:57 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2000-07-13 14:07:57 +0000 |
commit | 205012787b94d9ea2e945afffa38d616f37d9ae2 (patch) | |
tree | 05526ae3ec15a0d6278c25f3c158439fa60d10ea /src/w32menu.c | |
parent | da8f73681d7947d4f100a69adefaa18a8c032f22 (diff) | |
download | emacs-205012787b94d9ea2e945afffa38d616f37d9ae2.tar.gz |
(menubar_selection_callback): Use the `arg' slot of
input events to queue additional information, instead of consing.
Diffstat (limited to 'src/w32menu.c')
-rw-r--r-- | src/w32menu.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/w32menu.c b/src/w32menu.c index 8a65c0b635b..995c3ef254b 100644 --- a/src/w32menu.c +++ b/src/w32menu.c @@ -1002,27 +1002,31 @@ menubar_selection_callback (FRAME_PTR f, void * client_data) Lisp_Object frame; XSETFRAME (frame, f); - buf.kind = menu_bar_event; - buf.frame_or_window = Fcons (frame, Fcons (Qmenu_bar, Qnil)); + buf.kind = MENU_BAR_EVENT; + buf.frame_or_window = frame; + buf.arg = frame; kbd_buffer_store_event (&buf); for (j = 0; j < submenu_depth; j++) if (!NILP (subprefix_stack[j])) { - buf.kind = menu_bar_event; - buf.frame_or_window = Fcons (frame, subprefix_stack[j]); + buf.kind = MENU_BAR_EVENT; + buf.frame_or_window = frame; + buf.arg = subprefix_stack[j]; kbd_buffer_store_event (&buf); } if (!NILP (prefix)) { - buf.kind = menu_bar_event; - buf.frame_or_window = Fcons (frame, prefix); + buf.kind = MENU_BAR_EVENT; + buf.frame_or_window = frame; + buf.arg = prefix; kbd_buffer_store_event (&buf); } - buf.kind = menu_bar_event; - buf.frame_or_window = Fcons (frame, entry); + buf.kind = MENU_BAR_EVENT; + buf.frame_or_window = frame; + buf.arg = entry; kbd_buffer_store_event (&buf); return; |