• Richard M. Stallman's avatar
    (Fx_popup_menu): Allow t as position, meaning use mouse pos. · 78589e07
    Richard M. Stallman authored
    Allow nil as position, meaning just precompute equiv-key data.
    Mouse events have coords in pixel units.
    
    (menu_item_equiv_key): Cached equiv-key data is a sublist.
    
    Most of file rewritten.
    (menu_items, menu_items_*): New variables.
    (MENU_ITEMS_*): New macros.
    (init_menu_items, discard_menu_items, push_menu_pane, push_menu_item)
    (finish_menu_items): New functions.
    (menu_item_enabled_p): New function.
    (keymap_panes, single_keymap_panes): Major rewrite; most args changed.
    (list_of_panes, list_of_items): Major rewrite; most args changed.
    (Fx_popup_menu): Major rewrite.  Now independent of display mechanism.
    No more conditionals here.
    (set_menu_items, free_menu_items): Functions deleted.
    (xmenu_show): Both versions rewritten to work from menu_items
    and to do all the conditionalized things that were in Fx_popup_menu.
    (unread_menu_bar_button, other_menu_bar_item_p): New functions.
    (check_mouse_other_menu_bar): New function.
    78589e07
xmenu.c 41.3 KB