info-gnus-english
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nnimap splitting stopped working


From: Olaf Klischat
Subject: nnimap splitting stopped working
Date: Sat, 27 Nov 2004 00:57:36 +0100
User-agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Common Lisp, linux)

Well, my nnimap splitting stopped working a month ago. Since then, all
mails just stay in "INBOX". Unfortunately, I can't reconstruct exactly
what I did back then (the last Gnus update -- to 5.10.6 -- happened in
July, so that isn't it). I did not change anything in
nnimap-split-rule (and it doesn't work with a simple value for
debugging either -- see below).

The (probably) relevant configuration:

(setq gnus-select-method '(nntp "news.fhg.de"))

(setq gnus-secondary-select-methods '(

    [...]

    (nnimap "ms.isst.fhg.de"
            (nnimap-address "ms.isst.fhg.de")
            (nnimap-authinfo-file "~/.authinfo"))

    [...]
    ))

(setq nnimap-split-inbox "ms.isst.fhg.de:INBOX")

;; for debugging
(setq nnimap-split-rule
      '(
        ("INBOX.testfldr"          "^Subject:.*testfldr.*")))


When hitting "g" in the group buffer, the following trace appears
(among others) in the *nnimap-debug* buffer ((setq nnimap-debug t)):

| 2 -> nnimap-split-articles: group=nil server="ms.isst.fhg.de"
| | 3 -> nnimap-possibly-change-server: server="ms.isst.fhg.de"
| | 3 <- nnimap-possibly-change-server: " *nnimap* ms.isst.fhg.de"
| | 3 -> nnimap-split-find-inbox: server="ms.isst.fhg.de"
| | 3 <- nnimap-split-find-inbox: ("ms.isst.fhg.de:INBOX")
| | 3 -> nnimap-possibly-change-group: group="ms.isst.fhg.de:INBOX" server=nil
| | | 4 -> nnimap-possibly-change-server: server=nil
| | | 4 <- nnimap-possibly-change-server: " *nnimap* ms.isst.fhg.de"
| | 3 <- nnimap-possibly-change-group: nil
| 2 <- nnimap-split-articles: t

5 minutes of skimming through the Gnus elisp sources (especially
nnimal.el) revealed the following:

- The only function that touches nnimap-split-rule directly is
  nnimap-split-find-rule, and that function is never called according
  to the trace.

- The only function that *could* call nnimap-split-find-rule directly is
  nnimap-split-articles, whose call trace I've shown above.

- nnimap-split-articles would call nnimap-split-find-rule if
  nnimap-possibly-change-group returned non-nil (see source code),
  which it doesn't (see trace).

  nnimap-possibly-change-group returns nil because, in the conditional

      (if (or (null group) (imap-current-mailbox-p group))
          imap-current-mailbox
        ...)

  (whose value becomes the return value of
  nnimap-possibly-change-group), the condition is non-nil, and
  imap-current-mailbox is nil. Is this erroneous?

- All calls to "nnimap-split-articles" (there are 21 per press of "g",
  unless I miscounted) have exactly the same trace as the one shown
  above.

Any ideas?

Olaf


reply via email to

[Prev in Thread] Current Thread [Next in Thread]