unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Tiphaine Turpin <tiphaine.turpin@inria.fr>
To: 10117@debbugs.gnu.org
Subject: bug#10117: duplicate evaluation of after-change-functions hooks in revert-buffer
Date: Wed, 23 Nov 2011 12:18:15 +0100	[thread overview]
Message-ID: <4ECCD677.1090900@inria.fr> (raw)

Hi,

I'm having a strange behavior while trying to track the modifications to 
a buffer: calling revert-buffer triggers the following calls to my 
after-change-functions hook
- a region deletion (which is exactly the changed region between the 
buffer and the file)
- a region insertion (the new contents for the changed region)
- the same insertion again.
I don't care about how many modifications the reverting is splited into, 
or whether these are minimal or all the buffer contents is considered 
new, but the duplicate insertion leads me into invalid assumptions about 
the new contents (I use this to maintain a exact mapping of the buffer 
into an external tool).

Am I wrong when I assume that the sequence of modifications passed to 
the after-change-functions is an exact trace of the buffer contents 
evolution ? What could possibly cause such a duplicate event ?

Note: I'm not doing anything strange in the hook like changing the 
buffers' contents. This is just a numeric computation which update some 
buffer-local variables which track the set of "unprocessed" 
modifications. The hook is added as buffer-local (and global value of 
after-change-functions is nil).

Regards,

Tiphaine Turpin






             reply	other threads:[~2011-11-23 11:18 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-23 11:18 Tiphaine Turpin [this message]
2011-11-23 14:42 ` bug#10117: duplicate evaluation of after-change-functions hooks in revert-buffer Stefan Monnier
     [not found]   ` <4ECD0A5D.90907@inria.fr>
2011-12-01 20:23     ` Stefan Monnier

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=4ECCD677.1090900@inria.fr \
    --to=tiphaine.turpin@inria.fr \
    --cc=10117@debbugs.gnu.org \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).