Franz Fellner <alpine.art.de@gmail.com> writes: > On Wed, 31 Aug 2016 09:20:52 -0300, David Bremner <david@tethera.net> wrote: >> Lucas Hoffmann <luc.lists@gmail.com> writes: >> >> > Thank you Franz, sadly your reply did not convince me: >> > >> > Quoting Franz Fellner (2016-08-31 11:21:18) >> >> Your problem: the example sucks ;) >> > >> > No, I must object :( >> > >> >> If the query searches for a tag you also have in exclude_tags (in your >> >> case: spam) the exclude gets ignored. >> > >> > Is that documented? Because it is not what I would expect. >> >> Yes, it is documented in notmuch-config(1) > > And for "destructiveness" see the implementation in lib/query.cc _notmuch_exclude_tags: > It replaces every matching tag in query_string and exclude_tags with an empty string "" > in the exclude terms. This most likely results in <match_all_documents> which can be > seen as a bug, if you want; removing would be better but also more expensive. Maybe more programming effort, but I guess not more expensive in performance? It is not clear that this is worth fixing, since the destructiveness makes re-using queries inadvisable. Are there any non-destructive operations on queries (that it seems reasonable to commit to being non-destructive)? Otherwise, I guess we could just add a blanket warning to the API docs. d