# HG changeset patch # User Gerd Moellmann # Date 963497277 0 # Node ID 6d045b9631ad5ee4cdeb0d861160edb23b0eac4c # Parent 78677e36a8a3a4a0c1860fab3872e07ff64041ec (menubar_selection_callback): Use the `arg' slot of input events to queue additional information, instead of consing. diff -r 78677e36a8a3 -r 6d045b9631ad src/w32menu.c --- a/src/w32menu.c Thu Jul 13 14:07:45 2000 +0000 +++ b/src/w32menu.c Thu Jul 13 14:07:57 2000 +0000 @@ -1002,27 +1002,31 @@ 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;