On Fri, Dec 6, 2019 at 8:47 PM Drew Adams <address@hidden> wrote:
> FWIW, I disagree that it's necessary, or even worthwhile/helpful,
> to avoid using the return value of `push'.
> And I think the return value should be documented.
Well, I would perhaps agree, for CL compatibility' sake. But I think
this is, up to a point, just bikeshedding. As shown, in 99,92% of cases
the return value is not used, and in the 0,08% that it is used, it's
just to avoid
(progn (push value variable) variable)
(progn (push value variable) t)
And it's a fact that, although push's return value *is* documented in
CL, it has never been so in Emacs, at least going back to cl.el in
Emacs 20 (even back then, there were just vague promises that it was
similar to `setf').
So it'd be nice if it were documented, but it is not, and the few
places that use it can easily be fixed. No big deal, not worth
discussing it IMO.
> (This is like not documenting the return value of `progn' or `setq`'. ;-))
The return value of `progn' is part of its interface and use. As
for `setq', it wouldn't be earthshaking if it wasn't documented.