From: Rainer M Krug <Rainer@krugs.de>
To: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: ding@gnus.org
Subject: SOLVED: unquoted group names from dovecot not shown in GNUS WAS: One folder in local imap not seen
Date: Wed, 13 Aug 2014 14:29:06 +0200 [thread overview]
Message-ID: <m2ppg47eul.fsf_-_@krugs.de> (raw)
In-Reply-To: <87a978vfdl.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Wed, 13 Aug 2014 18:43:50 +0800")
[-- Attachment #1: Type: text/plain, Size: 7208 bytes --]
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> Rainer M Krug <Rainer@krugs.de> writes:
>
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> Rainer M Krug <Rainer@krugs.de> writes:
>>>
>>>> <#secure method=pgpmime mode=sign>
>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>>
>>>>> Rainer M Krug <Rainer@krugs.de> writes:
>>>>>
>>>>>> I am posting this here now, as I did not get any reponse on the
>>>>>> gnus.user list.
>>>>>>
>>>>>> I have one folder in my local imap, which I see when I telnet into the
>>>>>> local imap server, which is seen by e.g. Mail (OSX), but not seen by
>>>>>> gnus. I have added the local imap server again as an additional server,
>>>>>> but I also couldn't see it there. It is not killed as far as I can see.
>>>>>
>>>>> One good way of seeing where things are going wrong is to edebug
>>>>> `nnimap-get-groups'. When you go into the *Server* buffer and list the
>>>>> groups in your local imap server, you'll be able to see the results of
>>>>> the LIST command, and then see how Gnus parses those results. That
>>>>> should get you closer to the source of the problem.
>>>>
>>>> OK - yes, it does. But it does not help me. When I cycle through the
>>>> 'nnimap-get-groups' function, I can't make any sense out of the results,
>>>> but I realized that in the (while ...) loop (see the code for reference below), the folder
>>>> ...[Mailbox].Later does not occur. As I can't make any sense out of the
>>>> previous results.
>>>>
>>>> Any further tips how I can debug this?
>>>
>>> The early part of the function is just issuing the LIST command to imap,
>>> and inserting the results into a buffer. Just to make sure that the LIST
>>> command *isn't* returning your folder, step through `nnimap-get-groups'
>>> again, and when you get to the second (goto-char (point-min)), hit "e"
>>> to eval, and tell it (switch-to-buffer (current-buffer)). That should
>>> make visible a buffer with a name like "#<buffer *nnimap PR nil
>>> *nntpd**-44898>". You can see the results of the LIST command there.
>>>
>>> If the folder really isn't in that list, then I don't know what to tell
>>> you -- Gnus should be getting exactly the same results as your local
>>> telnet experiments.
>>
>> OK - they are in the result from the LIST output:
>>
>> ,----
>> | ...
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Gmail].All Mail".
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.[Gmail].Bin.
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.[Gmail].Drafts.
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.[Gmail].Important.
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.[Gmail].Sent.
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Gmail].Sent Mail".
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.[Gmail].Spam.
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.[Gmail].Starred.
>> | * LIST (%HasChildren) "." RMKrugGMAIL.[Mailbox].
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.[Mailbox].Later.
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Mailbox].To Buy".
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Mailbox].To Download".
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Mailbox].To Follow".
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Mailbox].To Read".
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Mailbox].To Watch".
>> | * LIST (%HasNoChildren) "." "RMKrugGMAIL.[Mailbox].Wait For Feedback".
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.Emacs-macosx.
>> | * LIST (%HasNoChildren) "." RMKrugGMAIL.INBOX.
>> | ...
>> `----
>>
>> But the line with the '.Later' folder is not iterated through in the
>> while loop.
>
> In Gnus, do you see any of the groups above that are *not* quoted? Ie,
> Important, or Emacs-macosx?
I see all groups which are not quoted except the ones which have "[...]"
in their name / path. So I do not see RMKrugGMAIL.[Gmail].Important, but
I see e.g. RMKrugGMAIL.INBOX
>
> A problem I've run into in the past is that Gnus parses the mailbox name
> using (read (current-buffer)). That's supposed to chomp the whole name
> in one go, which it does if the mailbox is quoted. But if it isn't
> quoted, the read just chomps forward until it hits a slash, or a period,
> or some other character that it considers to delimit a Lisp object.
That explains.
>
> Right now, browsing the group list for any of my Gmail imap accounts, I
> see this in the list:
>
> U 0: [Gmail]
> U 0: [Gmail]
> U 0: [Gmail]
> U 0: [Gmail]
Interestingly, when stepping through the code, I see several
Gmail. occurring, but I do not see them in the listing.
>
> Actually, those are my Spam, Trash, and Drafts groups, plus the one
> "HasChildren" [Gmail] mailbox. They just show up broken in the browse
> list, I think because of the problem I outlined above.
>
> Mind you, I'm actually able to access those groups in the *Group*
> buffer, I assume because the groups were already entered into my newsrc
> file.
Same here - and I think I saw them in an earlier version of gnus, but I
am not sure.
>
> It would be nice if there was a dovecot option to say "quote mailbox
> names no matter what," but I don't know if there is. I think the spec
> says the names must be quoted if there's a space in them, but if not
> it's up to the server.
Agreed. AS I am using offlineimap, I could use name translation rules,
but I kind of don't like the idea here.
>
> Just to confirm this, would you mind eval'ling this version of
> nnimap-get-groups, and seeing if it helps? It's an ugly hack from ages
> ago, that I used when I was having this problem, but then I stopped
> using it, I don't remember why. It's possible I used it for a while, the
> groups were entered correctly into my newsrc, and then when I stopped
> using it it didn't break anything, so I let it go.
>
> One manual edit you'll have to make is to add a ^M control character
> where I've indicated below -- I think it wouldn't survive the email
> trip.
OK - this is working. Thanks a lot. I will add it to my .gnus.el file
until a release of gnus which includes a fix is released.
If there is anything else I should test, please let ma know.
Thanks a million,
Rainer
>
> (defun nnimap-get-groups ()
> (erase-buffer)
> (let ((sequence (nnimap-send-command "LIST \"\" \"*\""))
> groups)
> (nnimap-wait-for-response sequence)
> (subst-char-in-region (point-min) (point-max)
> ?\\ ?% t)
> (goto-char (point-min))
> (nnimap-unfold-quoted-lines)
> (goto-char (point-min))
> (while (search-forward "* LIST " nil t)
> (let ((flags (read (current-buffer)))
> (separator (read (current-buffer)))
> (group (buffer-substring-no-properties
> (progn (skip-chars-forward " \"")
> (point))
> (progn (move-end-of-line 1)
> (skip-chars-backward " \"") ; add a C-q C-m inside this string
> (point)))))
> (unless (member '%NoSelect flags)
> (push (utf7-decode (if (stringp group)
> group
> (format "%s" group)) t)
> groups))))
> (nreverse groups)))
>
>
>
--
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982
[-- Attachment #2: Type: application/pgp-signature, Size: 494 bytes --]
next prev parent reply other threads:[~2014-08-13 12:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-12 13:36 [gmane.emacs.gnus.user] " Rainer M Krug
2014-08-12 23:17 ` Eric Abrahamsen
2014-08-13 8:29 ` Rainer M Krug
2014-08-13 9:14 ` Eric Abrahamsen
2014-08-13 10:05 ` Rainer M Krug
2014-08-13 10:43 ` Eric Abrahamsen
2014-08-13 12:29 ` Rainer M Krug [this message]
2014-08-13 14:39 ` SOLVED: unquoted group names from dovecot not shown in GNUS WAS: " Eric Abrahamsen
2014-08-13 16:12 ` Rainer M Krug
2015-01-27 7:34 ` [gmane.emacs.gnus.user] " Lars Ingebrigtsen
2015-01-27 14:37 ` Eric Abrahamsen
2015-01-28 0:45 ` Lars Ingebrigtsen
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=m2ppg47eul.fsf_-_@krugs.de \
--to=rainer@krugs.de \
--cc=ding@gnus.org \
--cc=eric@ericabrahamsen.net \
/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).