Subject: bug#23574: 24.5; Overzealous underlining in emacs-nox

From: Eli Zaretskii <[email-masked]>
Date: Thu, 09 Jun 2016 15:26:04 +0300

> Date: Thu, 09 Jun 2016 10:38:48 +0200
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked], 
>  [email-masked], [email-masked]
> 
>  > No, it need not do any of that.  The list is fixed for each redisplay
>  > cycle of each buffer, so the list can be processed only once into a
>  > bitmap of flags that tell which face attributes trigger face
>  > extension.  Then all redisplay needs to do is compare the attributes
>  > of the face loaded into the iterator object at end of each line with
>  > these flags.
> 
> OK.  But with my property list approach a once calculated bitmap would
> have simply overridden the face of the iterator object.

Your suggestion included a function, which could well return different
values on each call.

And creating new faces from arbitrary sets of attributes is no fun,
either.

> Suppose a user wants to use the same background for all spaces at the
> ends of all lines of a buffer regardless of "the last face used on the
> line".  How would she specify that?

By putting the proper face property on the newline.