From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#21612: 24.5; Configuration variable to delete auto-save file when intentionally killing buffer Date: Wed, 18 Aug 2021 14:45:21 +0200 Message-ID: <87k0kidiqm.fsf@gnus.org> References: <87im05d0rr.fsf@gnus.org> <83fsv98roh.fsf@gnu.org> <878s11a44w.fsf@gnus.org> <838s118opm.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18073"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 21612@debbugs.gnu.org, mrok4a@gmail.com, "Richard M. Stallman" To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 18 14:46:28 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mGKxg-0004TN-8O for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 18 Aug 2021 14:46:28 +0200 Original-Received: from localhost ([::1]:37744 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mGKxf-0003rO-1U for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 18 Aug 2021 08:46:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mGKxH-0003r7-66 for bug-gnu-emacs@gnu.org; Wed, 18 Aug 2021 08:46:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:43548) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mGKxF-0003Ub-Uu for bug-gnu-emacs@gnu.org; Wed, 18 Aug 2021 08:46:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mGKxF-0005N8-QJ for bug-gnu-emacs@gnu.org; Wed, 18 Aug 2021 08:46:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Aug 2021 12:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21612 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 21612-submit@debbugs.gnu.org id=B21612.162929074320625 (code B ref 21612); Wed, 18 Aug 2021 12:46:01 +0000 Original-Received: (at 21612) by debbugs.gnu.org; 18 Aug 2021 12:45:43 +0000 Original-Received: from localhost ([127.0.0.1]:55094 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mGKwt-0005MV-5B for submit@debbugs.gnu.org; Wed, 18 Aug 2021 08:45:43 -0400 Original-Received: from quimby.gnus.org ([95.216.78.240]:37878) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mGKwn-0005ME-KB for 21612@debbugs.gnu.org; Wed, 18 Aug 2021 08:45:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=xz3/ax5eDoEsqTWoTq4NuyvsAnfKUIj22N+8lQ3xYoI=; b=AA/8/JXUbFccS0ZZv+69wPknsA akZtNzt5nMsQlXLl6awisYY6TlLq+ElOVBXc7RDxtxvDedzXPnIC/THsAUp5jgrj4pwVO5Ookyp27 mhNItoAeMBZXKNIKPNpDKfVRJhE1qDUvW9xkT9ZTmcUcYnmZxzvqF6rpiKZH3DmzngEk=; Original-Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mGKwc-0008O9-EN; Wed, 18 Aug 2021 14:45:26 +0200 In-Reply-To: <838s118opm.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 16 Aug 2021 17:10:45 +0300") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:212132 Archived-At: Argh! I now implemented this... but then I discovered the delete-auto-save-files variable, which seems to be providing just what was requested here, just about. And it worked in the initial revision: commit 1ab256cb9997cf15983abc63310cdf32f0533bca Author: Roland McGrath AuthorDate: Mon Jul 15 21:27:11 1991 +0000 Initial revision diff --git a/src/buffer.c b/src/buffer.c --- /dev/null +++ b/src/buffer.c @@ -0,0 +678,9 @@ + /* Delete any auto-save file. */ + if (XTYPE (b->auto_save_file_name) == Lisp_String) + { + Lisp_Object tem; + tem = Fsymbol_value (intern ("delete-auto-save-files")); + if (! NULL (tem)) + unlink (XSTRING (b->auto_save_file_name)->data); + } + But Richard changed this in 2001: commit 9cf712eb57c0a1fef56487508e89d08c91f98db1 Author: Richard M. Stallman AuthorDate: Tue Nov 6 04:48:15 2001 +0000 (Fkill_buffer): Don't delete auto save file if buffer is modified. diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -1370,11 +1370,13 @@ - /* Delete any auto-save file, if we saved it in this session. */ + /* Delete any auto-save file, if we saved it in this session. + But not if the buffer is modified. */ if (STRINGP (b->auto_save_file_name) && b->auto_save_modified != 0 - && BUF_SAVE_MODIFF (b) < b->auto_save_modified) + && BUF_SAVE_MODIFF (b) < b->auto_save_modified + && BUF_SAVE_MODIFF (b) < BUF_MODIFF (b)) { Lisp_Object tem; tem = Fsymbol_value (intern ("delete-auto-save-files")); if (! NILP (tem)) internal_delete_file (b->auto_save_file_name); } No now this option is basically pointless (when killing buffers) -- the only reason we'd want to delete an auto-save file is if the buffer is modified. Otherwise there won't be an auto-save file. (Except when it's made by a different Emacs, and in that case, we really shouldn't be deleting it anyway.) The commit message or the comments don't explain what the reasoning behind changing the semantics here were. Richard, do you have any recollection why you made these changes 20 years ago? They seem to make the delete-auto-save-files variable in a kill-buffer context pointless. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no