GNU bug report logs - #19201
24.4.51; Faulty interaction between overlays with display-related properties in TTY

Previous Next

Package: emacs;

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: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 19201 <at> debbugs.gnu.org
Subject: bug#19201: 24.4.51; Faulty interaction between overlays with display-related properties	in TTY
Date: Thu, 27 Nov 2014 18:41:51 +0200
> 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.