From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Unbalanced change hooks (part 2) [Documentation fix still remaining] Date: Tue, 30 Aug 2016 11:32:42 -0700 Message-ID: References: <83inujbpek.fsf@gnu.org> <20160830171222.GA6672@acm.fritz.box> <5857ab7e-e85c-c6ae-ba1a-b1337ae57f2c@dancol.org> <83fupmm9ul.fsf@gnu.org> <67e1e007-c944-b91e-6c4b-b06b51beddc1@dancol.org> <20160830180139.GC6672@acm.fritz.box> <0d2edb1c-8b51-8114-d121-386322b1a1f6@dancol.org> <20160830183009.GE6672@acm.fritz.box> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1472582006 30501 195.159.176.226 (30 Aug 2016 18:33:26 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 30 Aug 2016 18:33:26 +0000 (UTC) User-Agent: K-9 Mail for Android Cc: Eli Zaretskii , monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 30 20:33:19 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 1benqS-0006gL-NY for ged-emacs-devel@m.gmane.org; Tue, 30 Aug 2016 20:33:13 +0200 Original-Received: from localhost ([::1]:50697 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1benqQ-0006aJ-CA for ged-emacs-devel@m.gmane.org; Tue, 30 Aug 2016 14:33:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41582) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1benqG-0006Yf-GT for emacs-devel@gnu.org; Tue, 30 Aug 2016 14:33:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1benqE-0000JT-Cu for emacs-devel@gnu.org; Tue, 30 Aug 2016 14:32:59 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:54716) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1benq8-0000It-BM; Tue, 30 Aug 2016 14:32:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Message-ID:CC:To:Date:From:Subject:Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To; bh=ajYNIYqdUCVi6PZmrDxeKaJm8h3YGCIMTXyDVHpKut4=; b=Si9+TTYkkAwtiRTt3pl2Q5Ry1n0pvgBfhw4yhcYgcBckQBXzEyRXqIfpjsLJAQF9Dx/+iBC90O31YcxVZlT4+3IfCwH/TEDI7XkM7Dp2EWvTC6rc79Im54JyksjymPwDJvzsXUBTlyQQvP4oDEX8M9FQW6erFlbHCKlSD0ZxvMI10DQimTcqJRHcopyS11z8ERFn6N212fkeQoHy1xjFYp33cQvsRISCFeeUSF3J2Ns8q5R7Ng8ClJo+q1iZ8bHShJP1PSgTHMqLLZsyfdEQCmpQbq19lD074FkHcOFQXJEnRcXi/0w29gTqSceEphs1ssvePnmCBGvxpwkddr+Mjg==; Original-Received: from [73.109.62.216] (helo=[10.228.92.212]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1benq5-0007ho-8l; Tue, 30 Aug 2016 11:32:49 -0700 In-Reply-To: <20160830183009.GE6672@acm.fritz.box> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 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:206992 Archived-At: On August 30, 2016 11:30:09 AM PDT, Alan Mackenzie wrote: >Hello, Daniel. > >On Tue, Aug 30, 2016 at 11:17:48AM -0700, Daniel Colascione wrote: >> On 08/30/2016 11:06 AM, Daniel Colascione wrote: >> > On 08/30/2016 11:01 AM, Alan Mackenzie wrote: > >> >> On Tue, Aug 30, 2016 at 10:46:44AM -0700, Daniel Colascione wrote: >> >>> On 08/30/2016 10:42 AM, Eli Zaretskii wrote: >> >>>>> Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org >> >>>>> From: Daniel Colascione >> >>>>> Date: Tue, 30 Aug 2016 10:27:45 -0700 > >> >>>>> +The region given to each of these functions is a conservative >> >>>>> +approximation of the region about to changed. After running >the >> >>>>> +before-change-functions, Emacs will make zero or more >fine-grained >> >>>>> +buffer changes and run after-change-functions for each. Do >not >> >>>>> expect >> >>>>> +before-change-functions and after-change-functions to be >called in >> >>>>> +balanced pairs. > >> >>>> The last sentence here is repeated afterwards, for no good >reason. >> >>>> (Also, the markup is missing, but that's just an aside.) > >> >>> I figured it was a good idea to highlight this fact directly in >the >> >>> variable documentation blob. I can add a "see below" link. > >> >> Why are you advocating this? It is not true. > >> It's not true. If it's true except for one time in a million, it's >not >> true. > >That's straying off-topic into philosophy. Just defining terms > >> Programs need to be written for the world we inhabit, not the one >> we want. Relying on behavior that's usually but not always the case >is >> antithetical to software robustness. > >Coming back to the concrete, your proposed way of expressing things >would prevent future hackers from using b-c-f and a-c-f together the >way >that we do. Is that what you want? It doesn't prevent them per second: it just forces them to be more careful. I'd prefer that these hooks work the way we both want, but if that's not the case, I'd rather not mislead developers. It's not the documentation that prevents this use, but the Emacs core