Here's what I want to write in a filter:
If the current tiddler
- doesn't have the "reaction" tag
- doesn't have an "a-actions" field
- has a "m-components" list with one member
- then display an extra icon.
I originally wrote this as
[all[current]!tag[Reaction]!has[a-actions]list[!!m-components]count[]compare:number:eq[1]]
But this does not work because list[] ignores its input, so even if it's been emptied out by the earlier filters, it still displays the icon if m-components has one member but the tiddler does have Reaction or a-actions.
I then tried using a set intersection:
[all[current]!tag[Reaction]!has[a-actions]]+[list[!!m-components]count[]compare:number:eq[1]]
But this has the same problem and I'm not sure why, as the first set should be empty. In fact looking at it if it's a set intersection, my reasoning would have been that it would never trigger because the second set can only be empty or contain "1", and so unless the tiddler was named "1" that would not be present in the first set and the intersection would be empty. But it seems intersections don't work that way?
How do intersections correctly work and how can I do this?