unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#74740: 31.0.50; tty menus not displaying separators
@ 2024-12-08 17:34 Gerd Möllmann
  2024-12-08 18:33 ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Gerd Möllmann @ 2024-12-08 17:34 UTC (permalink / raw)
  To: 74740

To see this, emacs -nw -q and open a menu from the menubar. Simple
separators there are displayed as "--".

More generally, all separator types are displayed as they appear in the
menu item definition, '--double-line' as "--double-line" and so on.

In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.1.0) of 2024-12-08
 built on pro2
Repository revision: 9a0e26b88616946d2512680859166caa2675b30a
Repository branch: master
System Description:  macOS 15.1.1





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#74740: 31.0.50; tty menus not displaying separators
  2024-12-08 17:34 bug#74740: 31.0.50; tty menus not displaying separators Gerd Möllmann
@ 2024-12-08 18:33 ` Eli Zaretskii
  2024-12-08 18:46   ` Gerd Möllmann
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2024-12-08 18:33 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 74740

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> 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.

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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#74740: 31.0.50; tty menus not displaying separators
  2024-12-08 18:33 ` Eli Zaretskii
@ 2024-12-08 18:46   ` Gerd Möllmann
  2024-12-08 19:04     ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Gerd Möllmann @ 2024-12-08 18:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74740

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> 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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#74740: 31.0.50; tty menus not displaying separators
  2024-12-08 18:46   ` Gerd Möllmann
@ 2024-12-08 19:04     ` Eli Zaretskii
  2024-12-09  4:29       ` Gerd Möllmann
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2024-12-08 19:04 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 74740

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: 74740@debbugs.gnu.org
> Date: Sun, 08 Dec 2024 19:46:35 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> >> 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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#74740: 31.0.50; tty menus not displaying separators
  2024-12-08 19:04     ` Eli Zaretskii
@ 2024-12-09  4:29       ` Gerd Möllmann
  2024-12-09 13:54         ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Gerd Möllmann @ 2024-12-09  4:29 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74740

[-- Attachment #1: Type: text/plain, Size: 1894 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: 74740@debbugs.gnu.org
>> Date: Sun, 08 Dec 2024 19:46:35 +0100
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> >> 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.

The following patch displays "--" for all separator types. I'd say
that's good enough, WDYT?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: separator types --]
[-- Type: text/x-patch, Size: 957 bytes --]

From 09917757737d65fbb5bbcd57427a8e0528b87119 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gerd=20M=C3=B6llmann?= <gerd@gnu.org>
Date: Mon, 9 Dec 2024 05:20:29 +0100
Subject: [PATCH] Support menu separator types in tty menus (bug#74740)

* src/xdisp.c (display_tty_menu_item): Display "--" If a menu item's
text looks like a separator.
---
 src/xdisp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/xdisp.c b/src/xdisp.c
index 534c0520240..abbe665a2fd 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -27333,6 +27333,9 @@ display_tty_menu_item (const char *item_text, int width, int face_id,
       display_string (" >", Qnil, Qnil, 0, 0, &it, width, 0,
 		      FRAME_COLS (f) - 1, -1);
     }
+  else if (menu_separator_name_p (item_text))
+    display_string ("--", Qnil, Qnil, 0, 0, &it,
+		    width, 0, FRAME_COLS (f) - 1, -1);
   else
     display_string (item_text, Qnil, Qnil, 0, 0, &it,
 		    width, 0, FRAME_COLS (f) - 1, -1);
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#74740: 31.0.50; tty menus not displaying separators
  2024-12-09  4:29       ` Gerd Möllmann
@ 2024-12-09 13:54         ` Eli Zaretskii
  2024-12-09 14:20           ` Gerd Möllmann
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2024-12-09 13:54 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 74740

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: 74740@debbugs.gnu.org
> Date: Mon, 09 Dec 2024 05:29:43 +0100
> 
> >>   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.
> 
> The following patch displays "--" for all separator types. I'd say
> that's good enough, WDYT?

Yes, LGTM, please install.  But please add a FIXME comment there
mentioning the feature and inviting its implementation.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#74740: 31.0.50; tty menus not displaying separators
  2024-12-09 13:54         ` Eli Zaretskii
@ 2024-12-09 14:20           ` Gerd Möllmann
  0 siblings, 0 replies; 7+ messages in thread
From: Gerd Möllmann @ 2024-12-09 14:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74740

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: 74740@debbugs.gnu.org
>> Date: Mon, 09 Dec 2024 05:29:43 +0100
>> 
>> >>   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.
>> 
>> The following patch displays "--" for all separator types. I'd say
>> that's good enough, WDYT?
>
> Yes, LGTM, please install.  But please add a FIXME comment there
> mentioning the feature and inviting its implementation.

Thanks, pushed to master, and closing.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-12-09 14:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-08 17:34 bug#74740: 31.0.50; tty menus not displaying separators Gerd Möllmann
2024-12-08 18:33 ` Eli Zaretskii
2024-12-08 18:46   ` Gerd Möllmann
2024-12-08 19:04     ` Eli Zaretskii
2024-12-09  4:29       ` Gerd Möllmann
2024-12-09 13:54         ` Eli Zaretskii
2024-12-09 14:20           ` Gerd Möllmann

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).