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: Don't complain about changed file when it hasn't changed Date: Tue, 30 Aug 2016 20:32:46 +0300 Message-ID: <83h9a2mabl.fsf@gnu.org> References: <83oa4bbq5b.fsf@gnu.org> <83a8funuqw.fsf@gnu.org> <83twe2mdpu.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1472578413 15732 195.159.176.226 (30 Aug 2016 17:33:33 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 30 Aug 2016 17:33:33 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 30 19:33:27 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 1bemuc-0003bq-HQ for ged-emacs-devel@m.gmane.org; Tue, 30 Aug 2016 19:33:26 +0200 Original-Received: from localhost ([::1]:50379 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bemua-0004DG-5x for ged-emacs-devel@m.gmane.org; Tue, 30 Aug 2016 13:33:24 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bemuS-00042F-1d for emacs-devel@gnu.org; Tue, 30 Aug 2016 13:33:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bemuM-0002Cq-FW for emacs-devel@gnu.org; Tue, 30 Aug 2016 13:33:14 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58066) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bemuM-0002Cj-CL; Tue, 30 Aug 2016 13:33:10 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1974 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bemuD-0000Ph-Tr; Tue, 30 Aug 2016 13:33:09 -0400 In-reply-to: (message from Stefan Monnier on Tue, 30 Aug 2016 13:16:45 -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:206975 Archived-At: > From: Stefan Monnier > Cc: emacs-devel@gnu.org > Date: Tue, 30 Aug 2016 13:16:45 -0400 > > >> > -- Function: ask-user-about-supersession-threat filename > >> > This function is used to ask a user how to proceed after an attempt > >> > to modify an buffer visiting file FILENAME when the file is newer > >> > than the buffer text. Emacs detects this because the modification > >> > time of the file on disk is newer than the last save-time of the > >> > buffer. This means some other program has probably altered the > >> > file. > >> > >> > Some of that will no longer be accurate once we install your changes. > >> > >> Hmm... actually, this documentation is still valid, because it specifies > >> when the function is called (which is not changed by my patch) rather > >> than what the function does. > > > We are splitting hair. > > > The problematic place (for me) is the "modification time of the file > > on disk is newer", which implies that this is the only test for the > > detection of supersession-threat. > > No, it is the only test made before calling this function (indeed, the > function doesn't make any such test). My patch doesn't affect this: the > only test performed before calling this function is still the > modtime test. That's because your additional test is in ask-user-about-supersession-threat itself, which previously only asked the question, while the test was elsewhere. So, you would be found innocent in the court of law, but failing to say that the default implementation of ask-user-about-supersession-threat now includes an additional test, and will answer automatically without asking the user in some cases, is IMO hiding an important detail. In particular, ... > It's important to know where the test is performed because: > > This function is called automatically by Emacs on the proper > occasions. It exists so you can customize Emacs by redefining it. > See the file @file{userlock.el} for the standard definition. > > So if you want to "update the doc" here, we'd have to actually state > what the standard definition does (we currently don't do actually that). ... indeed we should state that, because otherwise a naïve user will not understand how come she lost this nice feature by just replacing a function that is supposed to ask a question and be done.