I spent way too much time looking at this, and am convincing myself we need a breaking change. Consider this case, what does it return?
It turns out the answer depends on whether
.status selects 0, 1, or N elements, whether the incoming set has 0 or 1 elements, and whether the first element in the incoming set is connected to the document or not.
.status selects nothing, we get a new set that is empty as this ticket shows. If
.status selects one element, and there's only one element in the set, we return the original set and don't
.pushStack(). Otherwise we return a new set consisting of the original plus all the clones.
And that's the simplified description ... I think I got that right.
I'm proposing that we always return the original set and document this as a breaking change. At least in my use, I am generally using
.appendTo() for appending to one element which will have the same behavior in the new world order.