* respooling nnimap group with nnimap-split-fancy
@ 2013-11-12 21:35 Pedro Silva
2013-11-13 1:20 ` Eric Abrahamsen
0 siblings, 1 reply; 8+ messages in thread
From: Pedro Silva @ 2013-11-12 21:35 UTC (permalink / raw)
To: ding
Hi,
I've been trying to get respooling to work with fancy splitting on
nnimap backends with no results. Here's the relevant trace:
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
decode-coding-string(nil utf-8)
nnimap-decode-gnus-group(nil)
nnimap-request-accept-article(nil "imap.example.com" t)
funcall(nnimap-request-accept-article nil "imap.example.com" t)
(let ((gnus-command-method (or gnus-command-method (gnus-find-method-for-group group))) (result (funcall (gnus-get-function gnus-command-method (quote request-accept-article)) (if (stringp group) (let ((gname group)) (if (string-match "^[^:]+:" gname) (substring gname ...) gname)) group) (cadr gnus-command-method) last))) (if (and gnus-agent (gnus-agent-method-p gnus-command-method) (cdr result)) (progn (gnus-agent-regenerate-group group (list (cdr result))))) result)
gnus-request-accept-article(nil (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap)) t t)
eval((gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t))
nnimap-request-move-article(68484 "INBOX" "imap.example.com" (gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t) t nil)
funcall(nnimap-request-move-article 68484 "INBOX" "imap.example.com" (gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t) t nil)
(let* ((gnus-command-method (gnus-find-method-for-group group)) (result (funcall (gnus-get-function gnus-command-method (quote request-move-article)) article (let ((gname group)) (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname)) (nth 1 gnus-command-method) accept-function last move-is-internal))) (if (and result gnus-agent (gnus-agent-method-p gnus-command-method)) (progn (gnus-agent-unfetch-articles group (list article)))) result)
gnus-request-move-article(68484 "nnimap+imap.example.com:INBOX" "imap.example.com" (gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t) t nil)
gnus-summary-move-article(nil nil (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap)))
gnus-summary-respool-article(nil (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap)))
call-interactively(gnus-summary-respool-article nil nil)
--8<---------------cut here---------------end--------------->8---
Somehow, the group gets lost in there. I've tried following the trace
detailedly, but I'm afraid I've not come up with an answer to that. Any
ideas?
This is on:
Ma Gnus v0.8
GNU Emacs 24.3.1 (x86_64-apple-darwin13.0.0, NS apple-appkit-1265.00) of 2013-11-08 on mbp-osx
These are the relevant bits of configuration:
--8<---------------cut here---------------start------------->8---
(setq nnmail-split-methods 'nnimap-split-fancy
nnmail-split-fancy
'(|
("List-Id" ".*<\\(.+\\)\\.lists\\.example\\.com>.*" "lists.\\1")
(: gnus-registry-split-fancy-with-parent)
"INBOX"))
(add-to-list
'gnus-secondary-select-methods `(nnimap "imap.example.com"
(nnimap-address "imap.example.com")
(nnimap-stream ssl)
(nnimap-server-port 993)
(nntp-authinfo-file ,netrc-file)
(nnir-search-engine imap)))
--8<---------------cut here---------------end--------------->8---
Thanks for your help. Sorry for the wall of text.
--
Pedro
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: respooling nnimap group with nnimap-split-fancy
2013-11-12 21:35 respooling nnimap group with nnimap-split-fancy Pedro Silva
@ 2013-11-13 1:20 ` Eric Abrahamsen
2013-11-13 14:24 ` Pedro Silva
0 siblings, 1 reply; 8+ messages in thread
From: Eric Abrahamsen @ 2013-11-13 1:20 UTC (permalink / raw)
To: ding
Pedro Silva <psilva@pedrosilva.pt> writes:
> Hi,
>
> I've been trying to get respooling to work with fancy splitting on
> nnimap backends with no results. Here's the relevant trace:
Hi Pedro,
My recollection is that respooling doesn't work on imap at all -- it's
only good for nnmail (and possibly other backends).
The way to achieve a similar effect with nnimap is to set this variable
in your imap server config:
(nnimap-unsplittable-articles (%Deleted))
The usual values are (%Deleted %Seen). Removing %Seen means that already
read articles are also considered for splitting.
It's not actually the same thing (you can't call it selectively on one
article), but as far as I know it's the only way to do it.
I'd love to be proven wrong!
Eric
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> decode-coding-string(nil utf-8)
> nnimap-decode-gnus-group(nil)
> nnimap-request-accept-article(nil "imap.example.com" t)
> funcall(nnimap-request-accept-article nil "imap.example.com" t)
> (let ((gnus-command-method (or gnus-command-method (gnus-find-method-for-group group))) (result (funcall (gnus-get-function gnus-command-method (quote request-accept-article)) (if (stringp group) (let ((gname group)) (if (string-match "^[^:]+:" gname) (substring gname ...) gname)) group) (cadr gnus-command-method) last))) (if (and gnus-agent (gnus-agent-method-p gnus-command-method) (cdr result)) (progn (gnus-agent-regenerate-group group (list (cdr result))))) result)
> gnus-request-accept-article(nil (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap)) t t)
> eval((gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t))
> nnimap-request-move-article(68484 "INBOX" "imap.example.com" (gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t) t nil)
> funcall(nnimap-request-move-article 68484 "INBOX" "imap.example.com" (gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t) t nil)
> (let* ((gnus-command-method (gnus-find-method-for-group group)) (result (funcall (gnus-get-function gnus-command-method (quote request-move-article)) article (let ((gname group)) (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname)) (nth 1 gnus-command-method) accept-function last move-is-internal))) (if (and result gnus-agent (gnus-agent-method-p gnus-command-method)) (progn (gnus-agent-unfetch-articles group (list article)))) result)
> gnus-request-move-article(68484 "nnimap+imap.example.com:INBOX" "imap.example.com" (gnus-request-accept-article nil (quote (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap))) t t) t nil)
> gnus-summary-move-article(nil nil (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap)))
> gnus-summary-respool-article(nil (nnimap "imap.example.com" (nnimap-address "imap.example.com") (nnimap-stream ssl) (nnimap-server-port 993) (nntp-authinfo-file "~/.authinfo.gpg") (nnir-search-engine imap)))
> call-interactively(gnus-summary-respool-article nil nil)
>
> Somehow, the group gets lost in there. I've tried following the trace
> detailedly, but I'm afraid I've not come up with an answer to that. Any
> ideas?
>
> This is on:
>
> Ma Gnus v0.8
> GNU Emacs 24.3.1 (x86_64-apple-darwin13.0.0, NS apple-appkit-1265.00) of 2013-11-08 on mbp-osx
>
> These are the relevant bits of configuration:
>
> (setq nnmail-split-methods 'nnimap-split-fancy
> nnmail-split-fancy
> '(|
> ("List-Id" ".*<\\(.+\\)\\.lists\\.example\\.com>.*" "lists.\\1")
> (: gnus-registry-split-fancy-with-parent)
> "INBOX"))
>
> (add-to-list
> 'gnus-secondary-select-methods `(nnimap "imap.example.com"
> (nnimap-address "imap.example.com")
> (nnimap-stream ssl)
> (nnimap-server-port 993)
> (nntp-authinfo-file ,netrc-file)
> (nnir-search-engine imap)))
>
> Thanks for your help. Sorry for the wall of text.
> --
> Pedro
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: respooling nnimap group with nnimap-split-fancy
2013-11-13 1:20 ` Eric Abrahamsen
@ 2013-11-13 14:24 ` Pedro Silva
2013-11-13 20:31 ` Pedro Silva
0 siblings, 1 reply; 8+ messages in thread
From: Pedro Silva @ 2013-11-13 14:24 UTC (permalink / raw)
To: ding
Hi Eric,
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> My recollection is that respooling doesn't work on imap at all -- it's
> only good for nnmail (and possibly other backends).
Well, it appears as if it should. Certainly `B t' or `B q` give the
expected results. I think the problem is in `gnus-summary-move-mail',
but that function is too complex for me to try and hack it.
> The way to achieve a similar effect with nnimap is to set this variable
> in your imap server config:
>
> (nnimap-unsplittable-articles (%Deleted))
>
> The usual values are (%Deleted %Seen). Removing %Seen means that already
> read articles are also considered for splitting.
I should've been clearer. Not only can't I respool, but Gnus doesn't
appear to do any kind of splitting whatsoever, on incoming or seen
articles.
Thanks for your help, in any case!
--
Pedro
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: respooling nnimap group with nnimap-split-fancy
2013-11-13 14:24 ` Pedro Silva
@ 2013-11-13 20:31 ` Pedro Silva
2013-11-15 4:55 ` Eric Abrahamsen
0 siblings, 1 reply; 8+ messages in thread
From: Pedro Silva @ 2013-11-13 20:31 UTC (permalink / raw)
To: ding
Pedro Silva <psilva@pedrosilva.pt> writes:
> Well, it appears as if it should. Certainly `B t' or `B q` give the
> expected results. I think the problem is in `gnus-summary-move-mail',
> but that function is too complex for me to try and hack it.
While the above still stands,
> I should've been clearer. Not only can't I respool, but Gnus doesn't
> appear to do any kind of splitting whatsoever, on incoming or seen
> articles.
this was an error on my part (as expected). Upon reading the nnimap
splitting part of the manual more carefully, I correctly configured Gnus
to split upon getting email.
--
Pedro
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: respooling nnimap group with nnimap-split-fancy
2013-11-13 20:31 ` Pedro Silva
@ 2013-11-15 4:55 ` Eric Abrahamsen
2013-11-15 8:49 ` Pedro Silva
0 siblings, 1 reply; 8+ messages in thread
From: Eric Abrahamsen @ 2013-11-15 4:55 UTC (permalink / raw)
To: ding
Pedro Silva <psilva@pedrosilva.pt> writes:
> Pedro Silva <psilva@pedrosilva.pt> writes:
>
>> Well, it appears as if it should. Certainly `B t' or `B q` give the
>> expected results. I think the problem is in `gnus-summary-move-mail',
>> but that function is too complex for me to try and hack it.
>
> While the above still stands,
Really? I never got respooling to work with nnimap at all. I remember
looking into the internals a bit at the time, and seeing that respooling
for nnimap eventually just got cross-wired into respooling for nnmail.
That meant it only used nnmail-split-fancy, not nnimap-split-fancy,
which wasn't what I wanted because I still wanted to use
`bbdb/gnus-nnimap-folder-list-from-bbdb'.
Without nnmail-split-fancy set to anything, respooling imap messages
just put them into the default folder: ie from INBOX to mail.misc, which
wasn't what I wanted at all.
>> I should've been clearer. Not only can't I respool, but Gnus doesn't
>> appear to do any kind of splitting whatsoever, on incoming or seen
>> articles.
>
> this was an error on my part (as expected). Upon reading the nnimap
> splitting part of the manual more carefully, I correctly configured Gnus
> to split upon getting email.
That's good news, anyway!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: respooling nnimap group with nnimap-split-fancy
2013-11-15 4:55 ` Eric Abrahamsen
@ 2013-11-15 8:49 ` Pedro Silva
2013-11-15 9:09 ` Eric Abrahamsen
2013-12-26 16:40 ` Lars Ingebrigtsen
0 siblings, 2 replies; 8+ messages in thread
From: Pedro Silva @ 2013-11-15 8:49 UTC (permalink / raw)
To: ding
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> Without nnmail-split-fancy set to anything, respooling imap messages
> just put them into the default folder: ie from INBOX to mail.misc, which
> wasn't what I wanted at all.
Oh yeah, that's definitely the case: `B t' and `B q' only work if
`nnmail-split-fancy' is set, not `nnimap-split-fancy'. So I have both
set, the first for respooling, and the second for splitting incoming
email.
--
Pedro
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: respooling nnimap group with nnimap-split-fancy
2013-11-15 8:49 ` Pedro Silva
@ 2013-11-15 9:09 ` Eric Abrahamsen
2013-12-26 16:40 ` Lars Ingebrigtsen
1 sibling, 0 replies; 8+ messages in thread
From: Eric Abrahamsen @ 2013-11-15 9:09 UTC (permalink / raw)
To: ding
Pedro Silva <psilva@pedrosilva.pt> writes:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Without nnmail-split-fancy set to anything, respooling imap messages
>> just put them into the default folder: ie from INBOX to mail.misc, which
>> wasn't what I wanted at all.
>
> Oh yeah, that's definitely the case: `B t' and `B q' only work if
> `nnmail-split-fancy' is set, not `nnimap-split-fancy'. So I have both
> set, the first for respooling, and the second for splitting incoming
> email.
Far from ideal, but I guess it works!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: respooling nnimap group with nnimap-split-fancy
2013-11-15 8:49 ` Pedro Silva
2013-11-15 9:09 ` Eric Abrahamsen
@ 2013-12-26 16:40 ` Lars Ingebrigtsen
1 sibling, 0 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2013-12-26 16:40 UTC (permalink / raw)
To: Pedro Silva; +Cc: ding
Pedro Silva <psilva@pedrosilva.pt> writes:
> Oh yeah, that's definitely the case: `B t' and `B q' only work if
> `nnmail-split-fancy' is set, not `nnimap-split-fancy'. So I have both
> set, the first for respooling, and the second for splitting incoming
> email.
I've now fixed this in Ma Gnus, I think.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-12-26 16:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-12 21:35 respooling nnimap group with nnimap-split-fancy Pedro Silva
2013-11-13 1:20 ` Eric Abrahamsen
2013-11-13 14:24 ` Pedro Silva
2013-11-13 20:31 ` Pedro Silva
2013-11-15 4:55 ` Eric Abrahamsen
2013-11-15 8:49 ` Pedro Silva
2013-11-15 9:09 ` Eric Abrahamsen
2013-12-26 16:40 ` Lars Ingebrigtsen
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).