all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: martin rudalics <rudalics@gmx.at>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Text Properties And Buffer Modification
Date: Thu, 06 Dec 2018 12:28:25 +0200	[thread overview]
Message-ID: <83k1kn6jau.fsf@gnu.org> (raw)
In-Reply-To: <5C08F58F.5000004@gmx.at> (message from martin rudalics on Thu, 06 Dec 2018 11:10:23 +0100)

> Date: Thu, 06 Dec 2018 11:10:23 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
> I tried to find all occurrences of the string MODIFF in xdisp.c and
> look at the context of every occurrence I found.  I then tried to find
> out whether that context provided any clue that the display engine
> would handle a text property differently from an overlay change.  In
> particular I tried to find out whether there were any redisplay
> optimizations where this was the case.  Probably I'm missing something
> but the "you will see" hinted at something quite obvious.  Maybe you
> can name 2 or 3 such occurrences and I will then try to look harder.

The optimization I had in mind is try_window_id.  You will see there
that this optimization is disabled if overlays were changed, but not
if the buffer (including text properties) was changed.  you will also
see there that buffer-modification tick is used there to update the
unchanged text at beginning and end of the buffer when necessary.

The other place where the buffer modification tick is used is in
mark_window_display_accurate_1.  If we somehow disrupt that, we could
have excess re-entries into redisplay, because Emacs might think some
windows are not yet up to date.

There's also a place in redisplay_internal where we set the
update_mode_line flag of the selected window when that window's buffer
was modified, and a similar use in window_buffer_changed.



  reply	other threads:[~2018-12-06 10:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04 23:39 Text Properties And Buffer Modification T.V Raman
2018-12-05  6:33 ` Eli Zaretskii
2018-12-05  7:15   ` Joost Kremers
2018-12-05  8:30     ` Eli Zaretskii
2018-12-05 15:32       ` Stefan Monnier
2018-12-05 17:35         ` T.V Raman
2018-12-05 18:42         ` Eli Zaretskii
2018-12-05 19:04           ` martin rudalics
2018-12-05 19:09             ` Eli Zaretskii
2018-12-06  9:07               ` martin rudalics
2018-12-06  9:19                 ` Eli Zaretskii
2018-12-06 10:10                   ` martin rudalics
2018-12-06 10:28                     ` Eli Zaretskii [this message]
2018-12-06 18:46                       ` martin rudalics
2018-12-06 19:16                         ` Eli Zaretskii
2018-12-08  9:42                           ` martin rudalics
2018-12-08 11:22                             ` Eli Zaretskii
2018-12-05 20:54           ` Stefan Monnier
2018-12-06  6:04             ` Eli Zaretskii
2018-12-05  9:16   ` martin rudalics
2018-12-05 10:54     ` Eli Zaretskii
2018-12-05 19:04       ` martin rudalics
2018-12-05 19:08         ` 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=83k1kn6jau.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rudalics@gmx.at \
    /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.