Subject: Re: bug#16870: 24.3; "display" text property versus ":box" face attribute
From: Eli Zaretskii <[email-masked]>
To: Ben Liblit <[email-masked]>
Cc: [email-masked]
Date: Thu, 27 Feb 2014 19:44:53 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Mon, 24 Feb 2014 15:18:07 -0600
> From: Ben Liblit <[email-masked]>
> 
> If a range of text carries the "display" text property and also has its 
> "face" text property set to something with the ":box" attribute, then 
> the right edge of the box is not actually drawn.  The following elisp 
> code fragment demonstrates the problem:
> 
>      (let ((buffer (generate-new-buffer "*bug*")))
>        (set-buffer buffer)
>        (insert "lorem ipsum dolor\n\nlorem ipsum dolor\n")
>        (put-text-property 7 12 'display "xxxxx")
>        (put-text-property 7 12 'face '(:box t))
>        (put-text-property 26 31 'face '(:box t))
>        (switch-to-buffer-other-window buffer))
> 
> Observe that on the first line, the displayed "xxxxx" replacement text 
> has only three box edges drawn: top, left, and bottom.  The right edge 
> is missing.  By contrast, the second line of text has no "display" text 
> property set and shows a proper box with all four edges.

Thanks, I fixed this in trunk revision 116585.

For the record: this bug was there since Emacs 21.1, when the 'box'
face was first introduced.