Subject: bug#75380: Hyperbole menu breaks with custom keybinding

From: Mats Lidell <[email-masked]>
Date: Fri, 10 Jan 2025 22:56:45 +0100

> Julian Hoch writes:
> Hi,
>
> I am encountering a bug where the Hyperbole menu does not work when you
> bind the "hyperbole" command to a custom key.  I bound it to the
> (admittedly somewhat unusual) key "S-<SF86Tools>" - simply one of the
> few unused keys that I could comfortably map on my keyboard.
> I use this code to bind the key:
>
>    (bind-key "S-<XF86Tools>" 'hyperbole)
>
> If I now open Hyperbole menu and try to get into a submenu, I get the
> following error:
>
> Debugger entered--Lisp error: (wrong-type-argument characterp S-XF86Tools)
>   hui:menu-item(69 nil nil nil (("Hy9.0.2pre>") ("Act" hui:hbut-act "Activate button at point or prompt for a labeled b...") ("Butfile/" (menu . butfile) "Quick access button files menus.") ("Cust/" (menu . cust) "Customize Hyperbole by setting major options.") ("Doc/" (menu . doc) "Quick access to Hyperbole documentation.") ("Ebut/" (menu . ebut) "Explicit button commands.") ("Find/" (menu . find) "Find matching line commands.") ("Gbut/" (menu . gbut) "Global button commands.") ("HyWiki/" (menu . hywiki) "HyWiki commands.") ("Ibut/" (menu . ibut) "Implicit button and button type commands.") ("Kotl/" (menu . kotl) "Autonumbered outlining and hyperlink capabilities.") ("Msg/" (menu . msg) "Mail and News messaging capabilities.") ("Rolo/" (menu . hyrolo) "Hierarchical, multi-file rolo lookup and edit comm...") ("Screen/" (menu . screen) "Screen display management commands.") ("Win/" (menu . win) "Window configuration management commands.") ("historY" hhist:pop "Jump back to location prior to last Hyperbole butt...")))
>   ...
>
> As a workaround, I ALSO bind hyperbole to {C-h h} using
>
>    (general-define-key "C-h h" 'hyperbole)
>
> After that, the menu works again (with both bindings).
>
> However I feel this should not be necessary?
>
> I use:  Editor:      GNU Emacs 29.4 with native comp
>         Hyperbole:   9.0.2pre
>         Sys Type:    x86_64-pc-linux-gnu
>         OS Type:     gnu/linux
>         Window Sys:  x
>         News Reader: Gnus v5.13
>         Install:     melpa, 20241230.2252
> -- 
> Julian Hoch

This has been fixed with the commit 4033e96 and is available through the latest versions from Melpa or GNU-devel ELPA. Please git it a try.

%% Mats