Gnus development mailing list
 help / color / mirror / Atom feed
* 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).