> I guess it was not intended to operate on a list of tiddlers. It's implemented like any other filter operator, taking an input list and producing an output list.
> I think it should rather be *[has[type]each[type]get[type]*... not returning blanks. But *get* never returns blanks, although *each* does return tiddlers in which the field in question is blank. So on tiddlywiki.com at present, *[each[color]]* returns six titles, whereas *[get[color]]* and *[each[get[color]]* return five. > But perhaps there is a case where you do want specifically declared blanks, rather than undefined. In exploring the *title* operator today, I've discovered that it supports negation (previously undocumented). *title[x]* is absolute, ignoring its input. But *!title[x]* is relative, and serves to filter out *x* from the input. Oddly, though, it doesn't filter out *x* if *x* doesn't exist as a tiddler. So we can't use *!title[]* to filter out blanks from other lists. > I was about to extend *each*, so it does handle list fields So that, given one tiddler with list *A B C* and another with list *A C E G*, it would return *A B C E G*? That sounds like a relative form of the *list* operator: *[tag[foo]list:relative[]]*. Or an absolute form of it that somehow took a *list* of text references as its parameter. > Perhaps it should rather be: *[tag[foo]get:list[]]* or *[**tag[foo]* *get:list[my-list-field]]* with the behaviour you describe That would also be logical. In fact, the concept of unpacking a list into an array is so useful that maybe it deserves its own unsuffixed operator. – æ -- 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. For more options, visit https://groups.google.com/d/optout.

