help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to track down "invalid face attribute" errors?


From: Felix Dietrich
Subject: Re: how to track down "invalid face attribute" errors?
Date: Thu, 06 Oct 2022 16:58:57 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

> Face merging has nothing to do with point, it just considers the face
> attributes.  The commentary to merge_face_ref says how the window
> pointer is used:

Robert Pluim <rpluim@gmail.com> writes:

> Weʼre not necessarily examining the faces of the character at (point),
> weʼre going through redisplay of the buffer, I thought?

Uh, I blundered there in my examination and my thinking: when I ran
Emacs in a debugger with a breakpoint on “xfaces.c:merge_face_ref”, the
breakpoint was hit when I moved the cursor into or out of a position
with text that had an invalid property, and I made, from a position of
lacking understanding, a wrong assumption.  Thanks to you two for
clearing that up.

> If you want to understand what that filtering is about, look at
> filter_face_ref, where you will clearly see that it never accesses the
> window's buffer or its point.
>
> So when this function is called, there's no reason to believe that the
> buffer position of point has anything to do with the offending face.
> The most frequent face merging is performed by redisplay, which
> doesn't move point and doesn't make the window on whose display it is
> working the selected window.

Thank you for the clarification.

>> Anyway, perhaps, if there is any interest in adding information to the
>> “Invalid face attribute” log message, further discussion should move to
>> a wishlist bug report?
>
> Definitely.  This discussion doesn't belong to the help list.

The bug report can be found here:

  bug#58312 <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58312>

-- 
Felix Dietrich



reply via email to

[Prev in Thread] Current Thread [Next in Thread]