From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#21071: Gnus message flags must be set before expiration, not afterwards Date: Fri, 27 Sep 2019 18:04:53 +0200 Message-ID: <871rw1k9ne.fsf__16470.4543467209$1569602798$gmane$org@gnus.org> References: <87mvyx2c20.fsf@vostro.rath.org> <87fv4p2b9n.fsf@vostro.rath.org> <87bncbu2un.fsf@vostro.rath.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="76964"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: ding To: 21071@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Sep 27 18:46:33 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iDtO4-000Jsf-Mt for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 Sep 2019 18:46:32 +0200 Original-Received: from localhost ([::1]:53544 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDtO2-0003Cz-4T for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 Sep 2019 12:46:31 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39740) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iDskt-0008MU-HP for bug-gnu-emacs@gnu.org; Fri, 27 Sep 2019 12:06:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iDskr-0002A7-UB for bug-gnu-emacs@gnu.org; Fri, 27 Sep 2019 12:06:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39685) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iDskr-0002A1-RX for bug-gnu-emacs@gnu.org; Fri, 27 Sep 2019 12:06:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iDskr-0002Xo-Iy; Fri, 27 Sep 2019 12:06:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Fri, 27 Sep 2019 16:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21071 X-GNU-PR-Package: emacs,gnus Original-Received: via spool by 21071-submit@debbugs.gnu.org id=B21071.15696003049638 (code B ref 21071); Fri, 27 Sep 2019 16:06:01 +0000 Original-Received: (at 21071) by debbugs.gnu.org; 27 Sep 2019 16:05:04 +0000 Original-Received: from localhost ([127.0.0.1]:48502 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iDsjw-0002VM-5Y for submit@debbugs.gnu.org; Fri, 27 Sep 2019 12:05:04 -0400 Original-Received: from quimby.gnus.org ([80.91.231.51]:34560) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iDsjt-0002Ui-Fo for 21071@debbugs.gnu.org; Fri, 27 Sep 2019 12:05:02 -0400 Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iDsjl-0003XI-LC; Fri, 27 Sep 2019 18:04:59 +0200 In-Reply-To: <87bncbu2un.fsf@vostro.rath.org> (Nikolaus Rath's message of "Tue, 06 Oct 2015 14:03:12 -0700") 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: 209.51.188.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:167407 Archived-At: Nikolaus Rath writes: > This issue is caused by article expiry being done in > gnus-summary-prepare-exit-hook. gnus-summary-exit calls this hook before > calling gnus-update-read-articles (which sets the read mark). > > A trivial patch is to invert the order: > > #V+ > diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el > index 37a707e..56406d0 100644 > --- a/lisp/gnus-sum.el > +++ b/lisp/gnus-sum.el > @@ -7252,7 +7252,6 @@ If FORCE (the prefix), also save the .newsrc file(s)." > (gnus-score-adaptive)) > (when gnus-use-scoring > (gnus-score-save))) > - (gnus-run-hooks 'gnus-summary-prepare-exit-hook) > (when gnus-use-cache > (gnus-cache-possibly-remove-articles) > (gnus-cache-save-buffers)) > @@ -7269,6 +7268,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." > (unless quit-config > (gnus-run-hooks 'gnus-exit-group-hook) > (gnus-summary-update-info)) > + (gnus-run-hooks 'gnus-summary-prepare-exit-hook) > (gnus-close-group group) > ;; Make sure where we were, and go to next newsgroup. > (when (buffer-live-p (get-buffer gnus-group-buffer)) > #V- Staring at the change some more, I think it should be safe-ish. Nothing really visible that should affect the functions in that hook happens between the old and new place (except the marks stuff), so I've applied it. If this leads to regressions in somebody's setup, we'll have to revert it, though. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no