Subject: bug#10903: closed (Re: bug#10903: 24.0.93; redisplay glitch with before-string and display overlays)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 29 Feb 2012 17:51:02 +0000

Your bug report

#10903: 24.0.93; redisplay glitch with before-string and display overlays

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].

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

Subject: Re: bug#10903: 24.0.93; redisplay glitch with before-string and display overlays
From: Eli Zaretskii <[email-masked]>
To: Stephen Berman <[email-masked]>
Cc: [email-masked]
Date: Wed, 29 Feb 2012 19:52:17 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Stephen Berman <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 28 Feb 2012 23:25:13 +0100
> 
> > Since Savannah is on the move, I cannot commit the fix, but perhaps
> > you could test it locally and see if there are any leftovers.  Here's
> > the patch:
> 
> I applied the patch and rebuilt, and the redisplay glitches I observed
> are gone; thanks very much for the quick fix!  I consider this bug
> resolved, but it should probably be closed after the fix is committed to
> the trunk.  Thanks again.

Thanks for testing.  I committed the fix (revision 107465 on the
trunk) and closed the bug.

Subject: 24.0.93; redisplay glitch with before-string and display overlays
From: Stephen Berman <[email-masked]>
To: [email-masked]
Date: Mon, 27 Feb 2012 23:04:03 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

1. emacs -Q

2. Type `C-x b a RET' to get a fresh buffer in Fundamental mode, and  at
(point-min) type "012".

3. Type `M-<' so that the cursor is over (i.e. just before) `0'.

4. Type `M-: (overlay-put (make-overlay (point) (point)) 'before-string
"*")'.  Now you see this:

*012

5. Type `M-: (overlay-put (make-overlay (point) (1+ (point))) 'display
"")'.  Now you see this:

*12

6. Type `M-: (remove-overlays)' to restore "012".

7. Type SPC to advance the cursor and the start of "012" to column one.

8. Repeat step 4.  Now you see this:

 *012

9. Repeat step 5.  Now you see this:

 *112

According to my tests, this redisplay glitch happens when the overlays
begin anywhere other than (point-min).  It also only happens when the
before-string overlay is added prior to the display string overlay, and
only when the value of the display string is "".  I don't know when this
problem appeared, but it does not happen in Emacs 23.3.

In GNU Emacs 24.0.93.1 (i686-suse-linux-gnu, GTK+ Version 2.24.7)
 of 2012-02-26 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.11004000
Configured using:
 `configure '--without-toolkit-scroll-bars' 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t