From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Nick Helm Newsgroups: gmane.emacs.bugs Subject: bug#28843: 26.0.90; gnus kills unsaved message buffer Date: Wed, 08 Nov 2017 16:49:19 +1300 Message-ID: References: <877ev1xzjf.fsf@ericabrahamsen.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1510113013 12864 195.159.176.226 (8 Nov 2017 03:50:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 8 Nov 2017 03:50:13 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (darwin) Cc: 28843@debbugs.gnu.org To: Eric Abrahamsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Nov 08 04:50:07 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1eCHNN-00034j-OT for geb-bug-gnu-emacs@m.gmane.org; Wed, 08 Nov 2017 04:50:06 +0100 Original-Received: from localhost ([::1]:57166 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCHNV-00009a-5G for geb-bug-gnu-emacs@m.gmane.org; Tue, 07 Nov 2017 22:50:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43700) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCHNO-00008s-NL for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2017 22:50:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCHNL-0000W0-Ke for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2017 22:50:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48688) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eCHNL-0000Ve-8S for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2017 22:50:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eCHNJ-0003s9-MF; Tue, 07 Nov 2017 22:50:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Nick Helm Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Wed, 08 Nov 2017 03:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28843 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: Original-Received: via spool by 28843-submit@debbugs.gnu.org id=B28843.151011297814842 (code B ref 28843); Wed, 08 Nov 2017 03:50:01 +0000 Original-Received: (at 28843) by debbugs.gnu.org; 8 Nov 2017 03:49:38 +0000 Original-Received: from localhost ([127.0.0.1]:57368 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCHMv-0003rK-QT for submit@debbugs.gnu.org; Tue, 07 Nov 2017 22:49:38 -0500 Original-Received: from mail-sy3aus01on0094.outbound.protection.outlook.com ([104.47.117.94]:38080 helo=AUS01-SY3-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCHMt-0003r3-5q for 28843@debbugs.gnu.org; Tue, 07 Nov 2017 22:49:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tenpointcomms.onmicrosoft.com; s=selector1-tenpoint-co-nz; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=oK++1z1Q37xypkK11OoC8LAcOUxYZhYNPIPVNNnzFS0=; b=oQDNbKwrFuJf6JjUDZBxGxA4ROqlzy0jjdDZEregH9vlv0z/BJBvxkxsGmQXFOkrhYw1NC4gwQ8Hz9bv37i3ucTF6C6d7eaG3Y1PPFnWgNoN2kUJ3sBNN6hmCq2eMIO/VO7eV+NdMooW5bXG4uwPnS1oeZHuYCUGMiCSvCoZBw4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=nick@tenpoint.co.nz; Original-Received: from oberon.local (125.239.172.252) by SY3SPR00MB121.ausprd01.prod.outlook.com (10.173.253.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.13; Wed, 8 Nov 2017 03:49:23 +0000 In-Reply-To: <877ev1xzjf.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Tue, 07 Nov 2017 18:41:24 -0800") X-Originating-IP: [125.239.172.252] X-ClientProxiedBy: ME1PR01CA0099.ausprd01.prod.outlook.com (10.171.8.32) To SY3SPR00MB121.ausprd01.prod.outlook.com (10.173.253.149) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ec7d46ab-828e-488e-e8c2-08d5265bb388 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4603075)(4627115)(201702281549075)(2017052603249); SRVR:SY3SPR00MB121; X-Microsoft-Exchange-Diagnostics: 1; SY3SPR00MB121; 3:QdXRxNVEzzaj7enEjTRmFGqMWdCY7D8LGHDOupqegACqvnXTZCF/l3ZYyr/haIaQyAVuOVoKYZXTuv/z9YtrxP7wt/d+aFpVBAmRN/cGOYvX/h680SxwFYdFz/WkcXol3Vd1ewp76+M9JLB/rCweGMLwByxpd8gs3W/rKqGmWkiT+MYiH27iHCG2kFNaD1Za9NVCDiYNy3Cgqwfn45lRH8T53qmlhY0W1JLq4d0qVAfDYhlA+QbkvM/JtawpL2Ns; 25:FmPJEuxjozbtnq3vmAUf5ZyconslxlPWXFxXgoqX634qIDWeurdbrwLiCqR+L9rBqtIWUNtFnIS/flaqJHSpa4hXqtdsiFDLHyH1PJRMsW5JBFcbDt8m4lstN6NxkLOYQO2kBIUwrqQiGm1PrJDk5j85P+6SgtCBQWwCkL9uB/Zgg6lrWbGPd1RMNAMA9/Rzkc/+S3toDxYBAzm/I1/bHH33bdD500L+Nk599tAGIntmzLkM4BZl0Hs+QDklY7fxMASyaedqbwiejt7K69E14OQ7a8+VGLzbejKDo9mnLXo7jeS+wsnXUkx1vb+s1zj7pkhvrvN2FxY/Vf9L1zatQA==; 31:NsSg8JnpkwlOS2rhBrjW1c9EVzMXNhxfvuARBth0A1w4d2WzCoc3GpUU2k+tAFIkcfyQl7Dl1dZh/ujH8X8XXtRB8t76sdlOZ/VbZXJ0PZgXB8MrEhBpz67veytOUJAVUMwFLo9J77pynQ2mc6ZbZE2XETgNtJp6jMySl2wSe5yHSIsZ+lWhgY37NLRtB10el7Rx16nkwGiYTTDFPjVURuvi/cjoknI0krP/pH8Ge X-MS-TrafficTypeDiagnostic: SY3SPR00MB121: X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(3231021)(6041248)(2016111802025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123555025)(6072148)(6043046)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SY3SPR00MB121; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SY3SPR00MB121; X-Microsoft-Exchange-Diagnostics: 1; SY3SPR00MB121; 4:K6Yox5/byUkJyIGT/4VjFEgkzgntoNosfPyBW1PChMXQ6bNU6VZuYL6PEDEBBoEeaC7pY4kx45ibUpiCEseIw77XjIhKNXPV9SngbK1dfhlWbS7l6DiVOy/N0aUrbk4LhS7QTmgv3aj4fegwcmRpKIFX7o8/ARQ2tMJKRCNF3gPYjoKTzxAGxuoPbb8PFI0WILcHi0spVsBlVXd43faKDvoGOjLDmjqp8YVTlNHJneN5NTfZkGmmeSCBgXOXHYA+745QnC6tTVkVLVdSjMJPbg== X-Forefront-PRVS: 0485417665 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(39830400002)(346002)(376002)(5423002)(199003)(189002)(24454002)(377424004)(33646002)(6512007)(6246003)(316002)(81156014)(4001150100001)(8676002)(81166006)(47776003)(53936002)(97736004)(16586007)(6666003)(5003940100001)(189998001)(106356001)(58126008)(74482002)(4326008)(2906002)(48376002)(6916009)(42882006)(2950100002)(229853002)(66066001)(50466002)(6506006)(93886005)(86362001)(83506002)(25786009)(54356999)(6486002)(101416001)(305945005)(5660300001)(15650500001)(36756003)(8936002)(68736007)(478600001)(6116002)(16526018)(105586002)(3846002)(7736002)(76176999)(50986999); DIR:OUT; SFP:1102; SCL:1; SRVR:SY3SPR00MB121; H:oberon.local; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: tenpoint.co.nz does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; SY3SPR00MB121; 23:arGayEcykW1SaZsCc4KWMVnKwVd92FnePrrmQCFul2SSI/nkGVXrUfwl3Ocrmpc54wbwyy8tdgtvZ9pB3Th4RSdFUSR8nFCtpeYXL24icgzB07AZF0xr3tj+ULVXE5le3DB67vnVJwqtddy8osygwFkN2Vh28UTUFUIxRD0IsfOoWYShndSnMl62F3KFXnvTrMh2cqkajpVhF/B+zfGu/UUIEMDNNoej3uv8OfaeoODMdxyVHcquLbd5RnsvCt790iJt4EhzHVVHEfzTPYmuRvmpzLEl3dtTyU9j8898DKe067l9AK+LLigcmwgx2K7jDxfGgMvxW8OANsiDJB/1o78KZztyQ4Gw3fTgOnK045hGAh/QjuTvYZpoGi6I9PX0DJ8CHXqeOsUJFtat/Oqi5gJPAR/oT/PODLn1UY++Xa+mJo5PNwMAz9ZlFtykwobMWn9aq9cpY85ed+T25dHadq8fs2PTiyNklYjaN+yTEyNPNDip/hG4PzcUs1hXgpIsAtW+CEc53fym8UDAO5mCYurC+7VM/awbVcLWyiB9aoazimSJQYEY2O2d5kiBtSOPN95izxGkTHsgnxii4z/YnG5O3n8zgy1Z3o06u3+XQuMuIKLXIA/fTpeJrHI80qGfOGyqtswMbFhxEskv4ZLCLuUMgxKrA6n428wq4dwyyNK8zCQ/NE7u9PvQ0HydlC3pWUexG4+5E51H9VpZzt48DJk+Al5m781cDzZ+2QzTnHc7zAQ/i0+LByN2L5RWRorXzNpmt50b8rRcWWn3xzSG2TOTUonK W6M89KZ/fFhMUHTKNbbnS/rzrWyUfTbLjzFPe5lJgZ790l X-Microsoft-Exchange-Diagnostics: 1; SY3SPR00MB121; 6:0DDdQKm1eXmCnj6LBdj2QRAdj8LZxRZAYNoGphJ/VDhG0gNyo/yCoLltUGNIa4rWiUMRNDWOpWGSOaKZdE7XxJ2YkHjDSRik6JlHyRIoyuVrTBPZrBf4daeYabKCi4ghRNZe/XMI2Y2UxqpEA52JoL1Cjg96kGT+BTf5t1dtqQ7n4C09fI1OnFLAaErYBszRqdY5lfGhMQEGmQUwCduBd2PZZToVKbGfVfZ5x0UeT66SJ6WKKSa9YB2eVHUX22HRuyqO/CQzeMaOvR2cQF/JWNCHs6fGtDEC+0o9kO6Oxp/ncqyP7fyEXY/FRie5rfihUjm7BOswZdsoW2yDly03djeaUHpXkIOHXdkbOD3HzrM=; 5:ClrVewvhx1bApmdyo4m1BkR9o8uula6uMgW5mQD78zTQtgxfxPsS4hBA4HI00xg3IeaMhhIkgzce9IbpAW2+Yrg/zKscWz24xvbXBK1qTCI4fBlCSPrKIo8gAYieBiulMC7bjJdtK42ZeVlAKu7kG0ho38cQ8Fjds4N+RotBbQM=; 24:Gveqh6jDl68JQ06BK1xYm31GN8S3gMA2MeWivOU1ztnfqFn9QOQN6XBsiuTDw48GrbaVrbFrVmO6eEI7vhqpQvMKhEwf9Opzq/SoUv19EaM=; 7:LzJHK6/3XUcXo589UlBfzR0ThgR6TTccIYl7gVdKBv1J5Un5oj36ZZ/m+6KCwNFoEhj0LQg8UOSGkzeMY5/gY0XU/oE/rWWGf0wQp9TMGmqlixY1LHFBema0dXQprGch18GYqsyukiYu/CPjrrfQbZfJ+pV/5edOg6sCKmWZJVSmB8NG1TNI3m0j5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: tenpoint.co.nz X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2017 03:49:23.5798 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec7d46ab-828e-488e-e8c2-08d5265bb388 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: ed686f26-19e8-407b-91d0-7364c1c6f5cf X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY3SPR00MB121 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139599 Archived-At: On Tue, 7 Nov 2017 at 18:41:24 -0800, Eric Abrahamsen wrote: > Nick Helm writes: > >> On Thu, 26 Oct 2017 at 13:52:13 +1300, Nick Helm wrote: >> >>> On Sun, 15 Oct 2017 at 20:46:25 +1300, Nick Helm wrote: >>> >>>> Gnus exits, and the unsaved message buffer dies with it, without prompts >>>> to save. >>> >>> It seems the behaviour is intentional ... This commit changed >>> `gnus-clear-system' to include this: >>> >>> #+begin_src emacs-lisp >>> ;; Kill Gnus buffers. >>> (do-auto-save t) >>> (dolist (buffer (gnus-buffers)) >>> (when (gnus-buffer-exists-p buffer) >>> (with-current-buffer buffer >>> (set-buffer-modified-p nil) >>> (when (local-variable-p 'kill-buffer-hook) >>> (setq kill-buffer-hook nil)))) >>> (gnus-kill-buffer buffer)) >>> #+end_src >>> >>> So gnus is at least auto-saving draft messages before zapping them. >>> >>> Is there a better way to do this though? I think the user should at >>> least have some warning that an unsaved buffer is about to be >>> automatically killed. >> >> One solution (though not a very good one IMHO) would be to make the >> auto-save depend on the user's value of guns-interactive-exit. For >> example: >> >> --- a/lisp/gnus/gnus-start.el 2017-10-26 12:49:43.000000000 +1300 >> +++ b/lisp/gnus/gnus-start.el 2017-10-26 12:45:12.000000000 +1300 >> @@ -731,11 +731,12 @@ >> (kill-buffer (get-file-buffer (gnus-newsgroup-kill-file nil)))) >> (gnus-kill-buffer nntp-server-buffer) >> ;; Kill Gnus buffers. >> - (do-auto-save t) >> (dolist (buffer (gnus-buffers)) >> (when (gnus-buffer-exists-p buffer) >> (with-current-buffer buffer >> - (set-buffer-modified-p nil) >> + (unless gnus-interactive-exit >> + (do-auto-save t t) >> + (set-buffer-modified-p nil)) >> (when (local-variable-p 'kill-buffer-hook) >> (setq kill-buffer-hook nil)))) >> (gnus-kill-buffer buffer)) > > We could also consider mirroring the behavior of Emacs itself: if > `gnus-interactive-exit' is non-nil, prompt the user whether to save > changed buffers or not. Yes, that would be better. One way to do that might be to kill unsaved message buffers earlier in the gnus exit process, say with `gnus-exit-gnus-hook', and rely on Emacs's standard unsaved buffer query to do `save-buffer' or `message-dont-send'. Gnus is still running at that point, so it should save to the drafts group just fine. Also, the doc for `message-dont-send' says it does an auto-save, but the code says it actually does `save-buffer'.