From: Simon Josefsson <jas@extundo.com>
Cc: bugs@gnus.org, emacs-devel@gnu.org
Subject: Re: Gnus reads my mail
Date: Tue, 15 Feb 2005 22:54:48 +0100 [thread overview]
Message-ID: <ilu7jl9wkt3.fsf@latte.josefsson.org> (raw)
In-Reply-To: <87vf8u54kb.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Tue, 15 Feb 2005 08:53:48 -0500")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Although Gnus did not literally *eat* my email, I find this problem to be
> very serious since it might make me miss important email messages.
Agreed.
> - .../trunk/src/emacs --eval '(setq imap-debug t nnimap-debug t)' -f gnus
> - type in my imap password
> - save *imap-debug* to `imap-log-startup'
It appears the problem is in this part alone. It is easier to read if
you only enable `imap-log', and paste the result from the *imap-log*
buffer, but the same information is stored in the debug buffers too,
so I'm trying to read them below:
> | | | | | | 7 -> imap-arrival-filter: proc=#<process imap> string="* STATUS emacs (UNSEEN 35 UIDNEXT 22270 UIDVALIDITY 1062436086)
Ok, here your server reports that there are 35 unseen messages in the
emacs group. Good.
> | | | | | 6 -> imap-send-command: command="EXAMINE \"emacs\"" buffer=nil
> | | | | | | 7 <- imap-send-command-1: nil
> | | | | | 6 <- imap-send-command: 26
> | | | | | 6 -> imap-wait-for-tag: tag=26 buffer=nil
> | | | | | | 7 -> imap-arrival-filter: proc=#<process imap> string="* 5415 EXISTS
> * 0 RECENT
> * OK [UIDVALIDITY 1062436086] UID validity status
> * OK [UIDNEXT 22270] Predicted next UID
> * FLAGS (gnus-expire gnus-forward \\Answered \\Flagged \\Deleted \\Draft \\Seen)
> * OK [PERMANENTFLAGS ()] Permanent flags
> * OK [UNSEEN 5381] first unseen message in /export/home/mail/monnier/Mail/emacs
> 26 OK [READ-ONLY] EXAMINE completed
And here Gnus enter the group read-only (EXAMINE).
> | | | | 5 -> imap-send-command-1: cmdstr="28 STATUS \"emacs\" (UIDNEXT)"
> | | | | 5 <- imap-send-command-1: nil
> | | | 4 <- imap-send-command: 28
> | | | 4 -> imap-wait-for-tag: tag=28 buffer=nil
> | | | | 5 -> imap-arrival-filter: proc=#<process imap> string="* NO CLIENT BUG DETECTED: STATUS on selected mailbox: emacs
> * STATUS emacs (UIDNEXT 22270)
> 28 OK STATUS completed
> "
Here Gnus asks for the UIDNEXT, which seem fine.
I believe the UoW warning is incorrect, sending STATUS on the
currently selected mailbox is valid according to RFC 2060. This have
changed in RFC 3501, which say this is a SHOULD NOT operation, but the
justification given and the suggested workarounds aren't applicable to
what Gnus want to do. Admittedly, Gnus (nnimap) could special-case
the STATUS on a selected mailbox, and return correct data immediately.
(Patches welcome..)
> | | | | | | 7 -> imap-send-command-1: cmdstr="65 SELECT \"emacs\""
> | | | | | | 7 <- imap-send-command-1: nil
> | | | | | 6 <- imap-send-command: 65
> | | | | | 6 -> imap-wait-for-tag: tag=65 buffer=nil
> | | | | | | 7 -> imap-arrival-filter: proc=#<process imap> string="* 5415 EXISTS
> * 0 RECENT
> * OK [UIDVALIDITY 1062436086] UID validity status
> * OK [UIDNEXT 22270] Predicted next UID
> * FLAGS (gnus-expire gnus-forward \\Answered \\Flagged \\Deleted \\Draft \\Seen)
> * OK [PERMANENTFLAGS (gnus-expire gnus-forward \\* \\Answered \\Flagged \\Deleted \\Draft \\Seen)] Permanent flags
> * OK [UNSEEN 5381] first unseen message in /export/home/mail/monnier/Mail/emacs
> 65 OK [READ-WRITE] SELECT completed
Here Gnus select the group read-write.
> | | | | 5 -> imap-send-command-1: cmdstr="68 STATUS \"emacs\" (UNSEEN)"
> | | | | 5 <- imap-send-command-1: nil
> | | | 4 <- imap-send-command: 68
> | | | 4 -> imap-wait-for-tag: tag=68 buffer=nil
> | | | | 5 -> imap-arrival-filter: proc=#<process imap> string="* NO CLIENT BUG DETECTED: STATUS on selected mailbox: emacs
> * STATUS emacs (UNSEEN 0)
> 68 OK STATUS completed
And here Gnus asks for the number of UNSEEN messages in the group. It
is now 0. I didn't remove any operation on your emacs folder above,
and Gnus didn't remove any SEEN flags in the group, so something other
than Gnus must have reset the unseen count.
I suspect the UoW implementation of the STATUS command on a currently
selected mailbox is buggy.
The STATUS value is used by Gnus in the group buffer, that's why it
reads 0 there.
prev parent reply other threads:[~2005-02-15 21:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-15 13:53 Gnus reads my mail Stefan Monnier
2005-02-15 21:54 ` Simon Josefsson [this message]
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=ilu7jl9wkt3.fsf@latte.josefsson.org \
--to=jas@extundo.com \
--cc=bugs@gnus.org \
--cc=emacs-devel@gnu.org \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.