unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#75291: Redisplay not updating fringe when face filter changes
@ 2025-01-02 17:30 Daniel Colascione
  2025-01-02 17:50 ` Eli Zaretskii
  0 siblings, 1 reply; 14+ messages in thread
From: Daniel Colascione @ 2025-01-02 17:30 UTC (permalink / raw)
  To: 75291

Sometimes we don't redraw when its effective face changes indirectly due
to a face filter condition evaluating differently.

An explicit redraw-display works around the problem, but it shouldn't be
necessary and is an efficiency hit.

See the code below:

;; -*- lexical-binding: t -*-

;; emacs -Q

(setf my-window (selected-window))

(dolist (face '(default fringe))
  (face-remap-add-relative
   face `(:filtered (:window foo t) (:background "green"))))

(set-window-parameter my-window 'foo t)

;; During this sit-for, background and fringe should be green
(sit-for 1)
(set-window-parameter my-window 'foo nil)

;; Enable to work around bug
(when nil
  (redraw-display))

;; During this sit-for, background and fringe should be their original
;; color (probably white), but only the background changes.
;; Without redraw-display, the fringe remains green.
(sit-for 1)





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

end of thread, other threads:[~2025-01-04  7:12 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-02 17:30 bug#75291: Redisplay not updating fringe when face filter changes Daniel Colascione
2025-01-02 17:50 ` Eli Zaretskii
2025-01-02 18:36   ` Daniel Colascione
2025-01-02 19:24     ` Michal Nazarewicz
2025-01-02 19:26     ` Eli Zaretskii
2025-01-02 19:50       ` Daniel Colascione
2025-01-02 20:56         ` Eli Zaretskii
2025-01-03 17:25           ` Daniel Colascione
2025-01-03 19:31             ` Eli Zaretskii
2025-01-03 19:46               ` Daniel Colascione
2025-01-03 20:10                 ` Eli Zaretskii
2025-01-03 20:27                   ` Eli Zaretskii
2025-01-03 20:57                   ` Daniel Colascione
2025-01-04  7:12                     ` 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).