emacs-devel
[Top][All Lists]
Advanced

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

Re: Identifying the face between STRETCH and right fringe.


From: Robert Pluim
Subject: Re: Identifying the face between STRETCH and right fringe.
Date: Wed, 28 Nov 2018 10:00:53 +0100

Eli Zaretskii <address@hidden> writes:

>> From: Robert Pluim <address@hidden>
>> Date: Tue, 27 Nov 2018 20:38:05 +0100

>> Is there a reason we need to compare with the background of the
>> frame rather than with the background of the default face of the
>> frame?
>
> Basically, because we clear rectangles on display using the frame's
> background color.
>
> Historically, once upon a time, the frame's background was not
> necessarily identical to that of the default face.  And given that we
> already have the color recorded in the frame, it is less expensive to
> access that than look up the default face, which might involve
> accessing face-remapping-alist etc.  Finally, the frame's face cache,
> which is where we look up faces, is reset from time to time, whereas
> the frame's background color is always valid.

In this particular case extend_face_to_end_of_line has already done:

  default_face =
    FACE_FROM_ID_OR_NULL (f, lookup_basic_face (it->w, f, DEFAULT_FACE_ID));

so there'd be no additional cost, but that _OR_NULL bit precludes
always using the default face.

Robert



reply via email to

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