Issue #4580: slicing of memoryviews when itemsize != 1 is wrong.
Also fix len() to return number of items rather than length in bytes.
I'm sorry it was not possible for me to work on this without reindenting
a bit some stuff around. The indentation in memoryobject.c is a mess,
I'll open a separate bug for it.
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index a8c19ee..7655fbf 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -559,7 +559,7 @@
check(32768*32768-1, size(vh) + 2*self.H)
check(32768*32768, size(vh) + 3*self.H)
# memory
- check(memoryview(b''), size(h + 'P PP2P2i5P'))
+ check(memoryview(b''), size(h + 'P PP2P2i7P'))
# module
check(unittest, size(h + '3P'))
# None