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 | d90c85778ee6c8141cf116137b3ce7be0e0306c0 (patch) | |
tree | 0f9d8dc5ed33599ea42cda37b250a9014db15792 /src/w32menu.c | |
parent | bc64cb643efdc0c958c4927b909b71b2139ccab6 (diff) | |
download | emacs-d90c85778ee6c8141cf116137b3ce7be0e0306c0.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; |