Subject: bug#32463: 27.0.50; (logior -1) => 4611686018427387903

From: Pip Cet <[email-masked]>
Date: Sat, 18 Aug 2018 19:58:40 +0000

On Sat, Aug 18, 2018 at 7:00 PM Eli Zaretskii <[email-masked]> wrote:
>
> > From: Paul Eggert <[email-masked]>
> > Date: Sat, 18 Aug 2018 11:48:11 -0700
> > Cc: [email-masked]
> >
> > It would be weird for lsh to act one way for negative bignums, and a different
> > and incompatible way for negative fixnums. Instead, I suggest that we deprecate
> > lsh, as it doesn't make sense any more now that integers have unbounded size.
>
> It is IMO absurd for us to deprecate a valid and useful operation just
> because we added bignums.  If we cannot agree on its semantics for
> bignums (which would surprise me), then it is better to make it not
> work for bignums at all than deprecate it for fixnums.

The recent code changes made `lsh' behave the same as `ash' for
fixnums, if I understand correctly. Are you suggesting we revert to
the previous behavior, and try to come up with an interpretation for
bignums that somehow extends the previous behavior?

(In any case, the current code for bignums is inconsistent for the
low-order bits that should be unaffected by whatever convention we
choose).