After looking at, literally, about 4,000 uses of `push' in our sources,
I've found 34 that rely on its return code. (I'm not claiming these are
all there is, just the ones I detected in what was, at most, a mechanical
and, frankly, quite tedious task, though hopefully not a sisyphean one.)
That's about a 0.08% of misuse. Don't know if that's an argument for,
or against, documenting push's return value.
But, assuming we're not going to document it, the following patch (with
appropriate ChangeLog entries, to be written) should be committed.
Changes are mostly mechanical, though in a few cases I've changed
slightly the code to better reflect the author's intention. For example,
there's one case where the FUNCTION arg of a mapcar was just a call to
push, but in fact, the whole return value of that mapcar wasn't used;
so I've changed the mapcar to mapc.
What I mean is that this isn't, per se, a destabilizing change, but
there are some subtleties. Eli, do I install it right now, or do you
prefer to wait after the 27 branch is cut?