From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Karl Fogel Newsgroups: gmane.emacs.devel Subject: Re: Why does Gnus article-moving act like a fetch of new news? Date: Tue, 13 Apr 2021 15:25:51 -0500 Message-ID: <875z0qextc.fsf@red-bean.com> References: <87lf9rruzl.fsf@red-bean.com> <87wnt824dq.fsf@gnus.org> <87eeffsaa6.fsf@ericabrahamsen.net> <87tuobs7xd.fsf@red-bean.com> <87a6q3s6ja.fsf@ericabrahamsen.net> Reply-To: Karl Fogel Mime-Version: 1.0 Content-Type: text/plain; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35531"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Lars Ingebrigtsen , Emacs Development To: Eric Abrahamsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Apr 13 22:27:13 2021 Return-path: Envelope-to: ged-emacs-devel@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 1lWPcv-00097Z-LI for ged-emacs-devel@m.gmane-mx.org; Tue, 13 Apr 2021 22:27:13 +0200 Original-Received: from localhost ([::1]:59064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lWPcu-0008Ab-MG for ged-emacs-devel@m.gmane-mx.org; Tue, 13 Apr 2021 16:27:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42018) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lWPbn-0007ch-1x for emacs-devel@gnu.org; Tue, 13 Apr 2021 16:26:04 -0400 Original-Received: from sanpietro.red-bean.com ([45.79.25.59]:38288) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lWPbi-0005Dq-Js for emacs-devel@gnu.org; Tue, 13 Apr 2021 16:26:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=red-bean.com; s=202005newsp; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:Reply-To:References:Subject:Cc:To:From:Sender: Content-Transfer-Encoding:Content-ID:Content-Description; bh=WDSrSjOIQiy7LB7RJmxiLJNKnkRxZmEakNEXxcKV4ow=; t=1618345555; x=1619555155; b=YqNjbsOQdM/I6qiTs4VZrSGSO8uh0p1cC5Ea+1rZ7XtgPZNN83JiniZAcWjMr++parPmj8weGR GMRAj3DSqHUmy3QzSNah8/Orf7m1B2gF2lzCh7GiRV7ZzdO77DGMVZswmt5rjlxsyYEojgl6Vyhn1 GX7DrUnJ8Lx9Yfyy2fG0b2s29aLR5zq/bVNyvEcHUVGr3WkmLlfMG2ZhFVauz8z9rf1SDmfP8ic6l jnXDVlI8gsywYUMrWM94Fo72C+NvU/mY2kECayNqS91BsLYUx9c5nUv2zg7W4Y2LiN0t8YtkBUw0w g0RUoV13KbEx68BowYqQY9pEw7GwUpkAjEocQ==; Original-Received: from 99-112-125-163.lightspeed.cicril.sbcglobal.net ([99.112.125.163]:45044 helo=floss) by sanpietro.red-bean.com with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lWPbc-0004EB-SY; Tue, 13 Apr 2021 20:25:52 +0000 In-Reply-To: <87a6q3s6ja.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Mon, 12 Apr 2021 11:26:49 -0700") Received-SPF: pass client-ip=45.79.25.59; envelope-from=kfogel@red-bean.com; helo=sanpietro.red-bean.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:268012 Archived-At: On 12 Apr 2021, Eric Abrahamsen wrote: >> On 12 Apr 2021, Eric Abrahamsen wrote: >>> So maybe `gnus-activate-group' would be sufficient? Though it >>> looks >>> like the number-of-articles update is happening at line 10271, >>> anyway. Karl, would you be willing to patch the function to >>> replace `gnus-group-get-new-news-this-group' with >>> `gnus-activate-group', and run that for a while and see if >>> anything >>> terrible happens? >> >> Yes, I'll do that and set a bit to report back here in two >> weeks. I'm >> happy to be the Gnus test suite for a fortnight :-). > >Hopefully things won't go too wrong :) Well, they go sort-of wrong :-). Here's what happens: First, this is the patch I'm using: --- lisp/gnus/gnus-sum.el +++ lisp/gnus/gnus-sum.el @@ -10346,8 +10346,8 @@ gnus-summary-move-article (apply #'gnus-summary-remove-process-mark articles-to-update-marks)) ;; Re-activate all groups that have been moved to. (with-current-buffer gnus-group-buffer - (let ((gnus-group-marked to-groups)) - (gnus-group-get-new-news-this-group nil t))) + (dolist (group to-groups) + (gnus-activate-group group nil t nil t))) (gnus-kill-buffer copy-buf) (gnus-summary-position-point) (There's a variant in which that first `nil' argument to `gnus-activate-group' is `t' instead. I'll discuss both ways below.) * *Without* the patch applied, per-article behavior is correct: If you're in the summary buffer for group A, and you move an article to group B, then if you exit group A's summary buffer and go visit group B's summary, the article is there already, and its read-vs-unread state has been properly preserved. * With the patch as shown above: Immediately after moving an unread article from A to B, when you enter group B's summary buffer and look for the article, it won't be there. However, if you `q'uit out of Gnus and then start Gnus again with `M-x gnus', *then* when you visit B, the article will be in B and marked as unread. Now try the same thing with a marked-as-read article. Not only will the article not be in group B right away, but even after you quit out of Gnus and then start Gnus again, when you visit group B, the article will be there *but marked as unread*. * With the same patch but with the first `nil' changed to `t': That's the SCAN argument, but changing it to `t' has no effect: it's the same behavior as with the original patch. Now, maybe my patch wasn't what you hand in mind? Comments/suggestions welcome... Best regards, -Karl