From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: phillip.lord@russet.org.uk (Phillip Lord) Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] emacs-25 c23c965: Prevent bootstrap autoload backup files Date: Tue, 12 Apr 2016 13:54:17 +0100 Message-ID: <87bn5fkmx2.fsf@russet.org.uk> References: <20160412114621.17612.69908@vcs.savannah.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1460465684 13479 80.91.229.3 (12 Apr 2016 12:54:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Apr 2016 12:54:44 +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 Apr 12 14:54:31 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1apxpu-00070Q-8O for ged-emacs-devel@m.gmane.org; Tue, 12 Apr 2016 14:54:30 +0200 Original-Received: from localhost ([::1]:48860 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apxpt-00024q-8Y for ged-emacs-devel@m.gmane.org; Tue, 12 Apr 2016 08:54:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36494) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apxpp-00021K-3o for emacs-devel@gnu.org; Tue, 12 Apr 2016 08:54:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1apxpl-0005px-Ot for emacs-devel@gnu.org; Tue, 12 Apr 2016 08:54:25 -0400 Original-Received: from cloud103.planethippo.com ([31.216.48.48]:49845) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apxpl-0005pk-FE for emacs-devel@gnu.org; Tue, 12 Apr 2016 08:54:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From; bh=00C6OGFpvKmnWjUZxrHv4Vya1AROIebLk+ZH0LAbl6g=; b=yowzt72S5nWGehmYSwlO+6cyuP Mgwlenv+5wuPXGpyWX8C8LxCzMHOnvXyDOiJTURWBYD2hb1bsLRHe/WCTMIoOwFI+k4iuSJlDljl6 SGmFt1wUhIbBzuuo0kYcvGqGqHYSXqF8q/18jodvQ1dU0fPZfiiW37cEDz7wOeL7vjIrdhYFuOYBx delAtbVBGOIfmi8Ly5qWUcgwAHn1yik9bfH3vtBHsTw6i48q7z7F1r01YNJiXAajh7RU5p+vTzmSt gTik/cvjqL4ZB36XTM2wJ/dx4AWJmcb6sE/ElCAblejokQKbDhKop2Mrw68OKEvAH2OMtDYtsRUSd 55dHA1Vg==; Original-Received: from cpc1-benw10-2-0-cust373.gate.cable.virginm.net ([77.98.219.118]:60400 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.86_1) (envelope-from ) id 1apxpk-003FdG-4A; Tue, 12 Apr 2016 13:54:20 +0100 In-Reply-To: (Stefan Monnier's message of "Tue, 12 Apr 2016 08:18:06 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 31.216.48.48 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:202863 Archived-At: Stefan Monnier writes: >> - (let ((delay-mode-hooks t)) >> - (find-file-noselect >> - (autoload-ensure-default-file (autoload-generated-file)))))) >> + (let* ((delay-mode-hooks t) >> + (file (autoload-generated-file)) >> + (file-missing (not (file-exists-p file)))) >> + (when file-missing >> + (autoload-ensure-default-file file)) >> + (with-current-buffer >> + (find-file-noselect >> + (autoload-ensure-file-writeable >> + file)) >> + ;; block backups when the file has just been created, since >> + ;; the backups will just be the auto-generated headers. >> + ;; bug#23203 >> + (when file-missing >> + (setq buffer-backed-up t) >> + (save-buffer)) >> + (current-buffer))))) > > That looks quite complicated just to suppress backups. > Could you explain why we couldn't just do something like: > > (let ((delay-mode-hooks t) > (make-backup-files)) > (find-file-noselect > (autoload-ensure-default-file (autoload-generated-file)))))) > or > (let ((delay-mode-hooks t)) > (with-current-buffer > (find-file-noselect > (autoload-ensure-default-file (autoload-generated-file))) > (setq-local backup-inhibited t))))) It has different semantics. My patch preserves backup files except when the autoload file is created for the first time. This only happens because we create the header and footer in one place, then reopen with find-file-noselect. The discussion is in the bug report #23203. For myself, I would have prefered the simpler semantics also. Phil