From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Unbalanced change hooks (part 2) [Documentation fix still remaining] Date: Wed, 10 Aug 2016 17:21:34 +0300 Message-ID: <83h9ashfgx.fsf@gnu.org> References: <83fuqnm6og.fsf@gnu.org> <83eg67m3aq.fsf@gnu.org> <20160808143614.GA7208@acm.fritz.box> <83mvkni7xf.fsf@gnu.org> <20160808165449.GB7208@acm.fritz.box> <83d1lji3ih.fsf@gnu.org> <20160808184223.GC7208@acm.fritz.box> <838tw7hyk2.fsf@gnu.org> <20160808195459.GD7208@acm.fritz.box> <83tweugeu9.fsf@gnu.org> <20160809163814.GD4893@acm.fritz.box> <83inv9hkjd.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1470839059 9241 195.159.176.226 (10 Aug 2016 14:24:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 10 Aug 2016 14:24:19 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 10 16:24:15 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bXUQY-0002HO-SP for ged-emacs-devel@m.gmane.org; Wed, 10 Aug 2016 16:24:14 +0200 Original-Received: from localhost ([::1]:41915 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bXUQV-0005bI-Qe for ged-emacs-devel@m.gmane.org; Wed, 10 Aug 2016 10:24:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54451) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bXUOc-0003HT-Ut for emacs-devel@gnu.org; Wed, 10 Aug 2016 10:22:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bXUOZ-0005PP-IN for emacs-devel@gnu.org; Wed, 10 Aug 2016 10:22:14 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41146) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bXUOZ-0005Oq-F1; Wed, 10 Aug 2016 10:22:11 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3720 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bXUON-0001z4-Gg; Wed, 10 Aug 2016 10:22:10 -0400 In-reply-to: (message from Stefan Monnier on Tue, 09 Aug 2016 15:09:02 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:206530 Archived-At: > From: Stefan Monnier > Date: Tue, 09 Aug 2016 15:09:02 -0400 > > It's OK if we call it once for the whole region and then modify various > chunks of the region one by one, yes. In that case, it's still called > before those modification. > > Basically, It think we should guarantee that if buffer position N is > changed, then N is between the BEG and END of the latest call to b-c-f > (with END potentially adjusted to account for the other modifications > that took place in the mean time). AFAICT, this is what happens, indeed, except that the call to before-change-functions in some cases does not precede the first modification of the series. IOW, by the time the hook is called, some modifications were already done.