Bug Report
Both the GUI menu bar (mouse clicks) and TUI menu bar (F10 key) produce no response in NeoMacs.
GUI Menu
Clicking on any menu bar item (File, Edit, Options, etc.) in the GUI window does nothing. The render thread correctly detects the click and sends MenuBarClick events, but:
- Input bridge drops events:
input_bridge::convert_display_event() has a _ => None catch-all that silently drops MenuBarClick, MenuSelection, ToolBarClick, and TabBarClick events
- No keyboard handler:
handle_read_char_input_event() has no match arms for MenuBarClick/MenuSelection - these InputEvent variants were added to the enum but never handled
- No popup display:
ShowPopupMenu RenderCommand exists but is never sent from the core; the popup menu round-trip is unimplemented
- x-popup-menu is a stub: The builtin returns NIL in batch mode and never shows a GUI popup
TUI Menu
F10 is bound to menu-bar-open which routes to neomacs-menu-bar-open → tmm-menubar. This Lisp path should work but needs verification.
Expected Behavior (matching GNU Emacs)
- GUI: Clicking a menu bar item should show a native dropdown popup with submenu items. Selecting an item should execute the corresponding command.
- TUI: F10 should trigger
tmm-menubar showing a text-based menu navigation interface.
Root Cause
The entire GUI menu interaction pipeline (click → popup display → selection → command execution) was never wired up. The render thread has full popup menu rendering support (PopupMenuState, ShowPopupMenu/HidePopupMenu commands, hit-testing, submenu expansion) but the core never sends popup data or processes selection results.
Bug Report
Both the GUI menu bar (mouse clicks) and TUI menu bar (F10 key) produce no response in NeoMacs.
GUI Menu
Clicking on any menu bar item (File, Edit, Options, etc.) in the GUI window does nothing. The render thread correctly detects the click and sends
MenuBarClickevents, but:input_bridge::convert_display_event()has a_ => Nonecatch-all that silently dropsMenuBarClick,MenuSelection,ToolBarClick, andTabBarClickeventshandle_read_char_input_event()has no match arms forMenuBarClick/MenuSelection- these InputEvent variants were added to the enum but never handledShowPopupMenuRenderCommand exists but is never sent from the core; the popup menu round-trip is unimplementedTUI Menu
F10 is bound to
menu-bar-openwhich routes toneomacs-menu-bar-open→tmm-menubar. This Lisp path should work but needs verification.Expected Behavior (matching GNU Emacs)
tmm-menubarshowing a text-based menu navigation interface.Root Cause
The entire GUI menu interaction pipeline (click → popup display → selection → command execution) was never wired up. The render thread has full popup menu rendering support (
PopupMenuState,ShowPopupMenu/HidePopupMenucommands, hit-testing, submenu expansion) but the core never sends popup data or processes selection results.