unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#63186: 30.0.50; Modeline is not fully repainted when being set to nil then back to having content
@ 2023-04-30  9:54 Aaron Jensen
  2023-04-30 13:26 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Aaron Jensen @ 2023-04-30  9:54 UTC (permalink / raw)
  To: 63186

From emacs -Q:

In the scratch buffer, eval:

(setq mode-line-format "foo")
(setq mode-line-format nil)
(setq mode-line-format "boo")

After the last line, only the "b" of the mode line will be rendered.
Triggering a repaint with M-x or resizing the window causes the entire
mode line to repaint.

If the buffer has enough content in it such that there is text where the
mode line is when it is set to `nil', most of that text will remain
painted in place when the mode line is set to "boo".

While this seems niche, I use a header-line for most things that Emacs
uses a mode line for by default. The mode line is enabled only
occasionally to display things like the number of matches when
searching. It is usually set to `nil', so I see this artifact all the time.


In GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin22.4.0, NS
 appkit-2299.50 Version 13.3.1 (Build 22E261)) of 2023-04-09 built on
 Aarons-Laptop.local
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.3.1

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/opt/homebrew/share/emacs/site-lisp
 --infodir=/opt/homebrew/Cellar/emacs-plus@30/30.0.50/share/info/emacs
 --prefix=/opt/homebrew/Cellar/emacs-plus@30/30.0.50 --with-xml2
 --with-gnutls --with-native-compilation --without-compress-install
 --without-dbus --without-imagemagick --with-modules --with-rsvg
 --with-ns --disable-ns-self-contained 'CFLAGS=-Os -w -pipe
 -mmacosx-version-min=13
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk
 -DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT'
 'CPPFLAGS=-I/opt/homebrew/opt/zlib/include
 -I/opt/homebrew/opt/jpeg/include -I/opt/homebrew/opt/icu4c/include
 -I/opt/homebrew/opt/openssl@1.1/include -isystem/opt/homebrew/include
 -F/opt/homebrew/Frameworks
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk'
 'LDFLAGS=-L/opt/homebrew/opt/zlib/lib -L/opt/homebrew/opt/jpeg/lib
 -L/opt/homebrew/opt/icu4c/lib -L/opt/homebrew/opt/openssl@1.1/lib
 -L/opt/homebrew/lib -F/opt/homebrew/Frameworks
 -Wl,-headerpad_max_install_names
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk''

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB





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

* bug#63186: 30.0.50; Modeline is not fully repainted when being set to nil then back to having content
  2023-04-30  9:54 bug#63186: 30.0.50; Modeline is not fully repainted when being set to nil then back to having content Aaron Jensen
@ 2023-04-30 13:26 ` Eli Zaretskii
  2023-04-30 14:48   ` Aaron Jensen
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2023-04-30 13:26 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 63186

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Sun, 30 Apr 2023 05:54:50 -0400
> 
> >From emacs -Q:
> 
> In the scratch buffer, eval:
> 
> (setq mode-line-format "foo")
> (setq mode-line-format nil)
> (setq mode-line-format "boo")
> 
> After the last line, only the "b" of the mode line will be rendered.
> Triggering a repaint with M-x or resizing the window causes the entire
> mode line to repaint.
> 
> If the buffer has enough content in it such that there is text where the
> mode line is when it is set to `nil', most of that text will remain
> painted in place when the mode line is set to "boo".

Thanks, should be fixed now on the emacs-29 branch.

(This is a regression from Emacs 28, but I have no idea which change
caused it.)





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

* bug#63186: 30.0.50; Modeline is not fully repainted when being set to nil then back to having content
  2023-04-30 13:26 ` Eli Zaretskii
@ 2023-04-30 14:48   ` Aaron Jensen
  2023-04-30 14:57     ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Aaron Jensen @ 2023-04-30 14:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 63186-done

On Sun, Apr 30, 2023 at 9:25 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> > From: Aaron Jensen <aaronjensen@gmail.com>
> > Date: Sun, 30 Apr 2023 05:54:50 -0400
> >
> > >From emacs -Q:
> >
> > In the scratch buffer, eval:
> >
> > (setq mode-line-format "foo")
> > (setq mode-line-format nil)
> > (setq mode-line-format "boo")
> >
> > After the last line, only the "b" of the mode line will be rendered.
> > Triggering a repaint with M-x or resizing the window causes the entire
> > mode line to repaint.
> >
> > If the buffer has enough content in it such that there is text where the
> > mode line is when it is set to `nil', most of that text will remain
> > painted in place when the mode line is set to "boo".
>
> Thanks, should be fixed now on the emacs-29 branch.
>
> (This is a regression from Emacs 28, but I have no idea which change
> caused it.)

Thanks, confirmed. Fixed when merged into Emacs 30 as well.

Aaron





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

* bug#63186: 30.0.50; Modeline is not fully repainted when being set to nil then back to having content
  2023-04-30 14:48   ` Aaron Jensen
@ 2023-04-30 14:57     ` Eli Zaretskii
  0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2023-04-30 14:57 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 63186-done

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Sun, 30 Apr 2023 10:48:10 -0400
> Cc: 63186-done@debbugs.gnu.org
> 
> On Sun, Apr 30, 2023 at 9:25 AM Eli Zaretskii <eliz@gnu.org> wrote:
> >
> > > (setq mode-line-format "foo")
> > > (setq mode-line-format nil)
> > > (setq mode-line-format "boo")
> > >
> > > After the last line, only the "b" of the mode line will be rendered.
> > > Triggering a repaint with M-x or resizing the window causes the entire
> > > mode line to repaint.
> > >
> > > If the buffer has enough content in it such that there is text where the
> > > mode line is when it is set to `nil', most of that text will remain
> > > painted in place when the mode line is set to "boo".
> >
> > Thanks, should be fixed now on the emacs-29 branch.
> >
> > (This is a regression from Emacs 28, but I have no idea which change
> > caused it.)
> 
> Thanks, confirmed. Fixed when merged into Emacs 30 as well.

Thanks for testing.





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

end of thread, other threads:[~2023-04-30 14:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-30  9:54 bug#63186: 30.0.50; Modeline is not fully repainted when being set to nil then back to having content Aaron Jensen
2023-04-30 13:26 ` Eli Zaretskii
2023-04-30 14:48   ` Aaron Jensen
2023-04-30 14:57     ` Eli Zaretskii

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).