* nnir and move @ 2010-11-03 1:05 Andrew Cohen 2010-11-03 12:17 ` Richard Riley 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-03 1:05 UTC (permalink / raw) To: ding I've pushed a change that adds the ability to move articles from the nnir summary buffer. This just calls the underlying backend to do the move. I have successfully moved about a half-dozen messages, and its hard to see what could go wrong. But since this is the first time that nnir makes any real changes to underlying messages, I would suggest testing on messages you don't mind losing (if something goes wrong) might be prudent. Andy ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-03 1:05 nnir and move Andrew Cohen @ 2010-11-03 12:17 ` Richard Riley 0 siblings, 0 replies; 24+ messages in thread From: Richard Riley @ 2010-11-03 12:17 UTC (permalink / raw) To: Andrew Cohen; +Cc: ding Worked like a charm (nnir->nnimap move)! Many thanks. Now I'm not so concerned about not seemingly having the ability to search a group by author/body etc without first having to fetch and format thousands of messages. Thanks once again - very useful! regards r. Andrew Cohen <cohen@andy.bu.edu> writes: > I've pushed a change that adds the ability to move articles from the > nnir summary buffer. This just calls the underlying backend to do the > move. > > I have successfully moved about a half-dozen messages, and its hard to > see what could go wrong. But since this is the first time that nnir > makes any real changes to underlying messages, I would suggest testing > on messages you don't mind losing (if something goes wrong) might be > prudent. > > Andy > -- ☘ http://www.shamrockirishbar.com, http://splash-of-open-sauce.blogspot.com/ http://www.richardriley.net ^ permalink raw reply [flat|nested] 24+ messages in thread
* nnir and move @ 2010-10-31 14:07 Richard Riley 2010-10-31 17:18 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 24+ messages in thread From: Richard Riley @ 2010-10-31 14:07 UTC (permalink / raw) To: nognus Can nnir search results from imap please support article move? Frequently I want to search my INBOX and then mass move all the results to another label/group. Also, how does one filter the inbox for an author without needing to fetch all messages first into that group? .eg "/ a" only filters the messages you have prefetched. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-10-31 14:07 Richard Riley @ 2010-10-31 17:18 ` Lars Magne Ingebrigtsen 2010-11-01 4:20 ` Richard Riley 2010-11-01 12:04 ` Andrew Cohen 0 siblings, 2 replies; 24+ messages in thread From: Lars Magne Ingebrigtsen @ 2010-10-31 17:18 UTC (permalink / raw) To: ding Richard Riley <rileyrg@googlemail.com> writes: > Can nnir search results from imap please support article move? Frequently > I want to search my INBOX and then mass move all the results to another > label/group. nnir could implement -request-move and -request-accept, I guess, and send those on to the "real" backends? -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-10-31 17:18 ` Lars Magne Ingebrigtsen @ 2010-11-01 4:20 ` Richard Riley 2010-11-01 12:04 ` Andrew Cohen 1 sibling, 0 replies; 24+ messages in thread From: Richard Riley @ 2010-11-01 4:20 UTC (permalink / raw) To: ding Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > Richard Riley <rileyrg@googlemail.com> writes: > >> Can nnir search results from imap please support article move? Frequently >> I want to search my INBOX and then mass move all the results to another >> label/group. > > nnir could implement -request-move and -request-accept, I guess, and > send those on to the "real" backends? What about the filtering of the inbox not using nnir? Do I need to enter the group and tell it to fetch and format thousands of messages and then use /a to find all articles by someone? I think I have missed something as this would seem odd. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-10-31 17:18 ` Lars Magne Ingebrigtsen 2010-11-01 4:20 ` Richard Riley @ 2010-11-01 12:04 ` Andrew Cohen 2010-11-01 12:08 ` Lars Magne Ingebrigtsen 1 sibling, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-01 12:04 UTC (permalink / raw) To: ding >>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Richard Riley <rileyrg@googlemail.com> writes: >> Can nnir search results from imap please support article move? >> Frequently I want to search my INBOX and then mass move all the >> results to another label/group. Lars> nnir could implement -request-move and -request-accept, I Lars> guess, and send those on to the "real" backends? Should be easy enough if the summary buffer contains articles from a single group, but would this work with multiple groups in the summary buffer? ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-01 12:04 ` Andrew Cohen @ 2010-11-01 12:08 ` Lars Magne Ingebrigtsen 2010-11-01 12:13 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Lars Magne Ingebrigtsen @ 2010-11-01 12:08 UTC (permalink / raw) To: ding Andrew Cohen <cohen@andy.bu.edu> writes: > Should be easy enough if the summary buffer contains articles from a > single group, but would this work with multiple groups in the summary > buffer? Doesn't nnir keep track of what groups the messages come from? -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-01 12:08 ` Lars Magne Ingebrigtsen @ 2010-11-01 12:13 ` Andrew Cohen 2010-11-01 14:28 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-01 12:13 UTC (permalink / raw) To: ding >>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Andrew Cohen <cohen@andy.bu.edu> writes: >> Should be easy enough if the summary buffer contains articles >> from a single group, but would this work with multiple groups in >> the summary buffer? Lars> Doesn't nnir keep track of what groups the messages come from? Yes it does. I just wasn't sure that 'request-move-article would do the right thing. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-01 12:13 ` Andrew Cohen @ 2010-11-01 14:28 ` Andrew Cohen 2010-11-01 14:51 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-01 14:28 UTC (permalink / raw) To: ding >>>>> "Andy" == Andrew Cohen <cohen@andy.bu.edu> writes: >>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Andrew Cohen <cohen@andy.bu.edu> writes: >>> Should be easy enough if the summary buffer contains articles >>> from a single group, but would this work with multiple groups in >>> the summary buffer? Lars> Doesn't nnir keep track of what groups the messages come from? Andy> Yes it does. I just wasn't sure that 'request-move-article Andy> would do the right thing. And it does, more or less. Several annoyances, the most severe of which is the registry, which gets the from-group being nnir rather than the real group. I know nothing about the registry---before I poke around maybe Ted can see some way to fix this? ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-01 14:28 ` Andrew Cohen @ 2010-11-01 14:51 ` Andrew Cohen 2010-11-09 22:05 ` Ted Zlatanov 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-01 14:51 UTC (permalink / raw) To: ding >>>>> "Andy" == Andrew Cohen <cohen@andy.bu.edu> writes: >>>>> "Andy" == Andrew Cohen <cohen@andy.bu.edu> writes: >>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Andrew Cohen <cohen@andy.bu.edu> writes: >>>> Should be easy enough if the summary buffer contains articles >>>> from a single group, but would this work with multiple groups >>>> in the summary buffer? Lars> Doesn't nnir keep track of what groups the messages come from? Andy> Yes it does. I just wasn't sure that 'request-move-article Andy> would do the right thing. Andy> And it does, more or less. Several annoyances, the most severe Andy> of which is the registry, which gets the from-group being nnir Andy> rather than the real group. I know nothing about the Andy> registry---before I poke around maybe Ted can see some way to Andy> fix this? Oops, I think there is nothing to fix. The registry doesn't track where the message comes from but only where its going? Then there shouldn't be a problem... ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-01 14:51 ` Andrew Cohen @ 2010-11-09 22:05 ` Ted Zlatanov 2010-11-10 16:40 ` Andrew Cohen 2010-12-01 14:13 ` Andrew Cohen 0 siblings, 2 replies; 24+ messages in thread From: Ted Zlatanov @ 2010-11-09 22:05 UTC (permalink / raw) To: ding On Mon, 01 Nov 2010 10:51:50 -0400 Andrew Cohen <cohen@andy.bu.edu> wrote: >>>>>> "Andy" == Andrew Cohen <cohen@andy.bu.edu> writes: >>>>>> "Andy" == Andrew Cohen <cohen@andy.bu.edu> writes: >>>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Andrew Cohen <cohen@andy.bu.edu> writes: >>>>> Should be easy enough if the summary buffer contains articles >>>>> from a single group, but would this work with multiple groups >>>>> in the summary buffer? Lars> Doesn't nnir keep track of what groups the messages come from? Andy> Yes it does. I just wasn't sure that 'request-move-article Andy> would do the right thing. Andy> And it does, more or less. Several annoyances, the most severe Andy> of which is the registry, which gets the from-group being nnir Andy> rather than the real group. I know nothing about the Andy> registry---before I poke around maybe Ted can see some way to Andy> fix this? AC> Oops, I think there is nothing to fix. The registry doesn't track where AC> the message comes from but only where its going? Then there shouldn't be AC> a problem... Yeah. Although in a move it needs to know the source so it can delete that from the list of groups for the article. So you'll end up with stale knowledge in the registry. I can special-case nnir in the hooks or you can wrap the move in (let ((gnus-original-source-group-for-move "xyz")) ...) WDYT? Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-09 22:05 ` Ted Zlatanov @ 2010-11-10 16:40 ` Andrew Cohen 2010-11-10 16:55 ` Ted Zlatanov 2010-12-01 14:13 ` Andrew Cohen 1 sibling, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-10 16:40 UTC (permalink / raw) To: ding >>>>> "Ted" == Ted Zlatanov <tzz@lifelogs.com> writes: AC> Oops, I think there is nothing to fix. The registry doesn't AC> track where the message comes from but only where its going? AC> Then there shouldn't be a problem... Ted> Yeah. Although in a move it needs to know the source so it can Ted> delete that from the list of groups for the article. So you'll Ted> end up with stale knowledge in the registry. I can Ted> special-case nnir in the hooks or you can wrap the move in Ted> (let ((gnus-original-source-group-for-move "xyz")) ...) Ted> WDYT? Ted I've done it with a let. I'll push a patch shortly. There is a another problem. nnir (intentionally) mangles the subject to add something like "[10:mail/3390] " at the front of the subject (this is [retrieval_score:real_group_name/real_article_number] ). Obviously we would like to remove it from the subject stored in the registry. I think the simplest solution would be to modify gnus-registry-simplify-subject to take care of it before it calls gnus-simplify-subject. Assuming this OK with you, I'll push it. Cheers, andy ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-10 16:40 ` Andrew Cohen @ 2010-11-10 16:55 ` Ted Zlatanov 2010-11-10 18:42 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Ted Zlatanov @ 2010-11-10 16:55 UTC (permalink / raw) To: ding On Wed, 10 Nov 2010 11:40:37 -0500 Andrew Cohen <cohen@andy.bu.edu> wrote: >>>>>> "Ted" == Ted Zlatanov <tzz@lifelogs.com> writes: AC> Oops, I think there is nothing to fix. The registry doesn't AC> track where the message comes from but only where its going? AC> Then there shouldn't be a problem... Ted> Yeah. Although in a move it needs to know the source so it can Ted> delete that from the list of groups for the article. So you'll Ted> end up with stale knowledge in the registry. I can Ted> special-case nnir in the hooks or you can wrap the move in Ted> (let ((gnus-original-source-group-for-move "xyz")) ...) Ted> WDYT? Ted AC> I've done it with a let. I'll push a patch shortly. AC> There is a another problem. nnir (intentionally) mangles the subject to AC> add something like "[10:mail/3390] " at the front of the subject (this AC> is [retrieval_score:real_group_name/real_article_number] ). Obviously we AC> would like to remove it from the subject stored in the registry. I think AC> the simplest solution would be to modify gnus-registry-simplify-subject AC> to take care of it before it calls gnus-simplify-subject. Could you use nnir-original-group and nnir-original-subject in the let you said you would do? I'll make the names more general if anyone else needs it but I was thinking this way it's clear that it's a nnir requirement. That way the registry will not care what nnir does to the subject or group name, it will just take the originals from the let-bound variables. Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-10 16:55 ` Ted Zlatanov @ 2010-11-10 18:42 ` Andrew Cohen 2010-11-10 18:54 ` Ted Zlatanov 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-10 18:42 UTC (permalink / raw) To: ding [-- Attachment #1: Type: text/plain, Size: 1825 bytes --] >>>>> "Ted" == Ted Zlatanov <tzz@lifelogs.com> writes: Ted> Could you use nnir-original-group and nnir-original-subject in Ted> the let you said you would do? I'll make the names more Ted> general if anyone else needs it but I was thinking this way Ted> it's clear that it's a nnir requirement. Ted> That way the registry will not care what nnir does to the Ted> subject or group name, it will just take the originals from the Ted> let-bound variables. In fact I'm thinking about a different way (but this might not be best way): 1. nnir ends up replacing the parsed header with a new one, so the original subject isn't available anymore, but its easy enough to get back with a simple string-match. And the only place the original subject is used is in the registry, which is why I thought that it was best to just modify gnus-registry-simplify-subject to: (defun gnus-registry-simplify-subject (subject) (if (stringp subject) (progn (string-match "^\\[[0-9]+:.+/[0-9]+\\] " subject) (setq subject (substring subject (match-end 0))) (gnus-simplify-subject subject)) nil)) 2. As for the original newsgroup name, I am trying to avoid anything nnir specific outside the nnir.el file. Its also possible that other/future virtual backends might want to do something similar so I've tried an approach that won't require special-casing. The trick is to pass the original newsgroup name back in to gnus-summary-move-article. I think this is easy---just introduce a let-bound variable gnus-original-newsgroup-name initialized to gnus-newsgroup-name and let the backend-specific 'request-move-article replace it as needed. So only a few lines of changes and no need for nnir-specific code. Sorry for being so wordy, and let me know if I'm off-base. Here is the proposed patch. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: possible patch --] [-- Type: text/x-diff, Size: 2736 bytes --] diff --git a/lisp/gnus-registry.el b/lisp/gnus-registry.el index 79080f2..629d804 100644 --- a/lisp/gnus-registry.el +++ b/lisp/gnus-registry.el @@ -728,7 +728,10 @@ Consults `gnus-registry-unfollowed-groups' and (defun gnus-registry-simplify-subject (subject) (if (stringp subject) - (gnus-simplify-subject subject) + (progn + (string-match "^\\[[0-9]+:.+/[0-9]+\\] " subject) + (setq subject (substring subject (match-end 0))) + (gnus-simplify-subject subject)) nil)) (defun gnus-registry-fetch-simplified-message-subject-fast (article) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 9715510..dd97b23 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -9703,6 +9703,7 @@ ACTION can be either `move' (the default), `crosspost' or `copy'." articles) (while articles (setq article (pop articles)) + (let ((gnus-original-newsgroup-name gnus-newsgroup-name)) (setq art-group (cond @@ -9781,7 +9782,7 @@ ACTION can be either `move' (the default), `crosspost' or `copy'." action (gnus-data-header (assoc article (gnus-data-list nil))) - gnus-newsgroup-name nil + gnus-original-newsgroup-name nil select-method))) (t (let* ((pto-group (gnus-group-prefixed-name @@ -9881,7 +9882,7 @@ ACTION can be either `move' (the default), `crosspost' or `copy'." action (gnus-data-header (assoc article (gnus-data-list nil))) - gnus-newsgroup-name + gnus-original-newsgroup-name to-newsgroup select-method)) @@ -9903,7 +9904,7 @@ ACTION can be either `move' (the default), `crosspost' or `copy'." (gnus-kill-buffer copy-buf) (gnus-summary-position-point) - (gnus-set-mode-line 'summary))) + (gnus-set-mode-line 'summary)))) (defun gnus-summary-copy-article (&optional n to-newsgroup select-method) "Copy the current article to some other group. diff --git a/lisp/nnir.el b/lisp/nnir.el index ae6b903..a71f1f3 100644 --- a/lisp/nnir.el +++ b/lisp/nnir.el @@ -453,6 +453,9 @@ result, `gnus-retrieve-headers' will be called instead.") (defvar nnir-extra-parms nil "Internal: stores request for extra search parms") +(defvar gnus-original-newsgroup-name nil + "Internal: stores the real newsgroup name") + ;;; Code: ;; Gnus glue. @@ -596,6 +600,7 @@ result, `gnus-retrieve-headers' will be called instead.") (to-method (gnus-find-method-for-group to-newsgroup)) (from-method (gnus-find-method-for-group artfullgroup)) (move-is-internal (gnus-server-equal from-method to-method))) + (setq gnus-original-newsgroup-name artfullgroup) (gnus-request-move-article artno artfullgroup ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-10 18:42 ` Andrew Cohen @ 2010-11-10 18:54 ` Ted Zlatanov 2010-11-10 19:09 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Ted Zlatanov @ 2010-11-10 18:54 UTC (permalink / raw) To: ding On Wed, 10 Nov 2010 13:42:28 -0500 Andrew Cohen <cohen@andy.bu.edu> wrote: >>>>>> "Ted" == Ted Zlatanov <tzz@lifelogs.com> writes: Ted> Could you use nnir-original-group and nnir-original-subject in Ted> the let you said you would do? I'll make the names more Ted> general if anyone else needs it but I was thinking this way Ted> it's clear that it's a nnir requirement. Ted> That way the registry will not care what nnir does to the Ted> subject or group name, it will just take the originals from the Ted> let-bound variables. AC> In fact I'm thinking about a different way (but this might not be best AC> way): AC> 1. nnir ends up replacing the parsed header with a new one, so the AC> original subject isn't available anymore, but its easy enough to get AC> back with a simple string-match. And the only place the original subject AC> is used is in the registry, which is why I thought that it was best to AC> just modify gnus-registry-simplify-subject to: AC> (defun gnus-registry-simplify-subject (subject) AC> (if (stringp subject) AC> (progn AC> (string-match "^\\[[0-9]+:.+/[0-9]+\\] " subject) AC> (setq subject (substring subject (match-end 0))) AC> (gnus-simplify-subject subject)) AC> nil)) I don't like this: it will fail if a user has that subject accidentally. Better to get the original unambigously as we get the group. AC> 2. As for the original newsgroup name, I am trying to avoid anything AC> nnir specific outside the nnir.el file. OK. AC> Its also possible that other/future virtual backends might want to AC> do something similar so I've tried an approach that won't require AC> special-casing. The trick is to pass the original newsgroup name AC> back in to gnus-summary-move-article. I think this is easy---just AC> introduce a let-bound variable gnus-original-newsgroup-name AC> initialized to gnus-newsgroup-name and let the backend-specific AC> 'request-move-article replace it as needed. So only a few lines of AC> changes and no need for nnir-specific code. OK, but the variable should not be defined in nnir.el. I would define `gnus-original-article-group' and `gnus-original-article-subject' in gnus.el. Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-10 18:54 ` Ted Zlatanov @ 2010-11-10 19:09 ` Andrew Cohen 2010-11-15 2:40 ` Katsumi Yamaoka 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-11-10 19:09 UTC (permalink / raw) To: ding >>>>> "Ted" == Ted Zlatanov <tzz@lifelogs.com> writes: Ted> On Wed, 10 Nov 2010 13:42:28 -0500 Andrew Cohen <cohen@andy.bu.edu> wrote: >>>>>>> "Ted" == Ted Zlatanov <tzz@lifelogs.com> writes: AC> (defun gnus-registry-simplify-subject (subject) (if (stringp AC> subject) (progn (string-match "^\\[[0-9]+:.+/[0-9]+\\] " AC> subject) (setq subject (substring subject (match-end 0))) AC> (gnus-simplify-subject subject)) nil)) Ted> I don't like this: it will fail if a user has that subject Ted> accidentally. Better to get the original unambigously as we Ted> get the group. OK, that's probably best. AC> 2. As for the original newsgroup name, I am trying to avoid AC> anything nnir specific outside the nnir.el file. Ted> OK, but the variable should not be defined in nnir.el. I would Ted> define `gnus-original-article-group' and Ted> `gnus-original-article-subject' in gnus.el. OK. Since these only get changed in the summary buffer I'd like to make them `gnus-summary-original-whatever' and put them in gnus-sum.el. Patch shortly. Thanks for the help, Andy ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-10 19:09 ` Andrew Cohen @ 2010-11-15 2:40 ` Katsumi Yamaoka 2010-11-15 2:53 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Katsumi Yamaoka @ 2010-11-15 2:40 UTC (permalink / raw) To: Andrew Cohen; +Cc: ding Hi, 2010-11-11 Andrew Cohen <cohen@andy.bu.edu> [...] * gnus-sum.el (gnus-summary-move-article): Use original group and subject for virtual articles such as those in an nnir summary buffer. This change broke the function of copying or moving two or more articles. When typing `B c' for marked articles in a group, I got: Debugger entered--Lisp error: (error "Selecting deleted buffer") gnus-summary-move-article(nil nil nil copy) gnus-summary-copy-article(nil) call-interactively(gnus-summary-copy-article nil nil) It is because of the present structure of `while' loop: (let ((copy-buf (save-excursion (nnheader-set-temp-buffer " *copy article*")))) ... (while articles .... (gnus-kill-buffer copy-buf))) It was: (let ((copy-buf (save-excursion (nnheader-set-temp-buffer " *copy article*")))) ... (while articles ....) (gnus-kill-buffer copy-buf)) I've fixed it in the git repo. Could you check whether my change didn't break what you intended? Regards, ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-15 2:40 ` Katsumi Yamaoka @ 2010-11-15 2:53 ` Andrew Cohen 0 siblings, 0 replies; 24+ messages in thread From: Andrew Cohen @ 2010-11-15 2:53 UTC (permalink / raw) To: ding >>>>> "Katsumi" == Katsumi Yamaoka <yamaoka@jpl.org> writes: Katsumi> Hi, 2010-11-11 Andrew Cohen <cohen@andy.bu.edu> [...] * Katsumi> gnus-sum.el (gnus-summary-move-article): Use original group Katsumi> and subject for virtual articles such as those in an nnir Katsumi> summary buffer. Katsumi> This change broke the function of copying or moving two or Katsumi> more articles. When typing `B c' for marked articles in a Katsumi> group, I got: [...] Katsumi> I've fixed it in the git repo. Could you check whether my Katsumi> change didn't break what you intended? Oops, my mistake. I closed the (let in the wrong place, and your fix is the right thing. Best, Andy ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-11-09 22:05 ` Ted Zlatanov 2010-11-10 16:40 ` Andrew Cohen @ 2010-12-01 14:13 ` Andrew Cohen 2010-12-01 17:01 ` Lars Magne Ingebrigtsen 1 sibling, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-12-01 14:13 UTC (permalink / raw) To: ding >>>>> "Ted" == Ted Zlatanov <tzz@lifelogs.com> writes: Ted> Yeah. Although in a move it needs to know the source so it can Ted> delete that from the list of groups for the article. So you'll Ted> end up with stale knowledge in the registry. I can Ted> special-case nnir in the hooks or you can wrap the move in Ted> (let ((gnus-original-source-group-for-move "xyz")) ...) Ted> WDYT? Ted Sorry to revive this old thread. The last time we discussed this I thought that the let wrapping was the way to go, but in retrospect I'm pretty sure I was wrong. Special-casing nnir in the hooks seems better. I changed my mind when trying to incorporate article deletion in nnir. The problem arises when deleting more than one article at a time. Ordinarily all the articles in a summary buffer come from a single group, but this isn't necessarily true in an nnir buffer. gnus-summary-delete-article deletes all the articles in a batch (no problem here since it just calls nnir-request-delete-article) but then goes through the deleted articles one by one to update the registry. So it's not easy to pass the original article group through the let mechanism when different articles come from different groups. WDYT? ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-12-01 14:13 ` Andrew Cohen @ 2010-12-01 17:01 ` Lars Magne Ingebrigtsen 2010-12-01 17:47 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Lars Magne Ingebrigtsen @ 2010-12-01 17:01 UTC (permalink / raw) To: ding Andrew Cohen <cohen@andy.bu.edu> writes: > gnus-summary-delete-article deletes all the articles in a batch > (no problem here since it just calls nnir-request-delete-article) but > then goes through the deleted articles one by one to update the > registry. So it's not easy to pass the original article group through > the let mechanism when different articles come from different groups. > > WDYT? Hm. That's a sticky problem, yes. It does sound like special-casing is needed. I don't think the other "virtual" servers allow deletion or anything else, so the Gnus methods in this area probably do the wrong thing. On the other hand, perhaps nnir itself should just do the stuff that Gnus does wrt. the registry. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-12-01 17:01 ` Lars Magne Ingebrigtsen @ 2010-12-01 17:47 ` Andrew Cohen 2010-12-01 17:50 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-12-01 17:47 UTC (permalink / raw) To: ding >>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Andrew Cohen <cohen@andy.bu.edu> writes: >> gnus-summary-delete-article deletes all the articles in a batch >> (no problem here since it just calls nnir-request-delete-article) >> but then goes through the deleted articles one by one to update >> the registry. So it's not easy to pass the original article group >> through the let mechanism when different articles come from >> different groups. >> >> WDYT? Lars> Hm. That's a sticky problem, yes. It does sound like Lars> special-casing is needed. I don't think the other "virtual" Lars> servers allow deletion or anything else, so the Gnus methods Lars> in this area probably do the wrong thing. Lars> On the other hand, perhaps nnir itself should just do the Lars> stuff that Gnus does wrt. the registry. Right. How about the following: Add gnus-summary-article-delete-hook (and -move-hook) to gnus-summary-local-variables (these are the hooks the registry uses to do its thing). Then nnir can override them in nnir groups and deal with the registry stuff itself. This should be really easy and means all the nnir-specific stuff is confined to nnir.el. Andy ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-12-01 17:47 ` Andrew Cohen @ 2010-12-01 17:50 ` Lars Magne Ingebrigtsen 2010-12-01 22:01 ` Andrew Cohen 0 siblings, 1 reply; 24+ messages in thread From: Lars Magne Ingebrigtsen @ 2010-12-01 17:50 UTC (permalink / raw) To: ding Andrew Cohen <cohen@andy.bu.edu> writes: > Add gnus-summary-article-delete-hook (and -move-hook) to > gnus-summary-local-variables (these are the hooks the registry uses to > do its thing). Then nnir can override them in nnir groups and deal with > the registry stuff itself. This should be really easy and means all the > nnir-specific stuff is confined to nnir.el. Sounds good to me, I think. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-12-01 17:50 ` Lars Magne Ingebrigtsen @ 2010-12-01 22:01 ` Andrew Cohen 2010-12-14 23:36 ` Ted Zlatanov 0 siblings, 1 reply; 24+ messages in thread From: Andrew Cohen @ 2010-12-01 22:01 UTC (permalink / raw) To: ding >>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Andrew Cohen <cohen@andy.bu.edu> writes: >> Add gnus-summary-article-delete-hook (and -move-hook) to >> gnus-summary-local-variables (these are the hooks the registry >> uses to do its thing). Then nnir can override them in nnir groups >> and deal with the registry stuff itself. This should be really >> easy and means all the nnir-specific stuff is confined to >> nnir.el. Lars> Sounds good to me, I think. OK, I just pushed it. And, I just noticed that I foolishly pushed hundreds of lines or reindented code since I removed a let. The substantive changes are a couple dozen lines or so. Sorry about that. Andy ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: nnir and move 2010-12-01 22:01 ` Andrew Cohen @ 2010-12-14 23:36 ` Ted Zlatanov 0 siblings, 0 replies; 24+ messages in thread From: Ted Zlatanov @ 2010-12-14 23:36 UTC (permalink / raw) To: ding On Wed, 01 Dec 2010 17:01:22 -0500 Andrew Cohen <cohen@andy.bu.edu> wrote: >>>>>> "Lars" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes: Lars> Andrew Cohen <cohen@andy.bu.edu> writes: >>> Add gnus-summary-article-delete-hook (and -move-hook) to >>> gnus-summary-local-variables (these are the hooks the registry >>> uses to do its thing). Then nnir can override them in nnir groups >>> and deal with the registry stuff itself. This should be really >>> easy and means all the nnir-specific stuff is confined to >>> nnir.el. Lars> Sounds good to me, I think. AC> OK, I just pushed it. And, I just noticed that I foolishly pushed AC> hundreds of lines or reindented code since I removed a let. The AC> substantive changes are a couple dozen lines or so. Haha, I'm not the only one to do it :) Thanks for working on this and all the other nnir.el code. It has improved Gnus search immensely. Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2010-12-14 23:36 UTC | newest] Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-11-03 1:05 nnir and move Andrew Cohen 2010-11-03 12:17 ` Richard Riley -- strict thread matches above, loose matches on Subject: below -- 2010-10-31 14:07 Richard Riley 2010-10-31 17:18 ` Lars Magne Ingebrigtsen 2010-11-01 4:20 ` Richard Riley 2010-11-01 12:04 ` Andrew Cohen 2010-11-01 12:08 ` Lars Magne Ingebrigtsen 2010-11-01 12:13 ` Andrew Cohen 2010-11-01 14:28 ` Andrew Cohen 2010-11-01 14:51 ` Andrew Cohen 2010-11-09 22:05 ` Ted Zlatanov 2010-11-10 16:40 ` Andrew Cohen 2010-11-10 16:55 ` Ted Zlatanov 2010-11-10 18:42 ` Andrew Cohen 2010-11-10 18:54 ` Ted Zlatanov 2010-11-10 19:09 ` Andrew Cohen 2010-11-15 2:40 ` Katsumi Yamaoka 2010-11-15 2:53 ` Andrew Cohen 2010-12-01 14:13 ` Andrew Cohen 2010-12-01 17:01 ` Lars Magne Ingebrigtsen 2010-12-01 17:47 ` Andrew Cohen 2010-12-01 17:50 ` Lars Magne Ingebrigtsen 2010-12-01 22:01 ` Andrew Cohen 2010-12-14 23:36 ` Ted Zlatanov
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).