Found this today while using Smart Groups on DT 2.2, confirmed on OS X Snow Leopard and Lion …
Create a smart group, then add a “Kind is Bookmarks” predicate. Should work fine. Edit the smart group and add another predicate, set it to “Kind is Feed” and make sure the search is set to “Any of the following are true”. Click OK.
Edit the smart search again … only one “Kind” predicate is saved, the other is discarded.
Why can’t I do a smart group with more than one “Kind” predicate?
Not a bug workaround, as it allows multiple predicates to be added as conjunctive or disjunctive.
If you want the smart group to find items where both of the 'Kind" predicates are true, the initial statement should be “All of the following are true” instead of “Any of the following are true”.
With a bit of experimentation, you will find that you can formulate quite complex criteria.
Well yes I understand the whole and/or nested predicate model … but if i just have a top-level “any…” with two “kind …” predicates it SHOULD match either of them … in boolean terms …
(a) any of (X or Y) … this fails
(b) any of ((any of X) or (any of Y)) … works
Clearly (b) can be reduced to (a) since (X or 1) is logically equivalent to X. But (a) fails while (b) works which i consider a bug.