Subject: bug#19201: closed (Re: bug#19201: 24.4.51; Faulty interaction between overlays with display-related properties in TTY)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 28 Nov 2014 00:03:03 +0000

Your bug report

#19201: 24.4.51; Faulty interaction between overlays with display-related properties in TTY

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
19201: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19201
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#19201: 24.4.51; Faulty interaction between overlays with display-related properties in TTY
From: Dmitry Gutov <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked]
Date: Fri, 28 Nov 2014 02:02:54 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On 11/27/2014 06:41 PM, Eli Zaretskii wrote:

> For the record, this has nothing to do with TTY vs GUI frames.  You
> can have the same problem on a GUI frame if you use a bogus symbol for
> the fringe bitmap, like 'foobar instead of 'question-mark.

Makes sense.

> Evidently, the Founding Fathers never meant for us to use display
> properties on after-strings that specify display on the fringe.  Emacs
> 22 and 23 infloop if you try your recipe on a TTY there.  Emacs 24.1
> is the first release that doesn't, and it already has this bug.

The given example uses before-string, but I guess you mean both.

That's odd, though, because when used with overlays, before- and 
after-strings are the most flexible for this and similar use cases.

> Fixed in 6b765b8 on the emacs-24 branch.

Works fine. Thanks!

Subject: 24.4.51; Faulty interaction between overlays with display-related properties in TTY
From: Dmitry Gutov <[email-masked]>
To: [email-masked]
Date: Thu, 27 Nov 2014 05:05:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Calling the command defined below results in different behaviors between
a graphical frame and a text terminal.

(defun display-test ()
  (interactive)
  (pop-to-buffer (get-buffer-create "display-test"))
  (insert "aaa\nbbb\nccc\nddd\neee")
  (goto-char 14)
  (let ((ias (make-overlay 4 16))
        (bsf (make-overlay 1 4)))
    (overlay-put ias 'invisible t)
    (overlay-put ias 'after-string "\nxxx\nyyy\nzzz")
    (overlay-put bsf 'before-string
                 (propertize "!"
                             'display
                             (list 'left-fringe
                                   'question-mark
                                   'warning)))))

Evaluate this, then type `M-x display-test'.

In graphical mode, I see what I'd expect:

aaa
xxx
yyy
zzz
eee

(with a fringe indicator on the first line),

whereas when trying this in terminal, I see:

aaa
eee

Originally reported in https://github.com/flycheck/flycheck/issues/526.

In GNU Emacs 24.4.51.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2014-11-16 on axl
Repository revision: c613f4d6c12ad7a8ebbc88dcef48949c6a775996
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Ubuntu 14.04.1 LTS