GNU bug report logs -
#11068
24.0.94; Face-remapped background does not extend to end of window
Previous Next
Reported by: Ivan Andrus <darthandrus <at> gmail.com>
Date: Thu, 22 Mar 2012 21:21:02 UTC
Severity: wishlist
Found in version 24.0.94
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Chong Yidong <cyd <at> gnu.org>
> Cc: darthandrus <at> gmail.com, Stefan Monnier <monnier <at> iro.umontreal.ca>, 11068 <at> debbugs.gnu.org
> Date: Sat, 24 Mar 2012 22:17:41 +0800
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > /* Face extension extends the background and box of IT->face_id
> > to the end of the line. If the background equals the background
> > of the frame, we don't have to do anything. */
> > if (it->face_before_selective_p)
> > face = FACE_FROM_ID (f, it->saved_face_id);
> > + else if (it->face_id == DEFAULT_FACE_ID)
> > + face = default_face;
> > else
> > face = FACE_FROM_ID (f, it->face_id);
>
> This looks a bit strange. Why is DEFAULT_FACE_ID handled specially
> here?
In my testing, I didn't see the need to do it even for the default
face, because it->face_id is already set to the ID of the remapped
face. So it's just me being paranoiac.
Because of this condition, immediately below the fragment you cited:
if (FRAME_WINDOW_P (f)
&& it->glyph_row->displays_text_p
&& face->box == FACE_NO_BOX
&& face->background == FRAME_BACKGROUND_PIXEL (f)
&& !face->stipple
&& !it->glyph_row->reversed_p)
return;
Any non-default face would already penetrate this condition
> Shouldn't we be checking for face remapping no matter what the
> face_id is?
The remapping takes place before we hit this function, which is at the
end of displaying a line. So the face is already remapped.
This bug report was last modified 13 years and 54 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.