Gnus development mailing list
 help / color / mirror / Atom feed
From: Kevin Greiner <kgreiner@xpediantsolutions.com>
Subject: Re: PATCH II (for testing only): [Bug, Debian(?)] "g" goes not
Date: Mon, 15 Mar 2004 22:38:41 -0500	[thread overview]
Message-ID: <ud67dea0u.fsf@xpediantsolutions.com> (raw)
In-Reply-To: <m31xnvblt7.fsf@water.tss.usg.edu>

Marcus Frings <iam-est-hora-surgere@despammed.com> writes:

> * Mark Plaksin <happy@mcplaksin.org> wrote:
>
>>>> Please verify that this buffer contains, at least, one occurrance of
>>>> "DISCREPENCY LOCATED".  If it does, please send the contents of this
>>>> buffer to me.
>
>> I didn't get any occurrences :(  In case it's useful, the (160k) output
>> is here: http://mcplaksin.org/happy/kjg.txt
>
> Well, I had some of these. Don't know what this means. :-)

To answer your question, it means that the old, and new, algorithms
disagreed as to the type (primary, secondary, foreign) of the group's
server.  This supports your position that the new algorithm changed
the behavior of gnus.

So the question is, did the new algorithm introduce a new bug or fix
an old bug (one that you were incidentally depending on)?

Here's the debug for one of the groups (I changed the IP # just to
confuse any casual readers).

Beginning Test on Group nnimap+192.168.0.1:INBOX.Mark
method = nnimap:192.168.0.1

cmethod = (nnimap:192.168.0.1 nnimap 192.168.0.1 
  (nnimap-address 192.168.0.1)
  (nnimap-authinfo-file ~/.authinfo)
  (nnimap-stream ssl)
  (nnimap-list-pattern INBOX.*))

method = (nnimap 192.168.0.1 
  (nnimap-address 192.168.0.1)
  (nnimap-authinfo-file ~/.authinfo)
  (nnimap-stream ssl)
  (nnimap-list-pattern INBOX.*))
method[(nnimap 192.168.0.1 
          (nnimap-address 192.168.0.1)
          (nnimap-authinfo-file ~/.authinfo)
          (nnimap-stream ssl)
          (nnimap-list-pattern INBOX.*))]
 entry in type-cache = 
  ((nnimap 192.168.0.1 
      (nnimap-address 192.168.0.1)
      (nnimap-authinfo-file ~/.authinfo)
      (nnimap-stream ssl)
      (nnimap-list-pattern INBOX.*)) .
 secondary)
method-type = secondary
Need to calc method type is nil
new-results = nil
Beginning old solution
method = nnimap:192.168.0.1
method = (nnimap 192.168.0.1)
not equal = t
not secondary method = t
old-results = t
DISCREPENCY LOCATED: old-results = t new-results = nil

Now, to explain what this means.  By the debug, the value of
old-results was t so this expression evaluates to true.

(and (setq method (gnus-info-method info))
     (not (inline
	    (gnus-server-equal
	     gnus-select-method
	     (setq method (gnus-server-get-method nil method)))))
     (not (gnus-secondary-method-p method)))

The pseudo-code for this expression is

 (AND ... Have a non-nil method (The nil method is equivalent to the primary) ...
      (NOT ... Equal to the primary (gnus-select-method) method ...)
      (NOT ... Any of the known secondary methods ...))

or

The old algorithm concluded that this group was foreign.

Marcus, in your very first message (dated 18 Jan), you listed your
config as:

(setq gnus-secondary-select-methods
      '((nnimap "192.168.0.1"
		(nnimap-address "192.168.0.1")
		(nnimap-authinfo-file "~/.authinfo")
		(nnimap-stream ssl)
		(nnimap-list-pattern "INBOX.*")
		)))

This means that the (nnimap "192.168.0.1" ...) method shown in the
debug is a SECONDARY method.  This clearly shows that the old code was
buggy and that Lars new code fixed the bug.

As for your problem, gnus is certainly following a different branch in
the code.  You could be triggering either a latent bug in that code
or, the more likely, it's something in your configuration.

So let's take the easy path.  Open the gnus-start.el file and search
for ";; These groups are native or secondary.".  Insert this
expression after this line.

(when (equal (gnus-info-group info) "nnimap+192.168.0.1:INBOX.Mark")
  (debug))

Eval the buffer (don't compile it) then fetch the groups.  When the
debugger starts, use the 'c' and 'd' commands to step through the
gnus-get-unread-articles function.  Don't bother going to deep into the
functions it calls.  What you really want to know is which branch of
the cond is executed.

Here's the only issue left concerning Lars' code.  The value of the
variable 'method' is different.  In the old code, the variable
identified which method but none of the method parameters.  In the new
code, method identifies the fully-qualified method.  This should NOT
cause a problem.  However, your stepping though this code may tell a
different story.

Personally, my bet is that gnus is evaluating
(> (gnus-info-level info) level) as true.


Now then Mark, I suspect that you've been reading along so far.  Your
test results indicate that you didn't get any of the "DISCREPENCY
LOCATED" messages. That indicates that your problem is probably due to
'method' having a different value.  Hmmm... Didn't I just say that
that wasn't an issue?  This job just isn't fun anymore.

Gnus should be adding your groups to retrieve-groups. So, add the
debug expression shown above (with a suitable group name) then please
step through the code to see when it branched past the
(push (list method group) retrieve-groups) statement.

Thanks,
Kevin




  reply	other threads:[~2004-03-16  3:38 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-18  1:17 [Bug, Debian(?)] "g" goes not refresh nnimap groups! Marcus Frings
2004-01-18  5:52 ` Simon Josefsson
2004-01-18 22:45   ` Marcus Frings
2004-01-19  6:12     ` Simon Josefsson
2004-01-19 10:30       ` Marcus Frings
2004-02-08 17:21         ` Raymond Scholz
2004-02-08 20:41           ` Marcus Frings
2004-03-04 19:34     ` Marcus Frings
2004-03-04 22:49       ` Simon Josefsson
2004-03-04 23:38         ` Marcus Frings
2004-03-05 20:29           ` Mark Plaksin
2004-03-09  7:02             ` Kevin Greiner
2004-03-09 19:00               ` Marcus Frings
2004-03-09 19:30                 ` Mark Plaksin
2004-03-10  2:25                   ` PATCH (for testing only): " Kevin Greiner
2004-03-10 16:45                     ` PATCH (for testing only): [Bug, Debian(?)] "g" goes not refresh Mark Plaksin
2004-03-10 18:58                       ` PATCH II (for testing only): [Bug, Debian(?)] "g" goes not Kevin Greiner
2004-03-10 19:38                         ` Mark Plaksin
2004-03-10 22:36                         ` Marcus Frings
2004-03-11  0:10                         ` Kevin Greiner
2004-03-11 22:35                         ` Marcus Frings
2004-03-12  0:48                           ` Kevin Greiner
2004-03-13 22:13                           ` Marcus Frings
2004-03-12  1:04                         ` Mark Plaksin
2004-03-12  3:42                         ` Mark Plaksin
2004-03-12  6:40                         ` Kevin Greiner
2004-03-12 12:37                         ` Marcus Frings
2004-03-13 15:23                         ` Mark Plaksin
2004-03-13 20:22                         ` Marcus Frings
2004-03-13 23:10                         ` Marcus Frings
     [not found]                         ` <m38yi87ar9.fsf@ <m3brn0db3t.fsf@water.tss.usg.edu>
2004-03-14  7:17                           ` Kevin Greiner
2004-03-14 13:16                           ` Marcus Frings
     [not found]                           ` <v <vita-brevis-breviter-in-brevi-finietur-mors-venit-velociter-quae-neminem-veretur-87d67fpo0n.fsf@gothgoose.net>
2004-03-14 13:27                             ` Mark Plaksin
2004-03-16  3:38                               ` Kevin Greiner [this message]
2004-03-21 17:44                               ` Marcus Frings
     [not found]                               ` <vita-brevis-breviter-in-brevi-finietur-mors-venit-velociter-quae-neminem-ve <ud67dea0u.fsf@xpediantsolutions.com>
2004-03-23  1:30                                 ` Kevin Greiner
2004-03-23 20:37                                 ` Marcus Frings
2004-04-17 16:09                                 ` Marcus Frings
     [not found]                                 ` <vita-brevis-breviter-in-brevi-finietur-mors-venit-velociter-quae-neminem-veretur-87brmqdri1.fsf@gothgoose.net <u3c80e4ex.fsf@xpediantsolutions.com>
2004-04-18 20:29                                   ` Kevin Greiner
2004-04-27 12:25                                   ` Marcus Frings
2004-03-14 14:12                             ` Marcus Frings
2004-03-10 22:08                     ` PATCH (for testing only): [Bug, Debian(?)] "g" goes not refresh Marcus Frings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ud67dea0u.fsf@xpediantsolutions.com \
    --to=kgreiner@xpediantsolutions.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).