[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