Subject: bug#21500: 24.5; Graphical glitch with display property lines in GUI Emacs

From: Eli Zaretskii <[email-masked]>
Date: Wed, 16 Sep 2015 23:12:56 +0300

> Date: Wed, 16 Sep 2015 21:37:06 +0200
> From: Vasilij Schneidermann <[email-masked]>
> 
> (defface my-line
> '((((type graphic)) :inherit font-lock-comment-face :strike-through t)
> (((type tty)) :inherit font-lock-comment-face :underline t))
> "Line face")
> 
> (defun my-line-glitch-repro ()
> (interactive)
> (with-current-buffer (get-buffer-create "*foobar*")
> (insert "\n"
> (propertize " "
> 'face 'my-line
> 'display '(space :width 80))
> "\n")
> (goto-char (point-min)))
> (pop-to-buffer-same-window "*foobar*"))
> 
> Try M-x my-line-glitch-repro in both a textual and graphical session,
> then put point on the space displayed as a 80 characters wide line. In
> the graphical instance the line will be hidden (with the beginning being
> displayed *in* the cursor's rectangle in reverse video), in textual
> instances it's still visible (assuming your terminal supports
> underlining).

What did you expect to see instead, and why?

If you set x-stretch-cursor to a non-nil value in the GUI session,
does the result explain what happens?