diff mercurial/pycompat.py @ 39456:8d858fbf2759

cbor: teach the encoder to handle python `long` type for Windows The tests for 2**32 and -7000000000 were blowing up, complaining about not knowing how to encode type 'long'. sys.maxint tops out at 2**31-1 on Windows, but I guess is 2^63-1 on Linux? I *think* we're OK on the decode side, as there is an assertion that the decoded value is equal to the original primitive value. I opted for the pycompat alias instead of swallowing the NameError because the vendored cbor package uses an alias, and I see at least pywatchman and templatefilters open codes their own aliases.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 04 Sep 2018 22:29:38 -0400
parents 11d3cd3f0ae5
children a407f9009392
line wrap: on
line diff
--- a/mercurial/pycompat.py	Tue Sep 04 20:48:22 2018 -0400
+++ b/mercurial/pycompat.py	Tue Sep 04 22:29:38 2018 -0400
@@ -120,6 +120,8 @@
     rawinput = input
     getargspec = inspect.getfullargspec
 
+    long = int
+
     # TODO: .buffer might not exist if std streams were replaced; we'll need
     # a silly wrapper to make a bytes stream backed by a unicode one.
     stdin = sys.stdin.buffer
@@ -384,6 +386,7 @@
     ospardir = os.pardir
     ossep = os.sep
     osaltsep = os.altsep
+    long = long
     stdin = sys.stdin
     stdout = sys.stdout
     stderr = sys.stderr