Subject: bug#32485: 27.0.50; Problem with zerop on 32-bit platforms

From: Ken Brown <[email-masked]>
Date: Mon, 20 Aug 2018 14:12:54 -0400

Evaluating (zerop (lsh -1 32)) on 32-bit Cygwin yields

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p 
-4294967296)

I realize that the fate of lsh is still being debated, but I think
there's a problem with zerop anyway, because directly evaluating (zerop
-4294967296) leads to the same error.

I encountered this problem because vc-hg-state-fast contains the
following:

          ;; We want to store 32-bit unsigned values in fixnums.
          (zerop (lsh -1 32))

Aside from the fact that this leads to an error, it may need to be
changed once a decision is made about lsh.

In GNU Emacs 27.0.50 (build 10, i686-pc-cygwin)
  of 2018-08-20 built on moufang
Repository revision: ecd7a9407711ebe24d7e07d4402a2d66754ee693