Quoth Mark Walters on Oct 08 at 8:56 am: > > Hello > > It's great that this might finally get done. But there is one problem > currently. > > If you open a large search buffer and then do *-<tab> it will die as the > tagging routine runs notmuch search to find a completion-list for the > tag. (it runs notmuch search --output=tags <query>) Hmm. If we implement docid queries (described in the TODO added by this series), we should be able to get away with what we're doing now without any serious performance problems... > We could just return all tags in this case. Or we could do something > like the series > id:1354263691-19715-1-git-send-email-markwalters1009@gmail.com > which makes completion happen based on the tags visible to the user, not > the tags actually in the database. OTOH, I think what you were going for in this series is the right thing to do from a UI perspective anyway. I'll try implementing something along these lines, though I've got an idea that I think will by more Elispy. Currently `notmuch-tag' has this strange interface where it can interactively prompt in some cases. This isn't the right way to do this. `notmuch-tag' should be non-interactive and the interactive tagging commands should have an interactive specification that prompts for tags to change, right at the interactive entry point. This should give us a clean place to provide a list of existing tags, and would also let us do other nice things like specify a different tag prompt for * commands, and maybe add a y/n prompt to confirm a * tagging command. It would also provide a convenient place to wait for search results to finish coming in after prompting in the * command, which would be awkward to do right now. > There is also a little discussion of this in my earlier attempt at > fixing this: eg id:87mwy4smad.fsf@qmul.ac.uk > > Best wishes > > Mark > > On Mon, 07 Oct 2013, Austin Clements <amdragon@MIT.EDU> wrote: > > I was hacking on undo support for notmuch-emacs and sort of > > accidentally wrote this instead. This series fixes a set of > > well-known races where tagging from search-mode unexpectedly affects > > messages that arrived after the search was performed (and hence the > > user doesn't know they're tagging them). We've attacked this a few > > times before, but have always run up against something that was > > missing. It turns out the pieces are finally all in place. > > > > The first five patches just clean various things up in preparation. > > Patches 6 and 7 add support for tagging large queries, which would > > otherwise become a problem when later patches start using explicit > > message ID-based queries for tagging. The remaining four patches > > actually fix the search tagging races using explicit message ID-based > > queries. > > > > It's a fairly long series, but none of the patches are very big. > > > > _______________________________________________ > > notmuch mailing list > > notmuch@notmuchmail.org > > http://notmuchmail.org/mailman/listinfo/notmuch