Gnus development mailing list
 help / color / mirror / Atom feed
* In gnus-sum.el: Incorrect handling of sparse articles
@ 2004-03-14 13:05 Stefan Wiens
  2004-03-15 10:50 ` Stefan Wiens
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Wiens @ 2004-03-14 13:05 UTC (permalink / raw)


Hi,

in gnus-sum.el, function gnus-read-header:

(defun gnus-read-header (id &optional header)
  "Read the headers of article ID and enter them into the Gnus system."
[...]
      ;; If this is a sparse article, we have to nix out its
      ;; previous entry in the thread hashtb.
      (when (and header
		 (gnus-summary-article-sparse-p (mail-header-number header)))
	(let* ((parent (gnus-parent-id (mail-header-references header)))
	       (thread (and parent (gnus-id-to-thread parent))))
	  (when thread
	    (delq (assq header thread) thread))))
             ^^^^

That `delq' operation trashes the thread structure in the
gnus-newsgroup-dependencies table. In contrast to the comment, it does
not remove the "previous entry" from the table, but causes the thread
to be split.

Is this (supposed) "expunging" really necessary?
If the sparse header is left in place, gnus-get-newsgroup-headers will
simply replace it.

I believe that weird code causes the long-standing problems with `^',
`A T', `A R' when gnus-build-sparse-threads is set to e. g. 'some.

I am currently testing with the offending code (cited above) commented
out, and everything seems to work fine.


Stefan



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: In gnus-sum.el: Incorrect handling of sparse articles
  2004-03-14 13:05 In gnus-sum.el: Incorrect handling of sparse articles Stefan Wiens
@ 2004-03-15 10:50 ` Stefan Wiens
  2004-03-15 12:34   ` Katsumi Yamaoka
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Wiens @ 2004-03-15 10:50 UTC (permalink / raw)


> in gnus-sum.el, function gnus-read-header:
>
>       ;; If this is a sparse article, we have to nix out its
>       ;; previous entry in the thread hashtb.
>       (when (and header
>                  (gnus-summary-article-sparse-p (mail-header-number header)))
>         (let* ((parent (gnus-parent-id (mail-header-references header)))
>                (thread (and parent (gnus-id-to-thread parent))))
>           (when thread
>             (delq (assq header thread) thread))))

That code was introduced on Nov 24, 1997 (no CVS comment).

The damage gnus-read-header does to gnus-newsgroup-dependencies was
probably exposed by:

,----[ ChangeLog ]
|
| 2002-02-21  ShengHuo ZHU  <zsh@cs.rochester.edu>
| [...]
|         * gnus-sum.el (gnus-dependencies-add-header): If replaced, don't
|         rebuild.
|         (gnus-summary-edit-article-done): Gnus-get-newsgroup-headers takes
|         nil as dependencies as well.
`----

Next day, on Feb 22, 2002, first reporting of
`This is a pseudo-article' errors after upgrading.
(gnus.ding <m3n0y118jv.fsf@neo.loria>)

> I am currently testing with the offending code (cited above) commented
> out, and everything seems to work fine.

Still works. IMHO the code section should simply be removed.

Stefan



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: In gnus-sum.el: Incorrect handling of sparse articles
  2004-03-15 10:50 ` Stefan Wiens
@ 2004-03-15 12:34   ` Katsumi Yamaoka
  0 siblings, 0 replies; 3+ messages in thread
From: Katsumi Yamaoka @ 2004-03-15 12:34 UTC (permalink / raw)


>>>>> In <87hdwqe657.fsf@xenon.eswe.dyndns.org>
>>>>>	Stefan Wiens <s.wi@gmx.net> wrote:

>> in gnus-sum.el, function gnus-read-header:
>>
>>       ;; If this is a sparse article, we have to nix out its
>>       ;; previous entry in the thread hashtb.
>>       (when (and header
>>                  (gnus-summary-article-sparse-p (mail-header-number header)))
>>         (let* ((parent (gnus-parent-id (mail-header-references header)))
>>                (thread (and parent (gnus-id-to-thread parent))))
>>           (when thread
>>             (delq (assq header thread) thread))))

> That code was introduced on Nov 24, 1997 (no CVS comment).

It appeared in qgnus-0.16 and the ChangeLog entry is in qgnus-0.18.

Wed Nov 26 18:19:29 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
[...]
	* gnus-sum.el (gnus-read-header): Would bug out on sparse
	articles. 

I saw it just breaks a thread.

> The damage gnus-read-header does to gnus-newsgroup-dependencies was
> probably exposed by:

> ,----[ ChangeLog ]
>|
>| 2002-02-21  ShengHuo ZHU  <zsh@cs.rochester.edu>
>| [...]
>|         * gnus-sum.el (gnus-dependencies-add-header): If replaced, don't
>|         rebuild.
>|         (gnus-summary-edit-article-done): Gnus-get-newsgroup-headers takes
>|         nil as dependencies as well.
> `----

> Next day, on Feb 22, 2002, first reporting of
> `This is a pseudo-article' errors after upgrading.
> (gnus.ding <m3n0y118jv.fsf@neo.loria>)

>> I am currently testing with the offending code (cited above) commented
>> out, and everything seems to work fine.

> Still works. IMHO the code section should simply be removed.

> Stefan

I've simply removed it.  Although we may get a new bug report
next day...
-- 
Katsumi Yamaoka <yamaoka@jpl.org>



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-03-15 12:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-14 13:05 In gnus-sum.el: Incorrect handling of sparse articles Stefan Wiens
2004-03-15 10:50 ` Stefan Wiens
2004-03-15 12:34   ` Katsumi Yamaoka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).