From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Filipp Gunbin Newsgroups: gmane.emacs.bugs Subject: bug#62208: 30.0.50; [PATCH] save-some-buffers repeatedly asks for saving abbrev file Date: Thu, 16 Mar 2023 22:14:01 +0300 Message-ID: References: <83o7otqnxy.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="619"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 62208@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Mar 16 20:15:16 2023 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 1pct4D-000AOq-S4 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 16 Mar 2023 20:15:15 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pct43-0002CH-HG; Thu, 16 Mar 2023 15:15:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pct42-0002C8-SK for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 15:15:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pct42-0002H6-IX for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 15:15:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pct42-0001JJ-1p for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 15:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Filipp Gunbin Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Mar 2023 19:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62208 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16789940534965 (code B ref -1); Thu, 16 Mar 2023 19:15:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 16 Mar 2023 19:14:13 +0000 Original-Received: from localhost ([127.0.0.1]:43096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pct3E-0001I0-US for submit@debbugs.gnu.org; Thu, 16 Mar 2023 15:14:13 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:57216) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pct3D-0001Ht-HB for submit@debbugs.gnu.org; Thu, 16 Mar 2023 15:14:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pct3D-00021d-AJ for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 15:14:11 -0400 Original-Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pct3B-0001XM-HW; Thu, 16 Mar 2023 15:14:11 -0400 Original-Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 907775C0197; Thu, 16 Mar 2023 15:14:06 -0400 (EDT) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 16 Mar 2023 15:14:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm2; t=1678994046; x=1679080446; bh=Wc +4o7gtao24cxc15/8r5xAM86W0xKA/ApTknUcmLgo=; b=ya2l8EE+jL14JHYv2Q /A8VvCbQ7N1BhzCyl12r0Ed9ZXrkwnOeOMFu2pMmIjwNqSSP2mTou4g+QLk+E7bX S0f1vLu0LeaoZwYOXKKEyxM1JFO/V/WWJA4UqgNfsld/XvgbTaX/Pny0QW0ToVDI G/sjBewuhYsM678CsdvXZz2UQtm9rFGvcJalxOw65EK1ILGHE7BmSztyI5mRs6GI Ckt5hLL4mJp4BediXkoTo/i+fSMeI1CjfJ5dLCoWX9khctr4R/GiyrOO/Vvap+qg GM3jPFqz+i6HILtC+21JARpspMpLElfLzKChpEBmCnzHZ6Q77L+d5DbMVnU2/4Ih 2u1g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1678994046; x=1679080446; bh=Wc+4o7gtao24c xc15/8r5xAM86W0xKA/ApTknUcmLgo=; b=lx4aWljmU+2lv91Uc8lF2Er0lY7DG jFkjGIgx+g2awR0W53dWdEERFZWoJVjf8Jw5T57ERzPqI61GGy+fKFOajIyj9bFF XDG8Zfxow9XtQGjARXUExiFSaYdbei3IRUuFLysZMj4bz1cFZoimXekeGnNNuTQK v4xhG6/DcQzMPK7hI2zh6kd+e3isGBMWkInFEG8ajY5KMoaCNiExVkO/WpbVS+yz 1Vla2WHylwEdg7lNIvgkVwUYAo1tkTbBVN8fkUxSsneub1WqIgGnDay1eCPg7b56 du2BZB9+GRmjvNwy9PohOnZZ6nxu1oyPSWKoHMyjcjpUbApZhasFc5P+A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddvgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvfevufgjfhgffffkgggtsehttdertddtredtnecuhfhrohhmpefhihhl ihhpphcuifhunhgsihhnuceofhhguhhnsghinhesfhgrshhtmhgrihhlrdhfmheqnecugg ftrfgrthhtvghrnhepfffhjeevieeiiedutefgheffleeiveeffeeftdekleehledufeeu ueduheevieffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepfhhguhhnsghinhesfhgrshhtmhgrihhlrdhfmh X-ME-Proxy: Feedback-ID: id48c41f1:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 16 Mar 2023 15:14:05 -0400 (EDT) In-Reply-To: <83o7otqnxy.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 16 Mar 2023 07:12:41 +0200") Mail-Followup-To: Eli Zaretskii , bug-gnu-emacs@gnu.org Received-SPF: pass client-ip=66.111.4.25; envelope-from=fgunbin@fastmail.fm; helo=out1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:258031 Archived-At: On 16/03/2023 07:12 +0200, Eli Zaretskii wrote: > Also, would it be possible to add a test for this issue? Now added test, full patch is below. If/when it's fine, where should I install this? Thanks. diff --git a/lisp/abbrev.el b/lisp/abbrev.el index ef8ef1ab5a6..1a665efb0a5 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -1250,17 +1250,17 @@ abbrev--possibly-save ;; asked to. (and save-abbrevs abbrevs-changed - (progn - (if (or arg - (eq save-abbrevs 'silently) - (y-or-n-p (format "Save abbrevs in %s? " abbrev-file-name))) - (progn - (write-abbrev-file nil) - nil) - ;; Don't keep bothering user if they say no. - (setq abbrevs-changed nil) - ;; Inhibit message in `save-some-buffers'. - t))))) + (prog1 + (if (or arg + (eq save-abbrevs 'silently) + (y-or-n-p (format "Save abbrevs in %s? " abbrev-file-name))) + (progn + (write-abbrev-file nil) + nil) + ;; Inhibit message in `save-some-buffers'. + t) + ;; Don't ask again whether saved or user said no. + (setq abbrevs-changed nil))))) (add-hook 'save-some-buffers-functions #'abbrev--possibly-save) diff --git a/test/lisp/abbrev-tests.el b/test/lisp/abbrev-tests.el index ecca21df4bc..79ec51ba4d0 100644 --- a/test/lisp/abbrev-tests.el +++ b/test/lisp/abbrev-tests.el @@ -305,6 +305,22 @@ test-abbrev-table-p (should-not (abbrev-table-p translation-table-vector)) (should (abbrev-table-p (make-abbrev-table)))) +(ert-deftest abbrev--possibly-save-test () + "Test that `abbrev--possibly-save' propertly resets +`abbrevs-changed'." + (ert-with-temp-file temp-test-file + (let ((abbrev-file-name temp-test-file) + (save-abbrevs t)) + ;; Save + (let ((abbrevs-changed t)) + (should-not (abbrev--possibly-save nil t)) + (should-not abbrevs-changed)) + ;; Don't save + (let ((abbrevs-changed t)) + (ert-simulate-keys '(?n) + (should (abbrev--possibly-save nil))) + (should-not abbrevs-changed))))) + (provide 'abbrev-tests) ;;; abbrev-tests.el ends here