Gnus development mailing list
 help / color / mirror / Atom feed
* What does gnus-group-get-new-news do with arg=nil?
@ 2008-06-03 14:55 David
  2008-06-06  7:20 ` Katsumi Yamaoka
  0 siblings, 1 reply; 2+ messages in thread
From: David @ 2008-06-03 14:55 UTC (permalink / raw)
  To: ding

I tried to figure out what gnus-group-get-new-news actually does without
further arguments and with permanent levels unset, and I simply don't
get it. Please also note that the doc-string carefully avoids this
question. My impression was that gnus-activate-level would be used, but
it doesn't seem to be that easy.

The question boils down to what gnus-get-unread-articles does without
arguments, i.e. level=nil. What I'd like in this case is that every
group with a level greater than gnus-activate-level should be completely
ignored, but this doesn't happen. If level is nil, 'active' is never set
to 'ignore in the following code:

(if (and level
       ;; If `active' is nil that means the group has
       ;; never been read, the group should be marked
       ;; as having never been checked (see below).
       active
       (> (gnus-info-level info) level))
   ;; Don't check groups of which levels are higher
   ;; than the one that a user specified.
   (setq active 'ignore))))

Therefore, later in the code, gnus-get-unread-articles-in-group is
called, even for foreign groups with a level greater than gnus-activate-group:

(cond
   ((eq active 'ignore)
    ;; Don't do anything.
    )
    (active
       (inline (gnus-get-unread-articles-in-group info active t)))

Is this really the wanted behavior? It seems unnecessary to me - if I
just hit 'g' without a prefix, I think everything greater than
gnus-activate-level shouldn't be touched at all.

-David




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

* Re: What does gnus-group-get-new-news do with arg=nil?
  2008-06-03 14:55 What does gnus-group-get-new-news do with arg=nil? David
@ 2008-06-06  7:20 ` Katsumi Yamaoka
  0 siblings, 0 replies; 2+ messages in thread
From: Katsumi Yamaoka @ 2008-06-06  7:20 UTC (permalink / raw)
  To: ding

>>>>> David wrote:

> I tried to figure out what gnus-group-get-new-news actually does without
> further arguments and with permanent levels unset, and I simply don't
> get it. Please also note that the doc-string carefully avoids this
> question. My impression was that gnus-activate-level would be used, but
> it doesn't seem to be that easy.

> The question boils down to what gnus-get-unread-articles does without
> arguments, i.e. level=nil. What I'd like in this case is that every
> group with a level greater than gnus-activate-level should be completely
> ignored, but this doesn't happen. If level is nil, 'active' is never set
> to 'ignore in the following code:

> (if (and level
>        ;; If `active' is nil that means the group has
>        ;; never been read, the group should be marked
>        ;; as having never been checked (see below).
>        active
>        (> (gnus-info-level info) level))
>    ;; Don't check groups of which levels are higher
>    ;; than the one that a user specified.
>    (setq active 'ignore))))

Probably I added those comments, that describe how Gnus works
internally.  Though I'll need much time by now to recall how
Gnus works.

> Therefore, later in the code, gnus-get-unread-articles-in-group is
> called, even for foreign groups with a level greater than gnus-activate-group:

> (cond
>    ((eq active 'ignore)
>     ;; Don't do anything.
>     )
>     (active
>        (inline (gnus-get-unread-articles-in-group info active t)))

> Is this really the wanted behavior?

Yes, maybe.  Gnus has been continuing this behavior for a long
time.

  I made two changes in 2007-11-21 (see lisp/ChangeLog).  The
  first one was for the fix against a certain problem.  However,
  I enbugged then; Gnus came not to do the behavior in question.
  So the second change was for fixing it.

> It seems unnecessary to me - if I just hit 'g' without a prefix, I
> think everything greater than gnus-activate-level shouldn't be
> touched at all.

Though I don't know why it is done, the behavior is useful to me
actually.  I usually start Gnus with the prefix arg 2 (I use the
level 1 for all the mail groups; 2 is for some newsgroups existing
in the local news server).  When I hit `l' in the group buffer,
the foreign groups of which the levels are 3-5, such as Gmane
groups, nnshimbun groups, etc., are listed without checking.  It
makes me easy to find groups that I don't read frequently.  What
I do next will be to hit `M-g' on such a group.

Regards,



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

end of thread, other threads:[~2008-06-06  7:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-03 14:55 What does gnus-group-get-new-news do with arg=nil? David
2008-06-06  7:20 ` 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).