Reformatted excerpts from Carl Worth's message of 2009-09-03:
> But the above discussion of "killed" suggests that the mechanics
> aren't at all like that. But that instead, labels are applied to
> individual messages, and searches match individual messages and then
> construct threads from the results. Is that more or less how things
> work?

Yes. That's why killed is special; it requires work at threading time to
drop threads in which any message has a killed label, regardless of
whether that's the message that matched the query.

> So is there a mismatch between the philosophy and the mechanics, or
> did I just misunderstand the philosophy?

Not sure. Maybe both. :) The philosophy is more about the UI, IMO, than
specific implementation details (though obviosuly there's some
trickle-up).

The other way to implement this, FWIW, is to have labels automatically
spread to all messages in a thread when they're applied. I think that is
probably a better implementation, though it increases the cost at
labeling time. I've been toying with this idea in the sup server code.

> If not, it seems like it would be possible for a query like
> "!label:killed" to do exactly what is wanted without needing any
> special treatment for killed internally.

I think the above implementation would allow this.
-- 
William <[email protected]>
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk

Reply via email to