Merging the py3k-pep3137 branch back into the py3k branch.
No detailed change log; just check out the change log for the py3k-pep3137
branch. The most obvious changes:
- str8 renamed to bytes (PyString at the C level);
- bytes renamed to buffer (PyBytes at the C level);
- PyString and PyUnicode are no longer compatible.
I.e. we now have an immutable bytes type and a mutable bytes type.
The behavior of PyString was modified quite a bit, to make it more
bytes-like. Some changes are still on the to-do list.
diff --git a/Lib/modulefinder.py b/Lib/modulefinder.py
index cc5ad19..c345a33 100644
--- a/Lib/modulefinder.py
+++ b/Lib/modulefinder.py
@@ -17,12 +17,12 @@
READ_MODE = "r"
# XXX Clean up once str8's cstor matches bytes.
-LOAD_CONST = str8([dis.opname.index('LOAD_CONST')])
-IMPORT_NAME = str8([dis.opname.index('IMPORT_NAME')])
-STORE_NAME = str8([dis.opname.index('STORE_NAME')])
-STORE_GLOBAL = str8([dis.opname.index('STORE_GLOBAL')])
+LOAD_CONST = bytes([dis.opname.index('LOAD_CONST')])
+IMPORT_NAME = bytes([dis.opname.index('IMPORT_NAME')])
+STORE_NAME = bytes([dis.opname.index('STORE_NAME')])
+STORE_GLOBAL = bytes([dis.opname.index('STORE_GLOBAL')])
STORE_OPS = [STORE_NAME, STORE_GLOBAL]
-HAVE_ARGUMENT = str8([dis.HAVE_ARGUMENT])
+HAVE_ARGUMENT = bytes([dis.HAVE_ARGUMENT])
# Modulefinder does a good job at simulating Python's, but it can not
# handle __path__ modifications packages make at runtime. Therefore there
@@ -368,7 +368,7 @@
consts = co.co_consts
LOAD_LOAD_AND_IMPORT = LOAD_CONST + LOAD_CONST + IMPORT_NAME
while code:
- c = str8([code[0]])
+ c = bytes([code[0]])
if c in STORE_OPS:
oparg, = unpack('<H', code[1:3])
yield "store", (names[oparg],)