Race condition for '*' command

Pieter Praet pieter at praet.org
Mon Jun 27 23:49:06 PDT 2011


On Sun, 26 Jun 2011 10:00:41 +0100, Robin Green <greenrd at greenrd.org> wrote:
> On Sat, 25 Jun 2011 16:57:50 -0700, Jameson Graef Rollins <jrollins at finestructure.net> wrote:
> > On Sat, 25 Jun 2011 23:18:52 +0100, Robin Green <greenrd at greenrd.org> wrote:
> > > A race condition in the '*' command was noted when it was first
> > > proposed. It looks to me like it still exists - has anything been done
> > > about it?
> > 
> > Hi, Robin.  Can you explain what you mean by the "'*' command"?
> 
> Sorry - forgot to say I'm talking about the notmuch emacs mode. In that
> mode '*' applies tags to all messages matching the current search query,
> which means that (here's the race condition) new results that have
> appeared since the last refresh will also be tagged.

This issue appears to stem from the fact that `notmuch-search-operate-all'
runs (apply 'notmuch-tag notmuch-search-query-string action-split), in which
`notmuch-search-query-string' points to a moving target.

Could be solved by doing it with `notmuch-search', `mark-whole-buffer'
and `notmuch-search-{add,remove}-tag-region' instead, but I'm sure
there's a better way (of which I'm as of yet unaware).

> -- 
> Robin
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

Peace

-- 
Pieter


More information about the notmuch mailing list