As far as I can tell this is an order of operations thing. Both list and 
tags replace the current list instead of applying a filter to it. It looks 
like the second one (the one that isn't working) is applying each thing in 
turn from left to right while the first one is evaluating the expression 
separately before taking the set difference. In cases where you aren't 
using a selection constructor there isn't a difference between applying 
each one sequentially and evaluating them separately before taking the 
intersection.

So the first statement is correct, the part about set intersections doesn't 
hold for all operators. It is a convenient shorthand, but we may want to 
update the documentation.

So, with those problems one way you can get the behavior you want would be 
like this:

<$list filter='[list[!!authors]]' variable=ThisAuthor>
<$list filter='[all[current]tags[]]+[field:title<ThisAuthor>]'>

</$list>
</$list>

it is certainly not ideal, but it works for your example at least. More 
complex things may cause trouble.

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/36da575b-bc71-4e48-98b1-cccd6f374232%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to