From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/65024 Path: news.gmane.org!not-for-mail From: Katsumi Yamaoka Newsgroups: gmane.emacs.gnus.general Subject: Re: gnus-summary-insert-old-articles marks articles as read Date: Mon, 06 Aug 2007 19:12:50 +0900 Organization: Emacsen advocacy group Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1186395284 26298 80.91.229.12 (6 Aug 2007 10:14:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 6 Aug 2007 10:14:44 +0000 (UTC) Cc: ding@gnus.org To: bugs@quimby.gnus.org Original-X-From: ding-owner+M13534@lists.math.uh.edu Mon Aug 06 12:14:42 2007 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.50) id 1IHzbm-0002TL-FU for ding-account@gmane.org; Mon, 06 Aug 2007 12:14:42 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1IHzai-0007ss-76; Mon, 06 Aug 2007 05:13:36 -0500 Original-Received: from mx1.math.uh.edu ([129.7.128.32]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1IHzag-0007sT-E7 for ding@lists.math.uh.edu; Mon, 06 Aug 2007 05:13:34 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtp (Exim 4.67) (envelope-from ) id 1IHzae-0002ke-6w for ding@lists.math.uh.edu; Mon, 06 Aug 2007 05:13:33 -0500 Original-Received: from orlando.hostforweb.net ([216.246.45.90]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1IHzad-0006hX-00 for ; Mon, 06 Aug 2007 12:13:31 +0200 Original-Received: from [66.225.201.151] (port=42473 helo=mail.jpl.org) by orlando.hostforweb.net with esmtpa (Exim 4.63) (envelope-from ) id 1IHza0-0006FM-Qy; Mon, 06 Aug 2007 05:12:53 -0500 X-Hashcash: 1:20:070806:bugs@quimby.gnus.org::aDVG2MEdSaCsIlf9:000000000000000000000000000000000000000006LGV X-Hashcash: 1:20:070806:ding@gnus.org::/4mpie+ff490NErx:00000MEU X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1.50 (gnu/linux) Cancel-Lock: sha1:aGMbyYzyY/Ca1+Nu7OB9Ncg5zPw= X-Antivirus-Scanner: Clean mail though you should still use an Antivirus X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - orlando.hostforweb.net X-AntiAbuse: Original Domain - gnus.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - jpl.org X-Source: X-Source-Args: X-Source-Dir: X-Spam-Score: -2.5 (--) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:65024 Archived-At: --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Hi, (I added Cc:ding for archiving this article in the Gmane server. I agree with changing the bug-report address to ding as Reiner wrote in: http://article.gmane.org/gmane.emacs.pretest.bugs/19472) >>>>> Johan Bockg=E5rd wrote: > [Resending] > `/ o' (gnus-summary-insert-old-articles) marks the newly inserted > articles as "old", causing the following highly annoying behavior: > Go to a group where the latest bunch of articles are unread. > 3 RET ; (1) enter group > 4 / o ; (2) insert old articles > q ; (3) exit group > P RET ; (4) re-enter group > q ; (5) exit > The 4 articles inserted by `/ o' are marked `O' in step (2) even if > they were previously unread. After re-entering the group (4) they are > marked `M' (duplicate suppression). After exiting (5) they will be > marked permanently read although the user has never read them or asked > for them to be marked. The cause is that Gnus doesn't check whether inserted articles are unread or not when `gnus-fetch-old-headers' is nil (the default). And articles that have no mark and are not recognized as unread are marked with `gnus-ancient-mark' (i.e., `O'). Although, in a sense, recognizing them as ancient might not necessarily be wrong, it's indeed useless. In addition to this, it needs to be improved further so that the information of marks having been changed on inserted articles may be updated (internally in Gnus and in the newsrc file afterward). I've tried fixing it in the CVS trunk, though I'm not quite sure this is the right fix and does not enbug. Could you try it? The patch for No Gnus v0.6 that you use is below: --=-=-= Content-Type: text/x-patch Content-Disposition: inline --- gnus-sum.el~ 2007-04-27 08:39:17 +0000 +++ gnus-sum.el 2007-08-06 10:06:40 +0000 @@ -12180,12 +12180,24 @@ (when gnus-suppress-duplicates (gnus-dup-suppress-articles)) - ;; We might want to build some more threads first. - (when (and gnus-fetch-old-headers - (eq gnus-headers-retrieved-by 'nov)) - (if (eq gnus-fetch-old-headers 'invisible) - (gnus-build-all-threads) - (gnus-build-old-threads))) + (if (and gnus-fetch-old-headers + (eq gnus-headers-retrieved-by 'nov)) + ;; We might want to build some more threads first. + (if (eq gnus-fetch-old-headers 'invisible) + (gnus-build-all-threads) + (gnus-build-old-threads)) + ;; Mark the inserted articles that are unread as unread. + (setq gnus-newsgroup-unreads + (gnus-sorted-nunion + gnus-newsgroup-unreads + (gnus-sorted-nintersection + (gnus-list-of-unread-articles gnus-newsgroup-name) + articles))) + ;; Mark the inserted articles as selected so that the information + ;; of the marks having been changed by a user may be updated when + ;; exiting this group. See `gnus-summary-update-info'. + (dolist (art articles) + (setq gnus-newsgroup-unselected (delq art gnus-newsgroup-unselected)))) ;; Let the Gnus agent mark articles as read. (when gnus-agent (gnus-agent-get-undownloaded-list)) --=-=-=--