all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Christopher Schmidt <christopher@ch.ristopher.com>
Cc: 14744@debbugs.gnu.org
Subject: bug#14744: 24.3.50; Flickering mouse-face on process output
Date: Sat, 29 Jun 2013 17:45:14 +0300	[thread overview]
Message-ID: <838v1tdlhh.fsf@gnu.org> (raw)
In-Reply-To: <87txkhf52j@ch.ristopher.com>

> From: Christopher Schmidt <christopher@ch.ristopher.com>
> Date: Sat, 29 Jun 2013 13:56:53 +0100 (BST)
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> > For the record, what is the real-life use case where this matters?
> 
> The one Stephen described in <8761wxfbm8.fsf@rosalinde.fritz.box>.

Thanks.  For the record, here's what happens:

  . comint-output-filter moves the comint-last-prompt-overlay overlay

  . This eventually calls modify_overlay, which has this code:

     /* If BUF is visible, consider updating the display if ...  */
     if (buffer_window_count (buf) > 0)
       {
	 /* ... it's visible in other window than selected,  */
	 if (buf != XBUFFER (XWINDOW (selected_window)->contents))
	   windows_or_buffers_changed = 1;
	 /* ... or if we modify an overlay at the end of the buffer
	    and so we cannot be sure that window end is still valid.  */
	 else if (end >= ZV && start <= ZV)
	   windows_or_buffers_changed = 1;
       }

    In our case, the overlay is at the end of the buffer, so the last
    'else if' clause fires, and sets windows_or_buffers_changed to a
    non-zero value.

  . When redisplay sees a non-zero value in windows_or_buffers_changed,
    it forces a thorough redisplay of all the windows, because having
    the window end invalid generally means the window configuration
    might have changed.

I guess one way of fixing this problem would be to modify comint.el
not to use overlays for this purpose.





  reply	other threads:[~2013-06-29 14:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-29  0:10 bug#14744: 24.3.50; Flickering mouse-face on process output Christopher Schmidt
2013-06-29  7:46 ` Eli Zaretskii
2013-06-29  9:47   ` Christopher Schmidt
2013-06-29 10:35     ` Stephen Berman
2013-06-29 11:41     ` Eli Zaretskii
2013-06-29 12:56       ` Christopher Schmidt
2013-06-29 14:45         ` Eli Zaretskii [this message]
2013-08-03  9:41           ` Christopher Schmidt
2013-08-03 10:36             ` Eli Zaretskii
2013-08-03 12:25               ` Christopher Schmidt
2013-08-03 12:41                 ` Eli Zaretskii
2013-08-03 12:56                   ` Christopher Schmidt
2013-08-03 13:12                     ` Eli Zaretskii
2020-08-25 11:01                       ` Lars Ingebrigtsen
2013-06-29 15:08   ` Stefan Monnier
2013-06-29 15:16     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=838v1tdlhh.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=14744@debbugs.gnu.org \
    --cc=christopher@ch.ristopher.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.