I was stuck in my dev <https://groups.google.com/forum/#!topic/tiddlywiki/H90XO43PblE> because I couldn't output the intersection of two filters, each made of several runs. I didn't find a built-in function to do so, and I couldn't find a satisfying solution online. But I eventually found my own solution, shared here.
Say I want to get all the tiddlers that satisfy the following conditions (toy example here, could also have a pair of very complex filters): (has tag Todo OR starts with "a") AND (has tag Howto OR starts with "al") This is computed by the following code, where the output list is enlist <setAinterB>, which is displayed by the list-links macro. <$set name="filterA" filter="[tag[Todo]] [all[]prefix[a]]"> <$set name="filterB" filter="[tag[Howto]] [all[]prefix[al]]"> <$set name="setAunionB" filter="[enlist<filterA>] [enlist<filterB>]"> <$set name="setAnotB" filter="[enlist<filterA>] -[enlist<filterB>]"> <$set name="setBnotA" filter="[enlist<filterB>] -[enlist<filterA>]"> <$set name="setAinterB" filter="[enlist<setAunionB>] -[enlist<setAnotB>] -[enlist<setBnotA>]"> <<list-links "[enlist<setAinterB>sort[]]">> </$set> </$set> </$set> </$set> </$set> *Caveat* : if a filter output contains double brackets (say a tiddler named "oh what a [[bad]] name") it breaks the enlist processing, and you won't have the correct output. Best, Eric -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/aed0f313-a9e9-4104-a2a6-2066f49ddec1%40googlegroups.com.

