On 09/03/2015 23:06, David Bremner wrote: > Jean-Marc Liotier <jm@liotier.org> writes: >> So nowadays, is there any other way to express "this folder and all its subfolders" ? The path: keyword does not seem useful for that with a maildir with a flat structure of dot.delimited.directories - or is there something like a dot.delimited.* wildcard ? > One option is to create symlink farm. Since it's only directories being > symlinked, it isn't that bad. I don't know how well this scales, but it > seems to work for about 200k messages in 184 mailing lists. On the plus side: it works. Here is my interpretation of the idea: % cd ~/Maildir % mkdir .NM_myTopLevelFolder % ln -rs .myTopLevelFolder* -t .NM_myTopLevelFolder % rm -f .NM_myTopLevelFolder/.myTopLevelFolder % notmuch new % notmuch-mutt --remove-dups --output-dir ~/Maildir/.=Search \ search keyword and "path:.NM_myTopLevelFolder/**" So, thanks for this workaround suggestion. On the downside: - It doubles the number of messages to index (though then even multiplied by two, my 300k messages are Not Much Mailâ„¢ - but still...) - myTopLevelFolder gets a NM_myTopLevelFolder twin and restricting the search scope to it requires using its twin's name - The additional messages are duplicates, so --remove-dups becomes mandatory in any search query - This method is good for restricting the search scope to a directory, but not for excluding a directory from the search scope... Which alas is what I desire most... > Roughly > speaking: > > % mkdir list > % cd list > % ln -s ../.list.* . > % mmv .list.* * # zsh specific, optional > % notmuch new > > Notmuch new took about 10 minutes, but now I can search > > 'path:list/**' > >