From unknown Fri Aug 15 19:35:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10903: 24.0.93; redisplay glitch with before-string and display overlays Resent-From: Stephen Berman Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 27 Feb 2012 22:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 10903 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 10903@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.13303804599176 (code B ref -1); Mon, 27 Feb 2012 22:08:02 +0000 Received: (at submit) by debbugs.gnu.org; 27 Feb 2012 22:07:39 +0000 Received: from localhost ([127.0.0.1]:60279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S28jK-0002Nm-Iq for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:07:39 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37897) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S28j8-0002NO-D4 for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:07:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S28g4-0004BO-8r for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:04:17 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:38116) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S28g4-0004BJ-5n for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:04:16 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56945) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S28g2-0003s6-8K for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 17:04:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S28fx-000481-Ea for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 17:04:13 -0500 Received: from mailout-de.gmx.net ([213.165.64.23]:51100) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1S28fx-00047m-3u for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 17:04:09 -0500 Received: (qmail invoked by alias); 27 Feb 2012 22:04:06 -0000 Received: from i59F56334.versanet.de (EHLO escher.home) [89.245.99.52] by mail.gmx.net (mp033) with SMTP; 27 Feb 2012 23:04:06 +0100 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX1+ll2hDLcild88VwcPCXWCU+5i9iteOEaPKPHKw6V 6o0IDqUGlenRhe From: Stephen Berman Date: Mon, 27 Feb 2012 23:04:03 +0100 Message-ID: <87pqd0hr1o.fsf@escher.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: 0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) 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 From unknown Fri Aug 15 19:35:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10903: 24.0.93; redisplay glitch with before-string and display overlays Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Feb 2012 22:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10903 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stephen Berman Cc: 10903@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 10903-submit@debbugs.gnu.org id=B10903.13304665732344 (code B ref 10903); Tue, 28 Feb 2012 22:03:01 +0000 Received: (at 10903) by debbugs.gnu.org; 28 Feb 2012 22:02:53 +0000 Received: from localhost ([127.0.0.1]:54707 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S2V8G-0000bb-O0 for submit@debbugs.gnu.org; Tue, 28 Feb 2012 17:02:53 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:60013) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S2V84-0000b7-AI for 10903@debbugs.gnu.org; Tue, 28 Feb 2012 17:02:41 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0M0400K00ENDDR00@a-mtaout22.012.net.il> for 10903@debbugs.gnu.org; Tue, 28 Feb 2012 22:38:10 +0200 (IST) Received: from HOME-C4E4A596F7 ([77.124.119.92]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M0400IL5ENL8AW1@a-mtaout22.012.net.il>; Tue, 28 Feb 2012 22:38:10 +0200 (IST) Date: Tue, 28 Feb 2012 22:40:17 +0200 From: Eli Zaretskii In-reply-to: <87pqd0hr1o.fsf@escher.home> X-012-Sender: halo1@inter.net.il Message-id: <831upeelou.fsf@gnu.org> References: <87pqd0hr1o.fsf@escher.home> X-Spam-Score: -1.2 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > From: Stephen Berman > Date: Mon, 27 Feb 2012 23:04:03 +0100 > > 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 We were hitting on an old redisplay optimization that didn't play well with the bidi-aware display engine. I think I fixed this. Thanks for such a clear-cut test case. 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: === modified file 'src/xdisp.c' --- src/xdisp.c 2012-02-12 09:46:33 +0000 +++ src/xdisp.c 2012-02-28 20:35:41 +0000 @@ -5156,6 +5156,10 @@ next_overlay_string (struct it *it) it->current.overlay_string_index = -1; it->n_overlay_strings = 0; it->overlay_strings_charpos = -1; + /* If there's an empty display string on the stack, pop the + stack, to resync the bidi iterator with IT's position. */ + if (it->sp > 0 && STRINGP (it->string) && !SCHARS (it->string)) + pop_it (it); /* If we're at the end of the buffer, record that we have processed the overlay strings there already, so that @@ -5453,8 +5457,15 @@ get_overlay_strings_1 (struct it *it, EM xassert (!compute_stop_p || it->sp == 0); /* When called from handle_stop, there might be an empty display - string loaded. In that case, don't bother saving it. */ - if (!STRINGP (it->string) || SCHARS (it->string)) + string loaded. In that case, don't bother saving it. But + don't use this optimization with the bidi iterator, since we + need the corresponding pop_it call to resync the bidi + iterator's position with IT's position, after we are done + with the overlay strings. (The corresponding call to pop_it + in case of an empty display string is in + next_overlay_string.) */ + if (!(!it->bidi_p + && STRINGP (it->string) && !SCHARS (it->string))) push_it (it, NULL); /* Set up IT to deliver display elements from the first overlay From unknown Fri Aug 15 19:35:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10903: 24.0.93; redisplay glitch with before-string and display overlays Resent-From: Stephen Berman Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Feb 2012 22:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10903 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 10903@debbugs.gnu.org Received: via spool by 10903-submit@debbugs.gnu.org id=B10903.13304679514419 (code B ref 10903); Tue, 28 Feb 2012 22:26:02 +0000 Received: (at 10903) by debbugs.gnu.org; 28 Feb 2012 22:25:51 +0000 Received: from localhost ([127.0.0.1]:54747 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S2VUT-000192-Hi for submit@debbugs.gnu.org; Tue, 28 Feb 2012 17:25:51 -0500 Received: from mailout-de.gmx.net ([213.165.64.22]:34092) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1S2VUG-00018J-OB for 10903@debbugs.gnu.org; Tue, 28 Feb 2012 17:25:38 -0500 Received: (qmail invoked by alias); 28 Feb 2012 22:25:15 -0000 Received: from i59F564CF.versanet.de (EHLO escher.home) [89.245.100.207] by mail.gmx.net (mp004) with SMTP; 28 Feb 2012 23:25:15 +0100 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX182+9IJ5tQ2K2mSgKaA636pz1mjx5zLZSGuSHo7pe ecmfbydH2+ahNC From: Stephen Berman References: <87pqd0hr1o.fsf@escher.home> <831upeelou.fsf@gnu.org> Date: Tue, 28 Feb 2012 23:25:13 +0100 In-Reply-To: <831upeelou.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 28 Feb 2012 22:40:17 +0200") Message-ID: <87y5rm1tpy.fsf@escher.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Y-GMX-Trusted: 0 X-Spam-Score: -1.9 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) On Tue, 28 Feb 2012 22:40:17 +0200 Eli Zaretskii wrote: >> From: Stephen Berman >> Date: Mon, 27 Feb 2012 23:04:03 +0100 >> >> 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 > > We were hitting on an old redisplay optimization that didn't play well > with the bidi-aware display engine. > > I think I fixed this. Thanks for such a clear-cut test case. > > 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. Steve Berman From unknown Fri Aug 15 19:35:45 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Stephen Berman Subject: bug#10903: closed (Re: bug#10903: 24.0.93; redisplay glitch with before-string and display overlays) Message-ID: References: <83r4xdcysu.fsf@gnu.org> <87pqd0hr1o.fsf@escher.home> X-Gnu-PR-Message: they-closed 10903 X-Gnu-PR-Package: emacs Reply-To: 10903@debbugs.gnu.org Date: Wed, 29 Feb 2012 17:51:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1330537862-20296-1" This is a multi-part message in MIME format... ------------=_1330537862-20296-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 10903@debbugs.gnu.org. --=20 10903: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D10903 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1330537862-20296-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 10903-done) by debbugs.gnu.org; 29 Feb 2012 17:50:45 +0000 Received: from localhost ([127.0.0.1]:56300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S2nfo-0005GX-Md for submit@debbugs.gnu.org; Wed, 29 Feb 2012 12:50:45 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:49368) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S2nfb-0005G5-Mi for 10903-done@debbugs.gnu.org; Wed, 29 Feb 2012 12:50:32 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0M0600A001I9HU00@a-mtaout22.012.net.il> for 10903-done@debbugs.gnu.org; Wed, 29 Feb 2012 19:50:10 +0200 (IST) Received: from HOME-C4E4A596F7 ([77.124.119.92]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M0600AQ71JK2H80@a-mtaout22.012.net.il>; Wed, 29 Feb 2012 19:50:09 +0200 (IST) Date: Wed, 29 Feb 2012 19:52:17 +0200 From: Eli Zaretskii Subject: Re: bug#10903: 24.0.93; redisplay glitch with before-string and display overlays In-reply-to: <87y5rm1tpy.fsf@escher.home> X-012-Sender: halo1@inter.net.il To: Stephen Berman Message-id: <83r4xdcysu.fsf@gnu.org> References: <87pqd0hr1o.fsf@escher.home> <831upeelou.fsf@gnu.org> <87y5rm1tpy.fsf@escher.home> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 10903-done Cc: 10903-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > From: Stephen Berman > Cc: 10903@debbugs.gnu.org > 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. ------------=_1330537862-20296-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 27 Feb 2012 22:07:39 +0000 Received: from localhost ([127.0.0.1]:60279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S28jK-0002Nm-Iq for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:07:39 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37897) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S28j8-0002NO-D4 for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:07:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S28g4-0004BO-8r for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:04:17 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:38116) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S28g4-0004BJ-5n for submit@debbugs.gnu.org; Mon, 27 Feb 2012 17:04:16 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56945) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S28g2-0003s6-8K for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 17:04:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S28fx-000481-Ea for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 17:04:13 -0500 Received: from mailout-de.gmx.net ([213.165.64.23]:51100) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1S28fx-00047m-3u for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 17:04:09 -0500 Received: (qmail invoked by alias); 27 Feb 2012 22:04:06 -0000 Received: from i59F56334.versanet.de (EHLO escher.home) [89.245.99.52] by mail.gmx.net (mp033) with SMTP; 27 Feb 2012 23:04:06 +0100 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX1+ll2hDLcild88VwcPCXWCU+5i9iteOEaPKPHKw6V 6o0IDqUGlenRhe From: Stephen Berman To: bug-gnu-emacs@gnu.org Subject: 24.0.93; redisplay glitch with before-string and display overlays Date: Mon, 27 Feb 2012 23:04:03 +0100 Message-ID: <87pqd0hr1o.fsf@escher.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) 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 ------------=_1330537862-20296-1--