Calum,
That bug was marked "wontfix" for a reason: the request was predicated on a misunderstanding about what ZINTER/ZUNION did before they were *renamed* to ZINTERSTORE/ZUNIONSTORE. No one bothered to reply to the follow-on request because they were posting in a bug that had already been closed, and because the new feature request was more or less completely unrelated to the original request.
As for your request (and the last poster in the bug), I don't believe that ZINTER or ZUNION would ever be added again, with or without semantics that you describe. Why? Simply because the API of using Z*STORE commands + ZRANGE can accomplish everything you want and more. ZINTER/ZUNION is strictly less powerful than ZINTERSTORE/ZUNIONSTORE, and the non-store variants are rarely what people actually need. Another drawback is that without the use of a full ZSET with scores to order the results (instead appending them to a list, as an example), the results of your ZINTER operation won't necessarily have consistent ordering (in fact, I can construct a series of operations that would guarantee inconsistent orderings across calls, even when identical data is present in the system), which basically destroys any reasonable expectation of being able to paginate over the results of your ZINTER.
My advice: if you want consistent ordering for pagination, use ZINTERSTORE/ZUNIONSTORE and learn to live with the O(M Log(M)) creation time.
- Josiah