On Sun, Sep 13, 2015 at 2:19 AM, Suvayu Ali <fatkasuvayu+linux@gmail.com> wrote: > Hi, > > You should include a reference to the original message, not everyone > will remember the thread. > > id:20150614082258.GD17381@chitra.no-ip.org or > <http://mid.gmane.org/20150614082258.GD17381@chitra.no-ip.org> Ah yes thank you. > On Sun, Sep 13, 2015 at 12:03:20AM -0400, Xu Wang wrote: >> >> Sometimes I need to do: >> >> $ notmuch search --output=threads "id:MYMSGID" >> thread:000000000000a125 >> $ notmuch search --output=messages "thread:000000000000a125" > > Looking at the script again, I see I assumed a message will belong to a > single thread. You can remove that assumption by applying the following > change. > > -----8<--------------------8<----- > diff -u nm-ack nm-ack > --- nm-ack 2015-06-15 01:30:40.327556510 +0200 > +++ nm-ack 2015-09-13 07:58:30.734096931 +0200 > @@ -10,8 +10,9 @@ > # debug > # set -o xtrace > > -declare query="$1" thread=$(notmuch search --output=threads -- "$1") > -declare -a msgs=$(notmuch search --output=messages -- "$thread") responses > +declare query="$1" > +declare -a thread=$(notmuch search --output=threads -- "$1") > +declare -a msgs=$(notmuch search --output=messages -- "${thread[@]}") responses > > function strip_mid() { > sed -e 's/ \+//g' -e 's/<\([^ <>]\+\)>/\1/g' > ----->8-------------------->8----- > >> In theory, this should output the message that responded to message ID >> "MYMSGID". Sometimes it works. But sometimes it does not work. That >> is, there exists an email where I am sure (I checked the raw email) >> that there is a header >> In-Reply-To: <MYMSGID> >> but that email does not show when I do the two commands above. >> Indeed, that mail belongs to a different thread ID. >> >> I am just curious if the above is due to: >> >> 1. My missing of understanding of how notmuch deals with threads >> 2. A bug or missing feature in notmuch causes some threads to be incomplete > > Interesting issue. I can think of a case, say a message is cross-posted > to multiple lists, it might then give you more than one thread ids. Is > this the case for your message? If you are up for it, look in > lib/thread.cc. I think the relevant methods are: > _resolve_thread_relationships and _notmuch_thread_create, but I could be > wrong. I'm not familiar with the notmuch source. > > As I recall, you are using mutt-kz; does <entire-thread> work from > mutt-kz? I would expect that to fail too. It gets the thread id like > this: > > id = notmuch_message_get_thread_id(msg); > > Hope this helps, Thanks so very much as always Suvayu. I learn a great amount of knowledge from you. I tried the fixes and nothing changed. The message IDs had different threads. <entire-thread> did not work in mutt-kz. However, when I viewed [all mail] (from Gmail) so that the messages were in the same mailbox, mutt recognized they were a thread (in the sense of the down-right arrow signifying a reply). In the end, I removed the .notmuch folder and ran 'notmuch new' to regenerate everything. This worked! However I am wondering why I had to do that. Is there any case where doing a complete refresh should be done as opposed to "notmuch new" (which I do all the time)? It appears that thread detection works different when adding messages as opposed to a complete refresh? Kind regards, Xu > -- > Suvayu > > Open source is the future. It sets us free. > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch