Subject: Re: bug#39919: 26.3; Incorrect byte-compiler warning

From: Michael Heerdegen <[email-masked]>
Date: Sun, 08 Mar 2020 01:49:08 +0100

Richard Stallman <[email-masked]> writes:

> I can't easily obtain that discussion.  Perhaps that discussion
> turned up some other reason to deprecated that argument.

Yes: the reason was that it's not very useful, the order of
execution is strange, and it's easy to avoid, so, to cite Stefan, "Which
is why I think the current behavior of complaining when the third field
is used (except in the very rare case where the third field refers to
the iteration variable) is a fairly good compromise."

> But if it was solely to avoid these warnings, I am surprised it is
> hard.
>
> Does this patch fix the problem?

Yes, that should work.  I don't consider it a good fix because it just
hides the underlying problem (I guess that's why the original author
added the FIXME instead of fixing it in this obvious way).  We have
manifestations of the same issue in other places that, AFAIR, can't be
fixed in the same way.

Anyway, I think the warning currently raised is not helpful, it is
confusing if you didn't read the related bug reports.  I guess we could
just say that the argument is deprecated.  Maybe that didn't happen
because dotimes in Common Lisp has that third argument too (as mentioned
in the other reports).

Michael.