GNU bug report logs - #77015
31.0.50; Too many menu bar lines corrupt -nw display

Previous Next

Package: emacs;

Reported by: martin rudalics <rudalics <at> gmx.at>

Date: Fri, 14 Mar 2025 17:02:01 UTC

Severity: normal

Found in version 31.0.50

Done: martin rudalics <rudalics <at> gmx.at>

To reply to this bug, email your comments to 77015 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#77015; Package emacs. (Fri, 14 Mar 2025 17:02:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to martin rudalics <rudalics <at> gmx.at>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 14 Mar 2025 17:02:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Bug-Gnu-Emacs <bug-gnu-emacs <at> gnu.org>
Subject: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Fri, 14 Mar 2025 18:01:04 +0100
[Message part 1 (text/plain, inline)]
With emacs -Q evaluate

(set-frame-parameter nil 'menu-bar-lines 27)

This corrupts the display when I start moving point upwards as in the
attached screenshot.

martin

In GNU Emacs 31.0.50 (build 9, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.16.0) of 2025-03-14 built on restno
Repository revision: 1437fc2bca2e42cd2a28754bbb4d9ac1403b87b7
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --with-gif=ifavailable --with-tiff=ifavailable
 --with-gnutls=no --without-pop 'CFLAGS=-O3 -g3 -no-pie''
[27-menu-bar lines.png (image/png, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#77015; Package emacs. (Fri, 14 Mar 2025 18:06:01 GMT) Full text and rfc822 format available.

Message #8 received at 77015 <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 77015 <at> debbugs.gnu.org
Subject: Re: bug#77015: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Fri, 14 Mar 2025 19:04:57 +0100
martin rudalics <rudalics <at> gmx.at> writes:

> With emacs -Q evaluate
>
> (set-frame-parameter nil 'menu-bar-lines 27)
>
> This corrupts the display when I start moving point upwards as in the
> attached screenshot.
>
> martin
>
> In GNU Emacs 31.0.50 (build 9, x86_64-pc-linux-gnu, GTK+ Version
>  3.24.38, cairo version 1.16.0) of 2025-03-14 built on restno
> Repository revision: 1437fc2bca2e42cd2a28754bbb4d9ac1403b87b7
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
> System Description: Debian GNU/Linux 12 (bookworm)
>
> Configured using:
>  'configure --with-gif=ifavailable --with-tiff=ifavailable
>  --with-gnutls=no --without-pop 'CFLAGS=-O3 -g3 -no-pie''

Looking at display_menu_bar in xdisp.c I see that only ever one line of
menu-bar is displayed, the rest of the lines are cleared. Which begs the
question what this is good for, IMO. Maybe one should just restrict the
valid values of menu-bar-lines to 0 and 1.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#77015; Package emacs. (Fri, 14 Mar 2025 18:45:02 GMT) Full text and rfc822 format available.

Message #11 received at 77015 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: rudalics <at> gmx.at, 77015 <at> debbugs.gnu.org
Subject: Re: bug#77015: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Fri, 14 Mar 2025 20:44:19 +0200
> Cc: 77015 <at> debbugs.gnu.org
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Date: Fri, 14 Mar 2025 19:04:57 +0100
> 
> Looking at display_menu_bar in xdisp.c I see that only ever one line of
> menu-bar is displayed, the rest of the lines are cleared. Which begs the
> question what this is good for, IMO. Maybe one should just restrict the
> valid values of menu-bar-lines to 0 and 1.

If the frame is very narrow, we sometimes need more than one menu-bar
line.  And that is not limited to TTY menu bars (so you will not find
that in xdisp.c).





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#77015; Package emacs. (Fri, 14 Mar 2025 19:41:01 GMT) Full text and rfc822 format available.

Message #14 received at 77015 <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: rudalics <at> gmx.at, 77015 <at> debbugs.gnu.org
Subject: Re: bug#77015: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Fri, 14 Mar 2025 20:39:55 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Cc: 77015 <at> debbugs.gnu.org
>> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
>> Date: Fri, 14 Mar 2025 19:04:57 +0100
>> 
>> Looking at display_menu_bar in xdisp.c I see that only ever one line of
>> menu-bar is displayed, the rest of the lines are cleared. Which begs the
>> question what this is good for, IMO. Maybe one should just restrict the
>> valid values of menu-bar-lines to 0 and 1.
>
> If the frame is very narrow, we sometimes need more than one menu-bar
> line.  And that is not limited to TTY menu bars (so you will not find
> that in xdisp.c).

So, could we say that frames on ttys actually use a maximum of 1 line?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#77015; Package emacs. (Sat, 15 Mar 2025 08:37:09 GMT) Full text and rfc822 format available.

Message #17 received at 77015 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: rudalics <at> gmx.at, 77015 <at> debbugs.gnu.org
Subject: Re: bug#77015: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Sat, 15 Mar 2025 10:36:10 +0200
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Cc: rudalics <at> gmx.at,  77015 <at> debbugs.gnu.org
> Date: Fri, 14 Mar 2025 20:39:55 +0100
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> Cc: 77015 <at> debbugs.gnu.org
> >> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> >> Date: Fri, 14 Mar 2025 19:04:57 +0100
> >> 
> >> Looking at display_menu_bar in xdisp.c I see that only ever one line of
> >> menu-bar is displayed, the rest of the lines are cleared. Which begs the
> >> question what this is good for, IMO. Maybe one should just restrict the
> >> valid values of menu-bar-lines to 0 and 1.
> >
> > If the frame is very narrow, we sometimes need more than one menu-bar
> > line.  And that is not limited to TTY menu bars (so you will not find
> > that in xdisp.c).
> 
> So, could we say that frames on ttys actually use a maximum of 1 line?

Yes, I think so.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#77015; Package emacs. (Sat, 15 Mar 2025 09:01:01 GMT) Full text and rfc822 format available.

Message #20 received at 77015 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: 77015 <at> debbugs.gnu.org
Subject: Re: bug#77015: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Sat, 15 Mar 2025 09:59:54 +0100
> Looking at display_menu_bar in xdisp.c I see that only ever one line of
> menu-bar is displayed, the rest of the lines are cleared. Which begs the
> question what this is good for, IMO. Maybe one should just restrict the
> valid values of menu-bar-lines to 0 and 1.

The only builds I know of that can "wrap" the menu bar when a frame gets
narrow are the Motif and the Windows builds.  Neither of these builds
mirror that fact in the number of the 'menu-bar-lines' frame parameter.
'frame-geometry' reports the correct height for the Motif builds, I do
not recall about the Windows build.  All remaining builds truncate the
menu bar when the frame gets to narrow - sometimes protesting vehemently
as our problems with GTK-3 show.  I have no idea about Android.

I'd say that any value less than one 1 be interpreted as "don't show a
menu bar" and store/report the value 0.  Any value greater 0 would then
mean to "show a menu bar if possible" and store/report a value of 1 if
that can be done.  So for tty child frames we'd get 0 as we do already.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#77015; Package emacs. (Sat, 15 Mar 2025 12:50:02 GMT) Full text and rfc822 format available.

Message #23 received at 77015 <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 77015 <at> debbugs.gnu.org
Subject: Re: bug#77015: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Sat, 15 Mar 2025 13:49:37 +0100
martin rudalics <rudalics <at> gmx.at> writes:

>> Looking at display_menu_bar in xdisp.c I see that only ever one line of
>> menu-bar is displayed, the rest of the lines are cleared. Which begs the
>> question what this is good for, IMO. Maybe one should just restrict the
>> valid values of menu-bar-lines to 0 and 1.
>
> The only builds I know of that can "wrap" the menu bar when a frame gets
> narrow are the Motif and the Windows builds.  Neither of these builds
> mirror that fact in the number of the 'menu-bar-lines' frame parameter.
> 'frame-geometry' reports the correct height for the Motif builds, I do
> not recall about the Windows build.  All remaining builds truncate the
> menu bar when the frame gets to narrow - sometimes protesting vehemently
> as our problems with GTK-3 show.  I have no idea about Android.
>
> I'd say that any value less than one 1 be interpreted as "don't show a
> menu bar" and store/report the value 0.  Any value greater 0 would then
> mean to "show a menu bar if possible" and store/report a value of 1 if
> that can be done.  So for tty child frames we'd get 0 as we do already.
>
> martin

Makes sense to me.




Reply sent to martin rudalics <rudalics <at> gmx.at>:
You have taken responsibility. (Wed, 19 Mar 2025 08:44:03 GMT) Full text and rfc822 format available.

Notification sent to martin rudalics <rudalics <at> gmx.at>:
bug acknowledged by developer. (Wed, 19 Mar 2025 08:44:03 GMT) Full text and rfc822 format available.

Message #28 received at 77015-done <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: 77015-done <at> debbugs.gnu.org
Subject: Re: bug#77015: 31.0.50; Too many menu bar lines corrupt -nw display
Date: Wed, 19 Mar 2025 09:43:12 +0100
>> I'd say that any value less than one 1 be interpreted as "don't show a
>> menu bar" and store/report the value 0.  Any value greater 0 would then
>> mean to "show a menu bar if possible" and store/report a value of 1 if
>> that can be done.  So for tty child frames we'd get 0 as we do already.
>>
>> martin
>
> Makes sense to me.

Fix checked in.  Closing this bug.

martin




This bug report was last modified 16 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.