comparison src/w32menu.c @ 30178:6d045b9631ad

(menubar_selection_callback): Use the `arg' slot of input events to queue additional information, instead of consing.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 13 Jul 2000 14:07:57 +0000
parents e75b1b3a94f4
children 4a3b87cc6f04
comparison
equal deleted inserted replaced
30177:78677e36a8a3 30178:6d045b9631ad
1000 int j; 1000 int j;
1001 struct input_event buf; 1001 struct input_event buf;
1002 Lisp_Object frame; 1002 Lisp_Object frame;
1003 1003
1004 XSETFRAME (frame, f); 1004 XSETFRAME (frame, f);
1005 buf.kind = menu_bar_event; 1005 buf.kind = MENU_BAR_EVENT;
1006 buf.frame_or_window = Fcons (frame, Fcons (Qmenu_bar, Qnil)); 1006 buf.frame_or_window = frame;
1007 buf.arg = frame;
1007 kbd_buffer_store_event (&buf); 1008 kbd_buffer_store_event (&buf);
1008 1009
1009 for (j = 0; j < submenu_depth; j++) 1010 for (j = 0; j < submenu_depth; j++)
1010 if (!NILP (subprefix_stack[j])) 1011 if (!NILP (subprefix_stack[j]))
1011 { 1012 {
1012 buf.kind = menu_bar_event; 1013 buf.kind = MENU_BAR_EVENT;
1013 buf.frame_or_window = Fcons (frame, subprefix_stack[j]); 1014 buf.frame_or_window = frame;
1015 buf.arg = subprefix_stack[j];
1014 kbd_buffer_store_event (&buf); 1016 kbd_buffer_store_event (&buf);
1015 } 1017 }
1016 1018
1017 if (!NILP (prefix)) 1019 if (!NILP (prefix))
1018 { 1020 {
1019 buf.kind = menu_bar_event; 1021 buf.kind = MENU_BAR_EVENT;
1020 buf.frame_or_window = Fcons (frame, prefix); 1022 buf.frame_or_window = frame;
1023 buf.arg = prefix;
1021 kbd_buffer_store_event (&buf); 1024 kbd_buffer_store_event (&buf);
1022 } 1025 }
1023 1026
1024 buf.kind = menu_bar_event; 1027 buf.kind = MENU_BAR_EVENT;
1025 buf.frame_or_window = Fcons (frame, entry); 1028 buf.frame_or_window = frame;
1029 buf.arg = entry;
1026 kbd_buffer_store_event (&buf); 1030 kbd_buffer_store_event (&buf);
1027 1031
1028 return; 1032 return;
1029 } 1033 }
1030 i += MENU_ITEMS_ITEM_LENGTH; 1034 i += MENU_ITEMS_ITEM_LENGTH;