Subject: bug#74740: 31.0.50; tty menus not displaying separators

From: Eli Zaretskii <[email-masked]>
Date: Sun, 08 Dec 2024 21:04:56 +0200

> From: Gerd Möllmann <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 08 Dec 2024 19:46:35 +0100
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> From: Gerd Möllmann <[email-masked]>
> >> Date: Sun, 08 Dec 2024 18:34:33 +0100
> >> 
> >> To see this, emacs -nw -q and open a menu from the menubar. Simple
> >> separators there are displayed as "--".
> >
> > What did you expect instead?  I think this always worked like that on
> > TTY frames.
> >
> >> More generally, all separator types are displayed as they appear in the
> >> menu item definition, '--double-line' as "--double-line" and so on.
> 
> I expected a horizontal line for "--".
> 
> > What do you mean by that? where do we have such separators, and how do
> > you display the menus which show them?  I don't think I see them in
> > the default menu bar.
> 
> Concerning the separator types, Elisp Info says
> 
>   23.18.1.3 Menu Separators
>   .........................
> 
>   A menu separator is a kind of menu item that doesn't display any
>   text--instead, it divides the menu into subparts with a horizontal line.
>   A separator looks like this in the menu keymap:
> 
>        (menu-item SEPARATOR-TYPE)
> 
>   where SEPARATOR-TYPE is a string starting with two or more dashes.
> 
> followed by a list of separator types, among them the --double-line I
> mentioned.
> 
> One can get these from 3rd-party packages. Minion is an example, where
> --double-line appears in a popup menu on the mode line.

This was never supported in TTY menus (I think I was completely
unaware of this feature when I wrote the code).  Patches to support it
will be most welcome.