GNU bug report logs -
#19201
24.4.51; Faulty interaction between overlays with display-related properties in TTY
Previous Next
Reported by: Dmitry Gutov <dgutov <at> yandex.ru>
Date: Thu, 27 Nov 2014 03:06:02 UTC
Severity: normal
Found in version 24.4.51
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> Date: Thu, 27 Nov 2014 05:05:16 +0200
>
> 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
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.
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.
Fixed in 6b765b8 on the emacs-24 branch.
This bug report was last modified 10 years and 177 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.