Repository 'jbrowsearchivecreator'
hg clone https://testtoolshed.g2.bx.psu.edu/repos/yating-l/jbrowsearchivecreator

Changeset 5:32a5addbbae8 (2017-05-18)
Previous changeset 4:b454a3fba174 (2017-05-18) Next changeset 6:f9760de55888 (2017-05-19)
Commit message:
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
removed:
test/bin/python
test/include/python2.7/Python-ast.h
test/include/python2.7/Python.h
test/include/python2.7/abstract.h
test/include/python2.7/asdl.h
test/include/python2.7/ast.h
test/include/python2.7/bitset.h
test/include/python2.7/boolobject.h
test/include/python2.7/bufferobject.h
test/include/python2.7/bytearrayobject.h
test/include/python2.7/bytes_methods.h
test/include/python2.7/bytesobject.h
test/include/python2.7/cStringIO.h
test/include/python2.7/cellobject.h
test/include/python2.7/ceval.h
test/include/python2.7/classobject.h
test/include/python2.7/cobject.h
test/include/python2.7/code.h
test/include/python2.7/codecs.h
test/include/python2.7/compile.h
test/include/python2.7/complexobject.h
test/include/python2.7/datetime.h
test/include/python2.7/descrobject.h
test/include/python2.7/dictobject.h
test/include/python2.7/dtoa.h
test/include/python2.7/enumobject.h
test/include/python2.7/errcode.h
test/include/python2.7/eval.h
test/include/python2.7/fileobject.h
test/include/python2.7/floatobject.h
test/include/python2.7/frameobject.h
test/include/python2.7/funcobject.h
test/include/python2.7/genobject.h
test/include/python2.7/graminit.h
test/include/python2.7/grammar.h
test/include/python2.7/import.h
test/include/python2.7/intobject.h
test/include/python2.7/intrcheck.h
test/include/python2.7/iterobject.h
test/include/python2.7/listobject.h
test/include/python2.7/longintrepr.h
test/include/python2.7/longobject.h
test/include/python2.7/marshal.h
test/include/python2.7/memoryobject.h
test/include/python2.7/metagrammar.h
test/include/python2.7/methodobject.h
test/include/python2.7/modsupport.h
test/include/python2.7/moduleobject.h
test/include/python2.7/node.h
test/include/python2.7/object.h
test/include/python2.7/objimpl.h
test/include/python2.7/opcode.h
test/include/python2.7/osdefs.h
test/include/python2.7/parsetok.h
test/include/python2.7/patchlevel.h
test/include/python2.7/pgen.h
test/include/python2.7/pgenheaders.h
test/include/python2.7/py_curses.h
test/include/python2.7/pyarena.h
test/include/python2.7/pycapsule.h
test/include/python2.7/pyconfig.h
test/include/python2.7/pyctype.h
test/include/python2.7/pydebug.h
test/include/python2.7/pyerrors.h
test/include/python2.7/pyexpat.h
test/include/python2.7/pyfpe.h
test/include/python2.7/pygetopt.h
test/include/python2.7/pymacconfig.h
test/include/python2.7/pymactoolbox.h
test/include/python2.7/pymath.h
test/include/python2.7/pymem.h
test/include/python2.7/pyport.h
test/include/python2.7/pystate.h
test/include/python2.7/pystrcmp.h
test/include/python2.7/pystrtod.h
test/include/python2.7/pythonrun.h
test/include/python2.7/pythread.h
test/include/python2.7/rangeobject.h
test/include/python2.7/setobject.h
test/include/python2.7/sliceobject.h
test/include/python2.7/stringobject.h
test/include/python2.7/structmember.h
test/include/python2.7/structseq.h
test/include/python2.7/symtable.h
test/include/python2.7/sysmodule.h
test/include/python2.7/timefuncs.h
test/include/python2.7/token.h
test/include/python2.7/traceback.h
test/include/python2.7/tupleobject.h
test/include/python2.7/ucnhash.h
test/include/python2.7/unicodeobject.h
test/include/python2.7/warnings.h
test/include/python2.7/weakrefobject.h
test/lib/python2.7/UserDict.py
test/lib/python2.7/UserDict.pyc
test/lib/python2.7/_abcoll.py
test/lib/python2.7/_abcoll.pyc
test/lib/python2.7/_weakrefset.py
test/lib/python2.7/_weakrefset.pyc
test/lib/python2.7/abc.py
test/lib/python2.7/abc.pyc
test/lib/python2.7/codecs.py
test/lib/python2.7/codecs.pyc
test/lib/python2.7/copy_reg.py
test/lib/python2.7/copy_reg.pyc
test/lib/python2.7/distutils/__init__.py
test/lib/python2.7/distutils/__init__.pyc
test/lib/python2.7/distutils/distutils.cfg
test/lib/python2.7/encodings/__init__.py
test/lib/python2.7/encodings/__init__.pyc
test/lib/python2.7/encodings/aliases.py
test/lib/python2.7/encodings/aliases.pyc
test/lib/python2.7/encodings/ascii.py
test/lib/python2.7/encodings/ascii.pyc
test/lib/python2.7/encodings/base64_codec.py
test/lib/python2.7/encodings/base64_codec.pyc
test/lib/python2.7/encodings/big5.py
test/lib/python2.7/encodings/big5.pyc
test/lib/python2.7/encodings/big5hkscs.py
test/lib/python2.7/encodings/big5hkscs.pyc
test/lib/python2.7/encodings/bz2_codec.py
test/lib/python2.7/encodings/bz2_codec.pyc
test/lib/python2.7/encodings/charmap.py
test/lib/python2.7/encodings/charmap.pyc
test/lib/python2.7/encodings/cp037.py
test/lib/python2.7/encodings/cp037.pyc
test/lib/python2.7/encodings/cp1006.py
test/lib/python2.7/encodings/cp1006.pyc
test/lib/python2.7/encodings/cp1026.py
test/lib/python2.7/encodings/cp1026.pyc
test/lib/python2.7/encodings/cp1140.py
test/lib/python2.7/encodings/cp1140.pyc
test/lib/python2.7/encodings/cp1250.py
test/lib/python2.7/encodings/cp1250.pyc
test/lib/python2.7/encodings/cp1251.py
test/lib/python2.7/encodings/cp1251.pyc
test/lib/python2.7/encodings/cp1252.py
test/lib/python2.7/encodings/cp1252.pyc
test/lib/python2.7/encodings/cp1253.py
test/lib/python2.7/encodings/cp1253.pyc
test/lib/python2.7/encodings/cp1254.py
test/lib/python2.7/encodings/cp1254.pyc
test/lib/python2.7/encodings/cp1255.py
test/lib/python2.7/encodings/cp1255.pyc
test/lib/python2.7/encodings/cp1256.py
test/lib/python2.7/encodings/cp1256.pyc
test/lib/python2.7/encodings/cp1257.py
test/lib/python2.7/encodings/cp1257.pyc
test/lib/python2.7/encodings/cp1258.py
test/lib/python2.7/encodings/cp1258.pyc
test/lib/python2.7/encodings/cp424.py
test/lib/python2.7/encodings/cp424.pyc
test/lib/python2.7/encodings/cp437.py
test/lib/python2.7/encodings/cp437.pyc
test/lib/python2.7/encodings/cp500.py
test/lib/python2.7/encodings/cp500.pyc
test/lib/python2.7/encodings/cp720.py
test/lib/python2.7/encodings/cp720.pyc
test/lib/python2.7/encodings/cp737.py
test/lib/python2.7/encodings/cp737.pyc
test/lib/python2.7/encodings/cp775.py
test/lib/python2.7/encodings/cp775.pyc
test/lib/python2.7/encodings/cp850.py
test/lib/python2.7/encodings/cp850.pyc
test/lib/python2.7/encodings/cp852.py
test/lib/python2.7/encodings/cp852.pyc
test/lib/python2.7/encodings/cp855.py
test/lib/python2.7/encodings/cp855.pyc
test/lib/python2.7/encodings/cp856.py
test/lib/python2.7/encodings/cp856.pyc
test/lib/python2.7/encodings/cp857.py
test/lib/python2.7/encodings/cp857.pyc
test/lib/python2.7/encodings/cp858.py
test/lib/python2.7/encodings/cp858.pyc
test/lib/python2.7/encodings/cp860.py
test/lib/python2.7/encodings/cp860.pyc
test/lib/python2.7/encodings/cp861.py
test/lib/python2.7/encodings/cp861.pyc
test/lib/python2.7/encodings/cp862.py
test/lib/python2.7/encodings/cp862.pyc
test/lib/python2.7/encodings/cp863.py
test/lib/python2.7/encodings/cp863.pyc
test/lib/python2.7/encodings/cp864.py
test/lib/python2.7/encodings/cp864.pyc
test/lib/python2.7/encodings/cp865.py
test/lib/python2.7/encodings/cp865.pyc
test/lib/python2.7/encodings/cp866.py
test/lib/python2.7/encodings/cp866.pyc
test/lib/python2.7/encodings/cp869.py
test/lib/python2.7/encodings/cp869.pyc
test/lib/python2.7/encodings/cp874.py
test/lib/python2.7/encodings/cp874.pyc
test/lib/python2.7/encodings/cp875.py
test/lib/python2.7/encodings/cp875.pyc
test/lib/python2.7/encodings/cp932.py
test/lib/python2.7/encodings/cp932.pyc
test/lib/python2.7/encodings/cp949.py
test/lib/python2.7/encodings/cp949.pyc
test/lib/python2.7/encodings/cp950.py
test/lib/python2.7/encodings/cp950.pyc
test/lib/python2.7/encodings/euc_jis_2004.py
test/lib/python2.7/encodings/euc_jis_2004.pyc
test/lib/python2.7/encodings/euc_jisx0213.py
test/lib/python2.7/encodings/euc_jisx0213.pyc
test/lib/python2.7/encodings/euc_jp.py
test/lib/python2.7/encodings/euc_jp.pyc
test/lib/python2.7/encodings/euc_kr.py
test/lib/python2.7/encodings/euc_kr.pyc
test/lib/python2.7/encodings/gb18030.py
test/lib/python2.7/encodings/gb18030.pyc
test/lib/python2.7/encodings/gb2312.py
test/lib/python2.7/encodings/gb2312.pyc
test/lib/python2.7/encodings/gbk.py
test/lib/python2.7/encodings/gbk.pyc
test/lib/python2.7/encodings/hex_codec.py
test/lib/python2.7/encodings/hex_codec.pyc
test/lib/python2.7/encodings/hp_roman8.py
test/lib/python2.7/encodings/hp_roman8.pyc
test/lib/python2.7/encodings/hz.py
test/lib/python2.7/encodings/hz.pyc
test/lib/python2.7/encodings/idna.py
test/lib/python2.7/encodings/idna.pyc
test/lib/python2.7/encodings/iso2022_jp.py
test/lib/python2.7/encodings/iso2022_jp.pyc
test/lib/python2.7/encodings/iso2022_jp_1.py
test/lib/python2.7/encodings/iso2022_jp_1.pyc
test/lib/python2.7/encodings/iso2022_jp_2.py
test/lib/python2.7/encodings/iso2022_jp_2.pyc
test/lib/python2.7/encodings/iso2022_jp_2004.py
test/lib/python2.7/encodings/iso2022_jp_2004.pyc
test/lib/python2.7/encodings/iso2022_jp_3.py
test/lib/python2.7/encodings/iso2022_jp_3.pyc
test/lib/python2.7/encodings/iso2022_jp_ext.py
test/lib/python2.7/encodings/iso2022_jp_ext.pyc
test/lib/python2.7/encodings/iso2022_kr.py
test/lib/python2.7/encodings/iso2022_kr.pyc
test/lib/python2.7/encodings/iso8859_1.py
test/lib/python2.7/encodings/iso8859_1.pyc
test/lib/python2.7/encodings/iso8859_10.py
test/lib/python2.7/encodings/iso8859_10.pyc
test/lib/python2.7/encodings/iso8859_11.py
test/lib/python2.7/encodings/iso8859_11.pyc
test/lib/python2.7/encodings/iso8859_13.py
test/lib/python2.7/encodings/iso8859_13.pyc
test/lib/python2.7/encodings/iso8859_14.py
test/lib/python2.7/encodings/iso8859_14.pyc
test/lib/python2.7/encodings/iso8859_15.py
test/lib/python2.7/encodings/iso8859_15.pyc
test/lib/python2.7/encodings/iso8859_16.py
test/lib/python2.7/encodings/iso8859_16.pyc
test/lib/python2.7/encodings/iso8859_2.py
test/lib/python2.7/encodings/iso8859_2.pyc
test/lib/python2.7/encodings/iso8859_3.py
test/lib/python2.7/encodings/iso8859_3.pyc
test/lib/python2.7/encodings/iso8859_4.py
test/lib/python2.7/encodings/iso8859_4.pyc
test/lib/python2.7/encodings/iso8859_5.py
test/lib/python2.7/encodings/iso8859_5.pyc
test/lib/python2.7/encodings/iso8859_6.py
test/lib/python2.7/encodings/iso8859_6.pyc
test/lib/python2.7/encodings/iso8859_7.py
test/lib/python2.7/encodings/iso8859_7.pyc
test/lib/python2.7/encodings/iso8859_8.py
test/lib/python2.7/encodings/iso8859_8.pyc
test/lib/python2.7/encodings/iso8859_9.py
test/lib/python2.7/encodings/iso8859_9.pyc
test/lib/python2.7/encodings/johab.py
test/lib/python2.7/encodings/johab.pyc
test/lib/python2.7/encodings/koi8_r.py
test/lib/python2.7/encodings/koi8_r.pyc
test/lib/python2.7/encodings/koi8_u.py
test/lib/python2.7/encodings/koi8_u.pyc
test/lib/python2.7/encodings/latin_1.py
test/lib/python2.7/encodings/latin_1.pyc
test/lib/python2.7/encodings/mac_arabic.py
test/lib/python2.7/encodings/mac_arabic.pyc
test/lib/python2.7/encodings/mac_centeuro.py
test/lib/python2.7/encodings/mac_centeuro.pyc
test/lib/python2.7/encodings/mac_croatian.py
test/lib/python2.7/encodings/mac_croatian.pyc
test/lib/python2.7/encodings/mac_cyrillic.py
test/lib/python2.7/encodings/mac_cyrillic.pyc
test/lib/python2.7/encodings/mac_farsi.py
test/lib/python2.7/encodings/mac_farsi.pyc
test/lib/python2.7/encodings/mac_greek.py
test/lib/python2.7/encodings/mac_greek.pyc
test/lib/python2.7/encodings/mac_iceland.py
test/lib/python2.7/encodings/mac_iceland.pyc
test/lib/python2.7/encodings/mac_latin2.py
test/lib/python2.7/encodings/mac_latin2.pyc
test/lib/python2.7/encodings/mac_roman.py
test/lib/python2.7/encodings/mac_roman.pyc
test/lib/python2.7/encodings/mac_romanian.py
test/lib/python2.7/encodings/mac_romanian.pyc
test/lib/python2.7/encodings/mac_turkish.py
test/lib/python2.7/encodings/mac_turkish.pyc
test/lib/python2.7/encodings/mbcs.py
test/lib/python2.7/encodings/mbcs.pyc
test/lib/python2.7/encodings/palmos.py
test/lib/python2.7/encodings/palmos.pyc
test/lib/python2.7/encodings/ptcp154.py
test/lib/python2.7/encodings/ptcp154.pyc
test/lib/python2.7/encodings/punycode.py
test/lib/python2.7/encodings/punycode.pyc
test/lib/python2.7/encodings/quopri_codec.py
test/lib/python2.7/encodings/quopri_codec.pyc
test/lib/python2.7/encodings/raw_unicode_escape.py
test/lib/python2.7/encodings/raw_unicode_escape.pyc
test/lib/python2.7/encodings/rot_13.py
test/lib/python2.7/encodings/rot_13.pyc
test/lib/python2.7/encodings/shift_jis.py
test/lib/python2.7/encodings/shift_jis.pyc
test/lib/python2.7/encodings/shift_jis_2004.py
test/lib/python2.7/encodings/shift_jis_2004.pyc
test/lib/python2.7/encodings/shift_jisx0213.py
test/lib/python2.7/encodings/shift_jisx0213.pyc
test/lib/python2.7/encodings/string_escape.py
test/lib/python2.7/encodings/string_escape.pyc
test/lib/python2.7/encodings/tis_620.py
test/lib/python2.7/encodings/tis_620.pyc
test/lib/python2.7/encodings/undefined.py
test/lib/python2.7/encodings/undefined.pyc
test/lib/python2.7/encodings/unicode_escape.py
test/lib/python2.7/encodings/unicode_escape.pyc
test/lib/python2.7/encodings/unicode_internal.py
test/lib/python2.7/encodings/unicode_internal.pyc
test/lib/python2.7/encodings/utf_16.py
test/lib/python2.7/encodings/utf_16.pyc
test/lib/python2.7/encodings/utf_16_be.py
test/lib/python2.7/encodings/utf_16_be.pyc
test/lib/python2.7/encodings/utf_16_le.py
test/lib/python2.7/encodings/utf_16_le.pyc
test/lib/python2.7/encodings/utf_32.py
test/lib/python2.7/encodings/utf_32.pyc
test/lib/python2.7/encodings/utf_32_be.py
test/lib/python2.7/encodings/utf_32_be.pyc
test/lib/python2.7/encodings/utf_32_le.py
test/lib/python2.7/encodings/utf_32_le.pyc
test/lib/python2.7/encodings/utf_7.py
test/lib/python2.7/encodings/utf_7.pyc
test/lib/python2.7/encodings/utf_8.py
test/lib/python2.7/encodings/utf_8.pyc
test/lib/python2.7/encodings/utf_8_sig.py
test/lib/python2.7/encodings/utf_8_sig.pyc
test/lib/python2.7/encodings/uu_codec.py
test/lib/python2.7/encodings/uu_codec.pyc
test/lib/python2.7/encodings/zlib_codec.py
test/lib/python2.7/encodings/zlib_codec.pyc
test/lib/python2.7/fnmatch.py
test/lib/python2.7/fnmatch.pyc
test/lib/python2.7/genericpath.py
test/lib/python2.7/genericpath.pyc
test/lib/python2.7/lib-dynload/Python-2.7.egg-info
test/lib/python2.7/lib-dynload/_bsddb.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_csv.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_ctypes_test.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_curses.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_curses_panel.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_elementtree.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_hotshot.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_lsprof.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_multiprocessing.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/_testcapi.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/audioop.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/crypt.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/dbm.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/fpectl.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/future_builtins.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/linuxaudiodev.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/mmap.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/nis.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/ossaudiodev.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so
test/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so
test/lib/python2.7/linecache.py
test/lib/python2.7/linecache.pyc
test/lib/python2.7/locale.py
test/lib/python2.7/locale.pyc
test/lib/python2.7/no-global-site-packages.txt
test/lib/python2.7/ntpath.py
test/lib/python2.7/orig-prefix.txt
test/lib/python2.7/os.py
test/lib/python2.7/os.pyc
test/lib/python2.7/posixpath.py
test/lib/python2.7/posixpath.pyc
test/lib/python2.7/re.py
test/lib/python2.7/re.pyc
test/lib/python2.7/site.py
test/lib/python2.7/site.pyc
test/lib/python2.7/sre.py
test/lib/python2.7/sre_compile.py
test/lib/python2.7/sre_compile.pyc
test/lib/python2.7/sre_constants.py
test/lib/python2.7/sre_constants.pyc
test/lib/python2.7/sre_parse.py
test/lib/python2.7/sre_parse.pyc
test/lib/python2.7/stat.py
test/lib/python2.7/stat.pyc
test/lib/python2.7/types.py
test/lib/python2.7/types.pyc
test/lib/python2.7/warnings.py
test/lib/python2.7/warnings.pyc
b
diff -r b454a3fba174 -r 32a5addbbae8 test/bin/python
b
Binary file test/bin/python has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/Python-ast.h
--- a/test/include/python2.7/Python-ast.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,535 +0,0 @@\n-/* File automatically generated by Parser/asdl_c.py. */\n-\n-#include "asdl.h"\n-\n-typedef struct _mod *mod_ty;\n-\n-typedef struct _stmt *stmt_ty;\n-\n-typedef struct _expr *expr_ty;\n-\n-typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,\n-                             Param=6 } expr_context_ty;\n-\n-typedef struct _slice *slice_ty;\n-\n-typedef enum _boolop { And=1, Or=2 } boolop_ty;\n-\n-typedef enum _operator { Add=1, Sub=2, Mult=3, Div=4, Mod=5, Pow=6, LShift=7,\n-                         RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 }\n-                         operator_ty;\n-\n-typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;\n-\n-typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8,\n-                      In=9, NotIn=10 } cmpop_ty;\n-\n-typedef struct _comprehension *comprehension_ty;\n-\n-typedef struct _excepthandler *excepthandler_ty;\n-\n-typedef struct _arguments *arguments_ty;\n-\n-typedef struct _keyword *keyword_ty;\n-\n-typedef struct _alias *alias_ty;\n-\n-\n-enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,\n-                 Suite_kind=4};\n-struct _mod {\n-        enum _mod_kind kind;\n-        union {\n-                struct {\n-                        asdl_seq *body;\n-                } Module;\n-                \n-                struct {\n-                        asdl_seq *body;\n-                } Interactive;\n-                \n-                struct {\n-                        expr_ty body;\n-                } Expression;\n-                \n-                struct {\n-                        asdl_seq *body;\n-                } Suite;\n-                \n-        } v;\n-};\n-\n-enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,\n-                  Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,\n-                  For_kind=8, While_kind=9, If_kind=10, With_kind=11,\n-                  Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,\n-                  Assert_kind=15, Import_kind=16, ImportFrom_kind=17,\n-                  Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,\n-                  Break_kind=22, Continue_kind=23};\n-struct _stmt {\n-        enum _stmt_kind kind;\n-        union {\n-                struct {\n-                        identifier name;\n-                        arguments_ty args;\n-                        asdl_seq *body;\n-                        asdl_seq *decorator_list;\n-                } FunctionDef;\n-                \n-                struct {\n-                        identifier name;\n-                        asdl_seq *bases;\n-                        asdl_seq *body;\n-                        asdl_seq *decorator_list;\n-                } ClassDef;\n-                \n-                struct {\n-                        expr_ty value;\n-                } Return;\n-                \n-                struct {\n-                        asdl_seq *targets;\n-                } Delete;\n-                \n-                struct {\n-                        asdl_seq *targets;\n-                        expr_ty value;\n-                } Assign;\n-                \n-                struct {\n-                        expr_ty target;\n-                        operator_ty op;\n-                        expr_ty value;\n-                } AugAssign;\n-                \n-                struct {\n-                        expr_ty dest;\n-                        asdl_seq *values;\n-                        bool nl;\n-                } Print;\n-                \n-                struct {\n-                        expr_ty target;\n-                        expr_ty iter;\n-                        asdl_seq *body;\n-                        asdl_seq *orelse;\n-                } For;\n-                \n-                struct {\n-                        expr_ty test;\n-                        asdl_seq *body;\n-                        asdl_seq *orelse;\n-                } While;\n-                \n-                struct {\n-                        expr_'..b'q * generators, int lineno, int\n-                    col_offset, PyArena *arena);\n-#define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)\n-expr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int\n-                     lineno, int col_offset, PyArena *arena);\n-#define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)\n-expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int\n-                         col_offset, PyArena *arena);\n-#define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)\n-expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);\n-#define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)\n-expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,\n-                    int lineno, int col_offset, PyArena *arena);\n-#define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)\n-expr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty\n-                 starargs, expr_ty kwargs, int lineno, int col_offset, PyArena\n-                 *arena);\n-#define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)\n-expr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);\n-#define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)\n-expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);\n-#define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)\n-expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);\n-#define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)\n-expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int\n-                      lineno, int col_offset, PyArena *arena);\n-#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)\n-expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int\n-                      lineno, int col_offset, PyArena *arena);\n-#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)\n-expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int\n-                 col_offset, PyArena *arena);\n-#define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)\n-expr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int\n-                 col_offset, PyArena *arena);\n-#define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)\n-expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int\n-                  col_offset, PyArena *arena);\n-#define Ellipsis(a0) _Py_Ellipsis(a0)\n-slice_ty _Py_Ellipsis(PyArena *arena);\n-#define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)\n-slice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);\n-#define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)\n-slice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);\n-#define Index(a0, a1) _Py_Index(a0, a1)\n-slice_ty _Py_Index(expr_ty value, PyArena *arena);\n-#define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)\n-comprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *\n-                                   ifs, PyArena *arena);\n-#define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)\n-excepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body,\n-                                   int lineno, int col_offset, PyArena *arena);\n-#define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)\n-arguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier\n-                           kwarg, asdl_seq * defaults, PyArena *arena);\n-#define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)\n-keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);\n-#define alias(a0, a1, a2) _Py_alias(a0, a1, a2)\n-alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);\n-\n-PyObject* PyAST_mod2obj(mod_ty t);\n-mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);\n-int PyAST_Check(PyObject* obj);\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/Python.h
--- a/test/include/python2.7/Python.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,178 +0,0 @@
-#ifndef Py_PYTHON_H
-#define Py_PYTHON_H
-/* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */
-
-/* Include nearly all Python header files */
-
-#include "patchlevel.h"
-#include "pyconfig.h"
-#include "pymacconfig.h"
-
-/* Cyclic gc is always enabled, starting with release 2.3a1.  Supply the
- * old symbol for the benefit of extension modules written before then
- * that may be conditionalizing on it.  The core doesn't use it anymore.
- */
-#ifndef WITH_CYCLE_GC
-#define WITH_CYCLE_GC 1
-#endif
-
-#include <limits.h>
-
-#ifndef UCHAR_MAX
-#error "Something's broken.  UCHAR_MAX should be defined in limits.h."
-#endif
-
-#if UCHAR_MAX != 255
-#error "Python's source code assumes C's unsigned char is an 8-bit type."
-#endif
-
-#if defined(__sgi) && defined(WITH_THREAD) && !defined(_SGI_MP_SOURCE)
-#define _SGI_MP_SOURCE
-#endif
-
-#include <stdio.h>
-#ifndef NULL
-#   error "Python.h requires that stdio.h define NULL."
-#endif
-
-#include <string.h>
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/* For size_t? */
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-/* CAUTION:  Build setups should ensure that NDEBUG is defined on the
- * compiler command line when building Python in release mode; else
- * assert() calls won't be removed.
- */
-#include <assert.h>
-
-#include "pyport.h"
-
-/* pyconfig.h or pyport.h may or may not define DL_IMPORT */
-#ifndef DL_IMPORT /* declarations for DLL import/export */
-#define DL_IMPORT(RTYPE) RTYPE
-#endif
-#ifndef DL_EXPORT /* declarations for DLL import/export */
-#define DL_EXPORT(RTYPE) RTYPE
-#endif
-
-/* Debug-mode build with pymalloc implies PYMALLOC_DEBUG.
- *  PYMALLOC_DEBUG is in error if pymalloc is not in use.
- */
-#if defined(Py_DEBUG) && defined(WITH_PYMALLOC) && !defined(PYMALLOC_DEBUG)
-#define PYMALLOC_DEBUG
-#endif
-#if defined(PYMALLOC_DEBUG) && !defined(WITH_PYMALLOC)
-#error "PYMALLOC_DEBUG requires WITH_PYMALLOC"
-#endif
-#include "pymath.h"
-#include "pymem.h"
-
-#include "object.h"
-#include "objimpl.h"
-
-#include "pydebug.h"
-
-#include "unicodeobject.h"
-#include "intobject.h"
-#include "boolobject.h"
-#include "longobject.h"
-#include "floatobject.h"
-#ifndef WITHOUT_COMPLEX
-#include "complexobject.h"
-#endif
-#include "rangeobject.h"
-#include "stringobject.h"
-#include "memoryobject.h"
-#include "bufferobject.h"
-#include "bytesobject.h"
-#include "bytearrayobject.h"
-#include "tupleobject.h"
-#include "listobject.h"
-#include "dictobject.h"
-#include "enumobject.h"
-#include "setobject.h"
-#include "methodobject.h"
-#include "moduleobject.h"
-#include "funcobject.h"
-#include "classobject.h"
-#include "fileobject.h"
-#include "cobject.h"
-#include "pycapsule.h"
-#include "traceback.h"
-#include "sliceobject.h"
-#include "cellobject.h"
-#include "iterobject.h"
-#include "genobject.h"
-#include "descrobject.h"
-#include "warnings.h"
-#include "weakrefobject.h"
-
-#include "codecs.h"
-#include "pyerrors.h"
-
-#include "pystate.h"
-
-#include "pyarena.h"
-#include "modsupport.h"
-#include "pythonrun.h"
-#include "ceval.h"
-#include "sysmodule.h"
-#include "intrcheck.h"
-#include "import.h"
-
-#include "abstract.h"
-
-#include "compile.h"
-#include "eval.h"
-
-#include "pyctype.h"
-#include "pystrtod.h"
-#include "pystrcmp.h"
-#include "dtoa.h"
-
-/* _Py_Mangle is defined in compile.c */
-PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name);
-
-/* PyArg_GetInt is deprecated and should not be used, use PyArg_Parse(). */
-#define PyArg_GetInt(v, a) PyArg_Parse((v), "i", (a))
-
-/* PyArg_NoArgs should not be necessary.
-   Set ml_flags in the PyMethodDef to METH_NOARGS. */
-#define PyArg_NoArgs(v) PyArg_Parse(v, "")
-
-/* Argument must be a char or an int in [-128, 127] or [0, 255]. */
-#define Py_CHARMASK(c) ((unsigned char)((c) & 0xff))
-
-#include "pyfpe.h"
-
-/* These definitions must match corresponding definitions in graminit.h.
-   There's code in compile.c that checks that they are the same. */
-#define Py_single_input 256
-#define Py_file_input 257
-#define Py_eval_input 258
-
-#ifdef HAVE_PTH
-/* GNU pth user-space thread support */
-#include <pth.h>
-#endif
-
-/* Define macros for inline documentation. */
-#define PyDoc_VAR(name) static char name[]
-#define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str)
-#ifdef WITH_DOC_STRINGS
-#define PyDoc_STR(str) str
-#else
-#define PyDoc_STR(str) ""
-#endif
-
-#endif /* !Py_PYTHON_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/abstract.h
--- a/test/include/python2.7/abstract.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1396 +0,0 @@\n-#ifndef Py_ABSTRACTOBJECT_H\n-#define Py_ABSTRACTOBJECT_H\n-#ifdef __cplusplus\n-extern "C" {\n-#endif\n-\n-#ifdef PY_SSIZE_T_CLEAN\n-#define PyObject_CallFunction _PyObject_CallFunction_SizeT\n-#define PyObject_CallMethod _PyObject_CallMethod_SizeT\n-#endif\n-\n-/* Abstract Object Interface (many thanks to Jim Fulton) */\n-\n-/*\n-   PROPOSAL: A Generic Python Object Interface for Python C Modules\n-\n-Problem\n-\n-  Python modules written in C that must access Python objects must do\n-  so through routines whose interfaces are described by a set of\n-  include files.  Unfortunately, these routines vary according to the\n-  object accessed.  To use these routines, the C programmer must check\n-  the type of the object being used and must call a routine based on\n-  the object type.  For example, to access an element of a sequence,\n-  the programmer must determine whether the sequence is a list or a\n-  tuple:\n-\n-    if(is_tupleobject(o))\n-      e=gettupleitem(o,i)\n-    else if(is_listitem(o))\n-      e=getlistitem(o,i)\n-\n-  If the programmer wants to get an item from another type of object\n-  that provides sequence behavior, there is no clear way to do it\n-  correctly.\n-\n-  The persistent programmer may peruse object.h and find that the\n-  _typeobject structure provides a means of invoking up to (currently\n-  about) 41 special operators.  So, for example, a routine can get an\n-  item from any object that provides sequence behavior. However, to\n-  use this mechanism, the programmer must make their code dependent on\n-  the current Python implementation.\n-\n-  Also, certain semantics, especially memory management semantics, may\n-  differ by the type of object being used.  Unfortunately, these\n-  semantics are not clearly described in the current include files.\n-  An abstract interface providing more consistent semantics is needed.\n-\n-Proposal\n-\n-  I propose the creation of a standard interface (with an associated\n-  library of routines and/or macros) for generically obtaining the\n-  services of Python objects.  This proposal can be viewed as one\n-  components of a Python C interface consisting of several components.\n-\n-  From the viewpoint of C access to Python services, we have (as\n-  suggested by Guido in off-line discussions):\n-\n-  - "Very high level layer": two or three functions that let you exec or\n-    eval arbitrary Python code given as a string in a module whose name is\n-    given, passing C values in and getting C values out using\n-    mkvalue/getargs style format strings.  This does not require the user\n-    to declare any variables of type "PyObject *".  This should be enough\n-    to write a simple application that gets Python code from the user,\n-    execs it, and returns the output or errors.  (Error handling must also\n-    be part of this API.)\n-\n-  - "Abstract objects layer": which is the subject of this proposal.\n-    It has many functions operating on objects, and lest you do many\n-    things from C that you can also write in Python, without going\n-    through the Python parser.\n-\n-  - "Concrete objects layer": This is the public type-dependent\n-    interface provided by the standard built-in types, such as floats,\n-    strings, and lists.  This interface exists and is currently\n-    documented by the collection of include files provided with the\n-    Python distributions.\n-\n-  From the point of view of Python accessing services provided by C\n-  modules:\n-\n-  - "Python module interface": this interface consist of the basic\n-    routines used to define modules and their members.  Most of the\n-    current extensions-writing guide deals with this interface.\n-\n-  - "Built-in object interface": this is the interface that a new\n-    built-in type must provide and the mechanisms and rules that a\n-    developer of a new built-in type must use and follow.\n-\n-  This proposal is a "first-cut" that is intended to spur\n-  discussion. See especially the lists of notes.\n-\n-  The Python C object interface will provide four protocol'..b'NC(Py_ssize_t) PyMapping_Size(PyObject *o);\n-\n-       /*\n-     Returns the number of keys in object o on success, and -1 on\n-     failure.  For objects that do not provide sequence protocol,\n-     this is equivalent to the Python expression: len(o).\n-       */\n-\n-       /* For DLL compatibility */\n-#undef PyMapping_Length\n-     PyAPI_FUNC(Py_ssize_t) PyMapping_Length(PyObject *o);\n-#define PyMapping_Length PyMapping_Size\n-\n-\n-     /* implemented as a macro:\n-\n-     int PyMapping_DelItemString(PyObject *o, char *key);\n-\n-     Remove the mapping for object, key, from the object *o.\n-     Returns -1 on failure.  This is equivalent to\n-     the Python statement: del o[key].\n-       */\n-#define PyMapping_DelItemString(O,K) PyObject_DelItemString((O),(K))\n-\n-     /* implemented as a macro:\n-\n-     int PyMapping_DelItem(PyObject *o, PyObject *key);\n-\n-     Remove the mapping for object, key, from the object *o.\n-     Returns -1 on failure.  This is equivalent to\n-     the Python statement: del o[key].\n-       */\n-#define PyMapping_DelItem(O,K) PyObject_DelItem((O),(K))\n-\n-     PyAPI_FUNC(int) PyMapping_HasKeyString(PyObject *o, char *key);\n-\n-       /*\n-     On success, return 1 if the mapping object has the key, key,\n-     and 0 otherwise.  This is equivalent to the Python expression:\n-     o.has_key(key).\n-\n-     This function always succeeds.\n-       */\n-\n-     PyAPI_FUNC(int) PyMapping_HasKey(PyObject *o, PyObject *key);\n-\n-       /*\n-     Return 1 if the mapping object has the key, key,\n-     and 0 otherwise.  This is equivalent to the Python expression:\n-     o.has_key(key).\n-\n-     This function always succeeds.\n-\n-       */\n-\n-     /* Implemented as macro:\n-\n-     PyObject *PyMapping_Keys(PyObject *o);\n-\n-     On success, return a list of the keys in object o.  On\n-     failure, return NULL. This is equivalent to the Python\n-     expression: o.keys().\n-       */\n-#define PyMapping_Keys(O) PyObject_CallMethod(O,"keys",NULL)\n-\n-     /* Implemented as macro:\n-\n-     PyObject *PyMapping_Values(PyObject *o);\n-\n-     On success, return a list of the values in object o.  On\n-     failure, return NULL. This is equivalent to the Python\n-     expression: o.values().\n-       */\n-#define PyMapping_Values(O) PyObject_CallMethod(O,"values",NULL)\n-\n-     /* Implemented as macro:\n-\n-     PyObject *PyMapping_Items(PyObject *o);\n-\n-     On success, return a list of the items in object o, where\n-     each item is a tuple containing a key-value pair.  On\n-     failure, return NULL. This is equivalent to the Python\n-     expression: o.items().\n-\n-       */\n-#define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL)\n-\n-     PyAPI_FUNC(PyObject *) PyMapping_GetItemString(PyObject *o, char *key);\n-\n-       /*\n-     Return element of o corresponding to the object, key, or NULL\n-     on failure. This is the equivalent of the Python expression:\n-     o[key].\n-       */\n-\n-     PyAPI_FUNC(int) PyMapping_SetItemString(PyObject *o, char *key,\n-                                            PyObject *value);\n-\n-       /*\n-     Map the object, key, to the value, v.  Returns\n-     -1 on failure.  This is the equivalent of the Python\n-     statement: o[key]=v.\n-      */\n-\n-\n-PyAPI_FUNC(int) PyObject_IsInstance(PyObject *object, PyObject *typeorclass);\n-      /* isinstance(object, typeorclass) */\n-\n-PyAPI_FUNC(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass);\n-      /* issubclass(object, typeorclass) */\n-\n-\n-PyAPI_FUNC(int) _PyObject_RealIsInstance(PyObject *inst, PyObject *cls);\n-\n-PyAPI_FUNC(int) _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls);\n-\n-\n-/* For internal use by buffer API functions */\n-PyAPI_FUNC(void) _Py_add_one_to_index_F(int nd, Py_ssize_t *index,\n-                                        const Py_ssize_t *shape);\n-PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index,\n-                                        const Py_ssize_t *shape);\n-\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif /* Py_ABSTRACTOBJECT_H */\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/asdl.h
--- a/test/include/python2.7/asdl.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,45 +0,0 @@
-#ifndef Py_ASDL_H
-#define Py_ASDL_H
-
-typedef PyObject * identifier;
-typedef PyObject * string;
-typedef PyObject * object;
-
-#ifndef __cplusplus
-typedef enum {false, true} bool;
-#endif
-
-/* It would be nice if the code generated by asdl_c.py was completely
-   independent of Python, but it is a goal the requires too much work
-   at this stage.  So, for example, I'll represent identifiers as
-   interned Python strings.
-*/
-
-/* XXX A sequence should be typed so that its use can be typechecked. */
-
-typedef struct {
-    int size;
-    void *elements[1];
-} asdl_seq;
-
-typedef struct {
-    int size;
-    int elements[1];
-} asdl_int_seq;
-
-asdl_seq *asdl_seq_new(int size, PyArena *arena);
-asdl_int_seq *asdl_int_seq_new(int size, PyArena *arena);
-
-#define asdl_seq_GET(S, I) (S)->elements[(I)]
-#define asdl_seq_LEN(S) ((S) == NULL ? 0 : (S)->size)
-#ifdef Py_DEBUG
-#define asdl_seq_SET(S, I, V) { \
-        int _asdl_i = (I); \
-        assert((S) && _asdl_i < (S)->size); \
-        (S)->elements[_asdl_i] = (V); \
-}
-#else
-#define asdl_seq_SET(S, I, V) (S)->elements[I] = (V)
-#endif
-
-#endif /* !Py_ASDL_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/ast.h
--- a/test/include/python2.7/ast.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,13 +0,0 @@
-#ifndef Py_AST_H
-#define Py_AST_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(mod_ty) PyAST_FromNode(const node *, PyCompilerFlags *flags,
-   const char *, PyArena *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_AST_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/bitset.h
--- a/test/include/python2.7/bitset.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,32 +0,0 @@
-
-#ifndef Py_BITSET_H
-#define Py_BITSET_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Bitset interface */
-
-#define BYTE char
-
-typedef BYTE *bitset;
-
-bitset newbitset(int nbits);
-void delbitset(bitset bs);
-#define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0)
-int addbit(bitset bs, int ibit); /* Returns 0 if already set */
-int samebitset(bitset bs1, bitset bs2, int nbits);
-void mergebitset(bitset bs1, bitset bs2, int nbits);
-
-#define BITSPERBYTE (8*sizeof(BYTE))
-#define NBYTES(nbits) (((nbits) + BITSPERBYTE - 1) / BITSPERBYTE)
-
-#define BIT2BYTE(ibit) ((ibit) / BITSPERBYTE)
-#define BIT2SHIFT(ibit) ((ibit) % BITSPERBYTE)
-#define BIT2MASK(ibit) (1 << BIT2SHIFT(ibit))
-#define BYTE2BIT(ibyte) ((ibyte) * BITSPERBYTE)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BITSET_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/boolobject.h
--- a/test/include/python2.7/boolobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,36 +0,0 @@
-/* Boolean object interface */
-
-#ifndef Py_BOOLOBJECT_H
-#define Py_BOOLOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-typedef PyIntObject PyBoolObject;
-
-PyAPI_DATA(PyTypeObject) PyBool_Type;
-
-#define PyBool_Check(x) (Py_TYPE(x) == &PyBool_Type)
-
-/* Py_False and Py_True are the only two bools in existence.
-Don't forget to apply Py_INCREF() when returning either!!! */
-
-/* Don't use these directly */
-PyAPI_DATA(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct;
-
-/* Use these macros */
-#define Py_False ((PyObject *) &_Py_ZeroStruct)
-#define Py_True ((PyObject *) &_Py_TrueStruct)
-
-/* Macros for returning Py_True or Py_False, respectively */
-#define Py_RETURN_TRUE return Py_INCREF(Py_True), Py_True
-#define Py_RETURN_FALSE return Py_INCREF(Py_False), Py_False
-
-/* Function to return a bool from a C long */
-PyAPI_FUNC(PyObject *) PyBool_FromLong(long);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BOOLOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/bufferobject.h
--- a/test/include/python2.7/bufferobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,33 +0,0 @@
-
-/* Buffer object interface */
-
-/* Note: the object's structure is private */
-
-#ifndef Py_BUFFEROBJECT_H
-#define Py_BUFFEROBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-PyAPI_DATA(PyTypeObject) PyBuffer_Type;
-
-#define PyBuffer_Check(op) (Py_TYPE(op) == &PyBuffer_Type)
-
-#define Py_END_OF_BUFFER (-1)
-
-PyAPI_FUNC(PyObject *) PyBuffer_FromObject(PyObject *base,
-                                           Py_ssize_t offset, Py_ssize_t size);
-PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteObject(PyObject *base,
-                                                    Py_ssize_t offset,
-                                                    Py_ssize_t size);
-
-PyAPI_FUNC(PyObject *) PyBuffer_FromMemory(void *ptr, Py_ssize_t size);
-PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size);
-
-PyAPI_FUNC(PyObject *) PyBuffer_New(Py_ssize_t size);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BUFFEROBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/bytearrayobject.h
--- a/test/include/python2.7/bytearrayobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,57 +0,0 @@
-/* ByteArray object interface */
-
-#ifndef Py_BYTEARRAYOBJECT_H
-#define Py_BYTEARRAYOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-
-/* Type PyByteArrayObject represents a mutable array of bytes.
- * The Python API is that of a sequence;
- * the bytes are mapped to ints in [0, 256).
- * Bytes are not characters; they may be used to encode characters.
- * The only way to go between bytes and str/unicode is via encoding
- * and decoding.
- * For the convenience of C programmers, the bytes type is considered
- * to contain a char pointer, not an unsigned char pointer.
- */
-
-/* Object layout */
-typedef struct {
-    PyObject_VAR_HEAD
-    /* XXX(nnorwitz): should ob_exports be Py_ssize_t? */
-    int ob_exports; /* how many buffer exports */
-    Py_ssize_t ob_alloc; /* How many bytes allocated */
-    char *ob_bytes;
-} PyByteArrayObject;
-
-/* Type object */
-PyAPI_DATA(PyTypeObject) PyByteArray_Type;
-PyAPI_DATA(PyTypeObject) PyByteArrayIter_Type;
-
-/* Type check macros */
-#define PyByteArray_Check(self) PyObject_TypeCheck(self, &PyByteArray_Type)
-#define PyByteArray_CheckExact(self) (Py_TYPE(self) == &PyByteArray_Type)
-
-/* Direct API functions */
-PyAPI_FUNC(PyObject *) PyByteArray_FromObject(PyObject *);
-PyAPI_FUNC(PyObject *) PyByteArray_Concat(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyByteArray_FromStringAndSize(const char *, Py_ssize_t);
-PyAPI_FUNC(Py_ssize_t) PyByteArray_Size(PyObject *);
-PyAPI_FUNC(char *) PyByteArray_AsString(PyObject *);
-PyAPI_FUNC(int) PyByteArray_Resize(PyObject *, Py_ssize_t);
-
-/* Macros, trading safety for speed */
-#define PyByteArray_AS_STRING(self) \
-    (assert(PyByteArray_Check(self)), \
-     Py_SIZE(self) ? ((PyByteArrayObject *)(self))->ob_bytes : _PyByteArray_empty_string)
-#define PyByteArray_GET_SIZE(self)  (assert(PyByteArray_Check(self)),Py_SIZE(self))
-
-PyAPI_DATA(char) _PyByteArray_empty_string[];
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_BYTEARRAYOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/bytes_methods.h
--- a/test/include/python2.7/bytes_methods.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,75 +0,0 @@
-#ifndef Py_BYTES_CTYPE_H
-#define Py_BYTES_CTYPE_H
-
-/*
- * The internal implementation behind PyString (bytes) and PyBytes (buffer)
- * methods of the given names, they operate on ASCII byte strings.
- */
-extern PyObject* _Py_bytes_isspace(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isalpha(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isalnum(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isdigit(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_islower(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_isupper(const char *cptr, Py_ssize_t len);
-extern PyObject* _Py_bytes_istitle(const char *cptr, Py_ssize_t len);
-
-/* These store their len sized answer in the given preallocated *result arg. */
-extern void _Py_bytes_lower(char *result, const char *cptr, Py_ssize_t len);
-extern void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len);
-extern void _Py_bytes_title(char *result, char *s, Py_ssize_t len);
-extern void _Py_bytes_capitalize(char *result, char *s, Py_ssize_t len);
-extern void _Py_bytes_swapcase(char *result, char *s, Py_ssize_t len);
-
-/* Shared __doc__ strings. */
-extern const char _Py_isspace__doc__[];
-extern const char _Py_isalpha__doc__[];
-extern const char _Py_isalnum__doc__[];
-extern const char _Py_isdigit__doc__[];
-extern const char _Py_islower__doc__[];
-extern const char _Py_isupper__doc__[];
-extern const char _Py_istitle__doc__[];
-extern const char _Py_lower__doc__[];
-extern const char _Py_upper__doc__[];
-extern const char _Py_title__doc__[];
-extern const char _Py_capitalize__doc__[];
-extern const char _Py_swapcase__doc__[];
-
-/* These are left in for backward compatibility and will be removed
-   in 2.8/3.2 */
-#define ISLOWER(c)  Py_ISLOWER(c)
-#define ISUPPER(c)  Py_ISUPPER(c)
-#define ISALPHA(c)  Py_ISALPHA(c)
-#define ISDIGIT(c)  Py_ISDIGIT(c)
-#define ISXDIGIT(c) Py_ISXDIGIT(c)
-#define ISALNUM(c)  Py_ISALNUM(c)
-#define ISSPACE(c)  Py_ISSPACE(c)
-
-#undef islower
-#define islower(c) undefined_islower(c)
-#undef isupper
-#define isupper(c) undefined_isupper(c)
-#undef isalpha
-#define isalpha(c) undefined_isalpha(c)
-#undef isdigit
-#define isdigit(c) undefined_isdigit(c)
-#undef isxdigit
-#define isxdigit(c) undefined_isxdigit(c)
-#undef isalnum
-#define isalnum(c) undefined_isalnum(c)
-#undef isspace
-#define isspace(c) undefined_isspace(c)
-
-/* These are left in for backward compatibility and will be removed
-   in 2.8/3.2 */
-#define TOLOWER(c) Py_TOLOWER(c)
-#define TOUPPER(c) Py_TOUPPER(c)
-
-#undef tolower
-#define tolower(c) undefined_tolower(c)
-#undef toupper
-#define toupper(c) undefined_toupper(c)
-
-/* this is needed because some docs are shared from the .o, not static */
-#define PyDoc_STRVAR_shared(name,str) const char name[] = PyDoc_STR(str)
-
-#endif /* !Py_BYTES_CTYPE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/bytesobject.h
--- a/test/include/python2.7/bytesobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,27 +0,0 @@
-#define PyBytesObject PyStringObject
-#define PyBytes_Type PyString_Type
-
-#define PyBytes_Check PyString_Check
-#define PyBytes_CheckExact PyString_CheckExact 
-#define PyBytes_CHECK_INTERNED PyString_CHECK_INTERNED
-#define PyBytes_AS_STRING PyString_AS_STRING
-#define PyBytes_GET_SIZE PyString_GET_SIZE
-#define Py_TPFLAGS_BYTES_SUBCLASS Py_TPFLAGS_STRING_SUBCLASS
-
-#define PyBytes_FromStringAndSize PyString_FromStringAndSize
-#define PyBytes_FromString PyString_FromString
-#define PyBytes_FromFormatV PyString_FromFormatV
-#define PyBytes_FromFormat PyString_FromFormat
-#define PyBytes_Size PyString_Size
-#define PyBytes_AsString PyString_AsString
-#define PyBytes_Repr PyString_Repr
-#define PyBytes_Concat PyString_Concat
-#define PyBytes_ConcatAndDel PyString_ConcatAndDel
-#define _PyBytes_Resize _PyString_Resize
-#define _PyBytes_Eq _PyString_Eq
-#define PyBytes_Format PyString_Format
-#define _PyBytes_FormatLong _PyString_FormatLong
-#define PyBytes_DecodeEscape PyString_DecodeEscape
-#define _PyBytes_Join _PyString_Join
-#define PyBytes_AsStringAndSize PyString_AsStringAndSize
-#define _PyBytes_InsertThousandsGrouping _PyString_InsertThousandsGrouping
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/cStringIO.h
--- a/test/include/python2.7/cStringIO.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,73 +0,0 @@
-#ifndef Py_CSTRINGIO_H
-#define Py_CSTRINGIO_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
-
-  This header provides access to cStringIO objects from C.
-  Functions are provided for calling cStringIO objects and
-  macros are provided for testing whether you have cStringIO
-  objects.
-
-  Before calling any of the functions or macros, you must initialize
-  the routines with:
-
-    PycString_IMPORT
-
-  This would typically be done in your init function.
-
-*/
-
-#define PycStringIO_CAPSULE_NAME "cStringIO.cStringIO_CAPI"
-
-#define PycString_IMPORT \
-  PycStringIO = ((struct PycStringIO_CAPI*)PyCapsule_Import(\
-    PycStringIO_CAPSULE_NAME, 0))
-
-/* Basic functions to manipulate cStringIO objects from C */
-
-static struct PycStringIO_CAPI {
-
- /* Read a string from an input object.  If the last argument
-    is -1, the remainder will be read.
-    */
-  int(*cread)(PyObject *, char **, Py_ssize_t);
-
- /* Read a line from an input object.  Returns the length of the read
-    line as an int and a pointer inside the object buffer as char** (so
-    the caller doesn't have to provide its own buffer as destination).
-    */
-  int(*creadline)(PyObject *, char **);
-
-  /* Write a string to an output object*/
-  int(*cwrite)(PyObject *, const char *, Py_ssize_t);
-
-  /* Get the output object as a Python string (returns new reference). */
-  PyObject *(*cgetvalue)(PyObject *);
-
-  /* Create a new output object */
-  PyObject *(*NewOutput)(int);
-
-  /* Create an input object from a Python string
-     (copies the Python string reference).
-     */
-  PyObject *(*NewInput)(PyObject *);
-
-  /* The Python types for cStringIO input and output objects.
-     Note that you can do input on an output object.
-     */
-  PyTypeObject *InputType, *OutputType;
-
-} *PycStringIO;
-
-/* These can be used to test if you have one */
-#define PycStringIO_InputCheck(O) \
-  (Py_TYPE(O)==PycStringIO->InputType)
-#define PycStringIO_OutputCheck(O) \
-  (Py_TYPE(O)==PycStringIO->OutputType)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CSTRINGIO_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/cellobject.h
--- a/test/include/python2.7/cellobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,28 +0,0 @@
-/* Cell object interface */
-
-#ifndef Py_CELLOBJECT_H
-#define Py_CELLOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
- PyObject_HEAD
- PyObject *ob_ref; /* Content of the cell or NULL when empty */
-} PyCellObject;
-
-PyAPI_DATA(PyTypeObject) PyCell_Type;
-
-#define PyCell_Check(op) (Py_TYPE(op) == &PyCell_Type)
-
-PyAPI_FUNC(PyObject *) PyCell_New(PyObject *);
-PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *);
-PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *);
-
-#define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref)
-#define PyCell_SET(op, v) (((PyCellObject *)(op))->ob_ref = v)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_TUPLEOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/ceval.h
--- a/test/include/python2.7/ceval.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,153 +0,0 @@
-#ifndef Py_CEVAL_H
-#define Py_CEVAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Interface to random parts in ceval.c */
-
-PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
-    PyObject *, PyObject *, PyObject *);
-
-/* Inline this */
-#define PyEval_CallObject(func,arg) \
-    PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL)
-
-PyAPI_FUNC(PyObject *) PyEval_CallFunction(PyObject *obj,
-                                           const char *format, ...);
-PyAPI_FUNC(PyObject *) PyEval_CallMethod(PyObject *obj,
-                                         const char *methodname,
-                                         const char *format, ...);
-
-PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *);
-PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *);
-
-struct _frame; /* Avoid including frameobject.h */
-
-PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(void);
-PyAPI_FUNC(PyObject *) PyEval_GetGlobals(void);
-PyAPI_FUNC(PyObject *) PyEval_GetLocals(void);
-PyAPI_FUNC(struct _frame *) PyEval_GetFrame(void);
-PyAPI_FUNC(int) PyEval_GetRestricted(void);
-
-/* Look at the current frame's (if any) code's co_flags, and turn on
-   the corresponding compiler flags in cf->cf_flags.  Return 1 if any
-   flag was set, else return 0. */
-PyAPI_FUNC(int) PyEval_MergeCompilerFlags(PyCompilerFlags *cf);
-
-PyAPI_FUNC(int) Py_FlushLine(void);
-
-PyAPI_FUNC(int) Py_AddPendingCall(int (*func)(void *), void *arg);
-PyAPI_FUNC(int) Py_MakePendingCalls(void);
-
-/* Protection against deeply nested recursive calls */
-PyAPI_FUNC(void) Py_SetRecursionLimit(int);
-PyAPI_FUNC(int) Py_GetRecursionLimit(void);
-
-#define Py_EnterRecursiveCall(where)                                    \
-            (_Py_MakeRecCheck(PyThreadState_GET()->recursion_depth) &&  \
-             _Py_CheckRecursiveCall(where))
-#define Py_LeaveRecursiveCall()                         \
-            (--PyThreadState_GET()->recursion_depth)
-PyAPI_FUNC(int) _Py_CheckRecursiveCall(const char *where);
-PyAPI_DATA(int) _Py_CheckRecursionLimit;
-#ifdef USE_STACKCHECK
-#  define _Py_MakeRecCheck(x)  (++(x) > --_Py_CheckRecursionLimit)
-#else
-#  define _Py_MakeRecCheck(x)  (++(x) > _Py_CheckRecursionLimit)
-#endif
-
-PyAPI_FUNC(const char *) PyEval_GetFuncName(PyObject *);
-PyAPI_FUNC(const char *) PyEval_GetFuncDesc(PyObject *);
-
-PyAPI_FUNC(PyObject *) PyEval_GetCallStats(PyObject *);
-PyAPI_FUNC(PyObject *) PyEval_EvalFrame(struct _frame *);
-PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(struct _frame *f, int exc);
-
-/* this used to be handled on a per-thread basis - now just two globals */
-PyAPI_DATA(volatile int) _Py_Ticker;
-PyAPI_DATA(int) _Py_CheckInterval;
-
-/* Interface for threads.
-
-   A module that plans to do a blocking system call (or something else
-   that lasts a long time and doesn't touch Python data) can allow other
-   threads to run as follows:
-
-    ...preparations here...
-    Py_BEGIN_ALLOW_THREADS
-    ...blocking system call here...
-    Py_END_ALLOW_THREADS
-    ...interpret result here...
-
-   The Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS pair expands to a
-   {}-surrounded block.
-   To leave the block in the middle (e.g., with return), you must insert
-   a line containing Py_BLOCK_THREADS before the return, e.g.
-
-    if (...premature_exit...) {
-        Py_BLOCK_THREADS
-        PyErr_SetFromErrno(PyExc_IOError);
-        return NULL;
-    }
-
-   An alternative is:
-
-    Py_BLOCK_THREADS
-    if (...premature_exit...) {
-        PyErr_SetFromErrno(PyExc_IOError);
-        return NULL;
-    }
-    Py_UNBLOCK_THREADS
-
-   For convenience, that the value of 'errno' is restored across
-   Py_END_ALLOW_THREADS and Py_BLOCK_THREADS.
-
-   WARNING: NEVER NEST CALLS TO Py_BEGIN_ALLOW_THREADS AND
-   Py_END_ALLOW_THREADS!!!
-
-   The function PyEval_InitThreads() should be called only from
-   initthread() in "threadmodule.c".
-
-   Note that not yet all candidates have been converted to use this
-   mechanism!
-*/
-
-PyAPI_FUNC(PyThreadState *) PyEval_SaveThread(void);
-PyAPI_FUNC(void) PyEval_RestoreThread(PyThreadState *);
-
-#ifdef WITH_THREAD
-
-PyAPI_FUNC(int)  PyEval_ThreadsInitialized(void);
-PyAPI_FUNC(void) PyEval_InitThreads(void);
-PyAPI_FUNC(void) PyEval_AcquireLock(void);
-PyAPI_FUNC(void) PyEval_ReleaseLock(void);
-PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate);
-PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate);
-PyAPI_FUNC(void) PyEval_ReInitThreads(void);
-
-#define Py_BEGIN_ALLOW_THREADS { \
-                        PyThreadState *_save; \
-                        _save = PyEval_SaveThread();
-#define Py_BLOCK_THREADS        PyEval_RestoreThread(_save);
-#define Py_UNBLOCK_THREADS      _save = PyEval_SaveThread();
-#define Py_END_ALLOW_THREADS    PyEval_RestoreThread(_save); \
-                 }
-
-#else /* !WITH_THREAD */
-
-#define Py_BEGIN_ALLOW_THREADS {
-#define Py_BLOCK_THREADS
-#define Py_UNBLOCK_THREADS
-#define Py_END_ALLOW_THREADS }
-
-#endif /* !WITH_THREAD */
-
-PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, Py_ssize_t *);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CEVAL_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/classobject.h
--- a/test/include/python2.7/classobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,83 +0,0 @@
-
-/* Class object interface */
-
-/* Revealing some structures (not for general use) */
-
-#ifndef Py_CLASSOBJECT_H
-#define Py_CLASSOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    PyObject *cl_bases; /* A tuple of class objects */
-    PyObject *cl_dict; /* A dictionary */
-    PyObject *cl_name; /* A string */
-    /* The following three are functions or NULL */
-    PyObject *cl_getattr;
-    PyObject *cl_setattr;
-    PyObject *cl_delattr;
-    PyObject    *cl_weakreflist; /* List of weak references */
-} PyClassObject;
-
-typedef struct {
-    PyObject_HEAD
-    PyClassObject *in_class; /* The class object */
-    PyObject   *in_dict; /* A dictionary */
-    PyObject   *in_weakreflist; /* List of weak references */
-} PyInstanceObject;
-
-typedef struct {
-    PyObject_HEAD
-    PyObject *im_func;   /* The callable object implementing the method */
-    PyObject *im_self;   /* The instance it is bound to, or NULL */
-    PyObject *im_class;  /* The class that asked for the method */
-    PyObject *im_weakreflist; /* List of weak references */
-} PyMethodObject;
-
-PyAPI_DATA(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type;
-
-#define PyClass_Check(op) ((op)->ob_type == &PyClass_Type)
-#define PyInstance_Check(op) ((op)->ob_type == &PyInstance_Type)
-#define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type)
-
-PyAPI_FUNC(PyObject *) PyClass_New(PyObject *, PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyInstance_New(PyObject *, PyObject *,
-                                            PyObject *);
-PyAPI_FUNC(PyObject *) PyInstance_NewRaw(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyMethod_New(PyObject *, PyObject *, PyObject *);
-
-PyAPI_FUNC(PyObject *) PyMethod_Function(PyObject *);
-PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *);
-PyAPI_FUNC(PyObject *) PyMethod_Class(PyObject *);
-
-/* Look up attribute with name (a string) on instance object pinst, using
- * only the instance and base class dicts.  If a descriptor is found in
- * a class dict, the descriptor is returned without calling it.
- * Returns NULL if nothing found, else a borrowed reference to the
- * value associated with name in the dict in which name was found.
- * The point of this routine is that it never calls arbitrary Python
- * code, so is always "safe":  all it does is dict lookups.  The function
- * can't fail, never sets an exception, and NULL is not an error (it just
- * means "not found").
- */
-PyAPI_FUNC(PyObject *) _PyInstance_Lookup(PyObject *pinst, PyObject *name);
-
-/* Macros for direct access to these values. Type checks are *not*
-   done, so use with care. */
-#define PyMethod_GET_FUNCTION(meth) \
-        (((PyMethodObject *)meth) -> im_func)
-#define PyMethod_GET_SELF(meth) \
- (((PyMethodObject *)meth) -> im_self)
-#define PyMethod_GET_CLASS(meth) \
- (((PyMethodObject *)meth) -> im_class)
-
-PyAPI_FUNC(int) PyClass_IsSubclass(PyObject *, PyObject *);
-
-PyAPI_FUNC(int) PyMethod_ClearFreeList(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CLASSOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/cobject.h
--- a/test/include/python2.7/cobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,89 +0,0 @@
-/*
-   CObjects are marked Pending Deprecation as of Python 2.7.
-   The full schedule for 2.x is as follows:
-     - CObjects are marked Pending Deprecation in Python 2.7.
-     - CObjects will be marked Deprecated in Python 2.8
-       (if there is one).
-     - CObjects will be removed in Python 2.9 (if there is one).
-
-   Additionally, for the Python 3.x series:
-     - CObjects were marked Deprecated in Python 3.1.
-     - CObjects will be removed in Python 3.2.
-
-   You should switch all use of CObjects to capsules.  Capsules
-   have a safer and more consistent API.  For more information,
-   see Include/pycapsule.h, or read the "Capsules" topic in
-   the "Python/C API Reference Manual".
-
-   Python 2.7 no longer uses CObjects itself; all objects which
-   were formerly CObjects are now capsules.  Note that this change
-   does not by itself break binary compatibility with extensions
-   built for previous versions of Python--PyCObject_AsVoidPtr()
-   has been changed to also understand capsules.
-
-*/
-
-/* original file header comment follows: */
-
-/* C objects to be exported from one extension module to another.

-   C objects are used for communication between extension modules.
-   They provide a way for an extension module to export a C interface
-   to other extension modules, so that extension modules can use the
-   Python import mechanism to link to one another.
-
-*/
-
-#ifndef Py_COBJECT_H
-#define Py_COBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyCObject_Type;
-
-#define PyCObject_Check(op) (Py_TYPE(op) == &PyCObject_Type)
-
-/* Create a PyCObject from a pointer to a C object and an optional
-   destructor function.  If the second argument is non-null, then it
-   will be called with the first argument if and when the PyCObject is
-   destroyed.
-
-*/
-PyAPI_FUNC(PyObject *) PyCObject_FromVoidPtr(
- void *cobj, void (*destruct)(void*));
-
-
-/* Create a PyCObject from a pointer to a C object, a description object,
-   and an optional destructor function.  If the third argument is non-null,
-   then it will be called with the first and second arguments if and when 
-   the PyCObject is destroyed.
-*/
-PyAPI_FUNC(PyObject *) PyCObject_FromVoidPtrAndDesc(
- void *cobj, void *desc, void (*destruct)(void*,void*));
-
-/* Retrieve a pointer to a C object from a PyCObject. */
-PyAPI_FUNC(void *) PyCObject_AsVoidPtr(PyObject *);
-
-/* Retrieve a pointer to a description object from a PyCObject. */
-PyAPI_FUNC(void *) PyCObject_GetDesc(PyObject *);
-
-/* Import a pointer to a C object from a module using a PyCObject. */
-PyAPI_FUNC(void *) PyCObject_Import(char *module_name, char *cobject_name);
-
-/* Modify a C object. Fails (==0) if object has a destructor. */
-PyAPI_FUNC(int) PyCObject_SetVoidPtr(PyObject *self, void *cobj);
-
-
-typedef struct {
-    PyObject_HEAD
-    void *cobject;
-    void *desc;
-    void (*destructor)(void *);
-} PyCObject;
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_COBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/code.h
--- a/test/include/python2.7/code.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,116 +0,0 @@
-/* Definitions for bytecode */
-
-#ifndef Py_CODE_H
-#define Py_CODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Bytecode object */
-typedef struct {
-    PyObject_HEAD
-    int co_argcount; /* #arguments, except *args */
-    int co_nlocals; /* #local variables */
-    int co_stacksize; /* #entries needed for evaluation stack */
-    int co_flags; /* CO_..., see below */
-    PyObject *co_code; /* instruction opcodes */
-    PyObject *co_consts; /* list (constants used) */
-    PyObject *co_names; /* list of strings (names used) */
-    PyObject *co_varnames; /* tuple of strings (local variable names) */
-    PyObject *co_freevars; /* tuple of strings (free variable names) */
-    PyObject *co_cellvars;      /* tuple of strings (cell variable names) */
-    /* The rest doesn't count for hash/cmp */
-    PyObject *co_filename; /* string (where it was loaded from) */
-    PyObject *co_name; /* string (name, for reference) */
-    int co_firstlineno; /* first source line number */
-    PyObject *co_lnotab; /* string (encoding addr<->lineno mapping) See
-    Objects/lnotab_notes.txt for details. */
-    void *co_zombieframe;     /* for optimization only (see frameobject.c) */
-    PyObject *co_weakreflist;   /* to support weakrefs to code objects */
-} PyCodeObject;
-
-/* Masks for co_flags above */
-#define CO_OPTIMIZED 0x0001
-#define CO_NEWLOCALS 0x0002
-#define CO_VARARGS 0x0004
-#define CO_VARKEYWORDS 0x0008
-#define CO_NESTED       0x0010
-#define CO_GENERATOR    0x0020
-/* The CO_NOFREE flag is set if there are no free or cell variables.
-   This information is redundant, but it allows a single flag test
-   to determine whether there is any extra work to be done when the
-   call frame it setup.
-*/
-#define CO_NOFREE       0x0040
-
-#if 0
-/* This is no longer used.  Stopped defining in 2.5, do not re-use. */
-#define CO_GENERATOR_ALLOWED    0x1000
-#endif
-#define CO_FUTURE_DIVISION     0x2000
-#define CO_FUTURE_ABSOLUTE_IMPORT 0x4000 /* do absolute imports by default */
-#define CO_FUTURE_WITH_STATEMENT  0x8000
-#define CO_FUTURE_PRINT_FUNCTION  0x10000
-#define CO_FUTURE_UNICODE_LITERALS 0x20000
-
-/* This should be defined if a future statement modifies the syntax.
-   For example, when a keyword is added.
-*/
-#if 1
-#define PY_PARSER_REQUIRES_FUTURE_KEYWORD
-#endif
-
-#define CO_MAXBLOCKS 20 /* Max static block nesting within a function */
-
-PyAPI_DATA(PyTypeObject) PyCode_Type;
-
-#define PyCode_Check(op) (Py_TYPE(op) == &PyCode_Type)
-#define PyCode_GetNumFree(op) (PyTuple_GET_SIZE((op)->co_freevars))
-
-/* Public interface */
-PyAPI_FUNC(PyCodeObject *) PyCode_New(
- int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *,
- PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *);
-        /* same as struct above */
-
-/* Creates a new empty code object with the specified source location. */
-PyAPI_FUNC(PyCodeObject *)
-PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno);
-
-/* Return the line number associated with the specified bytecode index
-   in this code object.  If you just need the line number of a frame,
-   use PyFrame_GetLineNumber() instead. */
-PyAPI_FUNC(int) PyCode_Addr2Line(PyCodeObject *, int);
-
-/* for internal use only */
-#define _PyCode_GETCODEPTR(co, pp) \
- ((*Py_TYPE((co)->co_code)->tp_as_buffer->bf_getreadbuffer) \
-  ((co)->co_code, 0, (void **)(pp)))
-
-typedef struct _addr_pair {
-        int ap_lower;
-        int ap_upper;
-} PyAddrPair;
-
-/* Update *bounds to describe the first and one-past-the-last instructions in the
-   same line as lasti.  Return the number of that line.
-*/
-PyAPI_FUNC(int) _PyCode_CheckLineNumber(PyCodeObject* co,
-                                        int lasti, PyAddrPair *bounds);
-
-/* Create a comparable key used to compare constants taking in account the
- * object type. It is used to make sure types are not coerced (e.g., float and
- * complex) _and_ to distinguish 0.0 from -0.0 e.g. on IEEE platforms
- *
- * Return (type(obj), obj, ...): a tuple with variable size (at least 2 items)
- * depending on the type and the value. The type is the first item to not
- * compare bytes and str which can raise a BytesWarning exception. */
-PyAPI_FUNC(PyObject*) _PyCode_ConstantKey(PyObject *obj);
-
-PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts,
-                                      PyObject *names, PyObject *lineno_obj);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CODE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/codecs.h
--- a/test/include/python2.7/codecs.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,212 +0,0 @@
-#ifndef Py_CODECREGISTRY_H
-#define Py_CODECREGISTRY_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ------------------------------------------------------------------------
-
-   Python Codec Registry and support functions
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-Copyright (c) Corporation for National Research Initiatives.
-
-   ------------------------------------------------------------------------ */
-
-/* Register a new codec search function.
-
-   As side effect, this tries to load the encodings package, if not
-   yet done, to make sure that it is always first in the list of
-   search functions.
-
-   The search_function's refcount is incremented by this function. */
-
-PyAPI_FUNC(int) PyCodec_Register(
-       PyObject *search_function
-       );
-
-/* Codec register lookup API.
-
-   Looks up the given encoding and returns a CodecInfo object with
-   function attributes which implement the different aspects of
-   processing the encoding.
-
-   The encoding string is looked up converted to all lower-case
-   characters. This makes encodings looked up through this mechanism
-   effectively case-insensitive.
-
-   If no codec is found, a KeyError is set and NULL returned.
-
-   As side effect, this tries to load the encodings package, if not
-   yet done. This is part of the lazy load strategy for the encodings
-   package.
-
- */
-
-PyAPI_FUNC(PyObject *) _PyCodec_Lookup(
-       const char *encoding
-       );
-
-/* Generic codec based encoding API.
-
-   object is passed through the encoder function found for the given
-   encoding using the error handling method defined by errors. errors
-   may be NULL to use the default method defined for the codec.
-   
-   Raises a LookupError in case no encoder can be found.
-
- */
-
-PyAPI_FUNC(PyObject *) PyCodec_Encode(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-/* Generic codec based decoding API.
-
-   object is passed through the decoder function found for the given
-   encoding using the error handling method defined by errors. errors
-   may be NULL to use the default method defined for the codec.
-   
-   Raises a LookupError in case no encoder can be found.
-
- */
-
-PyAPI_FUNC(PyObject *) PyCodec_Decode(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-/* Text codec specific encoding and decoding API.
-
-   Checks the encoding against a list of codecs which do not
-   implement a unicode<->bytes encoding before attempting the
-   operation.
-
-   Please note that these APIs are internal and should not
-   be used in Python C extensions.
-
-   XXX (ncoghlan): should we make these, or something like them, public
-   in Python 3.5+?
-
- */
-PyAPI_FUNC(PyObject *) _PyCodec_LookupTextEncoding(
-       const char *encoding,
-       const char *alternate_command
-       );
-
-PyAPI_FUNC(PyObject *) _PyCodec_EncodeText(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-PyAPI_FUNC(PyObject *) _PyCodec_DecodeText(
-       PyObject *object,
-       const char *encoding,
-       const char *errors
-       );
-
-/* These two aren't actually text encoding specific, but _io.TextIOWrapper
- * is the only current API consumer.
- */
-PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalDecoder(
-       PyObject *codec_info,
-       const char *errors
-       );
-
-PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalEncoder(
-       PyObject *codec_info,
-       const char *errors
-       );
-
-
-
-/* --- Codec Lookup APIs -------------------------------------------------- 
-
-   All APIs return a codec object with incremented refcount and are
-   based on _PyCodec_Lookup().  The same comments w/r to the encoding
-   name also apply to these APIs.
-
-*/
-
-/* Get an encoder function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_Encoder(
-       const char *encoding
-       );
-
-/* Get a decoder function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_Decoder(
-       const char *encoding
-       );
-
-/* Get a IncrementalEncoder object for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder(
-       const char *encoding,
-       const char *errors
-       );
-
-/* Get a IncrementalDecoder object function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder(
-       const char *encoding,
-       const char *errors
-       );
-
-/* Get a StreamReader factory function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_StreamReader(
-       const char *encoding,
-       PyObject *stream,
-       const char *errors
-       );
-
-/* Get a StreamWriter factory function for the given encoding. */
-
-PyAPI_FUNC(PyObject *) PyCodec_StreamWriter(
-       const char *encoding,
-       PyObject *stream,
-       const char *errors
-       );
-
-/* Unicode encoding error handling callback registry API */
-
-/* Register the error handling callback function error under the given
-   name. This function will be called by the codec when it encounters
-   unencodable characters/undecodable bytes and doesn't know the
-   callback name, when name is specified as the error parameter
-   in the call to the encode/decode function.
-   Return 0 on success, -1 on error */
-PyAPI_FUNC(int) PyCodec_RegisterError(const char *name, PyObject *error);
-
-/* Lookup the error handling callback function registered under the given
-   name. As a special case NULL can be passed, in which case
-   the error handling callback for "strict" will be returned. */
-PyAPI_FUNC(PyObject *) PyCodec_LookupError(const char *name);
-
-/* raise exc as an exception */
-PyAPI_FUNC(PyObject *) PyCodec_StrictErrors(PyObject *exc);
-
-/* ignore the unicode error, skipping the faulty input */
-PyAPI_FUNC(PyObject *) PyCodec_IgnoreErrors(PyObject *exc);
-
-/* replace the unicode encode error with ? or U+FFFD */
-PyAPI_FUNC(PyObject *) PyCodec_ReplaceErrors(PyObject *exc);
-
-/* replace the unicode encode error with XML character references */
-PyAPI_FUNC(PyObject *) PyCodec_XMLCharRefReplaceErrors(PyObject *exc);
-
-/* replace the unicode encode error with backslash escapes (\x, \u and \U) */
-PyAPI_FUNC(PyObject *) PyCodec_BackslashReplaceErrors(PyObject *exc);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CODECREGISTRY_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/compile.h
--- a/test/include/python2.7/compile.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,40 +0,0 @@
-
-#ifndef Py_COMPILE_H
-#define Py_COMPILE_H
-
-#include "code.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Public interface */
-struct _node; /* Declare the existence of this type */
-PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, const char *);
-
-/* Future feature support */
-
-typedef struct {
-    int ff_features;      /* flags set by future statements */
-    int ff_lineno;        /* line number of last future statement */
-} PyFutureFeatures;
-
-#define FUTURE_NESTED_SCOPES "nested_scopes"
-#define FUTURE_GENERATORS "generators"
-#define FUTURE_DIVISION "division"
-#define FUTURE_ABSOLUTE_IMPORT "absolute_import"
-#define FUTURE_WITH_STATEMENT "with_statement"
-#define FUTURE_PRINT_FUNCTION "print_function"
-#define FUTURE_UNICODE_LITERALS "unicode_literals"
-
-
-struct _mod; /* Declare the existence of this type */
-PyAPI_FUNC(PyCodeObject *) PyAST_Compile(struct _mod *, const char *,
- PyCompilerFlags *, PyArena *);
-PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_COMPILE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/complexobject.h
--- a/test/include/python2.7/complexobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,66 +0,0 @@
-/* Complex number structure */
-
-#ifndef Py_COMPLEXOBJECT_H
-#define Py_COMPLEXOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    double real;
-    double imag;
-} Py_complex;
-
-/* Operations on complex numbers from complexmodule.c */
-
-#define c_sum _Py_c_sum
-#define c_diff _Py_c_diff
-#define c_neg _Py_c_neg
-#define c_prod _Py_c_prod
-#define c_quot _Py_c_quot
-#define c_pow _Py_c_pow
-#define c_abs _Py_c_abs
-
-PyAPI_FUNC(Py_complex) c_sum(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_diff(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_neg(Py_complex);
-PyAPI_FUNC(Py_complex) c_prod(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_quot(Py_complex, Py_complex);
-PyAPI_FUNC(Py_complex) c_pow(Py_complex, Py_complex);
-PyAPI_FUNC(double) c_abs(Py_complex);
-
-
-/* Complex object interface */
-
-/*
-PyComplexObject represents a complex number with double-precision
-real and imaginary parts.
-*/
-
-typedef struct {
-    PyObject_HEAD
-    Py_complex cval;
-} PyComplexObject;     
-
-PyAPI_DATA(PyTypeObject) PyComplex_Type;
-
-#define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
-#define PyComplex_CheckExact(op) (Py_TYPE(op) == &PyComplex_Type)
-
-PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
-PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);
-
-PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
-PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
-PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyComplex_FormatAdvanced(PyObject *obj,
-                                                 char *format_spec,
-                                                 Py_ssize_t format_spec_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_COMPLEXOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/datetime.h
--- a/test/include/python2.7/datetime.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,239 +0,0 @@\n-/*  datetime.h\n- */\n-\n-#ifndef DATETIME_H\n-#define DATETIME_H\n-#ifdef __cplusplus\n-extern "C" {\n-#endif\n-\n-/* Fields are packed into successive bytes, each viewed as unsigned and\n- * big-endian, unless otherwise noted:\n- *\n- * byte offset\n- *  0           year     2 bytes, 1-9999\n- *  2           month    1 byte, 1-12\n- *  3           day      1 byte, 1-31\n- *  4           hour     1 byte, 0-23\n- *  5           minute   1 byte, 0-59\n- *  6           second   1 byte, 0-59\n- *  7           usecond  3 bytes, 0-999999\n- * 10\n- */\n-\n-/* # of bytes for year, month, and day. */\n-#define _PyDateTime_DATE_DATASIZE 4\n-\n-/* # of bytes for hour, minute, second, and usecond. */\n-#define _PyDateTime_TIME_DATASIZE 6\n-\n-/* # of bytes for year, month, day, hour, minute, second, and usecond. */\n-#define _PyDateTime_DATETIME_DATASIZE 10\n-\n-\n-typedef struct\n-{\n-    PyObject_HEAD\n-    long hashcode;              /* -1 when unknown */\n-    int days;                   /* -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS */\n-    int seconds;                /* 0 <= seconds < 24*3600 is invariant */\n-    int microseconds;           /* 0 <= microseconds < 1000000 is invariant */\n-} PyDateTime_Delta;\n-\n-typedef struct\n-{\n-    PyObject_HEAD               /* a pure abstract base class */\n-} PyDateTime_TZInfo;\n-\n-\n-/* The datetime and time types have hashcodes, and an optional tzinfo member,\n- * present if and only if hastzinfo is true.\n- */\n-#define _PyTZINFO_HEAD          \\\n-    PyObject_HEAD               \\\n-    long hashcode;              \\\n-    char hastzinfo;             /* boolean flag */\n-\n-/* No _PyDateTime_BaseTZInfo is allocated; it\'s just to have something\n- * convenient to cast to, when getting at the hastzinfo member of objects\n- * starting with _PyTZINFO_HEAD.\n- */\n-typedef struct\n-{\n-    _PyTZINFO_HEAD\n-} _PyDateTime_BaseTZInfo;\n-\n-/* All time objects are of PyDateTime_TimeType, but that can be allocated\n- * in two ways, with or without a tzinfo member.  Without is the same as\n- * tzinfo == None, but consumes less memory.  _PyDateTime_BaseTime is an\n- * internal struct used to allocate the right amount of space for the\n- * "without" case.\n- */\n-#define _PyDateTime_TIMEHEAD    \\\n-    _PyTZINFO_HEAD              \\\n-    unsigned char data[_PyDateTime_TIME_DATASIZE];\n-\n-typedef struct\n-{\n-    _PyDateTime_TIMEHEAD\n-} _PyDateTime_BaseTime;         /* hastzinfo false */\n-\n-typedef struct\n-{\n-    _PyDateTime_TIMEHEAD\n-    PyObject *tzinfo;\n-} PyDateTime_Time;              /* hastzinfo true */\n-\n-\n-/* All datetime objects are of PyDateTime_DateTimeType, but that can be\n- * allocated in two ways too, just like for time objects above.  In addition,\n- * the plain date type is a base class for datetime, so it must also have\n- * a hastzinfo member (although it\'s unused there).\n- */\n-typedef struct\n-{\n-    _PyTZINFO_HEAD\n-    unsigned char data[_PyDateTime_DATE_DATASIZE];\n-} PyDateTime_Date;\n-\n-#define _PyDateTime_DATETIMEHEAD        \\\n-    _PyTZINFO_HEAD                      \\\n-    unsigned char data[_PyDateTime_DATETIME_DATASIZE];\n-\n-typedef struct\n-{\n-    _PyDateTime_DATETIMEHEAD\n-} _PyDateTime_BaseDateTime;     /* hastzinfo false */\n-\n-typedef struct\n-{\n-    _PyDateTime_DATETIMEHEAD\n-    PyObject *tzinfo;\n-} PyDateTime_DateTime;          /* hastzinfo true */\n-\n-\n-/* Apply for date and datetime instances. */\n-#define PyDateTime_GET_YEAR(o)     ((((PyDateTime_Date*)o)->data[0] << 8) | \\\n-                     ((PyDateTime_Date*)o)->data[1])\n-#define PyDateTime_GET_MONTH(o)    (((PyDateTime_Date*)o)->data[2])\n-#define PyDateTime_GET_DAY(o)      (((PyDateTime_Date*)o)->data[3])\n-\n-#define PyDateTime_DATE_GET_HOUR(o)        (((PyDateTime_DateTime*)o)->data[4])\n-#define PyDateTime_DATE_GET_MINUTE(o)      (((PyDateTime_DateTime*)o)->data[5])\n-#define PyDateTime_DATE_GET_SECOND(o)      (((PyDateTime_DateTime*)o)->data[6])\n-#define PyDateTime_DATE_GET_MICROSECOND(o)              \\\n-    ((((PyDateTime_DateTime*)o)->data[7] << 16) |       \\\n-     (((Py'..b'\n-\n-\n-/* Define structure for C API. */\n-typedef struct {\n-    /* type objects */\n-    PyTypeObject *DateType;\n-    PyTypeObject *DateTimeType;\n-    PyTypeObject *TimeType;\n-    PyTypeObject *DeltaType;\n-    PyTypeObject *TZInfoType;\n-\n-    /* constructors */\n-    PyObject *(*Date_FromDate)(int, int, int, PyTypeObject*);\n-    PyObject *(*DateTime_FromDateAndTime)(int, int, int, int, int, int, int,\n-        PyObject*, PyTypeObject*);\n-    PyObject *(*Time_FromTime)(int, int, int, int, PyObject*, PyTypeObject*);\n-    PyObject *(*Delta_FromDelta)(int, int, int, int, PyTypeObject*);\n-\n-    /* constructors for the DB API */\n-    PyObject *(*DateTime_FromTimestamp)(PyObject*, PyObject*, PyObject*);\n-    PyObject *(*Date_FromTimestamp)(PyObject*, PyObject*);\n-\n-} PyDateTime_CAPI;\n-\n-#define PyDateTime_CAPSULE_NAME "datetime.datetime_CAPI"\n-\n-\n-/* "magic" constant used to partially protect against developer mistakes. */\n-#define DATETIME_API_MAGIC 0x414548d5\n-\n-#ifdef Py_BUILD_CORE\n-\n-/* Macros for type checking when building the Python core. */\n-#define PyDate_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateType)\n-#define PyDate_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DateType)\n-\n-#define PyDateTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateTimeType)\n-#define PyDateTime_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DateTimeType)\n-\n-#define PyTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_TimeType)\n-#define PyTime_CheckExact(op) (Py_TYPE(op) == &PyDateTime_TimeType)\n-\n-#define PyDelta_Check(op) PyObject_TypeCheck(op, &PyDateTime_DeltaType)\n-#define PyDelta_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DeltaType)\n-\n-#define PyTZInfo_Check(op) PyObject_TypeCheck(op, &PyDateTime_TZInfoType)\n-#define PyTZInfo_CheckExact(op) (Py_TYPE(op) == &PyDateTime_TZInfoType)\n-\n-#else\n-\n-/* Define global variable for the C API and a macro for setting it. */\n-static PyDateTime_CAPI *PyDateTimeAPI = NULL;\n-\n-#define PyDateTime_IMPORT \\\n-    PyDateTimeAPI = (PyDateTime_CAPI *)PyCapsule_Import(PyDateTime_CAPSULE_NAME, 0)\n-\n-/* Macros for type checking when not building the Python core. */\n-#define PyDate_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateType)\n-#define PyDate_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DateType)\n-\n-#define PyDateTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateTimeType)\n-#define PyDateTime_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DateTimeType)\n-\n-#define PyTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TimeType)\n-#define PyTime_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->TimeType)\n-\n-#define PyDelta_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DeltaType)\n-#define PyDelta_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DeltaType)\n-\n-#define PyTZInfo_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TZInfoType)\n-#define PyTZInfo_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->TZInfoType)\n-\n-/* Macros for accessing constructors in a simplified fashion. */\n-#define PyDate_FromDate(year, month, day) \\\n-    PyDateTimeAPI->Date_FromDate(year, month, day, PyDateTimeAPI->DateType)\n-\n-#define PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, usec) \\\n-    PyDateTimeAPI->DateTime_FromDateAndTime(year, month, day, hour, \\\n-        min, sec, usec, Py_None, PyDateTimeAPI->DateTimeType)\n-\n-#define PyTime_FromTime(hour, minute, second, usecond) \\\n-    PyDateTimeAPI->Time_FromTime(hour, minute, second, usecond, \\\n-        Py_None, PyDateTimeAPI->TimeType)\n-\n-#define PyDelta_FromDSU(days, seconds, useconds) \\\n-    PyDateTimeAPI->Delta_FromDelta(days, seconds, useconds, 1, \\\n-        PyDateTimeAPI->DeltaType)\n-\n-/* Macros supporting the DB API. */\n-#define PyDateTime_FromTimestamp(args) \\\n-    PyDateTimeAPI->DateTime_FromTimestamp( \\\n-        (PyObject*) (PyDateTimeAPI->DateTimeType), args, NULL)\n-\n-#define PyDate_FromTimestamp(args) \\\n-    PyDateTimeAPI->Date_FromTimestamp( \\\n-        (PyObject*) (PyDateTimeAPI->DateType), args)\n-\n-#endif  /* Py_BUILD_CORE */\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/descrobject.h
--- a/test/include/python2.7/descrobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,94 +0,0 @@
-/* Descriptors */
-#ifndef Py_DESCROBJECT_H
-#define Py_DESCROBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef PyObject *(*getter)(PyObject *, void *);
-typedef int (*setter)(PyObject *, PyObject *, void *);
-
-typedef struct PyGetSetDef {
-    char *name;
-    getter get;
-    setter set;
-    char *doc;
-    void *closure;
-} PyGetSetDef;
-
-typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args,
-                                 void *wrapped);
-
-typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args,
-                                      void *wrapped, PyObject *kwds);
-
-struct wrapperbase {
-    char *name;
-    int offset;
-    void *function;
-    wrapperfunc wrapper;
-    char *doc;
-    int flags;
-    PyObject *name_strobj;
-};
-
-/* Flags for above struct */
-#define PyWrapperFlag_KEYWORDS 1 /* wrapper function takes keyword args */
-
-/* Various kinds of descriptor objects */
-
-#define PyDescr_COMMON \
-    PyObject_HEAD \
-    PyTypeObject *d_type; \
-    PyObject *d_name
-
-typedef struct {
-    PyDescr_COMMON;
-} PyDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    PyMethodDef *d_method;
-} PyMethodDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    struct PyMemberDef *d_member;
-} PyMemberDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    PyGetSetDef *d_getset;
-} PyGetSetDescrObject;
-
-typedef struct {
-    PyDescr_COMMON;
-    struct wrapperbase *d_base;
-    void *d_wrapped; /* This can be any function pointer */
-} PyWrapperDescrObject;
-
-PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type;
-PyAPI_DATA(PyTypeObject) PyDictProxy_Type;
-PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type;
-PyAPI_DATA(PyTypeObject) PyMemberDescr_Type;
-
-PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *,
-                                               struct PyMemberDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *,
-                                               struct PyGetSetDef *);
-PyAPI_FUNC(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
-                                                struct wrapperbase *, void *);
-#define PyDescr_IsData(d) (Py_TYPE(d)->tp_descr_set != NULL)
-
-PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *);
-PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *);
-
-
-PyAPI_DATA(PyTypeObject) PyProperty_Type;
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_DESCROBJECT_H */
-
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/dictobject.h
--- a/test/include/python2.7/dictobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,157 +0,0 @@
-#ifndef Py_DICTOBJECT_H
-#define Py_DICTOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Dictionary object type -- mapping from hashable object to object */
-
-/* The distribution includes a separate file, Objects/dictnotes.txt,
-   describing explorations into dictionary design and optimization.
-   It covers typical dictionary use patterns, the parameters for
-   tuning dictionaries, and several ideas for possible optimizations.
-*/
-
-/*
-There are three kinds of slots in the table:
-
-1. Unused.  me_key == me_value == NULL
-   Does not hold an active (key, value) pair now and never did.  Unused can
-   transition to Active upon key insertion.  This is the only case in which
-   me_key is NULL, and is each slot's initial state.
-
-2. Active.  me_key != NULL and me_key != dummy and me_value != NULL
-   Holds an active (key, value) pair.  Active can transition to Dummy upon
-   key deletion.  This is the only case in which me_value != NULL.
-
-3. Dummy.  me_key == dummy and me_value == NULL
-   Previously held an active (key, value) pair, but that was deleted and an
-   active pair has not yet overwritten the slot.  Dummy can transition to
-   Active upon key insertion.  Dummy slots cannot be made Unused again
-   (cannot have me_key set to NULL), else the probe sequence in case of
-   collision would have no way to know they were once active.
-
-Note: .popitem() abuses the me_hash field of an Unused or Dummy slot to
-hold a search finger.  The me_hash field of Unused or Dummy slots has no
-meaning otherwise.
-*/
-
-/* PyDict_MINSIZE is the minimum size of a dictionary.  This many slots are
- * allocated directly in the dict object (in the ma_smalltable member).
- * It must be a power of 2, and at least 4.  8 allows dicts with no more
- * than 5 active entries to live in ma_smalltable (and so avoid an
- * additional malloc); instrumentation suggested this suffices for the
- * majority of dicts (consisting mostly of usually-small instance dicts and
- * usually-small dicts created to pass keyword arguments).
- */
-#define PyDict_MINSIZE 8
-
-typedef struct {
-    /* Cached hash code of me_key.  Note that hash codes are C longs.
-     * We have to use Py_ssize_t instead because dict_popitem() abuses
-     * me_hash to hold a search finger.
-     */
-    Py_ssize_t me_hash;
-    PyObject *me_key;
-    PyObject *me_value;
-} PyDictEntry;
-
-/*
-To ensure the lookup algorithm terminates, there must be at least one Unused
-slot (NULL key) in the table.
-The value ma_fill is the number of non-NULL keys (sum of Active and Dummy);
-ma_used is the number of non-NULL, non-dummy keys (== the number of non-NULL
-values == the number of Active items).
-To avoid slowing down lookups on a near-full table, we resize the table when
-it's two-thirds full.
-*/
-typedef struct _dictobject PyDictObject;
-struct _dictobject {
-    PyObject_HEAD
-    Py_ssize_t ma_fill;  /* # Active + # Dummy */
-    Py_ssize_t ma_used;  /* # Active */
-
-    /* The table contains ma_mask + 1 slots, and that's a power of 2.
-     * We store the mask instead of the size because the mask is more
-     * frequently needed.
-     */
-    Py_ssize_t ma_mask;
-
-    /* ma_table points to ma_smalltable for small tables, else to
-     * additional malloc'ed memory.  ma_table is never NULL!  This rule
-     * saves repeated runtime null-tests in the workhorse getitem and
-     * setitem calls.
-     */
-    PyDictEntry *ma_table;
-    PyDictEntry *(*ma_lookup)(PyDictObject *mp, PyObject *key, long hash);
-    PyDictEntry ma_smalltable[PyDict_MINSIZE];
-};
-
-PyAPI_DATA(PyTypeObject) PyDict_Type;
-PyAPI_DATA(PyTypeObject) PyDictIterKey_Type;
-PyAPI_DATA(PyTypeObject) PyDictIterValue_Type;
-PyAPI_DATA(PyTypeObject) PyDictIterItem_Type;
-PyAPI_DATA(PyTypeObject) PyDictKeys_Type;
-PyAPI_DATA(PyTypeObject) PyDictItems_Type;
-PyAPI_DATA(PyTypeObject) PyDictValues_Type;
-
-#define PyDict_Check(op) \
-                 PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS)
-#define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
-#define PyDictKeys_Check(op) (Py_TYPE(op) == &PyDictKeys_Type)
-#define PyDictItems_Check(op) (Py_TYPE(op) == &PyDictItems_Type)
-#define PyDictValues_Check(op) (Py_TYPE(op) == &PyDictValues_Type)
-/* This excludes Values, since they are not sets. */
-# define PyDictViewSet_Check(op) \
-    (PyDictKeys_Check(op) || PyDictItems_Check(op))
-
-PyAPI_FUNC(PyObject *) PyDict_New(void);
-PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key);
-PyAPI_FUNC(PyObject *) _PyDict_GetItemWithError(PyObject *mp, PyObject *key);
-PyAPI_FUNC(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item);
-PyAPI_FUNC(int) PyDict_DelItem(PyObject *mp, PyObject *key);
-PyAPI_FUNC(void) PyDict_Clear(PyObject *mp);
-PyAPI_FUNC(int) PyDict_Next(
-    PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value);
-PyAPI_FUNC(int) _PyDict_Next(
-    PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, long *hash);
-PyAPI_FUNC(PyObject *) PyDict_Keys(PyObject *mp);
-PyAPI_FUNC(PyObject *) PyDict_Values(PyObject *mp);
-PyAPI_FUNC(PyObject *) PyDict_Items(PyObject *mp);
-PyAPI_FUNC(Py_ssize_t) PyDict_Size(PyObject *mp);
-PyAPI_FUNC(PyObject *) PyDict_Copy(PyObject *mp);
-PyAPI_FUNC(int) PyDict_Contains(PyObject *mp, PyObject *key);
-PyAPI_FUNC(int) _PyDict_Contains(PyObject *mp, PyObject *key, long hash);
-PyAPI_FUNC(PyObject *) _PyDict_NewPresized(Py_ssize_t minused);
-PyAPI_FUNC(void) _PyDict_MaybeUntrack(PyObject *mp);
-
-/* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */
-PyAPI_FUNC(int) PyDict_Update(PyObject *mp, PyObject *other);
-
-/* PyDict_Merge updates/merges from a mapping object (an object that
-   supports PyMapping_Keys() and PyObject_GetItem()).  If override is true,
-   the last occurrence of a key wins, else the first.  The Python
-   dict.update(other) is equivalent to PyDict_Merge(dict, other, 1).
-*/
-PyAPI_FUNC(int) PyDict_Merge(PyObject *mp,
-                                   PyObject *other,
-                                   int override);
-
-/* PyDict_MergeFromSeq2 updates/merges from an iterable object producing
-   iterable objects of length 2.  If override is true, the last occurrence
-   of a key wins, else the first.  The Python dict constructor dict(seq2)
-   is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1).
-*/
-PyAPI_FUNC(int) PyDict_MergeFromSeq2(PyObject *d,
-                                           PyObject *seq2,
-                                           int override);
-
-PyAPI_FUNC(PyObject *) PyDict_GetItemString(PyObject *dp, const char *key);
-PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item);
-PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_DICTOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/dtoa.h
--- a/test/include/python2.7/dtoa.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,15 +0,0 @@
-#ifndef PY_NO_SHORT_FLOAT_REPR
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(double) _Py_dg_strtod(const char *str, char **ptr);
-PyAPI_FUNC(char *) _Py_dg_dtoa(double d, int mode, int ndigits,
-                        int *decpt, int *sign, char **rve);
-PyAPI_FUNC(void) _Py_dg_freedtoa(char *s);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/enumobject.h
--- a/test/include/python2.7/enumobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,17 +0,0 @@
-#ifndef Py_ENUMOBJECT_H
-#define Py_ENUMOBJECT_H
-
-/* Enumerate Object */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyEnum_Type;
-PyAPI_DATA(PyTypeObject) PyReversed_Type;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !Py_ENUMOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/errcode.h
--- a/test/include/python2.7/errcode.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,36 +0,0 @@
-#ifndef Py_ERRCODE_H
-#define Py_ERRCODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Error codes passed around between file input, tokenizer, parser and
-   interpreter.  This is necessary so we can turn them into Python
-   exceptions at a higher level.  Note that some errors have a
-   slightly different meaning when passed from the tokenizer to the
-   parser than when passed from the parser to the interpreter; e.g.
-   the parser only returns E_EOF when it hits EOF immediately, and it
-   never returns E_OK. */
-
-#define E_OK 10 /* No error */
-#define E_EOF 11 /* End Of File */
-#define E_INTR 12 /* Interrupted */
-#define E_TOKEN 13 /* Bad token */
-#define E_SYNTAX 14 /* Syntax error */
-#define E_NOMEM 15 /* Ran out of memory */
-#define E_DONE 16 /* Parsing complete */
-#define E_ERROR 17 /* Execution error */
-#define E_TABSPACE 18 /* Inconsistent mixing of tabs and spaces */
-#define E_OVERFLOW      19 /* Node had too many children */
-#define E_TOODEEP 20 /* Too many indentation levels */
-#define E_DEDENT 21 /* No matching outer block for dedent */
-#define E_DECODE 22 /* Error in decoding into Unicode */
-#define E_EOFS 23 /* EOF in triple-quoted string */
-#define E_EOLS 24 /* EOL in single-quoted string */
-#define E_LINECONT 25 /* Unexpected characters after a line continuation */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_ERRCODE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/eval.h
--- a/test/include/python2.7/eval.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,25 +0,0 @@
-
-/* Interface to execute compiled code */
-
-#ifndef Py_EVAL_H
-#define Py_EVAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *);
-
-PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyCodeObject *co,
- PyObject *globals,
- PyObject *locals,
- PyObject **args, int argc,
- PyObject **kwds, int kwdc,
- PyObject **defs, int defc,
- PyObject *closure);
-
-PyAPI_FUNC(PyObject *) _PyEval_CallTracing(PyObject *func, PyObject *args);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_EVAL_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/fileobject.h
--- a/test/include/python2.7/fileobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,97 +0,0 @@
-
-/* File object interface */
-
-#ifndef Py_FILEOBJECT_H
-#define Py_FILEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    FILE *f_fp;
-    PyObject *f_name;
-    PyObject *f_mode;
-    int (*f_close)(FILE *);
-    int f_softspace;            /* Flag used by 'print' command */
-    int f_binary;               /* Flag which indicates whether the file is
-                               open in binary (1) or text (0) mode */
-    char* f_buf;                /* Allocated readahead buffer */
-    char* f_bufend;             /* Points after last occupied position */
-    char* f_bufptr;             /* Current buffer position */
-    char *f_setbuf;             /* Buffer for setbuf(3) and setvbuf(3) */
-    int f_univ_newline;         /* Handle any newline convention */
-    int f_newlinetypes;         /* Types of newlines seen */
-    int f_skipnextlf;           /* Skip next \n */
-    PyObject *f_encoding;
-    PyObject *f_errors;
-    PyObject *weakreflist; /* List of weak references */
-    int unlocked_count;         /* Num. currently running sections of code
-                               using f_fp with the GIL released. */
-    int readable;
-    int writable;
-} PyFileObject;
-
-PyAPI_DATA(PyTypeObject) PyFile_Type;
-
-#define PyFile_Check(op) PyObject_TypeCheck(op, &PyFile_Type)
-#define PyFile_CheckExact(op) (Py_TYPE(op) == &PyFile_Type)
-
-PyAPI_FUNC(PyObject *) PyFile_FromString(char *, char *);
-PyAPI_FUNC(void) PyFile_SetBufSize(PyObject *, int);
-PyAPI_FUNC(int) PyFile_SetEncoding(PyObject *, const char *);
-PyAPI_FUNC(int) PyFile_SetEncodingAndErrors(PyObject *, const char *, char *errors);
-PyAPI_FUNC(PyObject *) PyFile_FromFile(FILE *, char *, char *,
-                                             int (*)(FILE *));
-PyAPI_FUNC(FILE *) PyFile_AsFile(PyObject *);
-PyAPI_FUNC(void) PyFile_IncUseCount(PyFileObject *);
-PyAPI_FUNC(void) PyFile_DecUseCount(PyFileObject *);
-PyAPI_FUNC(PyObject *) PyFile_Name(PyObject *);
-PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int);
-PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int);
-PyAPI_FUNC(int) PyFile_SoftSpace(PyObject *, int);
-PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *);
-PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *);
-
-/* The default encoding used by the platform file system APIs
-   If non-NULL, this is different than the default encoding for strings
-*/
-PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding;
-
-/* Routines to replace fread() and fgets() which accept any of \r, \n
-   or \r\n as line terminators.
-*/
-#define PY_STDIOTEXTMODE "b"
-char *Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *);
-size_t Py_UniversalNewlineFread(char *, size_t, FILE *, PyObject *);
-
-/* A routine to do sanity checking on the file mode string.  returns
-   non-zero on if an exception occurred
-*/
-int _PyFile_SanitizeMode(char *mode);
-
-#if defined _MSC_VER && _MSC_VER >= 1400
-/* A routine to check if a file descriptor is valid on Windows.  Returns 0
- * and sets errno to EBADF if it isn't.  This is to avoid Assertions
- * from various functions in the Windows CRT beginning with
- * Visual Studio 2005
- */
-int _PyVerify_fd(int fd);
-#elif defined _MSC_VER && _MSC_VER >= 1200
-/* fdopen doesn't set errno EBADF and crashes for large fd on debug build */
-#define _PyVerify_fd(fd) (_get_osfhandle(fd) >= 0)
-#else
-#define _PyVerify_fd(A) (1) /* dummy */
-#endif
-
-/* A routine to check if a file descriptor can be select()-ed. */
-#ifdef HAVE_SELECT
- #define _PyIsSelectable_fd(FD) (((FD) >= 0) && ((FD) < FD_SETSIZE))
-#else
- #define _PyIsSelectable_fd(FD) (1)
-#endif /* HAVE_SELECT */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FILEOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/floatobject.h
--- a/test/include/python2.7/floatobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,140 +0,0 @@
-
-/* Float object interface */
-
-/*
-PyFloatObject represents a (double precision) floating point number.
-*/
-
-#ifndef Py_FLOATOBJECT_H
-#define Py_FLOATOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    double ob_fval;
-} PyFloatObject;
-
-PyAPI_DATA(PyTypeObject) PyFloat_Type;
-
-#define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
-#define PyFloat_CheckExact(op) (Py_TYPE(op) == &PyFloat_Type)
-
-/* The str() precision PyFloat_STR_PRECISION is chosen so that in most cases,
-   the rounding noise created by various operations is suppressed, while
-   giving plenty of precision for practical use. */
-
-#define PyFloat_STR_PRECISION 12
-
-#ifdef Py_NAN
-#define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN)
-#endif
-
-#define Py_RETURN_INF(sign) do \
- if (copysign(1., sign) == 1.) { \
- return PyFloat_FromDouble(Py_HUGE_VAL); \
- } else { \
- return PyFloat_FromDouble(-Py_HUGE_VAL); \
- } while(0)
-
-PyAPI_FUNC(double) PyFloat_GetMax(void);
-PyAPI_FUNC(double) PyFloat_GetMin(void);
-PyAPI_FUNC(PyObject *) PyFloat_GetInfo(void);
-
-/* Return Python float from string PyObject.  Second argument ignored on
-   input, and, if non-NULL, NULL is stored into *junk (this tried to serve a
-   purpose once but can't be made to work as intended). */
-PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*, char** junk);
-
-/* Return Python float from C double. */
-PyAPI_FUNC(PyObject *) PyFloat_FromDouble(double);
-
-/* Extract C double from Python float.  The macro version trades safety for
-   speed. */
-PyAPI_FUNC(double) PyFloat_AsDouble(PyObject *);
-#define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
-
-/* Write repr(v) into the char buffer argument, followed by null byte.  The
-   buffer must be "big enough"; >= 100 is very safe.
-   PyFloat_AsReprString(buf, x) strives to print enough digits so that
-   PyFloat_FromString(buf) then reproduces x exactly. */
-PyAPI_FUNC(void) PyFloat_AsReprString(char*, PyFloatObject *v);
-
-/* Write str(v) into the char buffer argument, followed by null byte.  The
-   buffer must be "big enough"; >= 100 is very safe.  Note that it's
-   unusual to be able to get back the float you started with from
-   PyFloat_AsString's result -- use PyFloat_AsReprString() if you want to
-   preserve precision across conversions. */
-PyAPI_FUNC(void) PyFloat_AsString(char*, PyFloatObject *v);
-
-/* _PyFloat_{Pack,Unpack}{4,8}
- *
- * The struct and pickle (at least) modules need an efficient platform-
- * independent way to store floating-point values as byte strings.
- * The Pack routines produce a string from a C double, and the Unpack
- * routines produce a C double from such a string.  The suffix (4 or 8)
- * specifies the number of bytes in the string.
- *
- * On platforms that appear to use (see _PyFloat_Init()) IEEE-754 formats
- * these functions work by copying bits.  On other platforms, the formats the
- * 4- byte format is identical to the IEEE-754 single precision format, and
- * the 8-byte format to the IEEE-754 double precision format, although the
- * packing of INFs and NaNs (if such things exist on the platform) isn't
- * handled correctly, and attempting to unpack a string containing an IEEE
- * INF or NaN will raise an exception.
- *
- * On non-IEEE platforms with more precision, or larger dynamic range, than
- * 754 supports, not all values can be packed; on non-IEEE platforms with less
- * precision, or smaller dynamic range, not all values can be unpacked.  What
- * happens in such cases is partly accidental (alas).
- */
-
-/* The pack routines write 4 or 8 bytes, starting at p.  le is a bool
- * argument, true if you want the string in little-endian format (exponent
- * last, at p+3 or p+7), false if you want big-endian format (exponent
- * first, at p).
- * Return value:  0 if all is OK, -1 if error (and an exception is
- * set, most likely OverflowError).
- * There are two problems on non-IEEE platforms:
- * 1):  What this does is undefined if x is a NaN or infinity.
- * 2):  -0.0 and +0.0 produce the same string.
- */
-PyAPI_FUNC(int) _PyFloat_Pack4(double x, unsigned char *p, int le);
-PyAPI_FUNC(int) _PyFloat_Pack8(double x, unsigned char *p, int le);
-
-/* Used to get the important decimal digits of a double */
-PyAPI_FUNC(int) _PyFloat_Digits(char *buf, double v, int *signum);
-PyAPI_FUNC(void) _PyFloat_DigitsInit(void);
-
-/* The unpack routines read 4 or 8 bytes, starting at p.  le is a bool
- * argument, true if the string is in little-endian format (exponent
- * last, at p+3 or p+7), false if big-endian (exponent first, at p).
- * Return value:  The unpacked double.  On error, this is -1.0 and
- * PyErr_Occurred() is true (and an exception is set, most likely
- * OverflowError).  Note that on a non-IEEE platform this will refuse
- * to unpack a string that represents a NaN or infinity.
- */
-PyAPI_FUNC(double) _PyFloat_Unpack4(const unsigned char *p, int le);
-PyAPI_FUNC(double) _PyFloat_Unpack8(const unsigned char *p, int le);
-
-/* free list api */
-PyAPI_FUNC(int) PyFloat_ClearFreeList(void);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyFloat_FormatAdvanced(PyObject *obj,
-        char *format_spec,
-        Py_ssize_t format_spec_len);
-
-/* Round a C double x to the closest multiple of 10**-ndigits.  Returns a
-   Python float on success, or NULL (with an appropriate exception set) on
-   failure.  Used in builtin_round in bltinmodule.c. */
-PyAPI_FUNC(PyObject *) _Py_double_round(double x, int ndigits);
-
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FLOATOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/frameobject.h
--- a/test/include/python2.7/frameobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,89 +0,0 @@
-
-/* Frame object interface */
-
-#ifndef Py_FRAMEOBJECT_H
-#define Py_FRAMEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    int b_type; /* what kind of block this is */
-    int b_handler; /* where to jump to find handler */
-    int b_level; /* value stack level to pop to */
-} PyTryBlock;
-
-typedef struct _frame {
-    PyObject_VAR_HEAD
-    struct _frame *f_back; /* previous frame, or NULL */
-    PyCodeObject *f_code; /* code segment */
-    PyObject *f_builtins; /* builtin symbol table (PyDictObject) */
-    PyObject *f_globals; /* global symbol table (PyDictObject) */
-    PyObject *f_locals; /* local symbol table (any mapping) */
-    PyObject **f_valuestack; /* points after the last local */
-    /* Next free slot in f_valuestack.  Frame creation sets to f_valuestack.
-       Frame evaluation usually NULLs it, but a frame that yields sets it
-       to the current stack top. */
-    PyObject **f_stacktop;
-    PyObject *f_trace; /* Trace function */
-
-    /* If an exception is raised in this frame, the next three are used to
-     * record the exception info (if any) originally in the thread state.  See
-     * comments before set_exc_info() -- it's not obvious.
-     * Invariant:  if _type is NULL, then so are _value and _traceback.
-     * Desired invariant:  all three are NULL, or all three are non-NULL.  That
-     * one isn't currently true, but "should be".
-     */
-    PyObject *f_exc_type, *f_exc_value, *f_exc_traceback;
-
-    PyThreadState *f_tstate;
-    int f_lasti; /* Last instruction if called */
-    /* Call PyFrame_GetLineNumber() instead of reading this field
-       directly.  As of 2.3 f_lineno is only valid when tracing is
-       active (i.e. when f_trace is set).  At other times we use
-       PyCode_Addr2Line to calculate the line from the current
-       bytecode index. */
-    int f_lineno; /* Current line number */
-    int f_iblock; /* index in f_blockstack */
-    PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */
-    PyObject *f_localsplus[1]; /* locals+stack, dynamically sized */
-} PyFrameObject;
-
-
-/* Standard object interface */
-
-PyAPI_DATA(PyTypeObject) PyFrame_Type;
-
-#define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type)
-#define PyFrame_IsRestricted(f) \
- ((f)->f_builtins != (f)->f_tstate->interp->builtins)
-
-PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
-                                       PyObject *, PyObject *);
-
-
-/* The rest of the interface is specific for frame objects */
-
-/* Block management functions */
-
-PyAPI_FUNC(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int);
-PyAPI_FUNC(PyTryBlock *) PyFrame_BlockPop(PyFrameObject *);
-
-/* Extend the value stack */
-
-PyAPI_FUNC(PyObject **) PyFrame_ExtendStack(PyFrameObject *, int, int);
-
-/* Conversions between "fast locals" and locals in dictionary */
-
-PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
-PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
-
-PyAPI_FUNC(int) PyFrame_ClearFreeList(void);
-
-/* Return the line of code the frame is currently executing. */
-PyAPI_FUNC(int) PyFrame_GetLineNumber(PyFrameObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FRAMEOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/funcobject.h
--- a/test/include/python2.7/funcobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,76 +0,0 @@
-
-/* Function object interface */
-
-#ifndef Py_FUNCOBJECT_H
-#define Py_FUNCOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Function objects and code objects should not be confused with each other:
- *
- * Function objects are created by the execution of the 'def' statement.
- * They reference a code object in their func_code attribute, which is a
- * purely syntactic object, i.e. nothing more than a compiled version of some
- * source code lines.  There is one code object per source code "fragment",
- * but each code object can be referenced by zero or many function objects
- * depending only on how many times the 'def' statement in the source was
- * executed so far.
- */
-
-typedef struct {
-    PyObject_HEAD
-    PyObject *func_code; /* A code object */
-    PyObject *func_globals; /* A dictionary (other mappings won't do) */
-    PyObject *func_defaults; /* NULL or a tuple */
-    PyObject *func_closure; /* NULL or a tuple of cell objects */
-    PyObject *func_doc; /* The __doc__ attribute, can be anything */
-    PyObject *func_name; /* The __name__ attribute, a string object */
-    PyObject *func_dict; /* The __dict__ attribute, a dict or NULL */
-    PyObject *func_weakreflist; /* List of weak references */
-    PyObject *func_module; /* The __module__ attribute, can be anything */
-
-    /* Invariant:
-     *     func_closure contains the bindings for func_code->co_freevars, so
-     *     PyTuple_Size(func_closure) == PyCode_GetNumFree(func_code)
-     *     (func_closure may be NULL if PyCode_GetNumFree(func_code) == 0).
-     */
-} PyFunctionObject;
-
-PyAPI_DATA(PyTypeObject) PyFunction_Type;
-
-#define PyFunction_Check(op) (Py_TYPE(op) == &PyFunction_Type)
-
-PyAPI_FUNC(PyObject *) PyFunction_New(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetCode(PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetGlobals(PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetModule(PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetDefaults(PyObject *);
-PyAPI_FUNC(int) PyFunction_SetDefaults(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyFunction_GetClosure(PyObject *);
-PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *);
-
-/* Macros for direct access to these values. Type checks are *not*
-   done, so use with care. */
-#define PyFunction_GET_CODE(func) \
-        (((PyFunctionObject *)func) -> func_code)
-#define PyFunction_GET_GLOBALS(func) \
- (((PyFunctionObject *)func) -> func_globals)
-#define PyFunction_GET_MODULE(func) \
- (((PyFunctionObject *)func) -> func_module)
-#define PyFunction_GET_DEFAULTS(func) \
- (((PyFunctionObject *)func) -> func_defaults)
-#define PyFunction_GET_CLOSURE(func) \
- (((PyFunctionObject *)func) -> func_closure)
-
-/* The classmethod and staticmethod types lives here, too */
-PyAPI_DATA(PyTypeObject) PyClassMethod_Type;
-PyAPI_DATA(PyTypeObject) PyStaticMethod_Type;
-
-PyAPI_FUNC(PyObject *) PyClassMethod_New(PyObject *);
-PyAPI_FUNC(PyObject *) PyStaticMethod_New(PyObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_FUNCOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/genobject.h
--- a/test/include/python2.7/genobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,40 +0,0 @@
-
-/* Generator object interface */
-
-#ifndef Py_GENOBJECT_H
-#define Py_GENOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _frame; /* Avoid including frameobject.h */
-
-typedef struct {
- PyObject_HEAD
- /* The gi_ prefix is intended to remind of generator-iterator. */
-
- /* Note: gi_frame can be NULL if the generator is "finished" */
- struct _frame *gi_frame;
-
- /* True if generator is being executed. */
- int gi_running;
-    
- /* The code object backing the generator */
- PyObject *gi_code;
-
- /* List of weak reference. */
- PyObject *gi_weakreflist;
-} PyGenObject;
-
-PyAPI_DATA(PyTypeObject) PyGen_Type;
-
-#define PyGen_Check(op) PyObject_TypeCheck(op, &PyGen_Type)
-#define PyGen_CheckExact(op) (Py_TYPE(op) == &PyGen_Type)
-
-PyAPI_FUNC(PyObject *) PyGen_New(struct _frame *);
-PyAPI_FUNC(int) PyGen_NeedsFinalizing(PyGenObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_GENOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/graminit.h
--- a/test/include/python2.7/graminit.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,87 +0,0 @@
-/* Generated by Parser/pgen */
-
-#define single_input 256
-#define file_input 257
-#define eval_input 258
-#define decorator 259
-#define decorators 260
-#define decorated 261
-#define funcdef 262
-#define parameters 263
-#define varargslist 264
-#define fpdef 265
-#define fplist 266
-#define stmt 267
-#define simple_stmt 268
-#define small_stmt 269
-#define expr_stmt 270
-#define augassign 271
-#define print_stmt 272
-#define del_stmt 273
-#define pass_stmt 274
-#define flow_stmt 275
-#define break_stmt 276
-#define continue_stmt 277
-#define return_stmt 278
-#define yield_stmt 279
-#define raise_stmt 280
-#define import_stmt 281
-#define import_name 282
-#define import_from 283
-#define import_as_name 284
-#define dotted_as_name 285
-#define import_as_names 286
-#define dotted_as_names 287
-#define dotted_name 288
-#define global_stmt 289
-#define exec_stmt 290
-#define assert_stmt 291
-#define compound_stmt 292
-#define if_stmt 293
-#define while_stmt 294
-#define for_stmt 295
-#define try_stmt 296
-#define with_stmt 297
-#define with_item 298
-#define except_clause 299
-#define suite 300
-#define testlist_safe 301
-#define old_test 302
-#define old_lambdef 303
-#define test 304
-#define or_test 305
-#define and_test 306
-#define not_test 307
-#define comparison 308
-#define comp_op 309
-#define expr 310
-#define xor_expr 311
-#define and_expr 312
-#define shift_expr 313
-#define arith_expr 314
-#define term 315
-#define factor 316
-#define power 317
-#define atom 318
-#define listmaker 319
-#define testlist_comp 320
-#define lambdef 321
-#define trailer 322
-#define subscriptlist 323
-#define subscript 324
-#define sliceop 325
-#define exprlist 326
-#define testlist 327
-#define dictorsetmaker 328
-#define classdef 329
-#define arglist 330
-#define argument 331
-#define list_iter 332
-#define list_for 333
-#define list_if 334
-#define comp_iter 335
-#define comp_for 336
-#define comp_if 337
-#define testlist1 338
-#define encoding_decl 339
-#define yield_expr 340
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/grammar.h
--- a/test/include/python2.7/grammar.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,93 +0,0 @@
-
-/* Grammar interface */
-
-#ifndef Py_GRAMMAR_H
-#define Py_GRAMMAR_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "bitset.h" /* Sigh... */
-
-/* A label of an arc */
-
-typedef struct {
-    int  lb_type;
-    char *lb_str;
-} label;
-
-#define EMPTY 0 /* Label number 0 is by definition the empty label */
-
-/* A list of labels */
-
-typedef struct {
-    int  ll_nlabels;
-    label *ll_label;
-} labellist;
-
-/* An arc from one state to another */
-
-typedef struct {
-    short a_lbl; /* Label of this arc */
-    short a_arrow; /* State where this arc goes to */
-} arc;
-
-/* A state in a DFA */
-
-typedef struct {
-    int  s_narcs;
-    arc *s_arc; /* Array of arcs */
-
-    /* Optional accelerators */
-    int  s_lower; /* Lowest label index */
-    int  s_upper; /* Highest label index */
-    int *s_accel; /* Accelerator */
-    int  s_accept; /* Nonzero for accepting state */
-} state;
-
-/* A DFA */
-
-typedef struct {
-    int  d_type; /* Non-terminal this represents */
-    char *d_name; /* For printing */
-    int  d_initial; /* Initial state */
-    int  d_nstates;
-    state *d_state; /* Array of states */
-    bitset  d_first;
-} dfa;
-
-/* A grammar */
-
-typedef struct {
-    int  g_ndfas;
-    dfa *g_dfa; /* Array of DFAs */
-    labellist  g_ll;
-    int  g_start; /* Start symbol of the grammar */
-    int  g_accel; /* Set if accelerators present */
-} grammar;
-
-/* FUNCTIONS */
-
-grammar *newgrammar(int start);
-dfa *adddfa(grammar *g, int type, char *name);
-int addstate(dfa *d);
-void addarc(dfa *d, int from, int to, int lbl);
-dfa *PyGrammar_FindDFA(grammar *g, int type);
-
-int addlabel(labellist *ll, int type, char *str);
-int findlabel(labellist *ll, int type, char *str);
-char *PyGrammar_LabelRepr(label *lb);
-void translatelabels(grammar *g);
-
-void addfirstsets(grammar *g);
-
-void PyGrammar_AddAccelerators(grammar *g);
-void PyGrammar_RemoveAccelerators(grammar *);
-
-void printgrammar(grammar *g, FILE *fp);
-void printnonterminals(grammar *g, FILE *fp);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_GRAMMAR_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/import.h
--- a/test/include/python2.7/import.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,71 +0,0 @@
-
-/* Module definition and import interface */
-
-#ifndef Py_IMPORT_H
-#define Py_IMPORT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(long) PyImport_GetMagicNumber(void);
-PyAPI_FUNC(PyObject *) PyImport_ExecCodeModule(char *name, PyObject *co);
-PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleEx(
- char *name, PyObject *co, char *pathname);
-PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void);
-PyAPI_FUNC(PyObject *) PyImport_AddModule(const char *name);
-PyAPI_FUNC(PyObject *) PyImport_ImportModule(const char *name);
-PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock(const char *);
-PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevel(char *name,
- PyObject *globals, PyObject *locals, PyObject *fromlist, int level);
-
-#define PyImport_ImportModuleEx(n, g, l, f) \
- PyImport_ImportModuleLevel(n, g, l, f, -1)
-
-PyAPI_FUNC(PyObject *) PyImport_GetImporter(PyObject *path);
-PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name);
-PyAPI_FUNC(PyObject *) PyImport_ReloadModule(PyObject *m);
-PyAPI_FUNC(void) PyImport_Cleanup(void);
-PyAPI_FUNC(int) PyImport_ImportFrozenModule(char *);
-
-#ifdef WITH_THREAD
-PyAPI_FUNC(void) _PyImport_AcquireLock(void);
-PyAPI_FUNC(int) _PyImport_ReleaseLock(void);
-#else
-#define _PyImport_AcquireLock()
-#define _PyImport_ReleaseLock() 1
-#endif
-
-PyAPI_FUNC(struct filedescr *) _PyImport_FindModule(
- const char *, PyObject *, char *, size_t, FILE **, PyObject **);
-PyAPI_FUNC(int) _PyImport_IsScript(struct filedescr *);
-PyAPI_FUNC(void) _PyImport_ReInitLock(void);
-
-PyAPI_FUNC(PyObject *) _PyImport_FindExtension(char *, char *);
-PyAPI_FUNC(PyObject *) _PyImport_FixupExtension(char *, char *);
-
-struct _inittab {
-    char *name;
-    void (*initfunc)(void);
-};
-
-PyAPI_DATA(PyTypeObject) PyNullImporter_Type;
-PyAPI_DATA(struct _inittab *) PyImport_Inittab;
-
-PyAPI_FUNC(int) PyImport_AppendInittab(const char *name, void (*initfunc)(void));
-PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab);
-
-struct _frozen {
-    char *name;
-    unsigned char *code;
-    int size;
-};
-
-/* Embedding apps may change this pointer to point to their favorite
-   collection of frozen modules: */
-
-PyAPI_DATA(struct _frozen *) PyImport_FrozenModules;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_IMPORT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/intobject.h
--- a/test/include/python2.7/intobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,81 +0,0 @@
-
-/* Integer object interface */
-
-/*
-PyIntObject represents a (long) integer.  This is an immutable object;
-an integer cannot change its value after creation.
-
-There are functions to create new integer objects, to test an object
-for integer-ness, and to get the integer value.  The latter functions
-returns -1 and sets errno to EBADF if the object is not an PyIntObject.
-None of the functions should be applied to nil objects.
-
-The type PyIntObject is (unfortunately) exposed here so we can declare
-_Py_TrueStruct and _Py_ZeroStruct in boolobject.h; don't use this.
-*/
-
-#ifndef Py_INTOBJECT_H
-#define Py_INTOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_HEAD
-    long ob_ival;
-} PyIntObject;
-
-PyAPI_DATA(PyTypeObject) PyInt_Type;
-
-#define PyInt_Check(op) \
-  PyType_FastSubclass((op)->ob_type, Py_TPFLAGS_INT_SUBCLASS)
-#define PyInt_CheckExact(op) ((op)->ob_type == &PyInt_Type)
-
-PyAPI_FUNC(PyObject *) PyInt_FromString(char*, char**, int);
-#ifdef Py_USING_UNICODE
-PyAPI_FUNC(PyObject *) PyInt_FromUnicode(Py_UNICODE*, Py_ssize_t, int);
-#endif
-PyAPI_FUNC(PyObject *) PyInt_FromLong(long);
-PyAPI_FUNC(PyObject *) PyInt_FromSize_t(size_t);
-PyAPI_FUNC(PyObject *) PyInt_FromSsize_t(Py_ssize_t);
-PyAPI_FUNC(long) PyInt_AsLong(PyObject *);
-PyAPI_FUNC(Py_ssize_t) PyInt_AsSsize_t(PyObject *);
-PyAPI_FUNC(int) _PyInt_AsInt(PyObject *);
-PyAPI_FUNC(unsigned long) PyInt_AsUnsignedLongMask(PyObject *);
-#ifdef HAVE_LONG_LONG
-PyAPI_FUNC(unsigned PY_LONG_LONG) PyInt_AsUnsignedLongLongMask(PyObject *);
-#endif
-
-PyAPI_FUNC(long) PyInt_GetMax(void);
-
-/* Macro, trading safety for speed */
-#define PyInt_AS_LONG(op) (((PyIntObject *)(op))->ob_ival)
-
-/* These aren't really part of the Int object, but they're handy; the protos
- * are necessary for systems that need the magic of PyAPI_FUNC and that want
- * to have stropmodule as a dynamically loaded module instead of building it
- * into the main Python shared library/DLL.  Guido thinks I'm weird for
- * building it this way.  :-)  [cjh]
- */
-PyAPI_FUNC(unsigned long) PyOS_strtoul(char *, char **, int);
-PyAPI_FUNC(long) PyOS_strtol(char *, char **, int);
-
-/* free list api */
-PyAPI_FUNC(int) PyInt_ClearFreeList(void);
-
-/* Convert an integer to the given base.  Returns a string.
-   If base is 2, 8 or 16, add the proper prefix '0b', '0o' or '0x'.
-   If newstyle is zero, then use the pre-2.6 behavior of octal having
-   a leading "0" */
-PyAPI_FUNC(PyObject*) _PyInt_Format(PyIntObject* v, int base, int newstyle);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyInt_FormatAdvanced(PyObject *obj,
-      char *format_spec,
-      Py_ssize_t format_spec_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_INTOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/intrcheck.h
--- a/test/include/python2.7/intrcheck.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,15 +0,0 @@
-
-#ifndef Py_INTRCHECK_H
-#define Py_INTRCHECK_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(int) PyOS_InterruptOccurred(void);
-PyAPI_FUNC(void) PyOS_InitInterrupts(void);
-PyAPI_FUNC(void) PyOS_AfterFork(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_INTRCHECK_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/iterobject.h
--- a/test/include/python2.7/iterobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,23 +0,0 @@
-#ifndef Py_ITEROBJECT_H
-#define Py_ITEROBJECT_H
-/* Iterators (the basic kind, over a sequence) */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PySeqIter_Type;
-
-#define PySeqIter_Check(op) (Py_TYPE(op) == &PySeqIter_Type)
-
-PyAPI_FUNC(PyObject *) PySeqIter_New(PyObject *);
-
-PyAPI_DATA(PyTypeObject) PyCallIter_Type;
-
-#define PyCallIter_Check(op) (Py_TYPE(op) == &PyCallIter_Type)
-
-PyAPI_FUNC(PyObject *) PyCallIter_New(PyObject *, PyObject *);
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_ITEROBJECT_H */
-
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/listobject.h
--- a/test/include/python2.7/listobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,68 +0,0 @@
-
-/* List object interface */
-
-/*
-Another generally useful object type is a list of object pointers.
-This is a mutable type: the list items can be changed, and items can be
-added or removed.  Out-of-range indices or non-list objects are ignored.
-
-*** WARNING *** PyList_SetItem does not increment the new item's reference
-count, but does decrement the reference count of the item it replaces,
-if not nil.  It does *decrement* the reference count if it is *not*
-inserted in the list.  Similarly, PyList_GetItem does not increment the
-returned item's reference count.
-*/
-
-#ifndef Py_LISTOBJECT_H
-#define Py_LISTOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    PyObject_VAR_HEAD
-    /* Vector of pointers to list elements.  list[0] is ob_item[0], etc. */
-    PyObject **ob_item;
-
-    /* ob_item contains space for 'allocated' elements.  The number
-     * currently in use is ob_size.
-     * Invariants:
-     *     0 <= ob_size <= allocated
-     *     len(list) == ob_size
-     *     ob_item == NULL implies ob_size == allocated == 0
-     * list.sort() temporarily sets allocated to -1 to detect mutations.
-     *
-     * Items must normally not be NULL, except during construction when
-     * the list is not yet visible outside the function that builds it.
-     */
-    Py_ssize_t allocated;
-} PyListObject;
-
-PyAPI_DATA(PyTypeObject) PyList_Type;
-
-#define PyList_Check(op) \
-    PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LIST_SUBCLASS)
-#define PyList_CheckExact(op) (Py_TYPE(op) == &PyList_Type)
-
-PyAPI_FUNC(PyObject *) PyList_New(Py_ssize_t size);
-PyAPI_FUNC(Py_ssize_t) PyList_Size(PyObject *);
-PyAPI_FUNC(PyObject *) PyList_GetItem(PyObject *, Py_ssize_t);
-PyAPI_FUNC(int) PyList_SetItem(PyObject *, Py_ssize_t, PyObject *);
-PyAPI_FUNC(int) PyList_Insert(PyObject *, Py_ssize_t, PyObject *);
-PyAPI_FUNC(int) PyList_Append(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyList_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t);
-PyAPI_FUNC(int) PyList_SetSlice(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
-PyAPI_FUNC(int) PyList_Sort(PyObject *);
-PyAPI_FUNC(int) PyList_Reverse(PyObject *);
-PyAPI_FUNC(PyObject *) PyList_AsTuple(PyObject *);
-PyAPI_FUNC(PyObject *) _PyList_Extend(PyListObject *, PyObject *);
-
-/* Macro, trading safety for speed */
-#define PyList_GET_ITEM(op, i) (((PyListObject *)(op))->ob_item[i])
-#define PyList_SET_ITEM(op, i, v) (((PyListObject *)(op))->ob_item[i] = (v))
-#define PyList_GET_SIZE(op)    Py_SIZE(op)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_LISTOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/longintrepr.h
--- a/test/include/python2.7/longintrepr.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,103 +0,0 @@
-#ifndef Py_LONGINTREPR_H
-#define Py_LONGINTREPR_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* This is published for the benefit of "friend" marshal.c only. */
-
-/* Parameters of the long integer representation.  There are two different
-   sets of parameters: one set for 30-bit digits, stored in an unsigned 32-bit
-   integer type, and one set for 15-bit digits with each digit stored in an
-   unsigned short.  The value of PYLONG_BITS_IN_DIGIT, defined either at
-   configure time or in pyport.h, is used to decide which digit size to use.
-
-   Type 'digit' should be able to hold 2*PyLong_BASE-1, and type 'twodigits'
-   should be an unsigned integer type able to hold all integers up to
-   PyLong_BASE*PyLong_BASE-1.  x_sub assumes that 'digit' is an unsigned type,
-   and that overflow is handled by taking the result modulo 2**N for some N >
-   PyLong_SHIFT.  The majority of the code doesn't care about the precise
-   value of PyLong_SHIFT, but there are some notable exceptions:
-
-   - long_pow() requires that PyLong_SHIFT be divisible by 5
-
-   - PyLong_{As,From}ByteArray require that PyLong_SHIFT be at least 8
-
-   - long_hash() requires that PyLong_SHIFT is *strictly* less than the number
-     of bits in an unsigned long, as do the PyLong <-> long (or unsigned long)
-     conversion functions
-
-   - the long <-> size_t/Py_ssize_t conversion functions expect that
-     PyLong_SHIFT is strictly less than the number of bits in a size_t
-
-   - the marshal code currently expects that PyLong_SHIFT is a multiple of 15
-
-  The values 15 and 30 should fit all of the above requirements, on any
-  platform.
-*/
-
-#if PYLONG_BITS_IN_DIGIT == 30
-#if !(defined HAVE_UINT64_T && defined HAVE_UINT32_T &&          \
-      defined HAVE_INT64_T && defined HAVE_INT32_T)
-#error "30-bit long digits requested, but the necessary types are not available on this platform"
-#endif
-typedef PY_UINT32_T digit;
-typedef PY_INT32_T sdigit; /* signed variant of digit */
-typedef PY_UINT64_T twodigits;
-typedef PY_INT64_T stwodigits; /* signed variant of twodigits */
-#define PyLong_SHIFT 30
-#define _PyLong_DECIMAL_SHIFT 9 /* max(e such that 10**e fits in a digit) */
-#define _PyLong_DECIMAL_BASE ((digit)1000000000) /* 10 ** DECIMAL_SHIFT */
-#elif PYLONG_BITS_IN_DIGIT == 15
-typedef unsigned short digit;
-typedef short sdigit; /* signed variant of digit */
-typedef unsigned long twodigits;
-typedef long stwodigits; /* signed variant of twodigits */
-#define PyLong_SHIFT 15
-#define _PyLong_DECIMAL_SHIFT 4 /* max(e such that 10**e fits in a digit) */
-#define _PyLong_DECIMAL_BASE ((digit)10000) /* 10 ** DECIMAL_SHIFT */
-#else
-#error "PYLONG_BITS_IN_DIGIT should be 15 or 30"
-#endif
-#define PyLong_BASE ((digit)1 << PyLong_SHIFT)
-#define PyLong_MASK ((digit)(PyLong_BASE - 1))
-
-/* b/w compatibility with Python 2.5 */
-#define SHIFT PyLong_SHIFT
-#define BASE PyLong_BASE
-#define MASK PyLong_MASK
-
-#if PyLong_SHIFT % 5 != 0
-#error "longobject.c requires that PyLong_SHIFT be divisible by 5"
-#endif
-
-/* Long integer representation.
-   The absolute value of a number is equal to
-    SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i)
-   Negative numbers are represented with ob_size < 0;
-   zero is represented by ob_size == 0.
-   In a normalized number, ob_digit[abs(ob_size)-1] (the most significant
-   digit) is never zero.  Also, in all cases, for all valid i,
-    0 <= ob_digit[i] <= MASK.
-   The allocation function takes care of allocating extra memory
-   so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available.
-
-   CAUTION:  Generic code manipulating subtypes of PyVarObject has to
-   aware that longs abuse  ob_size's sign bit.
-*/
-
-struct _longobject {
- PyObject_VAR_HEAD
- digit ob_digit[1];
-};
-
-PyAPI_FUNC(PyLongObject *) _PyLong_New(Py_ssize_t);
-
-/* Return a copy of src. */
-PyAPI_FUNC(PyObject *) _PyLong_Copy(PyLongObject *src);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_LONGINTREPR_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/longobject.h
--- a/test/include/python2.7/longobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,135 +0,0 @@
-#ifndef Py_LONGOBJECT_H
-#define Py_LONGOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Long (arbitrary precision) integer object interface */
-
-typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
-
-PyAPI_DATA(PyTypeObject) PyLong_Type;
-
-#define PyLong_Check(op) \
- PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS)
-#define PyLong_CheckExact(op) (Py_TYPE(op) == &PyLong_Type)
-
-PyAPI_FUNC(PyObject *) PyLong_FromLong(long);
-PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLong(unsigned long);
-PyAPI_FUNC(PyObject *) PyLong_FromDouble(double);
-PyAPI_FUNC(PyObject *) PyLong_FromSize_t(size_t);
-PyAPI_FUNC(PyObject *) PyLong_FromSsize_t(Py_ssize_t);
-PyAPI_FUNC(long) PyLong_AsLong(PyObject *);
-PyAPI_FUNC(long) PyLong_AsLongAndOverflow(PyObject *, int *);
-PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLong(PyObject *);
-PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLongMask(PyObject *);
-PyAPI_FUNC(Py_ssize_t) PyLong_AsSsize_t(PyObject *);
-PyAPI_FUNC(int) _PyLong_AsInt(PyObject *);
-PyAPI_FUNC(PyObject *) PyLong_GetInfo(void);
-
-/* For use by intobject.c only */
-#define _PyLong_AsSsize_t PyLong_AsSsize_t
-#define _PyLong_FromSize_t PyLong_FromSize_t
-#define _PyLong_FromSsize_t PyLong_FromSsize_t
-PyAPI_DATA(int) _PyLong_DigitValue[256];
-
-/* _PyLong_Frexp returns a double x and an exponent e such that the
-   true value is approximately equal to x * 2**e.  e is >= 0.  x is
-   0.0 if and only if the input is 0 (in which case, e and x are both
-   zeroes); otherwise, 0.5 <= abs(x) < 1.0.  On overflow, which is
-   possible if the number of bits doesn't fit into a Py_ssize_t, sets
-   OverflowError and returns -1.0 for x, 0 for e. */
-PyAPI_FUNC(double) _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e);
-
-PyAPI_FUNC(double) PyLong_AsDouble(PyObject *);
-PyAPI_FUNC(PyObject *) PyLong_FromVoidPtr(void *);
-PyAPI_FUNC(void *) PyLong_AsVoidPtr(PyObject *);
-
-#ifdef HAVE_LONG_LONG
-PyAPI_FUNC(PyObject *) PyLong_FromLongLong(PY_LONG_LONG);
-PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG);
-PyAPI_FUNC(PY_LONG_LONG) PyLong_AsLongLong(PyObject *);
-PyAPI_FUNC(unsigned PY_LONG_LONG) PyLong_AsUnsignedLongLong(PyObject *);
-PyAPI_FUNC(unsigned PY_LONG_LONG) PyLong_AsUnsignedLongLongMask(PyObject *);
-PyAPI_FUNC(PY_LONG_LONG) PyLong_AsLongLongAndOverflow(PyObject *, int *);
-#endif /* HAVE_LONG_LONG */
-
-PyAPI_FUNC(PyObject *) PyLong_FromString(char *, char **, int);
-#ifdef Py_USING_UNICODE
-PyAPI_FUNC(PyObject *) PyLong_FromUnicode(Py_UNICODE*, Py_ssize_t, int);
-#endif
-
-/* _PyLong_Sign.  Return 0 if v is 0, -1 if v < 0, +1 if v > 0.
-   v must not be NULL, and must be a normalized long.
-   There are no error cases.
-*/
-PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
-
-
-/* _PyLong_NumBits.  Return the number of bits needed to represent the
-   absolute value of a long.  For example, this returns 1 for 1 and -1, 2
-   for 2 and -2, and 2 for 3 and -3.  It returns 0 for 0.
-   v must not be NULL, and must be a normalized long.
-   (size_t)-1 is returned and OverflowError set if the true result doesn't
-   fit in a size_t.
-*/
-PyAPI_FUNC(size_t) _PyLong_NumBits(PyObject *v);
-
-/* _PyLong_FromByteArray:  View the n unsigned bytes as a binary integer in
-   base 256, and return a Python long with the same numeric value.
-   If n is 0, the integer is 0.  Else:
-   If little_endian is 1/true, bytes[n-1] is the MSB and bytes[0] the LSB;
-   else (little_endian is 0/false) bytes[0] is the MSB and bytes[n-1] the
-   LSB.
-   If is_signed is 0/false, view the bytes as a non-negative integer.
-   If is_signed is 1/true, view the bytes as a 2's-complement integer,
-   non-negative if bit 0x80 of the MSB is clear, negative if set.
-   Error returns:
-   + Return NULL with the appropriate exception set if there's not
-     enough memory to create the Python long.
-*/
-PyAPI_FUNC(PyObject *) _PyLong_FromByteArray(
- const unsigned char* bytes, size_t n,
- int little_endian, int is_signed);
-
-/* _PyLong_AsByteArray: Convert the least-significant 8*n bits of long
-   v to a base-256 integer, stored in array bytes.  Normally return 0,
-   return -1 on error.
-   If little_endian is 1/true, store the MSB at bytes[n-1] and the LSB at
-   bytes[0]; else (little_endian is 0/false) store the MSB at bytes[0] and
-   the LSB at bytes[n-1].
-   If is_signed is 0/false, it's an error if v < 0; else (v >= 0) n bytes
-   are filled and there's nothing special about bit 0x80 of the MSB.
-   If is_signed is 1/true, bytes is filled with the 2's-complement
-   representation of v's value.  Bit 0x80 of the MSB is the sign bit.
-   Error returns (-1):
-   + is_signed is 0 and v < 0.  TypeError is set in this case, and bytes
-     isn't altered.
-   + n isn't big enough to hold the full mathematical value of v.  For
-     example, if is_signed is 0 and there are more digits in the v than
-     fit in n; or if is_signed is 1, v < 0, and n is just 1 bit shy of
-     being large enough to hold a sign bit.  OverflowError is set in this
-     case, but bytes holds the least-signficant n bytes of the true value.
-*/
-PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
- unsigned char* bytes, size_t n,
- int little_endian, int is_signed);
-
-/* _PyLong_Format: Convert the long to a string object with given base,
-   appending a base prefix of 0[box] if base is 2, 8 or 16.
-   Add a trailing "L" if addL is non-zero.
-   If newstyle is zero, then use the pre-2.6 behavior of octal having
-   a leading "0", instead of the prefix "0o" */
-PyAPI_FUNC(PyObject *) _PyLong_Format(PyObject *aa, int base, int addL, int newstyle);
-
-/* Format the object based on the format_spec, as defined in PEP 3101
-   (Advanced String Formatting). */
-PyAPI_FUNC(PyObject *) _PyLong_FormatAdvanced(PyObject *obj,
-       char *format_spec,
-       Py_ssize_t format_spec_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_LONGOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/marshal.h
--- a/test/include/python2.7/marshal.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,25 +0,0 @@
-
-/* Interface for marshal.c */
-
-#ifndef Py_MARSHAL_H
-#define Py_MARSHAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define Py_MARSHAL_VERSION 2
-
-PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int);
-PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int);
-PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int);
-
-PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *);
-PyAPI_FUNC(int) PyMarshal_ReadShortFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(char *, Py_ssize_t);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MARSHAL_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/memoryobject.h
--- a/test/include/python2.7/memoryobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,74 +0,0 @@
-/* Memory view object. In Python this is available as "memoryview". */
-
-#ifndef Py_MEMORYOBJECT_H
-#define Py_MEMORYOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyMemoryView_Type;
-
-#define PyMemoryView_Check(op) (Py_TYPE(op) == &PyMemoryView_Type)
-
-/* Get a pointer to the underlying Py_buffer of a memoryview object. */
-#define PyMemoryView_GET_BUFFER(op) (&((PyMemoryViewObject *)(op))->view)
-/* Get a pointer to the PyObject from which originates a memoryview object. */
-#define PyMemoryView_GET_BASE(op) (((PyMemoryViewObject *)(op))->view.obj)
-
-
-PyAPI_FUNC(PyObject *) PyMemoryView_GetContiguous(PyObject *base, 
-   int buffertype, 
-   char fort);
-
-    /* Return a contiguous chunk of memory representing the buffer
-       from an object in a memory view object.  If a copy is made then the
-       base object for the memory view will be a *new* bytes object. 
-       
-       Otherwise, the base-object will be the object itself and no 
-       data-copying will be done. 
-
-       The buffertype argument can be PyBUF_READ, PyBUF_WRITE,
-       PyBUF_SHADOW to determine whether the returned buffer
-       should be READONLY, WRITABLE, or set to update the
-       original buffer if a copy must be made.  If buffertype is
-       PyBUF_WRITE and the buffer is not contiguous an error will
-       be raised.  In this circumstance, the user can use
-       PyBUF_SHADOW to ensure that a writable temporary
-       contiguous buffer is returned.  The contents of this
-       contiguous buffer will be copied back into the original
-       object after the memoryview object is deleted as long as
-       the original object is writable and allows setting an
-       exclusive write lock. If this is not allowed by the
-       original object, then a BufferError is raised.
-       
-       If the object is multi-dimensional and if fortran is 'F',
-       the first dimension of the underlying array will vary the
-       fastest in the buffer.  If fortran is 'C', then the last
-       dimension will vary the fastest (C-style contiguous).  If
-       fortran is 'A', then it does not matter and you will get
-       whatever the object decides is more efficient.  
-
-       A new reference is returned that must be DECREF'd when finished.
-    */
-
-PyAPI_FUNC(PyObject *) PyMemoryView_FromObject(PyObject *base);
-
-PyAPI_FUNC(PyObject *) PyMemoryView_FromBuffer(Py_buffer *info);
-    /* create new if bufptr is NULL 
-        will be a new bytesobject in base */
-
-
-/* The struct is declared here so that macros can work, but it shouldn't
-   be considered public. Don't access those fields directly, use the macros
-   and functions instead! */
-typedef struct {
-    PyObject_HEAD
-    PyObject *base;
-    Py_buffer view;
-} PyMemoryViewObject;
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MEMORYOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/metagrammar.h
--- a/test/include/python2.7/metagrammar.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,18 +0,0 @@
-#ifndef Py_METAGRAMMAR_H
-#define Py_METAGRAMMAR_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define MSTART 256
-#define RULE 257
-#define RHS 258
-#define ALT 259
-#define ITEM 260
-#define ATOM 261
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_METAGRAMMAR_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/methodobject.h
--- a/test/include/python2.7/methodobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,93 +0,0 @@
-
-/* Method object interface */
-
-#ifndef Py_METHODOBJECT_H
-#define Py_METHODOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* This is about the type 'builtin_function_or_method',
-   not Python methods in user-defined classes.  See classobject.h
-   for the latter. */
-
-PyAPI_DATA(PyTypeObject) PyCFunction_Type;
-
-#define PyCFunction_Check(op) (Py_TYPE(op) == &PyCFunction_Type)
-
-typedef PyObject *(*PyCFunction)(PyObject *, PyObject *);
-typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *,
-      PyObject *);
-typedef PyObject *(*PyNoArgsFunction)(PyObject *);
-
-PyAPI_FUNC(PyCFunction) PyCFunction_GetFunction(PyObject *);
-PyAPI_FUNC(PyObject *) PyCFunction_GetSelf(PyObject *);
-PyAPI_FUNC(int) PyCFunction_GetFlags(PyObject *);
-
-/* Macros for direct access to these values. Type checks are *not*
-   done, so use with care. */
-#define PyCFunction_GET_FUNCTION(func) \
-        (((PyCFunctionObject *)func) -> m_ml -> ml_meth)
-#define PyCFunction_GET_SELF(func) \
- (((PyCFunctionObject *)func) -> m_self)
-#define PyCFunction_GET_FLAGS(func) \
- (((PyCFunctionObject *)func) -> m_ml -> ml_flags)
-PyAPI_FUNC(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *);
-
-struct PyMethodDef {
-    const char *ml_name; /* The name of the built-in function/method */
-    PyCFunction  ml_meth; /* The C function that implements it */
-    int  ml_flags; /* Combination of METH_xxx flags, which mostly
-    describe the args expected by the C func */
-    const char *ml_doc; /* The __doc__ attribute, or NULL */
-};
-typedef struct PyMethodDef PyMethodDef;
-
-PyAPI_FUNC(PyObject *) Py_FindMethod(PyMethodDef[], PyObject *, const char *);
-
-#define PyCFunction_New(ML, SELF) PyCFunction_NewEx((ML), (SELF), NULL)
-PyAPI_FUNC(PyObject *) PyCFunction_NewEx(PyMethodDef *, PyObject *, 
-  PyObject *);
-
-/* Flag passed to newmethodobject */
-#define METH_OLDARGS  0x0000
-#define METH_VARARGS  0x0001
-#define METH_KEYWORDS 0x0002
-/* METH_NOARGS and METH_O must not be combined with the flags above. */
-#define METH_NOARGS   0x0004
-#define METH_O        0x0008
-
-/* METH_CLASS and METH_STATIC are a little different; these control
-   the construction of methods for a class.  These cannot be used for
-   functions in modules. */
-#define METH_CLASS    0x0010
-#define METH_STATIC   0x0020
-
-/* METH_COEXIST allows a method to be entered eventhough a slot has
-   already filled the entry.  When defined, the flag allows a separate
-   method, "__contains__" for example, to coexist with a defined 
-   slot like sq_contains. */
-
-#define METH_COEXIST   0x0040
-
-typedef struct PyMethodChain {
-    PyMethodDef *methods; /* Methods of this type */
-    struct PyMethodChain *link; /* NULL or base type */
-} PyMethodChain;
-
-PyAPI_FUNC(PyObject *) Py_FindMethodInChain(PyMethodChain *, PyObject *,
-                                            const char *);
-
-typedef struct {
-    PyObject_HEAD
-    PyMethodDef *m_ml; /* Description of the C function to call */
-    PyObject    *m_self; /* Passed as 'self' arg to the C func, can be NULL */
-    PyObject    *m_module; /* The __module__ attribute, can be anything */
-} PyCFunctionObject;
-
-PyAPI_FUNC(int) PyCFunction_ClearFreeList(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_METHODOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/modsupport.h
--- a/test/include/python2.7/modsupport.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,134 +0,0 @@
-
-#ifndef Py_MODSUPPORT_H
-#define Py_MODSUPPORT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Module support interface */
-
-#include <stdarg.h>
-
-/* If PY_SSIZE_T_CLEAN is defined, each functions treats #-specifier
-   to mean Py_ssize_t */
-#ifdef PY_SSIZE_T_CLEAN
-#define PyArg_Parse _PyArg_Parse_SizeT
-#define PyArg_ParseTuple _PyArg_ParseTuple_SizeT
-#define PyArg_ParseTupleAndKeywords _PyArg_ParseTupleAndKeywords_SizeT
-#define PyArg_VaParse _PyArg_VaParse_SizeT
-#define PyArg_VaParseTupleAndKeywords _PyArg_VaParseTupleAndKeywords_SizeT
-#define Py_BuildValue _Py_BuildValue_SizeT
-#define Py_VaBuildValue _Py_VaBuildValue_SizeT
-#else
-PyAPI_FUNC(PyObject *) _Py_VaBuildValue_SizeT(const char *, va_list);
-#endif
-
-PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
-PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...) Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3);
-PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
-                                                  const char *, char **, ...);
-PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...);
-PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...);
-PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...);
-PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kw);
-
-PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list);
-PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *,
-                                                  const char *, char **, va_list);
-PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list);
-
-PyAPI_FUNC(int) PyModule_AddObject(PyObject *, const char *, PyObject *);
-PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long);
-PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *);
-#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
-#define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant(m, #c, c)
-
-#define PYTHON_API_VERSION 1013
-#define PYTHON_API_STRING "1013"
-/* The API version is maintained (independently from the Python version)
-   so we can detect mismatches between the interpreter and dynamically
-   loaded modules.  These are diagnosed by an error message but
-   the module is still loaded (because the mismatch can only be tested
-   after loading the module).  The error message is intended to
-   explain the core dump a few seconds later.
-
-   The symbol PYTHON_API_STRING defines the same value as a string
-   literal.  *** PLEASE MAKE SURE THE DEFINITIONS MATCH. ***
-
-   Please add a line or two to the top of this log for each API
-   version change:
-
-   22-Feb-2006  MvL 1013 PEP 353 - long indices for sequence lengths
-
-   19-Aug-2002  GvR 1012 Changes to string object struct for
-    interning changes, saving 3 bytes.
-
-   17-Jul-2001 GvR 1011 Descr-branch, just to be on the safe side
-
-   25-Jan-2001  FLD     1010    Parameters added to PyCode_New() and
-                                PyFrame_New(); Python 2.1a2
-
-   14-Mar-2000  GvR     1009    Unicode API added
-
-   3-Jan-1999 GvR 1007 Decided to change back!  (Don't reuse 1008!)
-
-   3-Dec-1998 GvR 1008 Python 1.5.2b1
-
-   18-Jan-1997 GvR 1007 string interning and other speedups
-
-   11-Oct-1996 GvR renamed Py_Ellipses to Py_Ellipsis :-(
-
-   30-Jul-1996 GvR Slice and ellipses syntax added
-
-   23-Jul-1996 GvR For 1.4 -- better safe than sorry this time :-)
-
-   7-Nov-1995 GvR Keyword arguments (should've been done at 1.3 :-( )
-
-   10-Jan-1995 GvR Renamed globals to new naming scheme
-
-   9-Jan-1995 GvR Initial version (incompatible with older API)
-*/
-
-#ifdef MS_WINDOWS
-/* Special defines for Windows versions used to live here.  Things
-   have changed, and the "Version" is now in a global string variable.
-   Reason for this is that this for easier branding of a "custom DLL"
-   without actually needing a recompile.  */
-#endif /* MS_WINDOWS */
-
-#if SIZEOF_SIZE_T != SIZEOF_INT
-/* On a 64-bit system, rename the Py_InitModule4 so that 2.4
-   modules cannot get loaded into a 2.5 interpreter */
-#define Py_InitModule4 Py_InitModule4_64
-#endif
-
-#ifdef Py_TRACE_REFS
- /* When we are tracing reference counts, rename Py_InitModule4 so
-    modules compiled with incompatible settings will generate a
-    link-time error. */
- #if SIZEOF_SIZE_T != SIZEOF_INT
- #undef Py_InitModule4
- #define Py_InitModule4 Py_InitModule4TraceRefs_64
- #else
- #define Py_InitModule4 Py_InitModule4TraceRefs
- #endif
-#endif
-
-PyAPI_FUNC(PyObject *) Py_InitModule4(const char *name, PyMethodDef *methods,
-                                      const char *doc, PyObject *self,
-                                      int apiver);
-
-#define Py_InitModule(name, methods) \
- Py_InitModule4(name, methods, (char *)NULL, (PyObject *)NULL, \
-        PYTHON_API_VERSION)
-
-#define Py_InitModule3(name, methods, doc) \
- Py_InitModule4(name, methods, doc, (PyObject *)NULL, \
-        PYTHON_API_VERSION)
-
-PyAPI_DATA(char *) _Py_PackageContext;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MODSUPPORT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/moduleobject.h
--- a/test/include/python2.7/moduleobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,24 +0,0 @@
-
-/* Module object interface */
-
-#ifndef Py_MODULEOBJECT_H
-#define Py_MODULEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyModule_Type;
-
-#define PyModule_Check(op) PyObject_TypeCheck(op, &PyModule_Type)
-#define PyModule_CheckExact(op) (Py_TYPE(op) == &PyModule_Type)
-
-PyAPI_FUNC(PyObject *) PyModule_New(const char *);
-PyAPI_FUNC(PyObject *) PyModule_GetDict(PyObject *);
-PyAPI_FUNC(char *) PyModule_GetName(PyObject *);
-PyAPI_FUNC(char *) PyModule_GetFilename(PyObject *);
-PyAPI_FUNC(void) _PyModule_Clear(PyObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_MODULEOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/node.h
--- a/test/include/python2.7/node.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,41 +0,0 @@
-
-/* Parse tree node interface */
-
-#ifndef Py_NODE_H
-#define Py_NODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _node {
-    short n_type;
-    char *n_str;
-    int n_lineno;
-    int n_col_offset;
-    int n_nchildren;
-    struct _node *n_child;
-} node;
-
-PyAPI_FUNC(node *) PyNode_New(int type);
-PyAPI_FUNC(int) PyNode_AddChild(node *n, int type,
-                                      char *str, int lineno, int col_offset);
-PyAPI_FUNC(void) PyNode_Free(node *n);
-PyAPI_FUNC(Py_ssize_t) _PyNode_SizeOf(node *n);
-
-/* Node access functions */
-#define NCH(n) ((n)->n_nchildren)
-
-#define CHILD(n, i) (&(n)->n_child[i])
-#define RCHILD(n, i) (CHILD(n, NCH(n) + i))
-#define TYPE(n) ((n)->n_type)
-#define STR(n) ((n)->n_str)
-
-/* Assert that the type of a node is what we expect */
-#define REQ(n, type) assert(TYPE(n) == (type))
-
-PyAPI_FUNC(void) PyNode_ListTree(node *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_NODE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/object.h
--- a/test/include/python2.7/object.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,1046 +0,0 @@\n-#ifndef Py_OBJECT_H\n-#define Py_OBJECT_H\n-#ifdef __cplusplus\n-extern "C" {\n-#endif\n-\n-\n-/* Object and type object interface */\n-\n-/*\n-Objects are structures allocated on the heap.  Special rules apply to\n-the use of objects to ensure they are properly garbage-collected.\n-Objects are never allocated statically or on the stack; they must be\n-accessed through special macros and functions only.  (Type objects are\n-exceptions to the first rule; the standard types are represented by\n-statically initialized type objects, although work on type/class unification\n-for Python 2.2 made it possible to have heap-allocated type objects too).\n-\n-An object has a \'reference count\' that is increased or decreased when a\n-pointer to the object is copied or deleted; when the reference count\n-reaches zero there are no references to the object left and it can be\n-removed from the heap.\n-\n-An object has a \'type\' that determines what it represents and what kind\n-of data it contains.  An object\'s type is fixed when it is created.\n-Types themselves are represented as objects; an object contains a\n-pointer to the corresponding type object.  The type itself has a type\n-pointer pointing to the object representing the type \'type\', which\n-contains a pointer to itself!).\n-\n-Objects do not float around in memory; once allocated an object keeps\n-the same size and address.  Objects that must hold variable-size data\n-can contain pointers to variable-size parts of the object.  Not all\n-objects of the same type have the same size; but the size cannot change\n-after allocation.  (These restrictions are made so a reference to an\n-object can be simply a pointer -- moving an object would require\n-updating all the pointers, and changing an object\'s size would require\n-moving it if there was another object right next to it.)\n-\n-Objects are always accessed through pointers of the type \'PyObject *\'.\n-The type \'PyObject\' is a structure that only contains the reference count\n-and the type pointer.  The actual memory allocated for an object\n-contains other data that can only be accessed after casting the pointer\n-to a pointer to a longer structure type.  This longer type must start\n-with the reference count and type fields; the macro PyObject_HEAD should be\n-used for this (to accommodate for future changes).  The implementation\n-of a particular object type can cast the object pointer to the proper\n-type and back.\n-\n-A standard interface exists for objects that contain an array of items\n-whose size is determined when the object is allocated.\n-*/\n-\n-/* Py_DEBUG implies Py_TRACE_REFS. */\n-#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)\n-#define Py_TRACE_REFS\n-#endif\n-\n-/* Py_TRACE_REFS implies Py_REF_DEBUG. */\n-#if defined(Py_TRACE_REFS) && !defined(Py_REF_DEBUG)\n-#define Py_REF_DEBUG\n-#endif\n-\n-#ifdef Py_TRACE_REFS\n-/* Define pointers to support a doubly-linked list of all live heap objects. */\n-#define _PyObject_HEAD_EXTRA            \\\n-    struct _object *_ob_next;           \\\n-    struct _object *_ob_prev;\n-\n-#define _PyObject_EXTRA_INIT 0, 0,\n-\n-#else\n-#define _PyObject_HEAD_EXTRA\n-#define _PyObject_EXTRA_INIT\n-#endif\n-\n-/* PyObject_HEAD defines the initial segment of every PyObject. */\n-#define PyObject_HEAD                   \\\n-    _PyObject_HEAD_EXTRA                \\\n-    Py_ssize_t ob_refcnt;               \\\n-    struct _typeobject *ob_type;\n-\n-#define PyObject_HEAD_INIT(type)        \\\n-    _PyObject_EXTRA_INIT                \\\n-    1, type,\n-\n-#define PyVarObject_HEAD_INIT(type, size)       \\\n-    PyObject_HEAD_INIT(type) size,\n-\n-/* PyObject_VAR_HEAD defines the initial segment of all variable-size\n- * container objects.  These end with a declaration of an array with 1\n- * element, but enough space is malloc\'ed so that the array actually\n- * has room for ob_size elements.  Note that ob_size is an element count,\n- * not necessarily a byte count.\n- */\n-#define PyObject_VAR_HEAD               \\\n-    PyObject_HEAD                       \\\n-    Py_ssize'..b'ject is only looked at\n-quickly.  Thus, to retrieve an object and store it again, the caller\n-must call Py_INCREF() explicitly.\n-\n-NOTE: functions that \'consume\' a reference count, like\n-PyList_SetItem(), consume the reference even if the object wasn\'t\n-successfully stored, to simplify error handling.\n-\n-It seems attractive to make other functions that take an object as\n-argument consume a reference count; however, this may quickly get\n-confusing (even the current practice is already confusing).  Consider\n-it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at\n-times.\n-*/\n-\n-\n-/* Trashcan mechanism, thanks to Christian Tismer.\n-\n-When deallocating a container object, it\'s possible to trigger an unbounded\n-chain of deallocations, as each Py_DECREF in turn drops the refcount on "the\n-next" object in the chain to 0.  This can easily lead to stack faults, and\n-especially in threads (which typically have less stack space to work with).\n-\n-A container object that participates in cyclic gc can avoid this by\n-bracketing the body of its tp_dealloc function with a pair of macros:\n-\n-static void\n-mytype_dealloc(mytype *p)\n-{\n-    ... declarations go here ...\n-\n-    PyObject_GC_UnTrack(p);        // must untrack first\n-    Py_TRASHCAN_SAFE_BEGIN(p)\n-    ... The body of the deallocator goes here, including all calls ...\n-    ... to Py_DECREF on contained objects.                         ...\n-    Py_TRASHCAN_SAFE_END(p)\n-}\n-\n-CAUTION:  Never return from the middle of the body!  If the body needs to\n-"get out early", put a label immediately before the Py_TRASHCAN_SAFE_END\n-call, and goto it.  Else the call-depth counter (see below) will stay\n-above 0 forever, and the trashcan will never get emptied.\n-\n-How it works:  The BEGIN macro increments a call-depth counter.  So long\n-as this counter is small, the body of the deallocator is run directly without\n-further ado.  But if the counter gets large, it instead adds p to a list of\n-objects to be deallocated later, skips the body of the deallocator, and\n-resumes execution after the END macro.  The tp_dealloc routine then returns\n-without deallocating anything (and so unbounded call-stack depth is avoided).\n-\n-When the call stack finishes unwinding again, code generated by the END macro\n-notices this, and calls another routine to deallocate all the objects that\n-may have been added to the list of deferred deallocations.  In effect, a\n-chain of N deallocations is broken into N / PyTrash_UNWIND_LEVEL pieces,\n-with the call stack never exceeding a depth of PyTrash_UNWIND_LEVEL.\n-*/\n-\n-/* This is the old private API, invoked by the macros before 2.7.4.\n-   Kept for binary compatibility of extensions. */\n-PyAPI_FUNC(void) _PyTrash_deposit_object(PyObject*);\n-PyAPI_FUNC(void) _PyTrash_destroy_chain(void);\n-PyAPI_DATA(int) _PyTrash_delete_nesting;\n-PyAPI_DATA(PyObject *) _PyTrash_delete_later;\n-\n-/* The new thread-safe private API, invoked by the macros below. */\n-PyAPI_FUNC(void) _PyTrash_thread_deposit_object(PyObject*);\n-PyAPI_FUNC(void) _PyTrash_thread_destroy_chain(void);\n-\n-#define PyTrash_UNWIND_LEVEL 50\n-\n-/* Note the workaround for when the thread state is NULL (issue #17703) */\n-#define Py_TRASHCAN_SAFE_BEGIN(op) \\\n-    do { \\\n-        PyThreadState *_tstate = PyThreadState_GET(); \\\n-        if (!_tstate || \\\n-            _tstate->trash_delete_nesting < PyTrash_UNWIND_LEVEL) { \\\n-            if (_tstate) \\\n-                ++_tstate->trash_delete_nesting;\n-            /* The body of the deallocator is here. */\n-#define Py_TRASHCAN_SAFE_END(op) \\\n-            if (_tstate) { \\\n-                --_tstate->trash_delete_nesting; \\\n-                if (_tstate->trash_delete_later \\\n-                    && _tstate->trash_delete_nesting <= 0) \\\n-                    _PyTrash_thread_destroy_chain(); \\\n-            } \\\n-        } \\\n-        else \\\n-            _PyTrash_thread_deposit_object((PyObject*)op); \\\n-    } while (0);\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif /* !Py_OBJECT_H */\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/objimpl.h
--- a/test/include/python2.7/objimpl.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,354 +0,0 @@\n-/* The PyObject_ memory family:  high-level object memory interfaces.\n-   See pymem.h for the low-level PyMem_ family.\n-*/\n-\n-#ifndef Py_OBJIMPL_H\n-#define Py_OBJIMPL_H\n-\n-#include "pymem.h"\n-\n-#ifdef __cplusplus\n-extern "C" {\n-#endif\n-\n-/* BEWARE:\n-\n-   Each interface exports both functions and macros.  Extension modules should\n-   use the functions, to ensure binary compatibility across Python versions.\n-   Because the Python implementation is free to change internal details, and\n-   the macros may (or may not) expose details for speed, if you do use the\n-   macros you must recompile your extensions with each Python release.\n-\n-   Never mix calls to PyObject_ memory functions with calls to the platform\n-   malloc/realloc/ calloc/free, or with calls to PyMem_.\n-*/\n-\n-/*\n-Functions and macros for modules that implement new object types.\n-\n- - PyObject_New(type, typeobj) allocates memory for a new object of the given\n-   type, and initializes part of it.  \'type\' must be the C structure type used\n-   to represent the object, and \'typeobj\' the address of the corresponding\n-   type object.  Reference count and type pointer are filled in; the rest of\n-   the bytes of the object are *undefined*!  The resulting expression type is\n-   \'type *\'.  The size of the object is determined by the tp_basicsize field\n-   of the type object.\n-\n- - PyObject_NewVar(type, typeobj, n) is similar but allocates a variable-size\n-   object with room for n items.  In addition to the refcount and type pointer\n-   fields, this also fills in the ob_size field.\n-\n- - PyObject_Del(op) releases the memory allocated for an object.  It does not\n-   run a destructor -- it only frees the memory.  PyObject_Free is identical.\n-\n- - PyObject_Init(op, typeobj) and PyObject_InitVar(op, typeobj, n) don\'t\n-   allocate memory.  Instead of a \'type\' parameter, they take a pointer to a\n-   new object (allocated by an arbitrary allocator), and initialize its object\n-   header fields.\n-\n-Note that objects created with PyObject_{New, NewVar} are allocated using the\n-specialized Python allocator (implemented in obmalloc.c), if WITH_PYMALLOC is\n-enabled.  In addition, a special debugging allocator is used if PYMALLOC_DEBUG\n-is also #defined.\n-\n-In case a specific form of memory management is needed (for example, if you\n-must use the platform malloc heap(s), or shared memory, or C++ local storage or\n-operator new), you must first allocate the object with your custom allocator,\n-then pass its pointer to PyObject_{Init, InitVar} for filling in its Python-\n-specific fields:  reference count, type pointer, possibly others.  You should\n-be aware that Python no control over these objects because they don\'t\n-cooperate with the Python memory manager.  Such objects may not be eligible\n-for automatic garbage collection and you have to make sure that they are\n-released accordingly whenever their destructor gets called (cf. the specific\n-form of memory management you\'re using).\n-\n-Unless you have specific memory management requirements, use\n-PyObject_{New, NewVar, Del}.\n-*/\n-\n-/*\n- * Raw object memory interface\n- * ===========================\n- */\n-\n-/* Functions to call the same malloc/realloc/free as used by Python\'s\n-   object allocator.  If WITH_PYMALLOC is enabled, these may differ from\n-   the platform malloc/realloc/free.  The Python object allocator is\n-   designed for fast, cache-conscious allocation of many "small" objects,\n-   and with low hidden memory overhead.\n-\n-   PyObject_Malloc(0) returns a unique non-NULL pointer if possible.\n-\n-   PyObject_Realloc(NULL, n) acts like PyObject_Malloc(n).\n-   PyObject_Realloc(p != NULL, 0) does not return  NULL, or free the memory\n-   at p.\n-\n-   Returned pointers must be checked for NULL explicitly; no action is\n-   performed on failure other than to return NULL (no warning it printed, no\n-   exception is set, etc).\n-\n-   For allocating objects, use PyObject_{New, NewVar} instead whenever\n-   possible.  The PyObject_{Mall'..b'ture. */\n-typedef union _gc_head {\n-    struct {\n-        union _gc_head *gc_next;\n-        union _gc_head *gc_prev;\n-        Py_ssize_t gc_refs;\n-    } gc;\n-    long double dummy;  /* force worst-case alignment */\n-} PyGC_Head;\n-\n-extern PyGC_Head *_PyGC_generation0;\n-\n-#define _Py_AS_GC(o) ((PyGC_Head *)(o)-1)\n-\n-#define _PyGC_REFS_UNTRACKED                    (-2)\n-#define _PyGC_REFS_REACHABLE                    (-3)\n-#define _PyGC_REFS_TENTATIVELY_UNREACHABLE      (-4)\n-\n-/* Tell the GC to track this object.  NB: While the object is tracked the\n- * collector it must be safe to call the ob_traverse method. */\n-#define _PyObject_GC_TRACK(o) do { \\\n-    PyGC_Head *g = _Py_AS_GC(o); \\\n-    if (g->gc.gc_refs != _PyGC_REFS_UNTRACKED) \\\n-        Py_FatalError("GC object already tracked"); \\\n-    g->gc.gc_refs = _PyGC_REFS_REACHABLE; \\\n-    g->gc.gc_next = _PyGC_generation0; \\\n-    g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; \\\n-    g->gc.gc_prev->gc.gc_next = g; \\\n-    _PyGC_generation0->gc.gc_prev = g; \\\n-    } while (0);\n-\n-/* Tell the GC to stop tracking this object.\n- * gc_next doesn\'t need to be set to NULL, but doing so is a good\n- * way to provoke memory errors if calling code is confused.\n- */\n-#define _PyObject_GC_UNTRACK(o) do { \\\n-    PyGC_Head *g = _Py_AS_GC(o); \\\n-    assert(g->gc.gc_refs != _PyGC_REFS_UNTRACKED); \\\n-    g->gc.gc_refs = _PyGC_REFS_UNTRACKED; \\\n-    g->gc.gc_prev->gc.gc_next = g->gc.gc_next; \\\n-    g->gc.gc_next->gc.gc_prev = g->gc.gc_prev; \\\n-    g->gc.gc_next = NULL; \\\n-    } while (0);\n-\n-/* True if the object is currently tracked by the GC. */\n-#define _PyObject_GC_IS_TRACKED(o) \\\n-    ((_Py_AS_GC(o))->gc.gc_refs != _PyGC_REFS_UNTRACKED)\n-\n-/* True if the object may be tracked by the GC in the future, or already is.\n-   This can be useful to implement some optimizations. */\n-#define _PyObject_GC_MAY_BE_TRACKED(obj) \\\n-    (PyObject_IS_GC(obj) && \\\n-        (!PyTuple_CheckExact(obj) || _PyObject_GC_IS_TRACKED(obj)))\n-\n-\n-PyAPI_FUNC(PyObject *) _PyObject_GC_Malloc(size_t);\n-PyAPI_FUNC(PyObject *) _PyObject_GC_New(PyTypeObject *);\n-PyAPI_FUNC(PyVarObject *) _PyObject_GC_NewVar(PyTypeObject *, Py_ssize_t);\n-PyAPI_FUNC(void) PyObject_GC_Track(void *);\n-PyAPI_FUNC(void) PyObject_GC_UnTrack(void *);\n-PyAPI_FUNC(void) PyObject_GC_Del(void *);\n-\n-#define PyObject_GC_New(type, typeobj) \\\n-                ( (type *) _PyObject_GC_New(typeobj) )\n-#define PyObject_GC_NewVar(type, typeobj, n) \\\n-                ( (type *) _PyObject_GC_NewVar((typeobj), (n)) )\n-\n-\n-/* Utility macro to help write tp_traverse functions.\n- * To use this macro, the tp_traverse function must name its arguments\n- * "visit" and "arg".  This is intended to keep tp_traverse functions\n- * looking as much alike as possible.\n- */\n-#define Py_VISIT(op)                                                    \\\n-    do {                                                                \\\n-        if (op) {                                                       \\\n-            int vret = visit((PyObject *)(op), arg);                    \\\n-            if (vret)                                                   \\\n-                return vret;                                            \\\n-        }                                                               \\\n-    } while (0)\n-\n-/* This is here for the sake of backwards compatibility.  Extensions that\n- * use the old GC API will still compile but the objects will not be\n- * tracked by the GC. */\n-#define PyGC_HEAD_SIZE 0\n-#define PyObject_GC_Init(op)\n-#define PyObject_GC_Fini(op)\n-#define PyObject_AS_GC(op) (op)\n-#define PyObject_FROM_GC(op) (op)\n-\n-\n-/* Test if a type supports weak references */\n-#define PyType_SUPPORTS_WEAKREFS(t) \\\n-    (PyType_HasFeature((t), Py_TPFLAGS_HAVE_WEAKREFS) \\\n-     && ((t)->tp_weaklistoffset > 0))\n-\n-#define PyObject_GET_WEAKREFS_LISTPTR(o) \\\n-    ((PyObject **) (((char *) (o)) + Py_TYPE(o)->tp_weaklistoffset))\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif /* !Py_OBJIMPL_H */\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/opcode.h
--- a/test/include/python2.7/opcode.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,171 +0,0 @@
-#ifndef Py_OPCODE_H
-#define Py_OPCODE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Instruction opcodes for compiled code */
-
-#define STOP_CODE 0
-#define POP_TOP 1
-#define ROT_TWO 2
-#define ROT_THREE 3
-#define DUP_TOP 4
-#define ROT_FOUR 5
-#define NOP 9
-
-#define UNARY_POSITIVE 10
-#define UNARY_NEGATIVE 11
-#define UNARY_NOT 12
-#define UNARY_CONVERT 13
-
-#define UNARY_INVERT 15
-
-#define BINARY_POWER 19
-
-#define BINARY_MULTIPLY 20
-#define BINARY_DIVIDE 21
-#define BINARY_MODULO 22
-#define BINARY_ADD 23
-#define BINARY_SUBTRACT 24
-#define BINARY_SUBSCR 25
-#define BINARY_FLOOR_DIVIDE 26
-#define BINARY_TRUE_DIVIDE 27
-#define INPLACE_FLOOR_DIVIDE 28
-#define INPLACE_TRUE_DIVIDE 29
-
-#define SLICE 30
-/* Also uses 31-33 */
-#define SLICE_1 31
-#define SLICE_2 32
-#define SLICE_3 33
-
-#define STORE_SLICE 40
-/* Also uses 41-43 */
-#define STORE_SLICE_1 41
-#define STORE_SLICE_2 42
-#define STORE_SLICE_3 43
-
-#define DELETE_SLICE 50
-/* Also uses 51-53 */
-#define DELETE_SLICE_1 51
-#define DELETE_SLICE_2 52
-#define DELETE_SLICE_3 53
-
-#define STORE_MAP 54
-#define INPLACE_ADD 55
-#define INPLACE_SUBTRACT 56
-#define INPLACE_MULTIPLY 57
-#define INPLACE_DIVIDE 58
-#define INPLACE_MODULO 59
-#define STORE_SUBSCR 60
-#define DELETE_SUBSCR 61
-
-#define BINARY_LSHIFT 62
-#define BINARY_RSHIFT 63
-#define BINARY_AND 64
-#define BINARY_XOR 65
-#define BINARY_OR 66
-#define INPLACE_POWER 67
-#define GET_ITER 68
-
-#define PRINT_EXPR 70
-#define PRINT_ITEM 71
-#define PRINT_NEWLINE 72
-#define PRINT_ITEM_TO   73
-#define PRINT_NEWLINE_TO 74
-#define INPLACE_LSHIFT 75
-#define INPLACE_RSHIFT 76
-#define INPLACE_AND 77
-#define INPLACE_XOR 78
-#define INPLACE_OR 79
-#define BREAK_LOOP 80
-#define WITH_CLEANUP    81
-#define LOAD_LOCALS 82
-#define RETURN_VALUE 83
-#define IMPORT_STAR 84
-#define EXEC_STMT 85
-#define YIELD_VALUE 86
-#define POP_BLOCK 87
-#define END_FINALLY 88
-#define BUILD_CLASS 89
-
-#define HAVE_ARGUMENT 90 /* Opcodes from here have an argument: */
-
-#define STORE_NAME 90 /* Index in name list */
-#define DELETE_NAME 91 /* "" */
-#define UNPACK_SEQUENCE 92 /* Number of sequence items */
-#define FOR_ITER 93
-#define LIST_APPEND 94
-
-#define STORE_ATTR 95 /* Index in name list */
-#define DELETE_ATTR 96 /* "" */
-#define STORE_GLOBAL 97 /* "" */
-#define DELETE_GLOBAL 98 /* "" */
-#define DUP_TOPX 99 /* number of items to duplicate */
-#define LOAD_CONST 100 /* Index in const list */
-#define LOAD_NAME 101 /* Index in name list */
-#define BUILD_TUPLE 102 /* Number of tuple items */
-#define BUILD_LIST 103 /* Number of list items */
-#define BUILD_SET 104     /* Number of set items */
-#define BUILD_MAP 105 /* Always zero for now */
-#define LOAD_ATTR 106 /* Index in name list */
-#define COMPARE_OP 107 /* Comparison operator */
-#define IMPORT_NAME 108 /* Index in name list */
-#define IMPORT_FROM 109 /* Index in name list */
-#define JUMP_FORWARD 110 /* Number of bytes to skip */
-
-#define JUMP_IF_FALSE_OR_POP 111 /* Target byte offset from beginning
-                                    of code */
-#define JUMP_IF_TRUE_OR_POP 112 /* "" */
-#define JUMP_ABSOLUTE 113 /* "" */
-#define POP_JUMP_IF_FALSE 114 /* "" */
-#define POP_JUMP_IF_TRUE 115 /* "" */
-
-#define LOAD_GLOBAL 116 /* Index in name list */
-
-#define CONTINUE_LOOP 119 /* Start of loop (absolute) */
-#define SETUP_LOOP 120 /* Target address (relative) */
-#define SETUP_EXCEPT 121 /* "" */
-#define SETUP_FINALLY 122 /* "" */
-
-#define LOAD_FAST 124 /* Local variable number */
-#define STORE_FAST 125 /* Local variable number */
-#define DELETE_FAST 126 /* Local variable number */
-
-#define RAISE_VARARGS 130 /* Number of raise arguments (1, 2 or 3) */
-/* CALL_FUNCTION_XXX opcodes defined below depend on this definition */
-#define CALL_FUNCTION 131 /* #args + (#kwargs<<8) */
-#define MAKE_FUNCTION 132 /* #defaults */
-#define BUILD_SLICE  133 /* Number of items */
-
-#define MAKE_CLOSURE    134     /* #free vars */
-#define LOAD_CLOSURE    135     /* Load free variable from closure */
-#define LOAD_DEREF      136     /* Load and dereference from closure cell */ 
-#define STORE_DEREF     137     /* Store into cell */ 
-
-/* The next 3 opcodes must be contiguous and satisfy
-   (CALL_FUNCTION_VAR - CALL_FUNCTION) & 3 == 1  */
-#define CALL_FUNCTION_VAR          140 /* #args + (#kwargs<<8) */
-#define CALL_FUNCTION_KW           141 /* #args + (#kwargs<<8) */
-#define CALL_FUNCTION_VAR_KW       142 /* #args + (#kwargs<<8) */
-
-#define SETUP_WITH 143
-
-/* Support for opargs more than 16 bits long */
-#define EXTENDED_ARG  145
-
-#define SET_ADD         146
-#define MAP_ADD         147
-
-
-enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE, PyCmp_GT=Py_GT, PyCmp_GE=Py_GE,
-      PyCmp_IN, PyCmp_NOT_IN, PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};
-
-#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_OPCODE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/osdefs.h
--- a/test/include/python2.7/osdefs.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,63 +0,0 @@
-#ifndef Py_OSDEFS_H
-#define Py_OSDEFS_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Operating system dependencies */
-
-/* Mod by chrish: QNX has WATCOM, but isn't DOS */
-#if !defined(__QNX__)
-#if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__DJGPP__) || defined(PYOS_OS2)
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
-#define MAXPATHLEN 260
-#define SEP '/'
-#define ALTSEP '\\'
-#else
-#define SEP '\\'
-#define ALTSEP '/'
-#define MAXPATHLEN 256
-#endif
-#define DELIM ';'
-#endif
-#endif
-
-#ifdef RISCOS
-#define SEP '.'
-#define MAXPATHLEN 256
-#define DELIM ','
-#endif
-
-
-/* Filename separator */
-#ifndef SEP
-#define SEP '/'
-#endif
-
-/* Max pathname length */
-#ifdef __hpux
-#include <sys/param.h>
-#include <limits.h>
-#ifndef PATH_MAX
-#define PATH_MAX MAXPATHLEN
-#endif
-#endif
-
-#ifndef MAXPATHLEN
-#if defined(PATH_MAX) && PATH_MAX > 1024
-#define MAXPATHLEN PATH_MAX
-#else
-#define MAXPATHLEN 1024
-#endif
-#endif
-
-/* Search path entry delimiter */
-#ifndef DELIM
-#define DELIM ':'
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_OSDEFS_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/parsetok.h
--- a/test/include/python2.7/parsetok.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,64 +0,0 @@
-
-/* Parser-tokenizer link interface */
-
-#ifndef Py_PARSETOK_H
-#define Py_PARSETOK_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-    int error;
-    const char *filename;
-    int lineno;
-    int offset;
-    char *text;
-    int token;
-    int expected;
-} perrdetail;
-
-#if 0
-#define PyPARSE_YIELD_IS_KEYWORD 0x0001
-#endif
-
-#define PyPARSE_DONT_IMPLY_DEDENT 0x0002
-
-#if 0
-#define PyPARSE_WITH_IS_KEYWORD 0x0003
-#endif
-
-#define PyPARSE_PRINT_IS_FUNCTION       0x0004
-#define PyPARSE_UNICODE_LITERALS        0x0008
-
-
-
-PyAPI_FUNC(node *) PyParser_ParseString(const char *, grammar *, int,
-                                              perrdetail *);
-PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, const char *, grammar *, int,
-                                             char *, char *, perrdetail *);
-
-PyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int,
-                                              perrdetail *, int);
-PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, const char *, grammar *,
-  int, char *, char *,
-  perrdetail *, int);
-PyAPI_FUNC(node *) PyParser_ParseFileFlagsEx(FILE *, const char *, grammar *,
-  int, char *, char *,
-  perrdetail *, int *);
-
-PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(const char *,
-       const char *,
-       grammar *, int,
-                                              perrdetail *, int);
-PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilenameEx(const char *,
-       const char *,
-       grammar *, int,
-                                              perrdetail *, int *);
-
-/* Note that he following function is defined in pythonrun.c not parsetok.c. */
-PyAPI_FUNC(void) PyParser_SetError(perrdetail *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PARSETOK_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/patchlevel.h
--- a/test/include/python2.7/patchlevel.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,43 +0,0 @@
-
-/* Newfangled version identification scheme.
-
-   This scheme was added in Python 1.5.2b2; before that time, only PATCHLEVEL
-   was available.  To test for presence of the scheme, test for
-   defined(PY_MAJOR_VERSION).
-
-   When the major or minor version changes, the VERSION variable in
-   configure.ac must also be changed.
-
-   There is also (independent) API version information in modsupport.h.
-*/
-
-/* Values for PY_RELEASE_LEVEL */
-#define PY_RELEASE_LEVEL_ALPHA 0xA
-#define PY_RELEASE_LEVEL_BETA 0xB
-#define PY_RELEASE_LEVEL_GAMMA 0xC     /* For release candidates */
-#define PY_RELEASE_LEVEL_FINAL 0xF /* Serial should be 0 here */
- /* Higher for patch releases */
-
-/* Version parsed out into numeric values */
-/*--start constants--*/
-#define PY_MAJOR_VERSION 2
-#define PY_MINOR_VERSION 7
-#define PY_MICRO_VERSION 12
-#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
-#define PY_RELEASE_SERIAL 0
-
-/* Version as a string */
-#define PY_VERSION       "2.7.12"
-/*--end constants--*/
-
-/* Subversion Revision number of this file (not of the repository). Empty
-   since Mercurial migration. */
-#define PY_PATCHLEVEL_REVISION  ""
-
-/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
-   Use this for numeric comparisons, e.g. #if PY_VERSION_HEX >= ... */
-#define PY_VERSION_HEX ((PY_MAJOR_VERSION << 24) | \
- (PY_MINOR_VERSION << 16) | \
- (PY_MICRO_VERSION <<  8) | \
- (PY_RELEASE_LEVEL <<  4) | \
- (PY_RELEASE_SERIAL << 0))
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pgen.h
--- a/test/include/python2.7/pgen.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,18 +0,0 @@
-#ifndef Py_PGEN_H
-#define Py_PGEN_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Parser generator interface */
-
-extern grammar *meta_grammar(void);
-
-struct _node;
-extern grammar *pgen(struct _node *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PGEN_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pgenheaders.h
--- a/test/include/python2.7/pgenheaders.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,42 +0,0 @@
-#ifndef Py_PGENHEADERS_H
-#define Py_PGENHEADERS_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Include files and extern declarations used by most of the parser. */
-
-#include "Python.h"
-
-PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...)
- Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
-PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...)
- Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
-
-#define addarc _Py_addarc
-#define addbit _Py_addbit
-#define adddfa _Py_adddfa
-#define addfirstsets _Py_addfirstsets
-#define addlabel _Py_addlabel
-#define addstate _Py_addstate
-#define delbitset _Py_delbitset
-#define dumptree _Py_dumptree
-#define findlabel _Py_findlabel
-#define mergebitset _Py_mergebitset
-#define meta_grammar _Py_meta_grammar
-#define newbitset _Py_newbitset
-#define newgrammar _Py_newgrammar
-#define pgen _Py_pgen
-#define printgrammar _Py_printgrammar
-#define printnonterminals _Py_printnonterminals
-#define printtree _Py_printtree
-#define samebitset _Py_samebitset
-#define showtree _Py_showtree
-#define tok_dump _Py_tok_dump
-#define translatelabels _Py_translatelabels
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PGENHEADERS_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/py_curses.h
--- a/test/include/python2.7/py_curses.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,176 +0,0 @@
-
-#ifndef Py_CURSES_H
-#define Py_CURSES_H
-
-#ifdef __APPLE__
-/*
-** On Mac OS X 10.2 [n]curses.h and stdlib.h use different guards
-** against multiple definition of wchar_t.
-*/
-#ifdef _BSD_WCHAR_T_DEFINED_
-#define _WCHAR_T
-#endif
-
-/* the following define is necessary for OS X 10.6; without it, the
-   Apple-supplied ncurses.h sets NCURSES_OPAQUE to 1, and then Python
-   can't get at the WINDOW flags field. */
-#define NCURSES_OPAQUE 0
-#endif /* __APPLE__ */
-
-#ifdef __FreeBSD__
-/*
-** On FreeBSD, [n]curses.h and stdlib.h/wchar.h use different guards
-** against multiple definition of wchar_t and wint_t.
-*/
-#ifdef _XOPEN_SOURCE_EXTENDED
-#ifndef __FreeBSD_version
-#include <osreldate.h>
-#endif
-#if __FreeBSD_version >= 500000
-#ifndef __wchar_t
-#define __wchar_t
-#endif
-#ifndef __wint_t
-#define __wint_t
-#endif
-#else
-#ifndef _WCHAR_T
-#define _WCHAR_T
-#endif
-#ifndef _WINT_T
-#define _WINT_T
-#endif
-#endif
-#endif
-#endif
-
-#ifdef HAVE_NCURSES_H
-#include <ncurses.h>
-#else
-#include <curses.h>
-#ifdef HAVE_TERM_H
-/* for tigetstr, which is not declared in SysV curses */
-#include <term.h>
-#endif
-#endif
-
-#ifdef HAVE_NCURSES_H
-/* configure was checking <curses.h>, but we will
-   use <ncurses.h>, which has all these features. */
-#ifndef WINDOW_HAS_FLAGS
-#define WINDOW_HAS_FLAGS 1
-#endif
-#ifndef MVWDELCH_IS_EXPRESSION
-#define MVWDELCH_IS_EXPRESSION 1
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define PyCurses_API_pointers 4
-
-/* Type declarations */
-
-typedef struct {
- PyObject_HEAD
- WINDOW *win;
-} PyCursesWindowObject;
-
-#define PyCursesWindow_Check(v)  (Py_TYPE(v) == &PyCursesWindow_Type)
-
-#define PyCurses_CAPSULE_NAME "_curses._C_API"
-
-
-#ifdef CURSES_MODULE
-/* This section is used when compiling _cursesmodule.c */
-
-#else
-/* This section is used in modules that use the _cursesmodule API */
-
-static void **PyCurses_API;
-
-#define PyCursesWindow_Type (*(PyTypeObject *) PyCurses_API[0])
-#define PyCursesSetupTermCalled  {if (! ((int (*)(void))PyCurses_API[1]) () ) return NULL;}
-#define PyCursesInitialised      {if (! ((int (*)(void))PyCurses_API[2]) () ) return NULL;}
-#define PyCursesInitialisedColor {if (! ((int (*)(void))PyCurses_API[3]) () ) return NULL;}
-
-#define import_curses() \
-    PyCurses_API = (void **)PyCapsule_Import(PyCurses_CAPSULE_NAME, 1);
-
-#endif
-
-/* general error messages */
-static char *catchall_ERR  = "curses function returned ERR";
-static char *catchall_NULL = "curses function returned NULL";
-
-/* Function Prototype Macros - They are ugly but very, very useful. ;-)
-
-   X - function name
-   TYPE - parameter Type
-   ERGSTR - format string for construction of the return value
-   PARSESTR - format string for argument parsing
-   */
-
-#define NoArgNoReturnFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self) \
-{ \
-  PyCursesInitialised \
-  return PyCursesCheckERR(X(), # X); }
-
-#define NoArgOrFlagNoReturnFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self, PyObject *args) \
-{ \
-  int flag = 0; \
-  PyCursesInitialised \
-  switch(PyTuple_Size(args)) { \
-  case 0: \
-    return PyCursesCheckERR(X(), # X); \
-  case 1: \
-    if (!PyArg_ParseTuple(args, "i;True(1) or False(0)", &flag)) return NULL; \
-    if (flag) return PyCursesCheckERR(X(), # X); \
-    else return PyCursesCheckERR(no ## X (), # X); \
-  default: \
-    PyErr_SetString(PyExc_TypeError, # X " requires 0 or 1 arguments"); \
-    return NULL; } }
-
-#define NoArgReturnIntFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self) \
-{ \
- PyCursesInitialised \
- return PyInt_FromLong((long) X()); }
-
-
-#define NoArgReturnStringFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self) \
-{ \
-  PyCursesInitialised \
-  return PyString_FromString(X()); }
-
-#define NoArgTrueFalseFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self) \
-{ \
-  PyCursesInitialised \
-  if (X () == FALSE) { \
-    Py_INCREF(Py_False); \
-    return Py_False; \
-  } \
-  Py_INCREF(Py_True); \
-  return Py_True; }
-
-#define NoArgNoReturnVoidFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self) \
-{ \
-  PyCursesInitialised \
-  X(); \
-  Py_INCREF(Py_None); \
-  return Py_None; }
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(Py_CURSES_H) */
-
-
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pyarena.h
--- a/test/include/python2.7/pyarena.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,62 +0,0 @@
-/* An arena-like memory interface for the compiler.
- */
-
-#ifndef Py_PYARENA_H
-#define Py_PYARENA_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-  typedef struct _arena PyArena;
-
-  /* PyArena_New() and PyArena_Free() create a new arena and free it,
-     respectively.  Once an arena has been created, it can be used
-     to allocate memory via PyArena_Malloc().  Pointers to PyObject can
-     also be registered with the arena via PyArena_AddPyObject(), and the
-     arena will ensure that the PyObjects stay alive at least until
-     PyArena_Free() is called.  When an arena is freed, all the memory it
-     allocated is freed, the arena releases internal references to registered
-     PyObject*, and none of its pointers are valid.
-     XXX (tim) What does "none of its pointers are valid" mean?  Does it
-     XXX mean that pointers previously obtained via PyArena_Malloc() are
-     XXX no longer valid?  (That's clearly true, but not sure that's what
-     XXX the text is trying to say.)
-
-     PyArena_New() returns an arena pointer.  On error, it
-     returns a negative number and sets an exception.
-     XXX (tim):  Not true.  On error, PyArena_New() actually returns NULL,
-     XXX and looks like it may or may not set an exception (e.g., if the
-     XXX internal PyList_New(0) returns NULL, PyArena_New() passes that on
-     XXX and an exception is set; OTOH, if the internal
-     XXX block_new(DEFAULT_BLOCK_SIZE) returns NULL, that's passed on but
-     XXX an exception is not set in that case).
-  */
-  PyAPI_FUNC(PyArena *) PyArena_New(void);
-  PyAPI_FUNC(void) PyArena_Free(PyArena *);
-
-  /* Mostly like malloc(), return the address of a block of memory spanning
-   * `size` bytes, or return NULL (without setting an exception) if enough
-   * new memory can't be obtained.  Unlike malloc(0), PyArena_Malloc() with
-   * size=0 does not guarantee to return a unique pointer (the pointer
-   * returned may equal one or more other pointers obtained from
-   * PyArena_Malloc()).
-   * Note that pointers obtained via PyArena_Malloc() must never be passed to
-   * the system free() or realloc(), or to any of Python's similar memory-
-   * management functions.  PyArena_Malloc()-obtained pointers remain valid
-   * until PyArena_Free(ar) is called, at which point all pointers obtained
-   * from the arena `ar` become invalid simultaneously.
-   */
-  PyAPI_FUNC(void *) PyArena_Malloc(PyArena *, size_t size);
-
-  /* This routine isn't a proper arena allocation routine.  It takes
-   * a PyObject* and records it so that it can be DECREFed when the
-   * arena is freed.
-   */
-  PyAPI_FUNC(int) PyArena_AddPyObject(PyArena *, PyObject *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !Py_PYARENA_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pycapsule.h
--- a/test/include/python2.7/pycapsule.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,56 +0,0 @@
-
-/* Capsule objects let you wrap a C "void *" pointer in a Python
-   object.  They're a way of passing data through the Python interpreter
-   without creating your own custom type.
-
-   Capsules are used for communication between extension modules.
-   They provide a way for an extension module to export a C interface
-   to other extension modules, so that extension modules can use the
-   Python import mechanism to link to one another.
-
-   For more information, please see "c-api/capsule.html" in the
-   documentation.
-*/
-
-#ifndef Py_CAPSULE_H
-#define Py_CAPSULE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(PyTypeObject) PyCapsule_Type;
-
-typedef void (*PyCapsule_Destructor)(PyObject *);
-
-#define PyCapsule_CheckExact(op) (Py_TYPE(op) == &PyCapsule_Type)
-
-
-PyAPI_FUNC(PyObject *) PyCapsule_New(
-    void *pointer,
-    const char *name,
-    PyCapsule_Destructor destructor);
-
-PyAPI_FUNC(void *) PyCapsule_GetPointer(PyObject *capsule, const char *name);
-
-PyAPI_FUNC(PyCapsule_Destructor) PyCapsule_GetDestructor(PyObject *capsule);
-
-PyAPI_FUNC(const char *) PyCapsule_GetName(PyObject *capsule);
-
-PyAPI_FUNC(void *) PyCapsule_GetContext(PyObject *capsule);
-
-PyAPI_FUNC(int) PyCapsule_IsValid(PyObject *capsule, const char *name);
-
-PyAPI_FUNC(int) PyCapsule_SetPointer(PyObject *capsule, void *pointer);
-
-PyAPI_FUNC(int) PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor);
-
-PyAPI_FUNC(int) PyCapsule_SetName(PyObject *capsule, const char *name);
-
-PyAPI_FUNC(int) PyCapsule_SetContext(PyObject *capsule, void *context);
-
-PyAPI_FUNC(void *) PyCapsule_Import(const char *name, int no_block);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CAPSULE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pyconfig.h
--- a/test/include/python2.7/pyconfig.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,97 +0,0 @@
-#if defined(__linux__)
-# if defined(__x86_64__) && defined(__LP64__)
-#  include <x86_64-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__x86_64__) && defined(__ILP32__)
-#  include <x86_64-linux-gnux32/python2.7/pyconfig.h>
-# elif defined(__i386__)
-#  include <i386-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__aarch64__) && defined(__AARCH64EL__)
-#  if defined(__ILP32__)
-#  include <aarch64_ilp32-linux-gnu/python2.7/pyconfig.h>
-#  else
-#  include <aarch64-linux-gnu/python2.7/pyconfig.h>
-#  endif
-# elif defined(__aarch64__) && defined(__AARCH64EB__)
-#  if defined(__ILP32__)
-#  include <aarch64_be_ilp32-linux-gnu/python2.7/pyconfig.h>
-#  else
-#  include <aarch64_be-linux-gnu/python2.7/pyconfig.h>
-#  endif
-# elif defined(__alpha__)
-#  include <alpha-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
-#  if defined(__ARMEL__)
-#  include <arm-linux-gnueabihf/python2.7/pyconfig.h>
-#  else
-#  include <armeb-linux-gnueabihf/python2.7/pyconfig.h>
-#  endif
-# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
-#  if defined(__ARMEL__)
-#  include <arm-linux-gnueabi/python2.7/pyconfig.h>
-#  else
-#  include <armeb-linux-gnueabi/python2.7/pyconfig.h>
-#  endif
-# elif defined(__hppa__)
-#  include <hppa-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__ia64__)
-#  include <ia64-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__m68k__) && !defined(__mcoldfire__)
-#  include <m68k-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__mips_hard_float) && defined(_MIPSEL)
-#  if _MIPS_SIM == _ABIO32
-#   include <mipsel-linux-gnu/python2.7/pyconfig.h>
-#  elif _MIPS_SIM == _ABIN32
-#   include <mips64el-linux-gnuabin32/python2.7/pyconfig.h>
-#  elif _MIPS_SIM == _ABI64
-#   include <mips64el-linux-gnuabi64/python2.7/pyconfig.h>
-#  else
-#   error unknown multiarch location for pyconfig.h
-#  endif
-# elif defined(__mips_hard_float)
-#  if _MIPS_SIM == _ABIO32
-#   include <mips-linux-gnu/python2.7/pyconfig.h>
-#  elif _MIPS_SIM == _ABIN32
-#   include <mips64-linux-gnuabin32/python2.7/pyconfig.h>
-#  elif _MIPS_SIM == _ABI64
-#   include <mips64-linux-gnuabi64/python2.7/pyconfig.h>
-#  else
-#   error unknown multiarch location for pyconfig.h
-#  endif
-# elif defined(__or1k__)
-#  include <or1k-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__powerpc__) && defined(__SPE__)
-#  include <powerpc-linux-gnuspe/python2.7/pyconfig.h>
-# elif defined(__powerpc64__)
-#  if defined(__LITTLE_ENDIAN__)
-#    include <powerpc64le-linux-gnu/python2.7/pyconfig.h>
-#  else
-#    include <powerpc64-linux-gnu/python2.7/pyconfig.h>
-#  endif
-# elif defined(__powerpc__)
-#  include <powerpc-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__s390x__)
-#  include <s390x-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__s390__)
-#  include <s390-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__sh__) && defined(__LITTLE_ENDIAN__)
-#  include <sh4-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__sparc__) && defined(__arch64__)
-#  include <sparc64-linux-gnu/python2.7/pyconfig.h>
-# elif defined(__sparc__)
-#  include <sparc-linux-gnu/python2.7/pyconfig.h>
-# else
-#   error unknown multiarch location for pyconfig.h
-# endif
-#elif defined(__FreeBSD_kernel__)
-# if defined(__LP64__)
-#  include <x86_64-kfreebsd-gnu/python2.7/pyconfig.h>
-# elif defined(__i386__)
-#  include <i386-kfreebsd-gnu/python2.7/pyconfig.h>
-# else
-#   error unknown multiarch location for pyconfig.h
-# endif
-#elif defined(__gnu_hurd__)
-# include <i386-gnu/python2.7/pyconfig.h>
-#else
-# error unknown multiarch location for pyconfig.h
-#endif
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pyctype.h
--- a/test/include/python2.7/pyctype.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,31 +0,0 @@
-#ifndef PYCTYPE_H
-#define PYCTYPE_H
-
-#define PY_CTF_LOWER  0x01
-#define PY_CTF_UPPER  0x02
-#define PY_CTF_ALPHA  (PY_CTF_LOWER|PY_CTF_UPPER)
-#define PY_CTF_DIGIT  0x04
-#define PY_CTF_ALNUM  (PY_CTF_ALPHA|PY_CTF_DIGIT)
-#define PY_CTF_SPACE  0x08
-#define PY_CTF_XDIGIT 0x10
-
-PyAPI_DATA(const unsigned int) _Py_ctype_table[256];
-
-/* Unlike their C counterparts, the following macros are not meant to
- * handle an int with any of the values [EOF, 0-UCHAR_MAX]. The argument
- * must be a signed/unsigned char. */
-#define Py_ISLOWER(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_LOWER)
-#define Py_ISUPPER(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_UPPER)
-#define Py_ISALPHA(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALPHA)
-#define Py_ISDIGIT(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_DIGIT)
-#define Py_ISXDIGIT(c) (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_XDIGIT)
-#define Py_ISALNUM(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALNUM)
-#define Py_ISSPACE(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_SPACE)
-
-PyAPI_DATA(const unsigned char) _Py_ctype_tolower[256];
-PyAPI_DATA(const unsigned char) _Py_ctype_toupper[256];
-
-#define Py_TOLOWER(c) (_Py_ctype_tolower[Py_CHARMASK(c)])
-#define Py_TOUPPER(c) (_Py_ctype_toupper[Py_CHARMASK(c)])
-
-#endif /* !PYCTYPE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pydebug.h
--- a/test/include/python2.7/pydebug.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,41 +0,0 @@
-
-#ifndef Py_PYDEBUG_H
-#define Py_PYDEBUG_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(int) Py_DebugFlag;
-PyAPI_DATA(int) Py_VerboseFlag;
-PyAPI_DATA(int) Py_InteractiveFlag;
-PyAPI_DATA(int) Py_InspectFlag;
-PyAPI_DATA(int) Py_OptimizeFlag;
-PyAPI_DATA(int) Py_NoSiteFlag;
-PyAPI_DATA(int) Py_BytesWarningFlag;
-PyAPI_DATA(int) Py_UseClassExceptionsFlag;
-PyAPI_DATA(int) Py_FrozenFlag;
-PyAPI_DATA(int) Py_TabcheckFlag;
-PyAPI_DATA(int) Py_UnicodeFlag;
-PyAPI_DATA(int) Py_IgnoreEnvironmentFlag;
-PyAPI_DATA(int) Py_DivisionWarningFlag;
-PyAPI_DATA(int) Py_DontWriteBytecodeFlag;
-PyAPI_DATA(int) Py_NoUserSiteDirectory;
-/* _XXX Py_QnewFlag should go away in 3.0.  It's true iff -Qnew is passed,
-  on the command line, and is used in 2.2 by ceval.c to make all "/" divisions
-  true divisions (which they will be in 3.0). */
-PyAPI_DATA(int) _Py_QnewFlag;
-/* Warn about 3.x issues */
-PyAPI_DATA(int) Py_Py3kWarningFlag;
-PyAPI_DATA(int) Py_HashRandomizationFlag;
-
-/* this is a wrapper around getenv() that pays attention to
-   Py_IgnoreEnvironmentFlag.  It should be used for getting variables like
-   PYTHONPATH and PYTHONHOME from the environment */
-#define Py_GETENV(s) (Py_IgnoreEnvironmentFlag ? NULL : getenv(s))
-
-PyAPI_FUNC(void) Py_FatalError(const char *message);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PYDEBUG_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pyerrors.h
--- a/test/include/python2.7/pyerrors.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,329 +0,0 @@\n-#ifndef Py_ERRORS_H\n-#define Py_ERRORS_H\n-#ifdef __cplusplus\n-extern "C" {\n-#endif\n-\n-/* Error objects */\n-\n-typedef struct {\n-    PyObject_HEAD\n-    PyObject *dict;\n-    PyObject *args;\n-    PyObject *message;\n-} PyBaseExceptionObject;\n-\n-typedef struct {\n-    PyObject_HEAD\n-    PyObject *dict;\n-    PyObject *args;\n-    PyObject *message;\n-    PyObject *msg;\n-    PyObject *filename;\n-    PyObject *lineno;\n-    PyObject *offset;\n-    PyObject *text;\n-    PyObject *print_file_and_line;\n-} PySyntaxErrorObject;\n-\n-#ifdef Py_USING_UNICODE\n-typedef struct {\n-    PyObject_HEAD\n-    PyObject *dict;\n-    PyObject *args;\n-    PyObject *message;\n-    PyObject *encoding;\n-    PyObject *object;\n-    Py_ssize_t start;\n-    Py_ssize_t end;\n-    PyObject *reason;\n-} PyUnicodeErrorObject;\n-#endif\n-\n-typedef struct {\n-    PyObject_HEAD\n-    PyObject *dict;\n-    PyObject *args;\n-    PyObject *message;\n-    PyObject *code;\n-} PySystemExitObject;\n-\n-typedef struct {\n-    PyObject_HEAD\n-    PyObject *dict;\n-    PyObject *args;\n-    PyObject *message;\n-    PyObject *myerrno;\n-    PyObject *strerror;\n-    PyObject *filename;\n-} PyEnvironmentErrorObject;\n-\n-#ifdef MS_WINDOWS\n-typedef struct {\n-    PyObject_HEAD\n-    PyObject *dict;\n-    PyObject *args;\n-    PyObject *message;\n-    PyObject *myerrno;\n-    PyObject *strerror;\n-    PyObject *filename;\n-    PyObject *winerror;\n-} PyWindowsErrorObject;\n-#endif\n-\n-/* Error handling definitions */\n-\n-PyAPI_FUNC(void) PyErr_SetNone(PyObject *);\n-PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);\n-PyAPI_FUNC(void) PyErr_SetString(PyObject *, const char *);\n-PyAPI_FUNC(PyObject *) PyErr_Occurred(void);\n-PyAPI_FUNC(void) PyErr_Clear(void);\n-PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);\n-PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);\n-\n-#ifdef Py_DEBUG\n-#define _PyErr_OCCURRED() PyErr_Occurred()\n-#else\n-#define _PyErr_OCCURRED() (_PyThreadState_Current->curexc_type)\n-#endif\n-\n-/* Error testing and normalization */\n-PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);\n-PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *);\n-PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);\n-PyAPI_FUNC(void) _PyErr_ReplaceException(PyObject *, PyObject *, PyObject *);\n-\n-/* */\n-\n-#define PyExceptionClass_Check(x)                                       \\\n-    (PyClass_Check((x)) || (PyType_Check((x)) &&                        \\\n-      PyType_FastSubclass((PyTypeObject*)(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)))\n-\n-#define PyExceptionInstance_Check(x)                    \\\n-    (PyInstance_Check((x)) ||                           \\\n-     PyType_FastSubclass((x)->ob_type, Py_TPFLAGS_BASE_EXC_SUBCLASS))\n-\n-#define PyExceptionClass_Name(x)                                   \\\n-    (PyClass_Check((x))                                            \\\n-     ? PyString_AS_STRING(((PyClassObject*)(x))->cl_name)          \\\n-     : (char *)(((PyTypeObject*)(x))->tp_name))\n-\n-#define PyExceptionInstance_Class(x)                                    \\\n-    ((PyInstance_Check((x))                                             \\\n-      ? (PyObject*)((PyInstanceObject*)(x))->in_class                   \\\n-      : (PyObject*)((x)->ob_type)))\n-\n-\n-/* Predefined exceptions */\n-\n-PyAPI_DATA(PyObject *) PyExc_BaseException;\n-PyAPI_DATA(PyObject *) PyExc_Exception;\n-PyAPI_DATA(PyObject *) PyExc_StopIteration;\n-PyAPI_DATA(PyObject *) PyExc_GeneratorExit;\n-PyAPI_DATA(PyObject *) PyExc_StandardError;\n-PyAPI_DATA(PyObject *) PyExc_ArithmeticError;\n-PyAPI_DATA(PyObject *) PyExc_LookupError;\n-\n-PyAPI_DATA(PyObject *) PyExc_AssertionError;\n-PyAPI_DATA(PyObject *) PyExc_AttributeError;\n-PyAPI_DATA(PyObject *) PyExc_EOFError;\n-PyAPI_DATA(PyObject *) PyExc_FloatingPointError;\n-PyAPI_DATA(PyObject *) PyExc_EnvironmentError;\n-PyAPI_DATA(PyObject *) PyExc_IOError;\n-PyAPI_DATA(PyObject *) PyExc_OSError;\n-PyAPI_DATA(PyObject *) PyExc_ImportError;\n-PyAPI_DATA(PyObject *) PyExc'..b"taxLocation(const char *, int);\n-PyAPI_FUNC(PyObject *) PyErr_ProgramText(const char *, int);\n-\n-#ifdef Py_USING_UNICODE\n-/* The following functions are used to create and modify unicode\n-   exceptions from C */\n-\n-/* create a UnicodeDecodeError object */\n-PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create(\n-    const char *, const char *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);\n-\n-/* create a UnicodeEncodeError object */\n-PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create(\n-    const char *, const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);\n-\n-/* create a UnicodeTranslateError object */\n-PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create(\n-    const Py_UNICODE *, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char *);\n-\n-/* get the encoding attribute */\n-PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetEncoding(PyObject *);\n-PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetEncoding(PyObject *);\n-\n-/* get the object attribute */\n-PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetObject(PyObject *);\n-PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetObject(PyObject *);\n-PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetObject(PyObject *);\n-\n-/* get the value of the start attribute (the int * may not be NULL)\n-   return 0 on success, -1 on failure */\n-PyAPI_FUNC(int) PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *);\n-PyAPI_FUNC(int) PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *);\n-PyAPI_FUNC(int) PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *);\n-\n-/* assign a new value to the start attribute\n-   return 0 on success, -1 on failure */\n-PyAPI_FUNC(int) PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t);\n-PyAPI_FUNC(int) PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t);\n-PyAPI_FUNC(int) PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t);\n-\n-/* get the value of the end attribute (the int *may not be NULL)\n- return 0 on success, -1 on failure */\n-PyAPI_FUNC(int) PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *);\n-PyAPI_FUNC(int) PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *);\n-PyAPI_FUNC(int) PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *);\n-\n-/* assign a new value to the end attribute\n-   return 0 on success, -1 on failure */\n-PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t);\n-PyAPI_FUNC(int) PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t);\n-PyAPI_FUNC(int) PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t);\n-\n-/* get the value of the reason attribute */\n-PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_GetReason(PyObject *);\n-PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_GetReason(PyObject *);\n-PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_GetReason(PyObject *);\n-\n-/* assign a new value to the reason attribute\n-   return 0 on success, -1 on failure */\n-PyAPI_FUNC(int) PyUnicodeEncodeError_SetReason(\n-    PyObject *, const char *);\n-PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason(\n-    PyObject *, const char *);\n-PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason(\n-    PyObject *, const char *);\n-#endif\n-\n-\n-/* These APIs aren't really part of the error implementation, but\n-   often needed to format error messages; the native C lib APIs are\n-   not available on all platforms, which is why we provide emulations\n-   for those platforms in Python/mysnprintf.c,\n-   WARNING:  The return value of snprintf varies across platforms; do\n-   not rely on any particular behavior; eventually the C99 defn may\n-   be reliable.\n-*/\n-#if defined(MS_WIN32) && !defined(HAVE_SNPRINTF)\n-# define HAVE_SNPRINTF\n-# define snprintf _snprintf\n-# define vsnprintf _vsnprintf\n-#endif\n-\n-#include <stdarg.h>\n-PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char  *format, ...)\n-                        Py_GCC_ATTRIBUTE((format(printf, 3, 4)));\n-PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char  *format, va_list va)\n-                        Py_GCC_ATTRIBUTE((format(printf, 3, 0)));\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif /* !Py_ERRORS_H */\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pyexpat.h
--- a/test/include/python2.7/pyexpat.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,48 +0,0 @@
-/* Stuff to export relevant 'expat' entry points from pyexpat to other
- * parser modules, such as cElementTree. */
-
-/* note: you must import expat.h before importing this module! */
-
-#define PyExpat_CAPI_MAGIC  "pyexpat.expat_CAPI 1.0"
-#define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI"
-
-struct PyExpat_CAPI 
-{
-    char* magic; /* set to PyExpat_CAPI_MAGIC */
-    int size; /* set to sizeof(struct PyExpat_CAPI) */
-    int MAJOR_VERSION;
-    int MINOR_VERSION;
-    int MICRO_VERSION;
-    /* pointers to selected expat functions.  add new functions at
-       the end, if needed */
-    const XML_LChar * (*ErrorString)(enum XML_Error code);
-    enum XML_Error (*GetErrorCode)(XML_Parser parser);
-    XML_Size (*GetErrorColumnNumber)(XML_Parser parser);
-    XML_Size (*GetErrorLineNumber)(XML_Parser parser);
-    enum XML_Status (*Parse)(
-        XML_Parser parser, const char *s, int len, int isFinal);
-    XML_Parser (*ParserCreate_MM)(
-        const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite,
-        const XML_Char *namespaceSeparator);
-    void (*ParserFree)(XML_Parser parser);
-    void (*SetCharacterDataHandler)(
-        XML_Parser parser, XML_CharacterDataHandler handler);
-    void (*SetCommentHandler)(
-        XML_Parser parser, XML_CommentHandler handler);
-    void (*SetDefaultHandlerExpand)(
-        XML_Parser parser, XML_DefaultHandler handler);
-    void (*SetElementHandler)(
-        XML_Parser parser, XML_StartElementHandler start,
-        XML_EndElementHandler end);
-    void (*SetNamespaceDeclHandler)(
-        XML_Parser parser, XML_StartNamespaceDeclHandler start,
-        XML_EndNamespaceDeclHandler end);
-    void (*SetProcessingInstructionHandler)(
-        XML_Parser parser, XML_ProcessingInstructionHandler handler);
-    void (*SetUnknownEncodingHandler)(
-        XML_Parser parser, XML_UnknownEncodingHandler handler,
-        void *encodingHandlerData);
-    void (*SetUserData)(XML_Parser parser, void *userData);
-    /* always add new stuff to the end! */
-};
-
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pyfpe.h
--- a/test/include/python2.7/pyfpe.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,176 +0,0 @@\n-#ifndef Py_PYFPE_H\n-#define Py_PYFPE_H\n-#ifdef __cplusplus\n-extern "C" {\n-#endif\n-/*\n-     ---------------------------------------------------------------------\n-    /                       Copyright (c) 1996.                           \\\n-   |          The Regents of the University of California.                 |\n-   |                        All rights reserved.                           |\n-   |                                                                       |\n-   |   Permission to use, copy, modify, and distribute this software for   |\n-   |   any purpose without fee is hereby granted, provided that this en-   |\n-   |   tire notice is included in all copies of any software which is or   |\n-   |   includes  a  copy  or  modification  of  this software and in all   |\n-   |   copies of the supporting documentation for such software.           |\n-   |                                                                       |\n-   |   This  work was produced at the University of California, Lawrence   |\n-   |   Livermore National Laboratory under  contract  no.  W-7405-ENG-48   |\n-   |   between  the  U.S.  Department  of  Energy and The Regents of the   |\n-   |   University of California for the operation of UC LLNL.              |\n-   |                                                                       |\n-   |                              DISCLAIMER                               |\n-   |                                                                       |\n-   |   This  software was prepared as an account of work sponsored by an   |\n-   |   agency of the United States Government. Neither the United States   |\n-   |   Government  nor the University of California nor any of their em-   |\n-   |   ployees, makes any warranty, express or implied, or  assumes  any   |\n-   |   liability  or  responsibility  for the accuracy, completeness, or   |\n-   |   usefulness of any information,  apparatus,  product,  or  process   |\n-   |   disclosed,   or  represents  that  its  use  would  not  infringe   |\n-   |   privately-owned rights. Reference herein to any specific  commer-   |\n-   |   cial  products,  process,  or  service  by trade name, trademark,   |\n-   |   manufacturer, or otherwise, does not  necessarily  constitute  or   |\n-   |   imply  its endorsement, recommendation, or favoring by the United   |\n-   |   States Government or the University of California. The views  and   |\n-   |   opinions  of authors expressed herein do not necessarily state or   |\n-   |   reflect those of the United States Government or  the  University   |\n-   |   of  California,  and shall not be used for advertising or product   |\n-    \\  endorsement purposes.                                              /\n-     ---------------------------------------------------------------------\n-*/\n-\n-/*\n- *       Define macros for handling SIGFPE.\n- *       Lee Busby, LLNL, November, 1996\n- *       busby1@llnl.gov\n- * \n- *********************************************\n- * Overview of the system for handling SIGFPE:\n- * \n- * This file (Include/pyfpe.h) defines a couple of "wrapper" macros for\n- * insertion into your Python C code of choice. Their proper use is\n- * discussed below. The file Python/pyfpe.c defines a pair of global\n- * variables PyFPE_jbuf and PyFPE_counter which are used by the signal\n- * handler for SIGFPE to decide if a particular exception was protected\n- * by the macros. The signal handler itself, and code for enabling the\n- * generation of SIGFPE in the first place, is in a (new) Python module\n- * named fpectl. This module is standard in every respect. It can be loaded\n- * either statically or dynamically as you choose, and like any other\n- * Python module, has no effect until you import it.\n- * \n- * In the general case, there are three steps toward handling SIGFPE in any\n- * Python code:\n- * \n- * 1) Add the *_PROTECT macros to your C code as required to protect\n- *    dangerous floating point sections.\n- * \n- * 2) Turn on th'..b' for the NumPy array package.  Step 2 is usually done once at\n- * python install time. Python\'s behavior with respect to SIGFPE is not\n- * changed unless you also do step 3. Thus you can control this new\n- * facility at compile time, or run time, or both.\n- * \n- ******************************** \n- * Using the macros in your code:\n- * \n- * static PyObject *foobar(PyObject *self,PyObject *args)\n- * {\n- *     ....\n- *     PyFPE_START_PROTECT("Error in foobar", return 0)\n- *     result = dangerous_op(somearg1, somearg2, ...);\n- *     PyFPE_END_PROTECT(result)\n- *     ....\n- * }\n- * \n- * If a floating point error occurs in dangerous_op, foobar returns 0 (NULL),\n- * after setting the associated value of the FloatingPointError exception to\n- * "Error in foobar". ``Dangerous_op\'\' can be a single operation, or a block\n- * of code, function calls, or any combination, so long as no alternate\n- * return is possible before the PyFPE_END_PROTECT macro is reached.\n- * \n- * The macros can only be used in a function context where an error return\n- * can be recognized as signaling a Python exception. (Generally, most\n- * functions that return a PyObject * will qualify.)\n- * \n- * Guido\'s original design suggestion for PyFPE_START_PROTECT and\n- * PyFPE_END_PROTECT had them open and close a local block, with a locally\n- * defined jmp_buf and jmp_buf pointer. This would allow recursive nesting\n- * of the macros. The Ansi C standard makes it clear that such local\n- * variables need to be declared with the "volatile" type qualifier to keep\n- * setjmp from corrupting their values. Some current implementations seem\n- * to be more restrictive. For example, the HPUX man page for setjmp says\n- * \n- *   Upon the return from a setjmp() call caused by a longjmp(), the\n- *   values of any non-static local variables belonging to the routine\n- *   from which setjmp() was called are undefined. Code which depends on\n- *   such values is not guaranteed to be portable.\n- * \n- * I therefore decided on a more limited form of nesting, using a counter\n- * variable (PyFPE_counter) to keep track of any recursion.  If an exception\n- * occurs in an ``inner\'\' pair of macros, the return will apparently\n- * come from the outermost level.\n- * \n- */\n-\n-#ifdef WANT_SIGFPE_HANDLER\n-#include <signal.h>\n-#include <setjmp.h>\n-#include <math.h>\n-extern jmp_buf PyFPE_jbuf;\n-extern int PyFPE_counter;\n-extern double PyFPE_dummy(void *);\n-\n-#define PyFPE_START_PROTECT(err_string, leave_stmt) \\\n-if (!PyFPE_counter++ && setjmp(PyFPE_jbuf)) { \\\n-\tPyErr_SetString(PyExc_FloatingPointError, err_string); \\\n-\tPyFPE_counter = 0; \\\n-\tleave_stmt; \\\n-}\n-\n-/*\n- * This (following) is a heck of a way to decrement a counter. However,\n- * unless the macro argument is provided, code optimizers will sometimes move\n- * this statement so that it gets executed *before* the unsafe expression\n- * which we\'re trying to protect.  That pretty well messes things up,\n- * of course.\n- * \n- * If the expression(s) you\'re trying to protect don\'t happen to return a\n- * value, you will need to manufacture a dummy result just to preserve the\n- * correct ordering of statements.  Note that the macro passes the address\n- * of its argument (so you need to give it something which is addressable).\n- * If your expression returns multiple results, pass the last such result\n- * to PyFPE_END_PROTECT.\n- * \n- * Note that PyFPE_dummy returns a double, which is cast to int.\n- * This seeming insanity is to tickle the Floating Point Unit (FPU).\n- * If an exception has occurred in a preceding floating point operation,\n- * some architectures (notably Intel 80x86) will not deliver the interrupt\n- * until the *next* floating point operation.  This is painful if you\'ve\n- * already decremented PyFPE_counter.\n- */\n-#define PyFPE_END_PROTECT(v) PyFPE_counter -= (int)PyFPE_dummy(&(v));\n-\n-#else\n-\n-#define PyFPE_START_PROTECT(err_string, leave_stmt)\n-#define PyFPE_END_PROTECT(v)\n-\n-#endif\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif /* !Py_PYFPE_H */\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pygetopt.h
--- a/test/include/python2.7/pygetopt.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,18 +0,0 @@
-
-#ifndef Py_PYGETOPT_H
-#define Py_PYGETOPT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_DATA(int) _PyOS_opterr;
-PyAPI_DATA(int) _PyOS_optind;
-PyAPI_DATA(char *) _PyOS_optarg;
-
-PyAPI_FUNC(void) _PyOS_ResetGetOpt(void);
-PyAPI_FUNC(int) _PyOS_GetOpt(int argc, char **argv, char *optstring);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PYGETOPT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pymacconfig.h
--- a/test/include/python2.7/pymacconfig.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,102 +0,0 @@
-#ifndef PYMACCONFIG_H
-#define PYMACCONFIG_H
-     /*
-      * This file moves some of the autoconf magic to compile-time
-      * when building on MacOSX. This is needed for building 4-way
-      * universal binaries and for 64-bit universal binaries because
-      * the values redefined below aren't configure-time constant but
-      * only compile-time constant in these scenarios.
-      */
-
-#if defined(__APPLE__)
-
-# undef SIZEOF_LONG
-# undef SIZEOF_PTHREAD_T
-# undef SIZEOF_SIZE_T
-# undef SIZEOF_TIME_T
-# undef SIZEOF_VOID_P
-# undef SIZEOF__BOOL
-# undef SIZEOF_UINTPTR_T
-# undef SIZEOF_PTHREAD_T
-# undef WORDS_BIGENDIAN
-# undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754
-# undef DOUBLE_IS_BIG_ENDIAN_IEEE754
-# undef DOUBLE_IS_LITTLE_ENDIAN_IEEE754
-# undef HAVE_GCC_ASM_FOR_X87
-
-#    undef VA_LIST_IS_ARRAY
-#    if defined(__LP64__) && defined(__x86_64__)
-#        define VA_LIST_IS_ARRAY 1
-#    endif
-
-#    undef HAVE_LARGEFILE_SUPPORT
-#    ifndef __LP64__
-#         define HAVE_LARGEFILE_SUPPORT 1
-#    endif
-
-#    undef SIZEOF_LONG
-#    ifdef __LP64__
-#        define SIZEOF__BOOL            1
-#        define SIZEOF__BOOL            1
-#        define SIZEOF_LONG             8
-#        define SIZEOF_PTHREAD_T        8
-#        define SIZEOF_SIZE_T           8
-#        define SIZEOF_TIME_T           8
-#        define SIZEOF_VOID_P           8
-#        define SIZEOF_UINTPTR_T        8
-#        define SIZEOF_PTHREAD_T        8
-#    else
-#        ifdef __ppc__
-#           define SIZEOF__BOOL         4
-#        else
-#           define SIZEOF__BOOL         1
-#        endif
-#        define SIZEOF_LONG             4
-#        define SIZEOF_PTHREAD_T        4
-#        define SIZEOF_SIZE_T           4
-#        define SIZEOF_TIME_T           4
-#        define SIZEOF_VOID_P           4
-#        define SIZEOF_UINTPTR_T        4
-#        define SIZEOF_PTHREAD_T        4
-#    endif
-
-#    if defined(__LP64__)
-     /* MacOSX 10.4 (the first release to support 64-bit code
-      * at all) only supports 64-bit in the UNIX layer.
-      * Therefore surpress the toolbox-glue in 64-bit mode.
-      */
-
-    /* In 64-bit mode setpgrp always has no arguments, in 32-bit
-     * mode that depends on the compilation environment
-     */
-#       undef SETPGRP_HAVE_ARG
-
-#    endif
-
-#ifdef __BIG_ENDIAN__
-#define WORDS_BIGENDIAN 1
-#define DOUBLE_IS_BIG_ENDIAN_IEEE754
-#else
-#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754
-#endif /* __BIG_ENDIAN */
-
-#ifdef __i386__
-# define HAVE_GCC_ASM_FOR_X87
-#endif
-
-    /*
-     * The definition in pyconfig.h is only valid on the OS release
-     * where configure ran on and not necessarily for all systems where
-     * the executable can be used on.
-     *
-     * Specifically: OSX 10.4 has limited supported for '%zd', while
-     * 10.5 has full support for '%zd'. A binary built on 10.5 won't
-     * work properly on 10.4 unless we surpress the definition
-     * of PY_FORMAT_SIZE_T
-     */
-#undef  PY_FORMAT_SIZE_T
-
-
-#endif /* defined(_APPLE__) */
-
-#endif /* PYMACCONFIG_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pymactoolbox.h
--- a/test/include/python2.7/pymactoolbox.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,217 +0,0 @@\n-/*\n-** pymactoolbox.h - globals defined in mactoolboxglue.c\n-*/\n-#ifndef Py_PYMACTOOLBOX_H\n-#define Py_PYMACTOOLBOX_H\n-#ifdef __cplusplus\n-\textern "C" {\n-#endif\n-\n-#include <Carbon/Carbon.h>\n-\n-#ifndef __LP64__\n-#include <QuickTime/QuickTime.h>\n-#endif /* !__LP64__ */\n-\n-/*\n-** Helper routines for error codes and such.\n-*/\n-char *PyMac_StrError(int);\t\t\t/* strerror with mac errors */\n-extern PyObject *PyMac_OSErrException;\t\t/* Exception for OSErr */\n-PyObject *PyMac_GetOSErrException(void);\t/* Initialize & return it */\n-PyObject *PyErr_Mac(PyObject *, int);\t\t/* Exception with a mac error */\n-PyObject *PyMac_Error(OSErr);\t\t\t/* Uses PyMac_GetOSErrException */\n-#ifndef __LP64__ \n-extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert\n-\t\t\t\t\t\t\t      fsspec->path */\n-#endif /* __LP64__ */\n-\n-/*\n-** These conversion routines are defined in mactoolboxglue.c itself.\n-*/\n-int PyMac_GetOSType(PyObject *, OSType *);\t/* argument parser for OSType */\n-PyObject *PyMac_BuildOSType(OSType);\t\t/* Convert OSType to PyObject */\n-\n-PyObject *PyMac_BuildNumVersion(NumVersion);/* Convert NumVersion to PyObject */\n-\n-int PyMac_GetStr255(PyObject *, Str255);\t/* argument parser for Str255 */\n-PyObject *PyMac_BuildStr255(Str255);\t\t/* Convert Str255 to PyObject */\n-PyObject *PyMac_BuildOptStr255(Str255);\t\t/* Convert Str255 to PyObject,\n-\t\t\t\t\t\t   NULL to None */\n-\n-int PyMac_GetRect(PyObject *, Rect *);\t\t/* argument parser for Rect */\n-PyObject *PyMac_BuildRect(Rect *);\t\t/* Convert Rect to PyObject */\n-\n-int PyMac_GetPoint(PyObject *, Point *);\t/* argument parser for Point */\n-PyObject *PyMac_BuildPoint(Point);\t\t/* Convert Point to PyObject */\n-\n-int PyMac_GetEventRecord(PyObject *, EventRecord *); /* argument parser for\n-\t\t\t\t\t\t\tEventRecord */\n-PyObject *PyMac_BuildEventRecord(EventRecord *); /* Convert EventRecord to\n-\t\t\t\t\t\t    PyObject */\n-\n-int PyMac_GetFixed(PyObject *, Fixed *);\t/* argument parser for Fixed */\n-PyObject *PyMac_BuildFixed(Fixed);\t\t/* Convert Fixed to PyObject */\n-int PyMac_Getwide(PyObject *, wide *);\t\t/* argument parser for wide */\n-PyObject *PyMac_Buildwide(wide *);\t\t/* Convert wide to PyObject */\n-\n-/*\n-** The rest of the routines are implemented by extension modules. If they are\n-** dynamically loaded mactoolboxglue will contain a stub implementation of the\n-** routine, which imports the module, whereupon the module\'s init routine will\n-** communicate the routine pointer back to the stub.\n-** If USE_TOOLBOX_OBJECT_GLUE is not defined there is no glue code, and the\n-** extension modules simply declare the routine. This is the case for static\n-** builds (and could be the case for MacPython CFM builds, because CFM extension\n-** modules can reference each other without problems).\n-*/\n-\n-#ifdef USE_TOOLBOX_OBJECT_GLUE\n-/*\n-** These macros are used in the module init code. If we use toolbox object glue\n-** it sets the function pointer to point to the real function.\n-*/\n-#define PyMac_INIT_TOOLBOX_OBJECT_NEW(object, rtn) { \\\n-\textern PyObject *(*PyMacGluePtr_##rtn)(object); \\\n-\tPyMacGluePtr_##rtn = _##rtn; \\\n-}\n-#define PyMac_INIT_TOOLBOX_OBJECT_CONVERT(object, rtn) { \\\n-\textern int (*PyMacGluePtr_##rtn)(PyObject *, object *); \\\n-\tPyMacGluePtr_##rtn = _##rtn; \\\n-}\n-#else\n-/*\n-** If we don\'t use toolbox object glue the init macros are empty. Moreover, we define\n-** _xxx_New to be the same as xxx_New, and the code in mactoolboxglue isn\'t included.\n-*/\n-#define PyMac_INIT_TOOLBOX_OBJECT_NEW(object, rtn)\n-#define PyMac_INIT_TOOLBOX_OBJECT_CONVERT(object, rtn)\n-#endif /* USE_TOOLBOX_OBJECT_GLUE */\n-\n-/* macfs exports */\n-#ifndef __LP64__\n-int PyMac_GetFSSpec(PyObject *, FSSpec *);\t/* argument parser for FSSpec */\n-PyObject *PyMac_BuildFSSpec(FSSpec *);\t\t/* Convert FSSpec to PyObject */\n-#endif /* !__LP64__ */\n-\n-int PyMac_GetFSRef(PyObject *, FSRef *);\t/* argument parser for FSRef */\n-PyObject *PyMac_BuildFSRef(FSRef *);\t\t/* Convert FSRef to PyObject */\n-\n-/* AE exports */\n-extern PyObject *AEDesc_New(AppleEve'..b'ject *CmpObj_New(Component);\n-extern int CmpObj_Convert(PyObject *, Component *);\n-extern PyObject *CmpInstObj_New(ComponentInstance);\n-extern int CmpInstObj_Convert(PyObject *, ComponentInstance *);\n-\n-/* Ctl exports */\n-#ifndef __LP64__\n-extern PyObject *CtlObj_New(ControlHandle);\n-extern int CtlObj_Convert(PyObject *, ControlHandle *);\n-#endif /* !__LP64__ */\n-\n-/* Dlg exports */\n-#ifndef __LP64__\n-extern PyObject *DlgObj_New(DialogPtr);\n-extern int DlgObj_Convert(PyObject *, DialogPtr *);\n-extern PyObject *DlgObj_WhichDialog(DialogPtr);\n-#endif /* !__LP64__ */\n-\n-/* Drag exports */\n-#ifndef __LP64__\n-extern PyObject *DragObj_New(DragReference);\n-extern int DragObj_Convert(PyObject *, DragReference *);\n-#endif /* !__LP64__ */\n-\n-/* List exports */\n-#ifndef __LP64__\n-extern PyObject *ListObj_New(ListHandle);\n-extern int ListObj_Convert(PyObject *, ListHandle *);\n-#endif /* !__LP64__ */\n-\n-/* Menu exports */\n-#ifndef __LP64__\n-extern PyObject *MenuObj_New(MenuHandle);\n-extern int MenuObj_Convert(PyObject *, MenuHandle *);\n-#endif /* !__LP64__ */\n-\n-/* Qd exports */\n-#ifndef __LP64__\n-extern PyObject *GrafObj_New(GrafPtr);\n-extern int GrafObj_Convert(PyObject *, GrafPtr *);\n-extern PyObject *BMObj_New(BitMapPtr);\n-extern int BMObj_Convert(PyObject *, BitMapPtr *);\n-extern PyObject *QdRGB_New(RGBColor *);\n-extern int QdRGB_Convert(PyObject *, RGBColor *);\n-#endif /* !__LP64__ */\n-\n-/* Qdoffs exports */\n-#ifndef __LP64__\n-extern PyObject *GWorldObj_New(GWorldPtr);\n-extern int GWorldObj_Convert(PyObject *, GWorldPtr *);\n-#endif /* !__LP64__ */\n-\n-/* Qt exports */\n-#ifndef __LP64__\n-extern PyObject *TrackObj_New(Track);\n-extern int TrackObj_Convert(PyObject *, Track *);\n-extern PyObject *MovieObj_New(Movie);\n-extern int MovieObj_Convert(PyObject *, Movie *);\n-extern PyObject *MovieCtlObj_New(MovieController);\n-extern int MovieCtlObj_Convert(PyObject *, MovieController *);\n-extern PyObject *TimeBaseObj_New(TimeBase);\n-extern int TimeBaseObj_Convert(PyObject *, TimeBase *);\n-extern PyObject *UserDataObj_New(UserData);\n-extern int UserDataObj_Convert(PyObject *, UserData *);\n-extern PyObject *MediaObj_New(Media);\n-extern int MediaObj_Convert(PyObject *, Media *);\n-#endif /* !__LP64__ */\n-\n-/* Res exports */\n-extern PyObject *ResObj_New(Handle);\n-extern int ResObj_Convert(PyObject *, Handle *);\n-extern PyObject *OptResObj_New(Handle);\n-extern int OptResObj_Convert(PyObject *, Handle *);\n-\n-/* TE exports */\n-#ifndef __LP64__\n-extern PyObject *TEObj_New(TEHandle);\n-extern int TEObj_Convert(PyObject *, TEHandle *);\n-#endif /* !__LP64__ */\n-\n-/* Win exports */\n-#ifndef __LP64__\n-extern PyObject *WinObj_New(WindowPtr);\n-extern int WinObj_Convert(PyObject *, WindowPtr *);\n-extern PyObject *WinObj_WhichWindow(WindowPtr);\n-#endif /* !__LP64__ */\n-\n-/* CF exports */\n-extern PyObject *CFObj_New(CFTypeRef);\n-extern int CFObj_Convert(PyObject *, CFTypeRef *);\n-extern PyObject *CFTypeRefObj_New(CFTypeRef);\n-extern int CFTypeRefObj_Convert(PyObject *, CFTypeRef *);\n-extern PyObject *CFStringRefObj_New(CFStringRef);\n-extern int CFStringRefObj_Convert(PyObject *, CFStringRef *);\n-extern PyObject *CFMutableStringRefObj_New(CFMutableStringRef);\n-extern int CFMutableStringRefObj_Convert(PyObject *, CFMutableStringRef *);\n-extern PyObject *CFArrayRefObj_New(CFArrayRef);\n-extern int CFArrayRefObj_Convert(PyObject *, CFArrayRef *);\n-extern PyObject *CFMutableArrayRefObj_New(CFMutableArrayRef);\n-extern int CFMutableArrayRefObj_Convert(PyObject *, CFMutableArrayRef *);\n-extern PyObject *CFDictionaryRefObj_New(CFDictionaryRef);\n-extern int CFDictionaryRefObj_Convert(PyObject *, CFDictionaryRef *);\n-extern PyObject *CFMutableDictionaryRefObj_New(CFMutableDictionaryRef);\n-extern int CFMutableDictionaryRefObj_Convert(PyObject *, CFMutableDictionaryRef *);\n-extern PyObject *CFURLRefObj_New(CFURLRef);\n-extern int CFURLRefObj_Convert(PyObject *, CFURLRef *);\n-extern int OptionalCFURLRefObj_Convert(PyObject *, CFURLRef *);\n-\n-#ifdef __cplusplus\n-\t}\n-#endif\n-#endif\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pymath.h
--- a/test/include/python2.7/pymath.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,214 +0,0 @@
-#ifndef Py_PYMATH_H
-#define Py_PYMATH_H
-
-#include "pyconfig.h" /* include for defines */
-
-/**************************************************************************
-Symbols and macros to supply platform-independent interfaces to mathematical
-functions and constants
-**************************************************************************/
-
-/* Python provides implementations for copysign, round and hypot in
- * Python/pymath.c just in case your math library doesn't provide the
- * functions.
- *
- *Note: PC/pyconfig.h defines copysign as _copysign
- */
-#ifndef HAVE_COPYSIGN
-extern double copysign(double, double);
-#endif
-
-#ifndef HAVE_ROUND
-extern double round(double);
-#endif
-
-#ifndef HAVE_HYPOT
-extern double hypot(double, double);
-#endif
-
-/* extra declarations */
-#ifndef _MSC_VER
-#ifndef __STDC__
-extern double fmod (double, double);
-extern double frexp (double, int *);
-extern double ldexp (double, int);
-extern double modf (double, double *);
-extern double pow(double, double);
-#endif /* __STDC__ */
-#endif /* _MSC_VER */
-
-#ifdef _OSF_SOURCE
-/* OSF1 5.1 doesn't make these available with XOPEN_SOURCE_EXTENDED defined */
-extern int finite(double);
-extern double copysign(double, double);
-#endif
-
-/* High precision defintion of pi and e (Euler)
- * The values are taken from libc6's math.h.
- */
-#ifndef Py_MATH_PIl
-#define Py_MATH_PIl 3.1415926535897932384626433832795029L
-#endif
-#ifndef Py_MATH_PI
-#define Py_MATH_PI 3.14159265358979323846
-#endif
-
-#ifndef Py_MATH_El
-#define Py_MATH_El 2.7182818284590452353602874713526625L
-#endif
-
-#ifndef Py_MATH_E
-#define Py_MATH_E 2.7182818284590452354
-#endif
-
-/* On x86, Py_FORCE_DOUBLE forces a floating-point number out of an x87 FPU
-   register and into a 64-bit memory location, rounding from extended
-   precision to double precision in the process.  On other platforms it does
-   nothing. */
-
-/* we take double rounding as evidence of x87 usage */
-#ifndef Py_FORCE_DOUBLE
-#  ifdef X87_DOUBLE_ROUNDING
-PyAPI_FUNC(double) _Py_force_double(double);
-#    define Py_FORCE_DOUBLE(X) (_Py_force_double(X))
-#  else
-#    define Py_FORCE_DOUBLE(X) (X)
-#  endif
-#endif
-
-#ifdef HAVE_GCC_ASM_FOR_X87
-PyAPI_FUNC(unsigned short) _Py_get_387controlword(void);
-PyAPI_FUNC(void) _Py_set_387controlword(unsigned short);
-#endif
-
-/* Py_IS_NAN(X)
- * Return 1 if float or double arg is a NaN, else 0.
- * Caution:
- *     X is evaluated more than once.
- *     This may not work on all platforms.  Each platform has *some*
- *     way to spell this, though -- override in pyconfig.h if you have
- *     a platform where it doesn't work.
- * Note: PC/pyconfig.h defines Py_IS_NAN as _isnan
- */
-#ifndef Py_IS_NAN
-#if defined HAVE_DECL_ISNAN && HAVE_DECL_ISNAN == 1
-#define Py_IS_NAN(X) isnan(X)
-#else
-#define Py_IS_NAN(X) ((X) != (X))
-#endif
-#endif
-
-/* Py_IS_INFINITY(X)
- * Return 1 if float or double arg is an infinity, else 0.
- * Caution:
- *    X is evaluated more than once.
- *    This implementation may set the underflow flag if |X| is very small;
- *    it really can't be implemented correctly (& easily) before C99.
- *    Override in pyconfig.h if you have a better spelling on your platform.
- *  Py_FORCE_DOUBLE is used to avoid getting false negatives from a
- *    non-infinite value v sitting in an 80-bit x87 register such that
- *    v becomes infinite when spilled from the register to 64-bit memory.
- * Note: PC/pyconfig.h defines Py_IS_INFINITY as _isinf
- */
-#ifndef Py_IS_INFINITY
-#  if defined HAVE_DECL_ISINF && HAVE_DECL_ISINF == 1
-#    define Py_IS_INFINITY(X) isinf(X)
-#  else
-#    define Py_IS_INFINITY(X) ((X) &&                                   \
-                               (Py_FORCE_DOUBLE(X)*0.5 == Py_FORCE_DOUBLE(X)))
-#  endif
-#endif
-
-/* Py_IS_FINITE(X)
- * Return 1 if float or double arg is neither infinite nor NAN, else 0.
- * Some compilers (e.g. VisualStudio) have intrisics for this, so a special
- * macro for this particular test is useful
- * Note: PC/pyconfig.h defines Py_IS_FINITE as _finite
- */
-#ifndef Py_IS_FINITE
-#if defined HAVE_DECL_ISFINITE && HAVE_DECL_ISFINITE == 1
-#define Py_IS_FINITE(X) isfinite(X)
-#elif defined HAVE_FINITE
-#define Py_IS_FINITE(X) finite(X)
-#else
-#define Py_IS_FINITE(X) (!Py_IS_INFINITY(X) && !Py_IS_NAN(X))
-#endif
-#endif
-
-/* HUGE_VAL is supposed to expand to a positive double infinity.  Python
- * uses Py_HUGE_VAL instead because some platforms are broken in this
- * respect.  We used to embed code in pyport.h to try to worm around that,
- * but different platforms are broken in conflicting ways.  If you're on
- * a platform where HUGE_VAL is defined incorrectly, fiddle your Python
- * config to #define Py_HUGE_VAL to something that works on your platform.
- */
-#ifndef Py_HUGE_VAL
-#define Py_HUGE_VAL HUGE_VAL
-#endif
-
-/* Py_NAN
- * A value that evaluates to a NaN. On IEEE 754 platforms INF*0 or
- * INF/INF works. Define Py_NO_NAN in pyconfig.h if your platform
- * doesn't support NaNs.
- */
-#if !defined(Py_NAN) && !defined(Py_NO_NAN)
-#if !defined(__INTEL_COMPILER)
-    #define Py_NAN (Py_HUGE_VAL * 0.)
-#else /* __INTEL_COMPILER */
-    #if defined(ICC_NAN_STRICT)
-        #pragma float_control(push)
-        #pragma float_control(precise, on)
-        #pragma float_control(except,  on)
-        #if defined(_MSC_VER)
-            __declspec(noinline)
-        #else /* Linux */
-            __attribute__((noinline))
-        #endif /* _MSC_VER */
-        static double __icc_nan()
-        {
-            return sqrt(-1.0);
-        }
-        #pragma float_control (pop)
-        #define Py_NAN __icc_nan()
-    #else /* ICC_NAN_RELAXED as default for Intel Compiler */
-        static union { unsigned char buf[8]; double __icc_nan; } __nan_store = {0,0,0,0,0,0,0xf8,0x7f};
-        #define Py_NAN (__nan_store.__icc_nan)
-    #endif /* ICC_NAN_STRICT */
-#endif /* __INTEL_COMPILER */
-#endif
-
-/* Py_OVERFLOWED(X)
- * Return 1 iff a libm function overflowed.  Set errno to 0 before calling
- * a libm function, and invoke this macro after, passing the function
- * result.
- * Caution:
- *    This isn't reliable.  C99 no longer requires libm to set errno under
- *   any exceptional condition, but does require +- HUGE_VAL return
- *   values on overflow.  A 754 box *probably* maps HUGE_VAL to a
- *   double infinity, and we're cool if that's so, unless the input
- *   was an infinity and an infinity is the expected result.  A C89
- *   system sets errno to ERANGE, so we check for that too.  We're
- *   out of luck if a C99 754 box doesn't map HUGE_VAL to +Inf, or
- *   if the returned result is a NaN, or if a C89 box returns HUGE_VAL
- *   in non-overflow cases.
- *    X is evaluated more than once.
- * Some platforms have better way to spell this, so expect some #ifdef'ery.
- *
- * OpenBSD uses 'isinf()' because a compiler bug on that platform causes
- * the longer macro version to be mis-compiled. This isn't optimal, and
- * should be removed once a newer compiler is available on that platform.
- * The system that had the failure was running OpenBSD 3.2 on Intel, with
- * gcc 2.95.3.
- *
- * According to Tim's checkin, the FreeBSD systems use isinf() to work
- * around a FPE bug on that platform.
- */
-#if defined(__FreeBSD__) || defined(__OpenBSD__)
-#define Py_OVERFLOWED(X) isinf(X)
-#else
-#define Py_OVERFLOWED(X) ((X) != 0.0 && (errno == ERANGE ||    \
-  (X) == Py_HUGE_VAL || \
-  (X) == -Py_HUGE_VAL))
-#endif
-
-#endif /* Py_PYMATH_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pymem.h
--- a/test/include/python2.7/pymem.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,122 +0,0 @@
-/* The PyMem_ family:  low-level memory allocation interfaces.
-   See objimpl.h for the PyObject_ memory family.
-*/
-
-#ifndef Py_PYMEM_H
-#define Py_PYMEM_H
-
-#include "pyport.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* BEWARE:
-
-   Each interface exports both functions and macros.  Extension modules should
-   use the functions, to ensure binary compatibility across Python versions.
-   Because the Python implementation is free to change internal details, and
-   the macros may (or may not) expose details for speed, if you do use the
-   macros you must recompile your extensions with each Python release.
-
-   Never mix calls to PyMem_ with calls to the platform malloc/realloc/
-   calloc/free.  For example, on Windows different DLLs may end up using
-   different heaps, and if you use PyMem_Malloc you'll get the memory from the
-   heap used by the Python DLL; it could be a disaster if you free()'ed that
-   directly in your own extension.  Using PyMem_Free instead ensures Python
-   can return the memory to the proper heap.  As another example, in
-   PYMALLOC_DEBUG mode, Python wraps all calls to all PyMem_ and PyObject_
-   memory functions in special debugging wrappers that add additional
-   debugging info to dynamic memory blocks.  The system routines have no idea
-   what to do with that stuff, and the Python wrappers have no idea what to do
-   with raw blocks obtained directly by the system routines then.
-
-   The GIL must be held when using these APIs.
-*/
-
-/*
- * Raw memory interface
- * ====================
- */
-
-/* Functions
-
-   Functions supplying platform-independent semantics for malloc/realloc/
-   free.  These functions make sure that allocating 0 bytes returns a distinct
-   non-NULL pointer (whenever possible -- if we're flat out of memory, NULL
-   may be returned), even if the platform malloc and realloc don't.
-   Returned pointers must be checked for NULL explicitly.  No action is
-   performed on failure (no exception is set, no warning is printed, etc).
-*/
-
-PyAPI_FUNC(void *) PyMem_Malloc(size_t);
-PyAPI_FUNC(void *) PyMem_Realloc(void *, size_t);
-PyAPI_FUNC(void) PyMem_Free(void *);
-
-/* Starting from Python 1.6, the wrappers Py_{Malloc,Realloc,Free} are
-   no longer supported. They used to call PyErr_NoMemory() on failure. */
-
-/* Macros. */
-#ifdef PYMALLOC_DEBUG
-/* Redirect all memory operations to Python's debugging allocator. */
-#define PyMem_MALLOC _PyMem_DebugMalloc
-#define PyMem_REALLOC _PyMem_DebugRealloc
-#define PyMem_FREE _PyMem_DebugFree
-
-#else /* ! PYMALLOC_DEBUG */
-
-/* PyMem_MALLOC(0) means malloc(1). Some systems would return NULL
-   for malloc(0), which would be treated as an error. Some platforms
-   would return a pointer with no memory behind it, which would break
-   pymalloc. To solve these problems, allocate an extra byte. */
-/* Returns NULL to indicate error if a negative size or size larger than
-   Py_ssize_t can represent is supplied.  Helps prevents security holes. */
-#define PyMem_MALLOC(n) ((size_t)(n) > (size_t)PY_SSIZE_T_MAX ? NULL \
- : malloc((n) ? (n) : 1))
-#define PyMem_REALLOC(p, n) ((size_t)(n) > (size_t)PY_SSIZE_T_MAX  ? NULL \
- : realloc((p), (n) ? (n) : 1))
-#define PyMem_FREE free
-
-#endif /* PYMALLOC_DEBUG */
-
-/*
- * Type-oriented memory interface
- * ==============================
- *
- * Allocate memory for n objects of the given type.  Returns a new pointer
- * or NULL if the request was too large or memory allocation failed.  Use
- * these macros rather than doing the multiplication yourself so that proper
- * overflow checking is always done.
- */
-
-#define PyMem_New(type, n) \
-  ( ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \
- ( (type *) PyMem_Malloc((n) * sizeof(type)) ) )
-#define PyMem_NEW(type, n) \
-  ( ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \
- ( (type *) PyMem_MALLOC((n) * sizeof(type)) ) )
-
-/*
- * The value of (p) is always clobbered by this macro regardless of success.
- * The caller MUST check if (p) is NULL afterwards and deal with the memory
- * error if so.  This means the original value of (p) MUST be saved for the
- * caller's memory error handler to not lose track of it.
- */
-#define PyMem_Resize(p, type, n) \
-  ( (p) = ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \
- (type *) PyMem_Realloc((p), (n) * sizeof(type)) )
-#define PyMem_RESIZE(p, type, n) \
-  ( (p) = ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) ? NULL : \
- (type *) PyMem_REALLOC((p), (n) * sizeof(type)) )
-
-/* PyMem{Del,DEL} are left over from ancient days, and shouldn't be used
- * anymore.  They're just confusing aliases for PyMem_{Free,FREE} now.
- */
-#define PyMem_Del PyMem_Free
-#define PyMem_DEL PyMem_FREE
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !Py_PYMEM_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pyport.h
--- a/test/include/python2.7/pyport.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,941 +0,0 @@\n-#ifndef Py_PYPORT_H\n-#define Py_PYPORT_H\n-\n-#include "pyconfig.h" /* include for defines */\n-\n-/* Some versions of HP-UX & Solaris need inttypes.h for int32_t,\n-   INT32_MAX, etc. */\n-#ifdef HAVE_INTTYPES_H\n-#include <inttypes.h>\n-#endif\n-\n-#ifdef HAVE_STDINT_H\n-#include <stdint.h>\n-#endif\n-\n-/**************************************************************************\n-Symbols and macros to supply platform-independent interfaces to basic\n-C language & library operations whose spellings vary across platforms.\n-\n-Please try to make documentation here as clear as possible:  by definition,\n-the stuff here is trying to illuminate C\'s darkest corners.\n-\n-Config #defines referenced here:\n-\n-SIGNED_RIGHT_SHIFT_ZERO_FILLS\n-Meaning:  To be defined iff i>>j does not extend the sign bit when i is a\n-          signed integral type and i < 0.\n-Used in:  Py_ARITHMETIC_RIGHT_SHIFT\n-\n-Py_DEBUG\n-Meaning:  Extra checks compiled in for debug mode.\n-Used in:  Py_SAFE_DOWNCAST\n-\n-HAVE_UINTPTR_T\n-Meaning:  The C9X type uintptr_t is supported by the compiler\n-Used in:  Py_uintptr_t\n-\n-HAVE_LONG_LONG\n-Meaning:  The compiler supports the C type "long long"\n-Used in:  PY_LONG_LONG\n-\n-**************************************************************************/\n-\n-\n-/* For backward compatibility only. Obsolete, do not use. */\n-#ifdef HAVE_PROTOTYPES\n-#define Py_PROTO(x) x\n-#else\n-#define Py_PROTO(x) ()\n-#endif\n-#ifndef Py_FPROTO\n-#define Py_FPROTO(x) Py_PROTO(x)\n-#endif\n-\n-/* typedefs for some C9X-defined synonyms for integral types.\n- *\n- * The names in Python are exactly the same as the C9X names, except with a\n- * Py_ prefix.  Until C9X is universally implemented, this is the only way\n- * to ensure that Python gets reliable names that don\'t conflict with names\n- * in non-Python code that are playing their own tricks to define the C9X\n- * names.\n- *\n- * NOTE: don\'t go nuts here!  Python has no use for *most* of the C9X\n- * integral synonyms.  Only define the ones we actually need.\n- */\n-\n-#ifdef HAVE_LONG_LONG\n-#ifndef PY_LONG_LONG\n-#define PY_LONG_LONG long long\n-#if defined(LLONG_MAX)\n-/* If LLONG_MAX is defined in limits.h, use that. */\n-#define PY_LLONG_MIN LLONG_MIN\n-#define PY_LLONG_MAX LLONG_MAX\n-#define PY_ULLONG_MAX ULLONG_MAX\n-#elif defined(__LONG_LONG_MAX__)\n-/* Otherwise, if GCC has a builtin define, use that. */\n-#define PY_LLONG_MAX __LONG_LONG_MAX__\n-#define PY_LLONG_MIN (-PY_LLONG_MAX-1)\n-#define PY_ULLONG_MAX (__LONG_LONG_MAX__*2ULL + 1ULL)\n-#else\n-/* Otherwise, rely on two\'s complement. */\n-#define PY_ULLONG_MAX (~0ULL)\n-#define PY_LLONG_MAX  ((long long)(PY_ULLONG_MAX>>1))\n-#define PY_LLONG_MIN (-PY_LLONG_MAX-1)\n-#endif /* LLONG_MAX */\n-#endif\n-#endif /* HAVE_LONG_LONG */\n-\n-/* a build with 30-bit digits for Python long integers needs an exact-width\n- * 32-bit unsigned integer type to store those digits.  (We could just use\n- * type \'unsigned long\', but that would be wasteful on a system where longs\n- * are 64-bits.)  On Unix systems, the autoconf macro AC_TYPE_UINT32_T defines\n- * uint32_t to be such a type unless stdint.h or inttypes.h defines uint32_t.\n- * However, it doesn\'t set HAVE_UINT32_T, so we do that here.\n- */\n-#ifdef uint32_t\n-#define HAVE_UINT32_T 1\n-#endif\n-\n-#ifdef HAVE_UINT32_T\n-#ifndef PY_UINT32_T\n-#define PY_UINT32_T uint32_t\n-#endif\n-#endif\n-\n-/* Macros for a 64-bit unsigned integer type; used for type \'twodigits\' in the\n- * long integer implementation, when 30-bit digits are enabled.\n- */\n-#ifdef uint64_t\n-#define HAVE_UINT64_T 1\n-#endif\n-\n-#ifdef HAVE_UINT64_T\n-#ifndef PY_UINT64_T\n-#define PY_UINT64_T uint64_t\n-#endif\n-#endif\n-\n-/* Signed variants of the above */\n-#ifdef int32_t\n-#define HAVE_INT32_T 1\n-#endif\n-\n-#ifdef HAVE_INT32_T\n-#ifndef PY_INT32_T\n-#define PY_INT32_T int32_t\n-#endif\n-#endif\n-\n-#ifdef int64_t\n-#define HAVE_INT64_T 1\n-#endif\n-\n-#ifdef HAVE_INT64_T\n-#ifndef PY_INT64_T\n-#define PY_INT64_T int64_t\n-#endif\n-#endif\n-\n-/* If PYLONG_BITS_IN_DIGIT is not defined then we\'ll use 30-bit'..b'EC */\n-#endif /* Py_ENABLE_SHARED */\n-\n-/* If no external linkage macros defined by now, create defaults */\n-#ifndef PyAPI_FUNC\n-#       define PyAPI_FUNC(RTYPE) RTYPE\n-#endif\n-#ifndef PyAPI_DATA\n-#       define PyAPI_DATA(RTYPE) extern RTYPE\n-#endif\n-#ifndef PyMODINIT_FUNC\n-#       if defined(__cplusplus)\n-#               define PyMODINIT_FUNC extern "C" void\n-#       else /* __cplusplus */\n-#               define PyMODINIT_FUNC void\n-#       endif /* __cplusplus */\n-#endif\n-\n-/* Deprecated DL_IMPORT and DL_EXPORT macros */\n-#if defined(Py_ENABLE_SHARED) && defined (HAVE_DECLSPEC_DLL)\n-#       if defined(Py_BUILD_CORE)\n-#               define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE\n-#               define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE\n-#       else\n-#               define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE\n-#               define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE\n-#       endif\n-#endif\n-#ifndef DL_EXPORT\n-#       define DL_EXPORT(RTYPE) RTYPE\n-#endif\n-#ifndef DL_IMPORT\n-#       define DL_IMPORT(RTYPE) RTYPE\n-#endif\n-/* End of deprecated DL_* macros */\n-\n-/* If the fd manipulation macros aren\'t defined,\n-   here is a set that should do the job */\n-\n-#if 0 /* disabled and probably obsolete */\n-\n-#ifndef FD_SETSIZE\n-#define FD_SETSIZE      256\n-#endif\n-\n-#ifndef FD_SET\n-\n-typedef long fd_mask;\n-\n-#define NFDBITS (sizeof(fd_mask) * NBBY)        /* bits per mask */\n-#ifndef howmany\n-#define howmany(x, y)   (((x)+((y)-1))/(y))\n-#endif /* howmany */\n-\n-typedef struct fd_set {\n-    fd_mask     fds_bits[howmany(FD_SETSIZE, NFDBITS)];\n-} fd_set;\n-\n-#define FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))\n-#define FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))\n-#define FD_ISSET(n, p)  ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))\n-#define FD_ZERO(p)      memset((char *)(p), \'\\0\', sizeof(*(p)))\n-\n-#endif /* FD_SET */\n-\n-#endif /* fd manipulation macros */\n-\n-\n-/* limits.h constants that may be missing */\n-\n-#ifndef INT_MAX\n-#define INT_MAX 2147483647\n-#endif\n-\n-#ifndef LONG_MAX\n-#if SIZEOF_LONG == 4\n-#define LONG_MAX 0X7FFFFFFFL\n-#elif SIZEOF_LONG == 8\n-#define LONG_MAX 0X7FFFFFFFFFFFFFFFL\n-#else\n-#error "could not set LONG_MAX in pyport.h"\n-#endif\n-#endif\n-\n-#ifndef LONG_MIN\n-#define LONG_MIN (-LONG_MAX-1)\n-#endif\n-\n-#ifndef LONG_BIT\n-#define LONG_BIT (8 * SIZEOF_LONG)\n-#endif\n-\n-#if LONG_BIT != 8 * SIZEOF_LONG\n-/* 04-Oct-2000 LONG_BIT is apparently (mis)defined as 64 on some recent\n- * 32-bit platforms using gcc.  We try to catch that here at compile-time\n- * rather than waiting for integer multiplication to trigger bogus\n- * overflows.\n- */\n-#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."\n-#endif\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-\n-/*\n- * Hide GCC attributes from compilers that don\'t support them.\n- */\n-#if (!defined(__GNUC__) || __GNUC__ < 2 || \\\n-     (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ) && \\\n-    !defined(RISCOS)\n-#define Py_GCC_ATTRIBUTE(x)\n-#else\n-#define Py_GCC_ATTRIBUTE(x) __attribute__(x)\n-#endif\n-\n-/*\n- * Add PyArg_ParseTuple format where available.\n- */\n-#ifdef HAVE_ATTRIBUTE_FORMAT_PARSETUPLE\n-#define Py_FORMAT_PARSETUPLE(func,p1,p2) __attribute__((format(func,p1,p2)))\n-#else\n-#define Py_FORMAT_PARSETUPLE(func,p1,p2)\n-#endif\n-\n-/*\n- * Specify alignment on compilers that support it.\n- */\n-#if defined(__GNUC__) && __GNUC__ >= 3\n-#define Py_ALIGNED(x) __attribute__((aligned(x)))\n-#else\n-#define Py_ALIGNED(x)\n-#endif\n-\n-/* Eliminate end-of-loop code not reached warnings from SunPro C\n- * when using do{...}while(0) macros\n- */\n-#ifdef __SUNPRO_C\n-#pragma error_messages (off,E_END_OF_LOOP_CODE_NOT_REACHED)\n-#endif\n-\n-/*\n- * Older Microsoft compilers don\'t support the C99 long long literal suffixes,\n- * so these will be defined in PC/pyconfig.h for those compilers.\n- */\n-#ifndef Py_LL\n-#define Py_LL(x) x##LL\n-#endif\n-\n-#ifndef Py_ULL\n-#define Py_ULL(x) Py_LL(x##U)\n-#endif\n-\n-#endif /* Py_PYPORT_H */\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pystate.h
--- a/test/include/python2.7/pystate.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,200 +0,0 @@
-
-/* Thread and interpreter state structures and their interfaces */
-
-
-#ifndef Py_PYSTATE_H
-#define Py_PYSTATE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* State shared between threads */
-
-struct _ts; /* Forward */
-struct _is; /* Forward */
-
-typedef struct _is {
-
-    struct _is *next;
-    struct _ts *tstate_head;
-
-    PyObject *modules;
-    PyObject *sysdict;
-    PyObject *builtins;
-    PyObject *modules_reloading;
-
-    PyObject *codec_search_path;
-    PyObject *codec_search_cache;
-    PyObject *codec_error_registry;
-
-#ifdef HAVE_DLOPEN
-    int dlopenflags;
-#endif
-#ifdef WITH_TSC
-    int tscdump;
-#endif
-
-} PyInterpreterState;
-
-
-/* State unique per thread */
-
-struct _frame; /* Avoid including frameobject.h */
-
-/* Py_tracefunc return -1 when raising an exception, or 0 for success. */
-typedef int (*Py_tracefunc)(PyObject *, struct _frame *, int, PyObject *);
-
-/* The following values are used for 'what' for tracefunc functions: */
-#define PyTrace_CALL 0
-#define PyTrace_EXCEPTION 1
-#define PyTrace_LINE 2
-#define PyTrace_RETURN 3
-#define PyTrace_C_CALL 4
-#define PyTrace_C_EXCEPTION 5
-#define PyTrace_C_RETURN 6
-
-typedef struct _ts {
-    /* See Python/ceval.c for comments explaining most fields */
-
-    struct _ts *next;
-    PyInterpreterState *interp;
-
-    struct _frame *frame;
-    int recursion_depth;
-    /* 'tracing' keeps track of the execution depth when tracing/profiling.
-       This is to prevent the actual trace/profile code from being recorded in
-       the trace/profile. */
-    int tracing;
-    int use_tracing;
-
-    Py_tracefunc c_profilefunc;
-    Py_tracefunc c_tracefunc;
-    PyObject *c_profileobj;
-    PyObject *c_traceobj;
-
-    PyObject *curexc_type;
-    PyObject *curexc_value;
-    PyObject *curexc_traceback;
-
-    PyObject *exc_type;
-    PyObject *exc_value;
-    PyObject *exc_traceback;
-
-    PyObject *dict;  /* Stores per-thread state */
-
-    /* tick_counter is incremented whenever the check_interval ticker
-     * reaches zero. The purpose is to give a useful measure of the number
-     * of interpreted bytecode instructions in a given thread.  This
-     * extremely lightweight statistic collector may be of interest to
-     * profilers (like psyco.jit()), although nothing in the core uses it.
-     */
-    int tick_counter;
-
-    int gilstate_counter;
-
-    PyObject *async_exc; /* Asynchronous exception to raise */
-    long thread_id; /* Thread id where this tstate was created */
-
-    int trash_delete_nesting;
-    PyObject *trash_delete_later;
-
-    /* XXX signal handlers should also be here */
-
-} PyThreadState;
-
-
-PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_New(void);
-PyAPI_FUNC(void) PyInterpreterState_Clear(PyInterpreterState *);
-PyAPI_FUNC(void) PyInterpreterState_Delete(PyInterpreterState *);
-
-PyAPI_FUNC(PyThreadState *) PyThreadState_New(PyInterpreterState *);
-PyAPI_FUNC(PyThreadState *) _PyThreadState_Prealloc(PyInterpreterState *);
-PyAPI_FUNC(void) _PyThreadState_Init(PyThreadState *);
-PyAPI_FUNC(void) PyThreadState_Clear(PyThreadState *);
-PyAPI_FUNC(void) PyThreadState_Delete(PyThreadState *);
-#ifdef WITH_THREAD
-PyAPI_FUNC(void) PyThreadState_DeleteCurrent(void);
-#endif
-
-PyAPI_FUNC(PyThreadState *) PyThreadState_Get(void);
-PyAPI_FUNC(PyThreadState *) PyThreadState_Swap(PyThreadState *);
-PyAPI_FUNC(PyObject *) PyThreadState_GetDict(void);
-PyAPI_FUNC(int) PyThreadState_SetAsyncExc(long, PyObject *);
-
-
-/* Variable and macro for in-line access to current thread state */
-
-PyAPI_DATA(PyThreadState *) _PyThreadState_Current;
-
-#ifdef Py_DEBUG
-#define PyThreadState_GET() PyThreadState_Get()
-#else
-#define PyThreadState_GET() (_PyThreadState_Current)
-#endif
-
-typedef
-    enum {PyGILState_LOCKED, PyGILState_UNLOCKED}
-        PyGILState_STATE;
-
-/* Ensure that the current thread is ready to call the Python
-   C API, regardless of the current state of Python, or of its
-   thread lock.  This may be called as many times as desired
-   by a thread so long as each call is matched with a call to
-   PyGILState_Release().  In general, other thread-state APIs may
-   be used between _Ensure() and _Release() calls, so long as the
-   thread-state is restored to its previous state before the Release().
-   For example, normal use of the Py_BEGIN_ALLOW_THREADS/
-   Py_END_ALLOW_THREADS macros are acceptable.
-
-   The return value is an opaque "handle" to the thread state when
-   PyGILState_Ensure() was called, and must be passed to
-   PyGILState_Release() to ensure Python is left in the same state. Even
-   though recursive calls are allowed, these handles can *not* be shared -
-   each unique call to PyGILState_Ensure must save the handle for its
-   call to PyGILState_Release.
-
-   When the function returns, the current thread will hold the GIL.
-
-   Failure is a fatal error.
-*/
-PyAPI_FUNC(PyGILState_STATE) PyGILState_Ensure(void);
-
-/* Release any resources previously acquired.  After this call, Python's
-   state will be the same as it was prior to the corresponding
-   PyGILState_Ensure() call (but generally this state will be unknown to
-   the caller, hence the use of the GILState API.)
-
-   Every call to PyGILState_Ensure must be matched by a call to
-   PyGILState_Release on the same thread.
-*/
-PyAPI_FUNC(void) PyGILState_Release(PyGILState_STATE);
-
-/* Helper/diagnostic function - get the current thread state for
-   this thread.  May return NULL if no GILState API has been used
-   on the current thread.  Note that the main thread always has such a
-   thread-state, even if no auto-thread-state call has been made
-   on the main thread.
-*/
-PyAPI_FUNC(PyThreadState *) PyGILState_GetThisThreadState(void);
-
-/* The implementation of sys._current_frames()  Returns a dict mapping
-   thread id to that thread's current frame.
-*/
-PyAPI_FUNC(PyObject *) _PyThread_CurrentFrames(void);
-
-/* Routines for advanced debuggers, requested by David Beazley.
-   Don't use unless you know what you are doing! */
-PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Head(void);
-PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Next(PyInterpreterState *);
-PyAPI_FUNC(PyThreadState *) PyInterpreterState_ThreadHead(PyInterpreterState *);
-PyAPI_FUNC(PyThreadState *) PyThreadState_Next(PyThreadState *);
-
-typedef struct _frame *(*PyThreadFrameGetter)(PyThreadState *self_);
-
-/* hook for PyEval_GetFrame(), requested for Psyco */
-PyAPI_DATA(PyThreadFrameGetter) _PyThreadState_GetFrame;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PYSTATE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pystrcmp.h
--- a/test/include/python2.7/pystrcmp.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,23 +0,0 @@
-#ifndef Py_STRCMP_H
-#define Py_STRCMP_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(int) PyOS_mystrnicmp(const char *, const char *, Py_ssize_t);
-PyAPI_FUNC(int) PyOS_mystricmp(const char *, const char *);
-
-#if defined(MS_WINDOWS) || defined(PYOS_OS2)
-#define PyOS_strnicmp strnicmp
-#define PyOS_stricmp stricmp
-#else
-#define PyOS_strnicmp PyOS_mystrnicmp
-#define PyOS_stricmp PyOS_mystricmp
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !Py_STRCMP_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pystrtod.h
--- a/test/include/python2.7/pystrtod.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,45 +0,0 @@
-#ifndef Py_STRTOD_H
-#define Py_STRTOD_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-PyAPI_FUNC(double) PyOS_ascii_strtod(const char *str, char **ptr);
-PyAPI_FUNC(double) PyOS_ascii_atof(const char *str);
-
-/* Deprecated in 2.7 and 3.1. Will disappear in 2.8 (if it exists) and 3.2 */
-PyAPI_FUNC(char *) PyOS_ascii_formatd(char *buffer, size_t buf_len,
-                                      const char *format, double d);
-PyAPI_FUNC(double) PyOS_string_to_double(const char *str,
-                                         char **endptr,
-                                         PyObject *overflow_exception);
-
-/* The caller is responsible for calling PyMem_Free to free the buffer
-   that's is returned. */
-PyAPI_FUNC(char *) PyOS_double_to_string(double val,
-                                         char format_code,
-                                         int precision,
-                                         int flags,
-                                         int *type);
-
-PyAPI_FUNC(double) _Py_parse_inf_or_nan(const char *p, char **endptr);
-
-
-/* PyOS_double_to_string's "flags" parameter can be set to 0 or more of: */
-#define Py_DTSF_SIGN      0x01 /* always add the sign */
-#define Py_DTSF_ADD_DOT_0 0x02 /* if the result is an integer add ".0" */
-#define Py_DTSF_ALT       0x04 /* "alternate" formatting. it's format_code
-                                  specific */
-
-/* PyOS_double_to_string's "type", if non-NULL, will be set to one of: */
-#define Py_DTST_FINITE 0
-#define Py_DTST_INFINITE 1
-#define Py_DTST_NAN 2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !Py_STRTOD_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pythonrun.h
--- a/test/include/python2.7/pythonrun.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,182 +0,0 @@
-
-/* Interfaces to parse and execute pieces of python code */
-
-#ifndef Py_PYTHONRUN_H
-#define Py_PYTHONRUN_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \
-                   CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \
-                   CO_FUTURE_UNICODE_LITERALS)
-#define PyCF_MASK_OBSOLETE (CO_NESTED)
-#define PyCF_SOURCE_IS_UTF8  0x0100
-#define PyCF_DONT_IMPLY_DEDENT 0x0200
-#define PyCF_ONLY_AST 0x0400
-
-typedef struct {
-    int cf_flags;  /* bitmask of CO_xxx flags relevant to future */
-} PyCompilerFlags;
-
-PyAPI_FUNC(void) Py_SetProgramName(char *);
-PyAPI_FUNC(char *) Py_GetProgramName(void);
-
-PyAPI_FUNC(void) Py_SetPythonHome(char *);
-PyAPI_FUNC(char *) Py_GetPythonHome(void);
-
-PyAPI_FUNC(void) Py_Initialize(void);
-PyAPI_FUNC(void) Py_InitializeEx(int);
-PyAPI_FUNC(void) Py_Finalize(void);
-PyAPI_FUNC(int) Py_IsInitialized(void);
-PyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void);
-PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *);
-
-PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_AnyFileExFlags(FILE *, const char *, int, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_SimpleFileExFlags(FILE *, const char *, int, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_InteractiveOneFlags(FILE *, const char *, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_InteractiveLoopFlags(FILE *, const char *, PyCompilerFlags *);
-
-PyAPI_FUNC(struct _mod *) PyParser_ASTFromString(const char *, const char *,
-                                                 int, PyCompilerFlags *flags,
-                                                 PyArena *);
-PyAPI_FUNC(struct _mod *) PyParser_ASTFromFile(FILE *, const char *, int,
-                                               char *, char *,
-                                               PyCompilerFlags *, int *,
-                                               PyArena *);
-#define PyParser_SimpleParseString(S, B) \
-    PyParser_SimpleParseStringFlags(S, B, 0)
-#define PyParser_SimpleParseFile(FP, S, B) \
-    PyParser_SimpleParseFileFlags(FP, S, B, 0)
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlags(const char *, int,
-                                                          int);
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseFileFlags(FILE *, const char *,
-                                                        int, int);
-
-PyAPI_FUNC(PyObject *) PyRun_StringFlags(const char *, int, PyObject *,
-                                         PyObject *, PyCompilerFlags *);
-
-PyAPI_FUNC(PyObject *) PyRun_FileExFlags(FILE *, const char *, int,
-                                         PyObject *, PyObject *, int,
-                                         PyCompilerFlags *);
-
-#define Py_CompileString(str, p, s) Py_CompileStringFlags(str, p, s, NULL)
-PyAPI_FUNC(PyObject *) Py_CompileStringFlags(const char *, const char *, int,
-                                             PyCompilerFlags *);
-PyAPI_FUNC(struct symtable *) Py_SymtableString(const char *, const char *, int);
-
-PyAPI_FUNC(void) PyErr_Print(void);
-PyAPI_FUNC(void) PyErr_PrintEx(int);
-PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *);
-
-PyAPI_FUNC(int) Py_AtExit(void (*func)(void));
-
-PyAPI_FUNC(void) Py_Exit(int);
-
-PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *);
-
-/* Bootstrap */
-PyAPI_FUNC(int) Py_Main(int argc, char **argv);
-
-/* Use macros for a bunch of old variants */
-#define PyRun_String(str, s, g, l) PyRun_StringFlags(str, s, g, l, NULL)
-#define PyRun_AnyFile(fp, name) PyRun_AnyFileExFlags(fp, name, 0, NULL)
-#define PyRun_AnyFileEx(fp, name, closeit) \
-    PyRun_AnyFileExFlags(fp, name, closeit, NULL)
-#define PyRun_AnyFileFlags(fp, name, flags) \
-    PyRun_AnyFileExFlags(fp, name, 0, flags)
-#define PyRun_SimpleString(s) PyRun_SimpleStringFlags(s, NULL)
-#define PyRun_SimpleFile(f, p) PyRun_SimpleFileExFlags(f, p, 0, NULL)
-#define PyRun_SimpleFileEx(f, p, c) PyRun_SimpleFileExFlags(f, p, c, NULL)
-#define PyRun_InteractiveOne(f, p) PyRun_InteractiveOneFlags(f, p, NULL)
-#define PyRun_InteractiveLoop(f, p) PyRun_InteractiveLoopFlags(f, p, NULL)
-#define PyRun_File(fp, p, s, g, l) \
-    PyRun_FileExFlags(fp, p, s, g, l, 0, NULL)
-#define PyRun_FileEx(fp, p, s, g, l, c) \
-    PyRun_FileExFlags(fp, p, s, g, l, c, NULL)
-#define PyRun_FileFlags(fp, p, s, g, l, flags) \
-    PyRun_FileExFlags(fp, p, s, g, l, 0, flags)
-
-/* In getpath.c */
-PyAPI_FUNC(char *) Py_GetProgramFullPath(void);
-PyAPI_FUNC(char *) Py_GetPrefix(void);
-PyAPI_FUNC(char *) Py_GetExecPrefix(void);
-PyAPI_FUNC(char *) Py_GetPath(void);
-
-/* In their own files */
-PyAPI_FUNC(const char *) Py_GetVersion(void);
-PyAPI_FUNC(const char *) Py_GetPlatform(void);
-PyAPI_FUNC(const char *) Py_GetCopyright(void);
-PyAPI_FUNC(const char *) Py_GetCompiler(void);
-PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
-PyAPI_FUNC(const char *) _Py_svnversion(void);
-PyAPI_FUNC(const char *) Py_SubversionRevision(void);
-PyAPI_FUNC(const char *) Py_SubversionShortBranch(void);
-PyAPI_FUNC(const char *) _Py_hgidentifier(void);
-PyAPI_FUNC(const char *) _Py_hgversion(void);
-
-/* Internal -- various one-time initializations */
-PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void);
-PyAPI_FUNC(PyObject *) _PySys_Init(void);
-PyAPI_FUNC(void) _PyImport_Init(void);
-PyAPI_FUNC(void) _PyExc_Init(void);
-PyAPI_FUNC(void) _PyImportHooks_Init(void);
-PyAPI_FUNC(int) _PyFrame_Init(void);
-PyAPI_FUNC(int) _PyInt_Init(void);
-PyAPI_FUNC(int) _PyLong_Init(void);
-PyAPI_FUNC(void) _PyFloat_Init(void);
-PyAPI_FUNC(int) PyByteArray_Init(void);
-PyAPI_FUNC(void) _PyRandom_Init(void);
-
-/* Various internal finalizers */
-PyAPI_FUNC(void) _PyExc_Fini(void);
-PyAPI_FUNC(void) _PyImport_Fini(void);
-PyAPI_FUNC(void) PyMethod_Fini(void);
-PyAPI_FUNC(void) PyFrame_Fini(void);
-PyAPI_FUNC(void) PyCFunction_Fini(void);
-PyAPI_FUNC(void) PyDict_Fini(void);
-PyAPI_FUNC(void) PyTuple_Fini(void);
-PyAPI_FUNC(void) PyList_Fini(void);
-PyAPI_FUNC(void) PySet_Fini(void);
-PyAPI_FUNC(void) PyString_Fini(void);
-PyAPI_FUNC(void) PyInt_Fini(void);
-PyAPI_FUNC(void) PyFloat_Fini(void);
-PyAPI_FUNC(void) PyOS_FiniInterrupts(void);
-PyAPI_FUNC(void) PyByteArray_Fini(void);
-PyAPI_FUNC(void) _PyRandom_Fini(void);
-
-/* Stuff with no proper home (yet) */
-PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, char *);
-PyAPI_DATA(int) (*PyOS_InputHook)(void);
-PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, char *);
-PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState;
-
-/* Stack size, in "pointers" (so we get extra safety margins
-   on 64-bit platforms).  On a 32-bit platform, this translates
-   to an 8k margin. */
-#define PYOS_STACK_MARGIN 2048
-
-#if defined(WIN32) && !defined(MS_WIN64) && defined(_MSC_VER) && _MSC_VER >= 1300
-/* Enable stack checking under Microsoft C */
-#define USE_STACKCHECK
-#endif
-
-#ifdef USE_STACKCHECK
-/* Check that we aren't overflowing our stack */
-PyAPI_FUNC(int) PyOS_CheckStack(void);
-#endif
-
-/* Signals */
-typedef void (*PyOS_sighandler_t)(int);
-PyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int);
-PyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t);
-
-/* Random */
-PyAPI_FUNC(int) _PyOS_URandom (void *buffer, Py_ssize_t size);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_PYTHONRUN_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/pythread.h
--- a/test/include/python2.7/pythread.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,41 +0,0 @@
-
-#ifndef Py_PYTHREAD_H
-#define Py_PYTHREAD_H
-
-typedef void *PyThread_type_lock;
-typedef void *PyThread_type_sema;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(void) PyThread_init_thread(void);
-PyAPI_FUNC(long) PyThread_start_new_thread(void (*)(void *), void *);
-PyAPI_FUNC(void) PyThread_exit_thread(void);
-PyAPI_FUNC(long) PyThread_get_thread_ident(void);
-
-PyAPI_FUNC(PyThread_type_lock) PyThread_allocate_lock(void);
-PyAPI_FUNC(void) PyThread_free_lock(PyThread_type_lock);
-PyAPI_FUNC(int) PyThread_acquire_lock(PyThread_type_lock, int);
-#define WAIT_LOCK 1
-#define NOWAIT_LOCK 0
-PyAPI_FUNC(void) PyThread_release_lock(PyThread_type_lock);
-
-PyAPI_FUNC(size_t) PyThread_get_stacksize(void);
-PyAPI_FUNC(int) PyThread_set_stacksize(size_t);
-
-/* Thread Local Storage (TLS) API */
-PyAPI_FUNC(int) PyThread_create_key(void);
-PyAPI_FUNC(void) PyThread_delete_key(int);
-PyAPI_FUNC(int) PyThread_set_key_value(int, void *);
-PyAPI_FUNC(void *) PyThread_get_key_value(int);
-PyAPI_FUNC(void) PyThread_delete_key_value(int key);
-
-/* Cleanup after a fork */
-PyAPI_FUNC(void) PyThread_ReInitTLS(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !Py_PYTHREAD_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/rangeobject.h
--- a/test/include/python2.7/rangeobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,28 +0,0 @@
-
-/* Range object interface */
-
-#ifndef Py_RANGEOBJECT_H
-#define Py_RANGEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* This is about the type 'xrange', not the built-in function range(), which
-   returns regular lists. */
-
-/*
-A range object represents an integer range.  This is an immutable object;
-a range cannot change its value after creation.
-
-Range objects behave like the corresponding tuple objects except that
-they are represented by a start, stop, and step datamembers.
-*/
-
-PyAPI_DATA(PyTypeObject) PyRange_Type;
-
-#define PyRange_Check(op) (Py_TYPE(op) == &PyRange_Type)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_RANGEOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/setobject.h
--- a/test/include/python2.7/setobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,99 +0,0 @@
-/* Set object interface */
-
-#ifndef Py_SETOBJECT_H
-#define Py_SETOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/*
-There are three kinds of slots in the table:
-
-1. Unused:  key == NULL
-2. Active:  key != NULL and key != dummy
-3. Dummy:   key == dummy
-
-Note: .pop() abuses the hash field of an Unused or Dummy slot to
-hold a search finger.  The hash field of Unused or Dummy slots has
-no meaning otherwise.
-*/
-
-#define PySet_MINSIZE 8
-
-typedef struct {
-    long hash;      /* cached hash code for the entry key */
-    PyObject *key;
-} setentry;
-
-
-/*
-This data structure is shared by set and frozenset objects.
-*/
-
-typedef struct _setobject PySetObject;
-struct _setobject {
-    PyObject_HEAD
-
-    Py_ssize_t fill;  /* # Active + # Dummy */
-    Py_ssize_t used;  /* # Active */
-
-    /* The table contains mask + 1 slots, and that's a power of 2.
-     * We store the mask instead of the size because the mask is more
-     * frequently needed.
-     */
-    Py_ssize_t mask;
-
-    /* table points to smalltable for small tables, else to
-     * additional malloc'ed memory.  table is never NULL!  This rule
-     * saves repeated runtime null-tests.
-     */
-    setentry *table;
-    setentry *(*lookup)(PySetObject *so, PyObject *key, long hash);
-    setentry smalltable[PySet_MINSIZE];
-
-    long hash;                  /* only used by frozenset objects */
-    PyObject *weakreflist;      /* List of weak references */
-};
-
-PyAPI_DATA(PyTypeObject) PySet_Type;
-PyAPI_DATA(PyTypeObject) PyFrozenSet_Type;
-
-/* Invariants for frozensets:
- *     data is immutable.
- *     hash is the hash of the frozenset or -1 if not computed yet.
- * Invariants for sets:
- *     hash is -1
- */
-
-#define PyFrozenSet_CheckExact(ob) (Py_TYPE(ob) == &PyFrozenSet_Type)
-#define PyAnySet_CheckExact(ob) \
-    (Py_TYPE(ob) == &PySet_Type || Py_TYPE(ob) == &PyFrozenSet_Type)
-#define PyAnySet_Check(ob) \
-    (Py_TYPE(ob) == &PySet_Type || Py_TYPE(ob) == &PyFrozenSet_Type || \
-      PyType_IsSubtype(Py_TYPE(ob), &PySet_Type) || \
-      PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type))
-#define PySet_Check(ob) \
-    (Py_TYPE(ob) == &PySet_Type || \
-    PyType_IsSubtype(Py_TYPE(ob), &PySet_Type))
-#define   PyFrozenSet_Check(ob) \
-    (Py_TYPE(ob) == &PyFrozenSet_Type || \
-      PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type))
-
-PyAPI_FUNC(PyObject *) PySet_New(PyObject *);
-PyAPI_FUNC(PyObject *) PyFrozenSet_New(PyObject *);
-PyAPI_FUNC(Py_ssize_t) PySet_Size(PyObject *anyset);
-#define PySet_GET_SIZE(so) (((PySetObject *)(so))->used)
-PyAPI_FUNC(int) PySet_Clear(PyObject *set);
-PyAPI_FUNC(int) PySet_Contains(PyObject *anyset, PyObject *key);
-PyAPI_FUNC(int) PySet_Discard(PyObject *set, PyObject *key);
-PyAPI_FUNC(int) PySet_Add(PyObject *set, PyObject *key);
-PyAPI_FUNC(int) _PySet_Next(PyObject *set, Py_ssize_t *pos, PyObject **key);
-PyAPI_FUNC(int) _PySet_NextEntry(PyObject *set, Py_ssize_t *pos, PyObject **key, long *hash);
-PyAPI_FUNC(PyObject *) PySet_Pop(PyObject *set);
-PyAPI_FUNC(int) _PySet_Update(PyObject *set, PyObject *iterable);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_SETOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/sliceobject.h
--- a/test/include/python2.7/sliceobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,44 +0,0 @@
-#ifndef Py_SLICEOBJECT_H
-#define Py_SLICEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* The unique ellipsis object "..." */
-
-PyAPI_DATA(PyObject) _Py_EllipsisObject; /* Don't use this directly */
-
-#define Py_Ellipsis (&_Py_EllipsisObject)
-
-/* Slice object interface */
-
-/*
-
-A slice object containing start, stop, and step data members (the
-names are from range).  After much talk with Guido, it was decided to
-let these be any arbitrary python type.  Py_None stands for omitted values.
-*/
-
-typedef struct {
-    PyObject_HEAD
-    PyObject *start, *stop, *step; /* not NULL */
-} PySliceObject;
-
-PyAPI_DATA(PyTypeObject) PySlice_Type;
-PyAPI_DATA(PyTypeObject) PyEllipsis_Type;
-
-#define PySlice_Check(op) (Py_TYPE(op) == &PySlice_Type)
-
-PyAPI_FUNC(PyObject *) PySlice_New(PyObject* start, PyObject* stop,
-                                  PyObject* step);
-PyAPI_FUNC(PyObject *) _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop);
-PyAPI_FUNC(int) PySlice_GetIndices(PySliceObject *r, Py_ssize_t length,
-                                  Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step);
-PyAPI_FUNC(int) PySlice_GetIndicesEx(PySliceObject *r, Py_ssize_t length,
-     Py_ssize_t *start, Py_ssize_t *stop, 
-     Py_ssize_t *step, Py_ssize_t *slicelength);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_SLICEOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/stringobject.h
--- a/test/include/python2.7/stringobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,210 +0,0 @@\n-\n-/* String (str/bytes) object interface */\n-\n-#ifndef Py_STRINGOBJECT_H\n-#define Py_STRINGOBJECT_H\n-#ifdef __cplusplus\n-extern "C" {\n-#endif\n-\n-#include <stdarg.h>\n-\n-/*\n-Type PyStringObject represents a character string.  An extra zero byte is\n-reserved at the end to ensure it is zero-terminated, but a size is\n-present so strings with null bytes in them can be represented.  This\n-is an immutable object type.\n-\n-There are functions to create new string objects, to test\n-an object for string-ness, and to get the\n-string value.  The latter function returns a null pointer\n-if the object is not of the proper type.\n-There is a variant that takes an explicit size as well as a\n-variant that assumes a zero-terminated string.  Note that none of the\n-functions should be applied to nil objects.\n-*/\n-\n-/* Caching the hash (ob_shash) saves recalculation of a string\'s hash value.\n-   Interning strings (ob_sstate) tries to ensure that only one string\n-   object with a given value exists, so equality tests can be one pointer\n-   comparison.  This is generally restricted to strings that "look like"\n-   Python identifiers, although the intern() builtin can be used to force\n-   interning of any string.\n-   Together, these sped the interpreter by up to 20%. */\n-\n-typedef struct {\n-    PyObject_VAR_HEAD\n-    long ob_shash;\n-    int ob_sstate;\n-    char ob_sval[1];\n-\n-    /* Invariants:\n-     *     ob_sval contains space for \'ob_size+1\' elements.\n-     *     ob_sval[ob_size] == 0.\n-     *     ob_shash is the hash of the string or -1 if not computed yet.\n-     *     ob_sstate != 0 iff the string object is in stringobject.c\'s\n-     *       \'interned\' dictionary; in this case the two references\n-     *       from \'interned\' to this object are *not counted* in ob_refcnt.\n-     */\n-} PyStringObject;\n-\n-#define SSTATE_NOT_INTERNED 0\n-#define SSTATE_INTERNED_MORTAL 1\n-#define SSTATE_INTERNED_IMMORTAL 2\n-\n-PyAPI_DATA(PyTypeObject) PyBaseString_Type;\n-PyAPI_DATA(PyTypeObject) PyString_Type;\n-\n-#define PyString_Check(op) \\\n-                 PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_STRING_SUBCLASS)\n-#define PyString_CheckExact(op) (Py_TYPE(op) == &PyString_Type)\n-\n-PyAPI_FUNC(PyObject *) PyString_FromStringAndSize(const char *, Py_ssize_t);\n-PyAPI_FUNC(PyObject *) PyString_FromString(const char *);\n-PyAPI_FUNC(PyObject *) PyString_FromFormatV(const char*, va_list)\n-\t\t\t\tPy_GCC_ATTRIBUTE((format(printf, 1, 0)));\n-PyAPI_FUNC(PyObject *) PyString_FromFormat(const char*, ...)\n-\t\t\t\tPy_GCC_ATTRIBUTE((format(printf, 1, 2)));\n-PyAPI_FUNC(Py_ssize_t) PyString_Size(PyObject *);\n-PyAPI_FUNC(char *) PyString_AsString(PyObject *);\n-PyAPI_FUNC(PyObject *) PyString_Repr(PyObject *, int);\n-PyAPI_FUNC(void) PyString_Concat(PyObject **, PyObject *);\n-PyAPI_FUNC(void) PyString_ConcatAndDel(PyObject **, PyObject *);\n-PyAPI_FUNC(int) _PyString_Resize(PyObject **, Py_ssize_t);\n-PyAPI_FUNC(int) _PyString_Eq(PyObject *, PyObject*);\n-PyAPI_FUNC(PyObject *) PyString_Format(PyObject *, PyObject *);\n-PyAPI_FUNC(PyObject *) _PyString_FormatLong(PyObject*, int, int,\n-\t\t\t\t\t\t  int, char**, int*);\n-PyAPI_FUNC(PyObject *) PyString_DecodeEscape(const char *, Py_ssize_t, \n-\t\t\t\t\t\t   const char *, Py_ssize_t,\n-\t\t\t\t\t\t   const char *);\n-\n-PyAPI_FUNC(void) PyString_InternInPlace(PyObject **);\n-PyAPI_FUNC(void) PyString_InternImmortal(PyObject **);\n-PyAPI_FUNC(PyObject *) PyString_InternFromString(const char *);\n-PyAPI_FUNC(void) _Py_ReleaseInternedStrings(void);\n-\n-/* Use only if you know it\'s a string */\n-#define PyString_CHECK_INTERNED(op) (((PyStringObject *)(op))->ob_sstate)\n-\n-/* Macro, trading safety for speed */\n-#define PyString_AS_STRING(op) (((PyStringObject *)(op))->ob_sval)\n-#define PyString_GET_SIZE(op)  Py_SIZE(op)\n-\n-/* _PyString_Join(sep, x) is like sep.join(x).  sep must be PyStringObject*,\n-   x must be an iterable object. */\n-PyAPI_FUNC(PyObject *) _PyString_Join(PyObject *sep, PyObject *x);\n-\n-/* --- Generic Codecs ------------------------------------------'..b'ar *s,              /* encoded string */\n-    Py_ssize_t size,            /* size of buffer */\n-    const char *encoding,       /* encoding */\n-    const char *errors          /* error handling */\n-    );\n-\n-/* Encodes a char buffer of the given size and returns a \n-   Python object. */\n-\n-PyAPI_FUNC(PyObject*) PyString_Encode(\n-    const char *s,              /* string char buffer */\n-    Py_ssize_t size,            /* number of chars to encode */\n-    const char *encoding,       /* encoding */\n-    const char *errors          /* error handling */\n-    );\n-\n-/* Encodes a string object and returns the result as Python \n-   object. */\n-\n-PyAPI_FUNC(PyObject*) PyString_AsEncodedObject(\n-    PyObject *str,\t \t/* string object */\n-    const char *encoding,\t/* encoding */\n-    const char *errors\t\t/* error handling */\n-    );\n-\n-/* Encodes a string object and returns the result as Python string\n-   object.   \n-   \n-   If the codec returns a Unicode object, the object is converted\n-   back to a string using the default encoding.\n-\n-   DEPRECATED - use PyString_AsEncodedObject() instead. */\n-\n-PyAPI_FUNC(PyObject*) PyString_AsEncodedString(\n-    PyObject *str,\t \t/* string object */\n-    const char *encoding,\t/* encoding */\n-    const char *errors\t\t/* error handling */\n-    );\n-\n-/* Decodes a string object and returns the result as Python \n-   object. */\n-\n-PyAPI_FUNC(PyObject*) PyString_AsDecodedObject(\n-    PyObject *str,\t \t/* string object */\n-    const char *encoding,\t/* encoding */\n-    const char *errors\t\t/* error handling */\n-    );\n-\n-/* Decodes a string object and returns the result as Python string\n-   object.  \n-   \n-   If the codec returns a Unicode object, the object is converted\n-   back to a string using the default encoding.\n-\n-   DEPRECATED - use PyString_AsDecodedObject() instead. */\n-\n-PyAPI_FUNC(PyObject*) PyString_AsDecodedString(\n-    PyObject *str,\t \t/* string object */\n-    const char *encoding,\t/* encoding */\n-    const char *errors\t\t/* error handling */\n-    );\n-\n-/* Provides access to the internal data buffer and size of a string\n-   object or the default encoded version of a Unicode object. Passing\n-   NULL as *len parameter will force the string buffer to be\n-   0-terminated (passing a string with embedded NULL characters will\n-   cause an exception).  */\n-\n-PyAPI_FUNC(int) PyString_AsStringAndSize(\n-    register PyObject *obj,\t/* string or Unicode object */\n-    register char **s,\t\t/* pointer to buffer variable */\n-    register Py_ssize_t *len\t/* pointer to length variable or NULL\n-\t\t\t\t   (only possible for 0-terminated\n-\t\t\t\t   strings) */\n-    );\n-\n-\n-/* Using the current locale, insert the thousands grouping\n-   into the string pointed to by buffer.  For the argument descriptions,\n-   see Objects/stringlib/localeutil.h */\n-PyAPI_FUNC(Py_ssize_t) _PyString_InsertThousandsGroupingLocale(char *buffer,\n-                                  Py_ssize_t n_buffer,\n-                                  char *digits,\n-                                  Py_ssize_t n_digits,\n-                                  Py_ssize_t min_width);\n-\n-/* Using explicit passed-in values, insert the thousands grouping\n-   into the string pointed to by buffer.  For the argument descriptions,\n-   see Objects/stringlib/localeutil.h */\n-PyAPI_FUNC(Py_ssize_t) _PyString_InsertThousandsGrouping(char *buffer,\n-                                  Py_ssize_t n_buffer,\n-                                  char *digits,\n-                                  Py_ssize_t n_digits,\n-                                  Py_ssize_t min_width,\n-                                  const char *grouping,\n-                                  const char *thousands_sep);\n-\n-/* Format the object based on the format_spec, as defined in PEP 3101\n-   (Advanced String Formatting). */\n-PyAPI_FUNC(PyObject *) _PyBytes_FormatAdvanced(PyObject *obj,\n-\t\t\t\t\t       char *format_spec,\n-\t\t\t\t\t       Py_ssize_t format_spec_len);\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif /* !Py_STRINGOBJECT_H */\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/structmember.h
--- a/test/include/python2.7/structmember.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,99 +0,0 @@
-#ifndef Py_STRUCTMEMBER_H
-#define Py_STRUCTMEMBER_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Interface to map C struct members to Python object attributes */
-
-#include <stddef.h> /* For offsetof */
-
-/* The offsetof() macro calculates the offset of a structure member
-   in its structure.  Unfortunately this cannot be written down
-   portably, hence it is provided by a Standard C header file.
-   For pre-Standard C compilers, here is a version that usually works
-   (but watch out!): */
-
-#ifndef offsetof
-#define offsetof(type, member) ( (int) & ((type*)0) -> member )
-#endif
-
-/* An array of memberlist structures defines the name, type and offset
-   of selected members of a C structure.  These can be read by
-   PyMember_Get() and set by PyMember_Set() (except if their READONLY flag
-   is set).  The array must be terminated with an entry whose name
-   pointer is NULL. */
-
-struct memberlist {
-    /* Obsolete version, for binary backwards compatibility */
-    char *name;
-    int type;
-    int offset;
-    int flags;
-};
-
-typedef struct PyMemberDef {
-    /* Current version, use this */
-    char *name;
-    int type;
-    Py_ssize_t offset;
-    int flags;
-    char *doc;
-} PyMemberDef;
-
-/* Types */
-#define T_SHORT         0
-#define T_INT           1
-#define T_LONG          2
-#define T_FLOAT         3
-#define T_DOUBLE        4
-#define T_STRING        5
-#define T_OBJECT        6
-/* XXX the ordering here is weird for binary compatibility */
-#define T_CHAR          7       /* 1-character string */
-#define T_BYTE          8       /* 8-bit signed int */
-/* unsigned variants: */
-#define T_UBYTE         9
-#define T_USHORT        10
-#define T_UINT          11
-#define T_ULONG         12
-
-/* Added by Jack: strings contained in the structure */
-#define T_STRING_INPLACE        13
-
-/* Added by Lillo: bools contained in the structure (assumed char) */
-#define T_BOOL          14
-
-#define T_OBJECT_EX     16      /* Like T_OBJECT, but raises AttributeError
-                   when the value is NULL, instead of
-                   converting to None. */
-#ifdef HAVE_LONG_LONG
-#define T_LONGLONG      17
-#define T_ULONGLONG      18
-#endif /* HAVE_LONG_LONG */
-
-#define T_PYSSIZET       19 /* Py_ssize_t */
-
-
-/* Flags */
-#define READONLY        1
-#define RO              READONLY                /* Shorthand */
-#define READ_RESTRICTED 2
-#define PY_WRITE_RESTRICTED 4
-#define RESTRICTED      (READ_RESTRICTED | PY_WRITE_RESTRICTED)
-
-
-/* Obsolete API, for binary backwards compatibility */
-PyAPI_FUNC(PyObject *) PyMember_Get(const char *, struct memberlist *, const char *);
-PyAPI_FUNC(int) PyMember_Set(char *, struct memberlist *, const char *, PyObject *);
-
-/* Current API, use this */
-PyAPI_FUNC(PyObject *) PyMember_GetOne(const char *, struct PyMemberDef *);
-PyAPI_FUNC(int) PyMember_SetOne(char *, struct PyMemberDef *, PyObject *);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_STRUCTMEMBER_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/structseq.h
--- a/test/include/python2.7/structseq.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,41 +0,0 @@
-
-/* Tuple object interface */
-
-#ifndef Py_STRUCTSEQ_H
-#define Py_STRUCTSEQ_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct PyStructSequence_Field {
- char *name;
- char *doc;
-} PyStructSequence_Field;
-
-typedef struct PyStructSequence_Desc {
- char *name;
- char *doc;
- struct PyStructSequence_Field *fields;
- int n_in_sequence;
-} PyStructSequence_Desc;
-
-extern char* PyStructSequence_UnnamedField;
-
-PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type,
-    PyStructSequence_Desc *desc);
-
-PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type);
-
-typedef struct {
- PyObject_VAR_HEAD
- PyObject *ob_item[1];
-} PyStructSequence;
-
-/* Macro, *only* to be used to fill in brand new objects */
-#define PyStructSequence_SET_ITEM(op, i, v) \
- (((PyStructSequence *)(op))->ob_item[i] = v)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_STRUCTSEQ_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/symtable.h
--- a/test/include/python2.7/symtable.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,98 +0,0 @@
-#ifndef Py_SYMTABLE_H
-#define Py_SYMTABLE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _block_type { FunctionBlock, ClassBlock, ModuleBlock }
-    _Py_block_ty;
-
-struct _symtable_entry;
-
-struct symtable {
-    const char *st_filename; /* name of file being compiled */
-    struct _symtable_entry *st_cur; /* current symbol table entry */
-    struct _symtable_entry *st_top; /* module entry */
-    PyObject *st_symbols;    /* dictionary of symbol table entries */
-    PyObject *st_stack;      /* stack of namespace info */
-    PyObject *st_global;     /* borrowed ref to MODULE in st_symbols */
-    int st_nblocks;          /* number of blocks */
-    PyObject *st_private;        /* name of current class or NULL */
-    PyFutureFeatures *st_future; /* module's future features */
-};
-
-typedef struct _symtable_entry {
-    PyObject_HEAD
-    PyObject *ste_id;        /* int: key in st_symbols */
-    PyObject *ste_symbols;   /* dict: name to flags */
-    PyObject *ste_name;      /* string: name of block */
-    PyObject *ste_varnames;  /* list of variable names */
-    PyObject *ste_children;  /* list of child ids */
-    _Py_block_ty ste_type;   /* module, class, or function */
-    int ste_unoptimized;     /* false if namespace is optimized */
-    int ste_nested;      /* true if block is nested */
-    unsigned ste_free : 1;        /* true if block has free variables */
-    unsigned ste_child_free : 1;  /* true if a child block has free vars,
-                                     including free refs to globals */
-    unsigned ste_generator : 1;   /* true if namespace is a generator */
-    unsigned ste_varargs : 1;     /* true if block has varargs */
-    unsigned ste_varkeywords : 1; /* true if block has varkeywords */
-    unsigned ste_returns_value : 1;  /* true if namespace uses return with
-                                        an argument */
-    int ste_lineno;          /* first line of block */
-    int ste_opt_lineno;      /* lineno of last exec or import * */
-    int ste_tmpname;         /* counter for listcomp temp vars */
-    struct symtable *ste_table;
-} PySTEntryObject;
-
-PyAPI_DATA(PyTypeObject) PySTEntry_Type;
-
-#define PySTEntry_Check(op) (Py_TYPE(op) == &PySTEntry_Type)
-
-PyAPI_FUNC(int) PyST_GetScope(PySTEntryObject *, PyObject *);
-
-PyAPI_FUNC(struct symtable *) PySymtable_Build(mod_ty, const char *,
-                                              PyFutureFeatures *);
-PyAPI_FUNC(PySTEntryObject *) PySymtable_Lookup(struct symtable *, void *);
-
-PyAPI_FUNC(void) PySymtable_Free(struct symtable *);
-
-/* Flags for def-use information */
-
-#define DEF_GLOBAL 1           /* global stmt */
-#define DEF_LOCAL 2            /* assignment in code block */
-#define DEF_PARAM 2<<1         /* formal parameter */
-#define USE 2<<2               /* name is used */
-#define DEF_FREE 2<<3         /* name used but not defined in nested block */
-#define DEF_FREE_CLASS 2<<4    /* free variable from class's method */
-#define DEF_IMPORT 2<<5        /* assignment occurred via import */
-
-#define DEF_BOUND (DEF_LOCAL | DEF_PARAM | DEF_IMPORT)
-
-/* GLOBAL_EXPLICIT and GLOBAL_IMPLICIT are used internally by the symbol
-   table.  GLOBAL is returned from PyST_GetScope() for either of them.
-   It is stored in ste_symbols at bits 12-14.
-*/
-#define SCOPE_OFF 11
-#define SCOPE_MASK 7
-
-#define LOCAL 1
-#define GLOBAL_EXPLICIT 2
-#define GLOBAL_IMPLICIT 3
-#define FREE 4
-#define CELL 5
-
-/* The following three names are used for the ste_unoptimized bit field */
-#define OPT_IMPORT_STAR 1
-#define OPT_EXEC 2
-#define OPT_BARE_EXEC 4
-#define OPT_TOPLEVEL 8  /* top-level names, including eval and exec */
-
-#define GENERATOR 1
-#define GENERATOR_EXPRESSION 2
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_SYMTABLE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/sysmodule.h
--- a/test/include/python2.7/sysmodule.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,31 +0,0 @@
-
-/* System module interface */
-
-#ifndef Py_SYSMODULE_H
-#define Py_SYSMODULE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(PyObject *) PySys_GetObject(char *);
-PyAPI_FUNC(int) PySys_SetObject(char *, PyObject *);
-PyAPI_FUNC(FILE *) PySys_GetFile(char *, FILE *);
-PyAPI_FUNC(void) PySys_SetArgv(int, char **);
-PyAPI_FUNC(void) PySys_SetArgvEx(int, char **, int);
-PyAPI_FUNC(void) PySys_SetPath(char *);
-
-PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...)
- Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
-PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...)
- Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
-
-PyAPI_FUNC(void) PySys_ResetWarnOptions(void);
-PyAPI_FUNC(void) PySys_AddWarnOption(char *);
-PyAPI_FUNC(int) PySys_HasWarnOptions(void);
-
-PyAPI_FUNC(size_t) _PySys_GetSizeOf(PyObject *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_SYSMODULE_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/timefuncs.h
--- a/test/include/python2.7/timefuncs.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,26 +0,0 @@
-/*  timefuncs.h
- */
-
-/* Utility function related to timemodule.c. */
-
-#ifndef TIMEFUNCS_H
-#define TIMEFUNCS_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Cast double x to time_t, but raise ValueError if x is too large
- * to fit in a time_t.  ValueError is set on return iff the return
- * value is (time_t)-1 and PyErr_Occurred().
- */
-PyAPI_FUNC(time_t) _PyTime_DoubleToTimet(double x);
-
-/* Get the current time since the epoch in seconds */
-PyAPI_FUNC(double) _PyTime_FloatTime(void);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif  /* TIMEFUNCS_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/token.h
--- a/test/include/python2.7/token.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,85 +0,0 @@
-
-/* Token types */
-
-#ifndef Py_TOKEN_H
-#define Py_TOKEN_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#undef TILDE   /* Prevent clash of our definition with system macro. Ex AIX, ioctl.h */
-
-#define ENDMARKER 0
-#define NAME 1
-#define NUMBER 2
-#define STRING 3
-#define NEWLINE 4
-#define INDENT 5
-#define DEDENT 6
-#define LPAR 7
-#define RPAR 8
-#define LSQB 9
-#define RSQB 10
-#define COLON 11
-#define COMMA 12
-#define SEMI 13
-#define PLUS 14
-#define MINUS 15
-#define STAR 16
-#define SLASH 17
-#define VBAR 18
-#define AMPER 19
-#define LESS 20
-#define GREATER 21
-#define EQUAL 22
-#define DOT 23
-#define PERCENT 24
-#define BACKQUOTE 25
-#define LBRACE 26
-#define RBRACE 27
-#define EQEQUAL 28
-#define NOTEQUAL 29
-#define LESSEQUAL 30
-#define GREATEREQUAL 31
-#define TILDE 32
-#define CIRCUMFLEX 33
-#define LEFTSHIFT 34
-#define RIGHTSHIFT 35
-#define DOUBLESTAR 36
-#define PLUSEQUAL 37
-#define MINEQUAL 38
-#define STAREQUAL 39
-#define SLASHEQUAL 40
-#define PERCENTEQUAL 41
-#define AMPEREQUAL 42
-#define VBAREQUAL 43
-#define CIRCUMFLEXEQUAL 44
-#define LEFTSHIFTEQUAL 45
-#define RIGHTSHIFTEQUAL 46
-#define DOUBLESTAREQUAL 47
-#define DOUBLESLASH 48
-#define DOUBLESLASHEQUAL 49
-#define AT              50
-/* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */
-#define OP 51
-#define ERRORTOKEN 52
-#define N_TOKENS 53
-
-/* Special definitions for cooperation with parser */
-
-#define NT_OFFSET 256
-
-#define ISTERMINAL(x) ((x) < NT_OFFSET)
-#define ISNONTERMINAL(x) ((x) >= NT_OFFSET)
-#define ISEOF(x) ((x) == ENDMARKER)
-
-
-PyAPI_DATA(char *) _PyParser_TokenNames[]; /* Token names */
-PyAPI_FUNC(int) PyToken_OneChar(int);
-PyAPI_FUNC(int) PyToken_TwoChars(int, int);
-PyAPI_FUNC(int) PyToken_ThreeChars(int, int, int);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_TOKEN_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/traceback.h
--- a/test/include/python2.7/traceback.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,31 +0,0 @@
-
-#ifndef Py_TRACEBACK_H
-#define Py_TRACEBACK_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _frame;
-
-/* Traceback interface */
-
-typedef struct _traceback {
- PyObject_HEAD
- struct _traceback *tb_next;
- struct _frame *tb_frame;
- int tb_lasti;
- int tb_lineno;
-} PyTracebackObject;
-
-PyAPI_FUNC(int) PyTraceBack_Here(struct _frame *);
-PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *);
-PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, const char *, int, int);
-
-/* Reveal traceback type so we can typecheck traceback objects */
-PyAPI_DATA(PyTypeObject) PyTraceBack_Type;
-#define PyTraceBack_Check(v) (Py_TYPE(v) == &PyTraceBack_Type)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_TRACEBACK_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/tupleobject.h
--- a/test/include/python2.7/tupleobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,61 +0,0 @@
-
-/* Tuple object interface */
-
-#ifndef Py_TUPLEOBJECT_H
-#define Py_TUPLEOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-Another generally useful object type is a tuple of object pointers.
-For Python, this is an immutable type.  C code can change the tuple items
-(but not their number), and even use tuples are general-purpose arrays of
-object references, but in general only brand new tuples should be mutated,
-not ones that might already have been exposed to Python code.
-
-*** WARNING *** PyTuple_SetItem does not increment the new item's reference
-count, but does decrement the reference count of the item it replaces,
-if not nil.  It does *decrement* the reference count if it is *not*
-inserted in the tuple.  Similarly, PyTuple_GetItem does not increment the
-returned item's reference count.
-*/
-
-typedef struct {
-    PyObject_VAR_HEAD
-    PyObject *ob_item[1];
-
-    /* ob_item contains space for 'ob_size' elements.
-     * Items must normally not be NULL, except during construction when
-     * the tuple is not yet visible outside the function that builds it.
-     */
-} PyTupleObject;
-
-PyAPI_DATA(PyTypeObject) PyTuple_Type;
-
-#define PyTuple_Check(op) \
-                 PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TUPLE_SUBCLASS)
-#define PyTuple_CheckExact(op) (Py_TYPE(op) == &PyTuple_Type)
-
-PyAPI_FUNC(PyObject *) PyTuple_New(Py_ssize_t size);
-PyAPI_FUNC(Py_ssize_t) PyTuple_Size(PyObject *);
-PyAPI_FUNC(PyObject *) PyTuple_GetItem(PyObject *, Py_ssize_t);
-PyAPI_FUNC(int) PyTuple_SetItem(PyObject *, Py_ssize_t, PyObject *);
-PyAPI_FUNC(PyObject *) PyTuple_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t);
-PyAPI_FUNC(int) _PyTuple_Resize(PyObject **, Py_ssize_t);
-PyAPI_FUNC(PyObject *) PyTuple_Pack(Py_ssize_t, ...);
-PyAPI_FUNC(void) _PyTuple_MaybeUntrack(PyObject *);
-
-/* Macro, trading safety for speed */
-#define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i])
-#define PyTuple_GET_SIZE(op)    Py_SIZE(op)
-
-/* Macro, *only* to be used to fill in brand new tuples */
-#define PyTuple_SET_ITEM(op, i, v) (((PyTupleObject *)(op))->ob_item[i] = v)
-
-PyAPI_FUNC(int) PyTuple_ClearFreeList(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_TUPLEOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/ucnhash.h
--- a/test/include/python2.7/ucnhash.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,33 +0,0 @@
-/* Unicode name database interface */
-
-#ifndef Py_UCNHASH_H
-#define Py_UCNHASH_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* revised ucnhash CAPI interface (exported through a "wrapper") */
-
-#define PyUnicodeData_CAPSULE_NAME "unicodedata.ucnhash_CAPI"
-
-typedef struct {
-
-    /* Size of this struct */
-    int size;
-
-    /* Get name for a given character code.  Returns non-zero if
-       success, zero if not.  Does not set Python exceptions. 
-       If self is NULL, data come from the default version of the database.
-       If it is not NULL, it should be a unicodedata.ucd_X_Y_Z object */
-    int (*getname)(PyObject *self, Py_UCS4 code, char* buffer, int buflen);
-
-    /* Get character code for a given name.  Same error handling
-       as for getname. */
-    int (*getcode)(PyObject *self, const char* name, int namelen, Py_UCS4* code);
-
-} _PyUnicode_Name_CAPI;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_UCNHASH_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/unicodeobject.h
--- a/test/include/python2.7/unicodeobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1413 +0,0 @@\n-#ifndef Py_UNICODEOBJECT_H\n-#define Py_UNICODEOBJECT_H\n-\n-#include <stdarg.h>\n-\n-/*\n-\n-Unicode implementation based on original code by Fredrik Lundh,\n-modified by Marc-Andre Lemburg (mal@lemburg.com) according to the\n-Unicode Integration Proposal (see file Misc/unicode.txt).\n-\n-Copyright (c) Corporation for National Research Initiatives.\n-\n-\n- Original header:\n- --------------------------------------------------------------------\n-\n- * Yet another Unicode string type for Python.  This type supports the\n- * 16-bit Basic Multilingual Plane (BMP) only.\n- *\n- * Written by Fredrik Lundh, January 1999.\n- *\n- * Copyright (c) 1999 by Secret Labs AB.\n- * Copyright (c) 1999 by Fredrik Lundh.\n- *\n- * fredrik@pythonware.com\n- * http://www.pythonware.com\n- *\n- * --------------------------------------------------------------------\n- * This Unicode String Type is\n- *\n- * Copyright (c) 1999 by Secret Labs AB\n- * Copyright (c) 1999 by Fredrik Lundh\n- *\n- * By obtaining, using, and/or copying this software and/or its\n- * associated documentation, you agree that you have read, understood,\n- * and will comply with the following terms and conditions:\n- *\n- * Permission to use, copy, modify, and distribute this software and its\n- * associated documentation for any purpose and without fee is hereby\n- * granted, provided that the above copyright notice appears in all\n- * copies, and that both that copyright notice and this permission notice\n- * appear in supporting documentation, and that the name of Secret Labs\n- * AB or the author not be used in advertising or publicity pertaining to\n- * distribution of the software without specific, written prior\n- * permission.\n- *\n- * SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO\n- * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n- * FITNESS.  IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR\n- * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\n- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n- * -------------------------------------------------------------------- */\n-\n-#include <ctype.h>\n-\n-/* === Internal API ======================================================= */\n-\n-/* --- Internal Unicode Format -------------------------------------------- */\n-\n-#ifndef Py_USING_UNICODE\n-\n-#define PyUnicode_Check(op)                 0\n-#define PyUnicode_CheckExact(op)            0\n-\n-#else\n-\n-/* FIXME: MvL\'s new implementation assumes that Py_UNICODE_SIZE is\n-   properly set, but the default rules below doesn\'t set it.  I\'ll\n-   sort this out some other day -- fredrik@pythonware.com */\n-\n-#ifndef Py_UNICODE_SIZE\n-#error Must define Py_UNICODE_SIZE\n-#endif\n-\n-/* Setting Py_UNICODE_WIDE enables UCS-4 storage.  Otherwise, Unicode\n-   strings are stored as UCS-2 (with limited support for UTF-16) */\n-\n-#if Py_UNICODE_SIZE >= 4\n-#define Py_UNICODE_WIDE\n-#endif\n-\n-/* Set these flags if the platform has "wchar.h", "wctype.h" and the\n-   wchar_t type is a 16-bit unsigned type */\n-/* #define HAVE_WCHAR_H */\n-/* #define HAVE_USABLE_WCHAR_T */\n-\n-/* Defaults for various platforms */\n-#ifndef PY_UNICODE_TYPE\n-\n-/* Windows has a usable wchar_t type (unless we\'re using UCS-4) */\n-# if defined(MS_WIN32) && Py_UNICODE_SIZE == 2\n-#  define HAVE_USABLE_WCHAR_T\n-#  define PY_UNICODE_TYPE wchar_t\n-# endif\n-\n-# if defined(Py_UNICODE_WIDE)\n-#  define PY_UNICODE_TYPE Py_UCS4\n-# endif\n-\n-#endif\n-\n-/* If the compiler provides a wchar_t type we try to support it\n-   through the interface functions PyUnicode_FromWideChar() and\n-   PyUnicode_AsWideChar(). */\n-\n-#ifdef HAVE_USABLE_WCHAR_T\n-# ifndef HAVE_WCHAR_H\n-#  define HAVE_WCHAR_H\n-# endif\n-#endif\n-\n-#ifdef HAVE_WCHAR_H\n-/* Work around a cosmetic bug in BSDI 4.x wchar.h; thanks to Thomas Wouters */\n-# ifdef _HAVE_BSDI\n-#  include <time.h>\n-'..b'*/\n-    PyObject *substr,           /* Substring to find */\n-    PyObject *replstr,          /* Substring to replace */\n-    Py_ssize_t maxcount         /* Max. number of replacements to apply;\n-                                   -1 = all */\n-    );\n-\n-/* Compare two strings and return -1, 0, 1 for less than, equal,\n-   greater than resp. */\n-\n-PyAPI_FUNC(int) PyUnicode_Compare(\n-    PyObject *left,             /* Left string */\n-    PyObject *right             /* Right string */\n-    );\n-\n-/* Rich compare two strings and return one of the following:\n-\n-   - NULL in case an exception was raised\n-   - Py_True or Py_False for successfuly comparisons\n-   - Py_NotImplemented in case the type combination is unknown\n-\n-   Note that Py_EQ and Py_NE comparisons can cause a UnicodeWarning in\n-   case the conversion of the arguments to Unicode fails with a\n-   UnicodeDecodeError.\n-\n-   Possible values for op:\n-\n-     Py_GT, Py_GE, Py_EQ, Py_NE, Py_LT, Py_LE\n-\n-*/\n-\n-PyAPI_FUNC(PyObject *) PyUnicode_RichCompare(\n-    PyObject *left,             /* Left string */\n-    PyObject *right,            /* Right string */\n-    int op                      /* Operation: Py_EQ, Py_NE, Py_GT, etc. */\n-    );\n-\n-/* Apply an argument tuple or dictionary to a format string and return\n-   the resulting Unicode string. */\n-\n-PyAPI_FUNC(PyObject *) PyUnicode_Format(\n-    PyObject *format,           /* Format string */\n-    PyObject *args              /* Argument tuple or dictionary */\n-    );\n-\n-/* Checks whether element is contained in container and return 1/0\n-   accordingly.\n-\n-   element has to coerce to a one element Unicode string. -1 is\n-   returned in case of an error. */\n-\n-PyAPI_FUNC(int) PyUnicode_Contains(\n-    PyObject *container,        /* Container string */\n-    PyObject *element           /* Element string */\n-    );\n-\n-/* Externally visible for str.strip(unicode) */\n-PyAPI_FUNC(PyObject *) _PyUnicode_XStrip(\n-    PyUnicodeObject *self,\n-    int striptype,\n-    PyObject *sepobj\n-    );\n-\n-/* === Characters Type APIs =============================================== */\n-\n-/* Helper array used by Py_UNICODE_ISSPACE(). */\n-\n-PyAPI_DATA(const unsigned char) _Py_ascii_whitespace[];\n-\n-/* These should not be used directly. Use the Py_UNICODE_IS* and\n-   Py_UNICODE_TO* macros instead.\n-\n-   These APIs are implemented in Objects/unicodectype.c.\n-\n-*/\n-\n-PyAPI_FUNC(int) _PyUnicode_IsLowercase(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsUppercase(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsTitlecase(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsWhitespace(\n-    const Py_UNICODE ch         /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsLinebreak(\n-    const Py_UNICODE ch         /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(Py_UNICODE) _PyUnicode_ToLowercase(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(Py_UNICODE) _PyUnicode_ToUppercase(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(Py_UNICODE) _PyUnicode_ToTitlecase(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_ToDecimalDigit(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_ToDigit(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(double) _PyUnicode_ToNumeric(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsDecimalDigit(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsDigit(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsNumeric(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-PyAPI_FUNC(int) _PyUnicode_IsAlpha(\n-    Py_UNICODE ch       /* Unicode character */\n-    );\n-\n-#ifdef __cplusplus\n-}\n-#endif\n-#endif /* Py_USING_UNICODE */\n-#endif /* !Py_UNICODEOBJECT_H */\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/warnings.h
--- a/test/include/python2.7/warnings.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,23 +0,0 @@
-#ifndef Py_WARNINGS_H
-#define Py_WARNINGS_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(void) _PyWarnings_Init(void);
-
-PyAPI_FUNC(int) PyErr_WarnEx(PyObject *, const char *, Py_ssize_t);
-PyAPI_FUNC(int) PyErr_WarnExplicit(PyObject *, const char *, const char *, int,
-                                    const char *, PyObject *);
-
-#define PyErr_WarnPy3k(msg, stacklevel) \
-  (Py_Py3kWarningFlag ? PyErr_WarnEx(PyExc_DeprecationWarning, msg, stacklevel) : 0)
-
-/* DEPRECATED: Use PyErr_WarnEx() instead. */
-#define PyErr_Warn(category, msg) PyErr_WarnEx(category, msg, 1)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_WARNINGS_H */
-
b
diff -r b454a3fba174 -r 32a5addbbae8 test/include/python2.7/weakrefobject.h
--- a/test/include/python2.7/weakrefobject.h Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,82 +0,0 @@
-/* Weak references objects for Python. */
-
-#ifndef Py_WEAKREFOBJECT_H
-#define Py_WEAKREFOBJECT_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-typedef struct _PyWeakReference PyWeakReference;
-
-/* PyWeakReference is the base struct for the Python ReferenceType, ProxyType,
- * and CallableProxyType.
- */
-struct _PyWeakReference {
-    PyObject_HEAD
-
-    /* The object to which this is a weak reference, or Py_None if none.
-     * Note that this is a stealth reference:  wr_object's refcount is
-     * not incremented to reflect this pointer.
-     */
-    PyObject *wr_object;
-
-    /* A callable to invoke when wr_object dies, or NULL if none. */
-    PyObject *wr_callback;
-
-    /* A cache for wr_object's hash code.  As usual for hashes, this is -1
-     * if the hash code isn't known yet.
-     */
-    long hash;
-
-    /* If wr_object is weakly referenced, wr_object has a doubly-linked NULL-
-     * terminated list of weak references to it.  These are the list pointers.
-     * If wr_object goes away, wr_object is set to Py_None, and these pointers
-     * have no meaning then.
-     */
-    PyWeakReference *wr_prev;
-    PyWeakReference *wr_next;
-};
-
-PyAPI_DATA(PyTypeObject) _PyWeakref_RefType;
-PyAPI_DATA(PyTypeObject) _PyWeakref_ProxyType;
-PyAPI_DATA(PyTypeObject) _PyWeakref_CallableProxyType;
-
-#define PyWeakref_CheckRef(op) PyObject_TypeCheck(op, &_PyWeakref_RefType)
-#define PyWeakref_CheckRefExact(op) \
-        (Py_TYPE(op) == &_PyWeakref_RefType)
-#define PyWeakref_CheckProxy(op) \
-        ((Py_TYPE(op) == &_PyWeakref_ProxyType) || \
-         (Py_TYPE(op) == &_PyWeakref_CallableProxyType))
-
-#define PyWeakref_Check(op) \
-        (PyWeakref_CheckRef(op) || PyWeakref_CheckProxy(op))
-
-
-PyAPI_FUNC(PyObject *) PyWeakref_NewRef(PyObject *ob,
-                                              PyObject *callback);
-PyAPI_FUNC(PyObject *) PyWeakref_NewProxy(PyObject *ob,
-                                                PyObject *callback);
-PyAPI_FUNC(PyObject *) PyWeakref_GetObject(PyObject *ref);
-
-PyAPI_FUNC(Py_ssize_t) _PyWeakref_GetWeakrefCount(PyWeakReference *head);
-
-PyAPI_FUNC(void) _PyWeakref_ClearRef(PyWeakReference *self);
-
-/* Explanation for the Py_REFCNT() check: when a weakref's target is part
-   of a long chain of deallocations which triggers the trashcan mechanism,
-   clearing the weakrefs can be delayed long after the target's refcount
-   has dropped to zero.  In the meantime, code accessing the weakref will
-   be able to "see" the target object even though it is supposed to be
-   unreachable.  See issue #16602. */
-
-#define PyWeakref_GET_OBJECT(ref)                           \
-    (Py_REFCNT(((PyWeakReference *)(ref))->wr_object) > 0   \
-     ? ((PyWeakReference *)(ref))->wr_object                \
-     : Py_None)
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_WEAKREFOBJECT_H */
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/UserDict.py
--- a/test/lib/python2.7/UserDict.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,213 +0,0 @@
-"""A more or less complete user-defined wrapper around dictionary objects."""
-
-class UserDict:
-    def __init__(*args, **kwargs):
-        if not args:
-            raise TypeError("descriptor '__init__' of 'UserDict' object "
-                            "needs an argument")
-        self = args[0]
-        args = args[1:]
-        if len(args) > 1:
-            raise TypeError('expected at most 1 arguments, got %d' % len(args))
-        if args:
-            dict = args[0]
-        elif 'dict' in kwargs:
-            dict = kwargs.pop('dict')
-            import warnings
-            warnings.warn("Passing 'dict' as keyword argument is "
-                          "deprecated", PendingDeprecationWarning,
-                          stacklevel=2)
-        else:
-            dict = None
-        self.data = {}
-        if dict is not None:
-            self.update(dict)
-        if len(kwargs):
-            self.update(kwargs)
-    def __repr__(self): return repr(self.data)
-    def __cmp__(self, dict):
-        if isinstance(dict, UserDict):
-            return cmp(self.data, dict.data)
-        else:
-            return cmp(self.data, dict)
-    __hash__ = None # Avoid Py3k warning
-    def __len__(self): return len(self.data)
-    def __getitem__(self, key):
-        if key in self.data:
-            return self.data[key]
-        if hasattr(self.__class__, "__missing__"):
-            return self.__class__.__missing__(self, key)
-        raise KeyError(key)
-    def __setitem__(self, key, item): self.data[key] = item
-    def __delitem__(self, key): del self.data[key]
-    def clear(self): self.data.clear()
-    def copy(self):
-        if self.__class__ is UserDict:
-            return UserDict(self.data.copy())
-        import copy
-        data = self.data
-        try:
-            self.data = {}
-            c = copy.copy(self)
-        finally:
-            self.data = data
-        c.update(self)
-        return c
-    def keys(self): return self.data.keys()
-    def items(self): return self.data.items()
-    def iteritems(self): return self.data.iteritems()
-    def iterkeys(self): return self.data.iterkeys()
-    def itervalues(self): return self.data.itervalues()
-    def values(self): return self.data.values()
-    def has_key(self, key): return key in self.data
-    def update(*args, **kwargs):
-        if not args:
-            raise TypeError("descriptor 'update' of 'UserDict' object "
-                            "needs an argument")
-        self = args[0]
-        args = args[1:]
-        if len(args) > 1:
-            raise TypeError('expected at most 1 arguments, got %d' % len(args))
-        if args:
-            dict = args[0]
-        elif 'dict' in kwargs:
-            dict = kwargs.pop('dict')
-            import warnings
-            warnings.warn("Passing 'dict' as keyword argument is deprecated",
-                          PendingDeprecationWarning, stacklevel=2)
-        else:
-            dict = None
-        if dict is None:
-            pass
-        elif isinstance(dict, UserDict):
-            self.data.update(dict.data)
-        elif isinstance(dict, type({})) or not hasattr(dict, 'items'):
-            self.data.update(dict)
-        else:
-            for k, v in dict.items():
-                self[k] = v
-        if len(kwargs):
-            self.data.update(kwargs)
-    def get(self, key, failobj=None):
-        if key not in self:
-            return failobj
-        return self[key]
-    def setdefault(self, key, failobj=None):
-        if key not in self:
-            self[key] = failobj
-        return self[key]
-    def pop(self, key, *args):
-        return self.data.pop(key, *args)
-    def popitem(self):
-        return self.data.popitem()
-    def __contains__(self, key):
-        return key in self.data
-    @classmethod
-    def fromkeys(cls, iterable, value=None):
-        d = cls()
-        for key in iterable:
-            d[key] = value
-        return d
-
-class IterableUserDict(UserDict):
-    def __iter__(self):
-        return iter(self.data)
-
-import _abcoll
-_abcoll.MutableMapping.register(IterableUserDict)
-
-
-class DictMixin:
-    # Mixin defining all dictionary methods for classes that already have
-    # a minimum dictionary interface including getitem, setitem, delitem,
-    # and keys. Without knowledge of the subclass constructor, the mixin
-    # does not define __init__() or copy().  In addition to the four base
-    # methods, progressively more efficiency comes with defining
-    # __contains__(), __iter__(), and iteritems().
-
-    # second level definitions support higher levels
-    def __iter__(self):
-        for k in self.keys():
-            yield k
-    def has_key(self, key):
-        try:
-            self[key]
-        except KeyError:
-            return False
-        return True
-    def __contains__(self, key):
-        return self.has_key(key)
-
-    # third level takes advantage of second level definitions
-    def iteritems(self):
-        for k in self:
-            yield (k, self[k])
-    def iterkeys(self):
-        return self.__iter__()
-
-    # fourth level uses definitions from lower levels
-    def itervalues(self):
-        for _, v in self.iteritems():
-            yield v
-    def values(self):
-        return [v for _, v in self.iteritems()]
-    def items(self):
-        return list(self.iteritems())
-    def clear(self):
-        for key in self.keys():
-            del self[key]
-    def setdefault(self, key, default=None):
-        try:
-            return self[key]
-        except KeyError:
-            self[key] = default
-        return default
-    def pop(self, key, *args):
-        if len(args) > 1:
-            raise TypeError, "pop expected at most 2 arguments, got "\
-                              + repr(1 + len(args))
-        try:
-            value = self[key]
-        except KeyError:
-            if args:
-                return args[0]
-            raise
-        del self[key]
-        return value
-    def popitem(self):
-        try:
-            k, v = self.iteritems().next()
-        except StopIteration:
-            raise KeyError, 'container is empty'
-        del self[k]
-        return (k, v)
-    def update(self, other=None, **kwargs):
-        # Make progressively weaker assumptions about "other"
-        if other is None:
-            pass
-        elif hasattr(other, 'iteritems'):  # iteritems saves memory and lookups
-            for k, v in other.iteritems():
-                self[k] = v
-        elif hasattr(other, 'keys'):
-            for k in other.keys():
-                self[k] = other[k]
-        else:
-            for k, v in other:
-                self[k] = v
-        if kwargs:
-            self.update(kwargs)
-    def get(self, key, default=None):
-        try:
-            return self[key]
-        except KeyError:
-            return default
-    def __repr__(self):
-        return repr(dict(self.iteritems()))
-    def __cmp__(self, other):
-        if other is None:
-            return 1
-        if isinstance(other, DictMixin):
-            other = dict(other.iteritems())
-        return cmp(dict(self.iteritems()), other)
-    def __len__(self):
-        return len(self.keys())
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/UserDict.pyc
b
Binary file test/lib/python2.7/UserDict.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/_abcoll.py
--- a/test/lib/python2.7/_abcoll.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,695 +0,0 @@\n-# Copyright 2007 Google, Inc. All Rights Reserved.\n-# Licensed to PSF under a Contributor Agreement.\n-\n-"""Abstract Base Classes (ABCs) for collections, according to PEP 3119.\n-\n-DON\'T USE THIS MODULE DIRECTLY!  The classes here should be imported\n-via collections; they are defined here only to alleviate certain\n-bootstrapping issues.  Unit tests are in test_collections.\n-"""\n-\n-from abc import ABCMeta, abstractmethod\n-import sys\n-\n-__all__ = ["Hashable", "Iterable", "Iterator",\n-           "Sized", "Container", "Callable",\n-           "Set", "MutableSet",\n-           "Mapping", "MutableMapping",\n-           "MappingView", "KeysView", "ItemsView", "ValuesView",\n-           "Sequence", "MutableSequence",\n-           ]\n-\n-### ONE-TRICK PONIES ###\n-\n-def _hasattr(C, attr):\n-    try:\n-        return any(attr in B.__dict__ for B in C.__mro__)\n-    except AttributeError:\n-        # Old-style class\n-        return hasattr(C, attr)\n-\n-\n-class Hashable:\n-    __metaclass__ = ABCMeta\n-\n-    @abstractmethod\n-    def __hash__(self):\n-        return 0\n-\n-    @classmethod\n-    def __subclasshook__(cls, C):\n-        if cls is Hashable:\n-            try:\n-                for B in C.__mro__:\n-                    if "__hash__" in B.__dict__:\n-                        if B.__dict__["__hash__"]:\n-                            return True\n-                        break\n-            except AttributeError:\n-                # Old-style class\n-                if getattr(C, "__hash__", None):\n-                    return True\n-        return NotImplemented\n-\n-\n-class Iterable:\n-    __metaclass__ = ABCMeta\n-\n-    @abstractmethod\n-    def __iter__(self):\n-        while False:\n-            yield None\n-\n-    @classmethod\n-    def __subclasshook__(cls, C):\n-        if cls is Iterable:\n-            if _hasattr(C, "__iter__"):\n-                return True\n-        return NotImplemented\n-\n-Iterable.register(str)\n-\n-\n-class Iterator(Iterable):\n-\n-    @abstractmethod\n-    def next(self):\n-        \'Return the next item from the iterator. When exhausted, raise StopIteration\'\n-        raise StopIteration\n-\n-    def __iter__(self):\n-        return self\n-\n-    @classmethod\n-    def __subclasshook__(cls, C):\n-        if cls is Iterator:\n-            if _hasattr(C, "next") and _hasattr(C, "__iter__"):\n-                return True\n-        return NotImplemented\n-\n-\n-class Sized:\n-    __metaclass__ = ABCMeta\n-\n-    @abstractmethod\n-    def __len__(self):\n-        return 0\n-\n-    @classmethod\n-    def __subclasshook__(cls, C):\n-        if cls is Sized:\n-            if _hasattr(C, "__len__"):\n-                return True\n-        return NotImplemented\n-\n-\n-class Container:\n-    __metaclass__ = ABCMeta\n-\n-    @abstractmethod\n-    def __contains__(self, x):\n-        return False\n-\n-    @classmethod\n-    def __subclasshook__(cls, C):\n-        if cls is Container:\n-            if _hasattr(C, "__contains__"):\n-                return True\n-        return NotImplemented\n-\n-\n-class Callable:\n-    __metaclass__ = ABCMeta\n-\n-    @abstractmethod\n-    def __call__(self, *args, **kwds):\n-        return False\n-\n-    @classmethod\n-    def __subclasshook__(cls, C):\n-        if cls is Callable:\n-            if _hasattr(C, "__call__"):\n-                return True\n-        return NotImplemented\n-\n-\n-### SETS ###\n-\n-\n-class Set(Sized, Iterable, Container):\n-    """A set is a finite, iterable container.\n-\n-    This class provides concrete generic implementations of all\n-    methods except for __contains__, __iter__ and __len__.\n-\n-    To override the comparisons (presumably for speed, as the\n-    semantics are fixed), redefine __le__ and __ge__,\n-    then the other operations will automatically follow suit.\n-    """\n-\n-    def __le__(self, other):\n-        if not isinstance(other, Set):\n-            return NotImplemented\n-        if len(self) > len(other):\n-            return False\n-        for elem in self:\n-            if elem not in other:\n-                return False\n-    '..b'tableMapping\' object "\n-                            "needs an argument")\n-        self = args[0]\n-        args = args[1:]\n-        if len(args) > 1:\n-            raise TypeError(\'update expected at most 1 arguments, got %d\' %\n-                            len(args))\n-        if args:\n-            other = args[0]\n-            if isinstance(other, Mapping):\n-                for key in other:\n-                    self[key] = other[key]\n-            elif hasattr(other, "keys"):\n-                for key in other.keys():\n-                    self[key] = other[key]\n-            else:\n-                for key, value in other:\n-                    self[key] = value\n-        for key, value in kwds.items():\n-            self[key] = value\n-\n-    def setdefault(self, key, default=None):\n-        \'D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D\'\n-        try:\n-            return self[key]\n-        except KeyError:\n-            self[key] = default\n-        return default\n-\n-MutableMapping.register(dict)\n-\n-\n-### SEQUENCES ###\n-\n-\n-class Sequence(Sized, Iterable, Container):\n-    """All the operations on a read-only sequence.\n-\n-    Concrete subclasses must override __new__ or __init__,\n-    __getitem__, and __len__.\n-    """\n-\n-    @abstractmethod\n-    def __getitem__(self, index):\n-        raise IndexError\n-\n-    def __iter__(self):\n-        i = 0\n-        try:\n-            while True:\n-                v = self[i]\n-                yield v\n-                i += 1\n-        except IndexError:\n-            return\n-\n-    def __contains__(self, value):\n-        for v in self:\n-            if v == value:\n-                return True\n-        return False\n-\n-    def __reversed__(self):\n-        for i in reversed(range(len(self))):\n-            yield self[i]\n-\n-    def index(self, value):\n-        \'\'\'S.index(value) -> integer -- return first index of value.\n-           Raises ValueError if the value is not present.\n-        \'\'\'\n-        for i, v in enumerate(self):\n-            if v == value:\n-                return i\n-        raise ValueError\n-\n-    def count(self, value):\n-        \'S.count(value) -> integer -- return number of occurrences of value\'\n-        return sum(1 for v in self if v == value)\n-\n-Sequence.register(tuple)\n-Sequence.register(basestring)\n-Sequence.register(buffer)\n-Sequence.register(xrange)\n-\n-\n-class MutableSequence(Sequence):\n-\n-    """All the operations on a read-only sequence.\n-\n-    Concrete subclasses must provide __new__ or __init__,\n-    __getitem__, __setitem__, __delitem__, __len__, and insert().\n-\n-    """\n-\n-    @abstractmethod\n-    def __setitem__(self, index, value):\n-        raise IndexError\n-\n-    @abstractmethod\n-    def __delitem__(self, index):\n-        raise IndexError\n-\n-    @abstractmethod\n-    def insert(self, index, value):\n-        \'S.insert(index, object) -- insert object before index\'\n-        raise IndexError\n-\n-    def append(self, value):\n-        \'S.append(object) -- append object to the end of the sequence\'\n-        self.insert(len(self), value)\n-\n-    def reverse(self):\n-        \'S.reverse() -- reverse *IN PLACE*\'\n-        n = len(self)\n-        for i in range(n//2):\n-            self[i], self[n-i-1] = self[n-i-1], self[i]\n-\n-    def extend(self, values):\n-        \'S.extend(iterable) -- extend sequence by appending elements from the iterable\'\n-        for v in values:\n-            self.append(v)\n-\n-    def pop(self, index=-1):\n-        \'\'\'S.pop([index]) -> item -- remove and return item at index (default last).\n-           Raise IndexError if list is empty or index is out of range.\n-        \'\'\'\n-        v = self[index]\n-        del self[index]\n-        return v\n-\n-    def remove(self, value):\n-        \'\'\'S.remove(value) -- remove first occurrence of value.\n-           Raise ValueError if the value is not present.\n-        \'\'\'\n-        del self[self.index(value)]\n-\n-    def __iadd__(self, values):\n-        self.extend(values)\n-        return self\n-\n-MutableSequence.register(list)\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/_abcoll.pyc
b
Binary file test/lib/python2.7/_abcoll.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/_weakrefset.py
--- a/test/lib/python2.7/_weakrefset.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,204 +0,0 @@
-# Access WeakSet through the weakref module.
-# This code is separated-out because it is needed
-# by abc.py to load everything else at startup.
-
-from _weakref import ref
-
-__all__ = ['WeakSet']
-
-
-class _IterationGuard(object):
-    # This context manager registers itself in the current iterators of the
-    # weak container, such as to delay all removals until the context manager
-    # exits.
-    # This technique should be relatively thread-safe (since sets are).
-
-    def __init__(self, weakcontainer):
-        # Don't create cycles
-        self.weakcontainer = ref(weakcontainer)
-
-    def __enter__(self):
-        w = self.weakcontainer()
-        if w is not None:
-            w._iterating.add(self)
-        return self
-
-    def __exit__(self, e, t, b):
-        w = self.weakcontainer()
-        if w is not None:
-            s = w._iterating
-            s.remove(self)
-            if not s:
-                w._commit_removals()
-
-
-class WeakSet(object):
-    def __init__(self, data=None):
-        self.data = set()
-        def _remove(item, selfref=ref(self)):
-            self = selfref()
-            if self is not None:
-                if self._iterating:
-                    self._pending_removals.append(item)
-                else:
-                    self.data.discard(item)
-        self._remove = _remove
-        # A list of keys to be removed
-        self._pending_removals = []
-        self._iterating = set()
-        if data is not None:
-            self.update(data)
-
-    def _commit_removals(self):
-        l = self._pending_removals
-        discard = self.data.discard
-        while l:
-            discard(l.pop())
-
-    def __iter__(self):
-        with _IterationGuard(self):
-            for itemref in self.data:
-                item = itemref()
-                if item is not None:
-                    # Caveat: the iterator will keep a strong reference to
-                    # `item` until it is resumed or closed.
-                    yield item
-
-    def __len__(self):
-        return len(self.data) - len(self._pending_removals)
-
-    def __contains__(self, item):
-        try:
-            wr = ref(item)
-        except TypeError:
-            return False
-        return wr in self.data
-
-    def __reduce__(self):
-        return (self.__class__, (list(self),),
-                getattr(self, '__dict__', None))
-
-    __hash__ = None
-
-    def add(self, item):
-        if self._pending_removals:
-            self._commit_removals()
-        self.data.add(ref(item, self._remove))
-
-    def clear(self):
-        if self._pending_removals:
-            self._commit_removals()
-        self.data.clear()
-
-    def copy(self):
-        return self.__class__(self)
-
-    def pop(self):
-        if self._pending_removals:
-            self._commit_removals()
-        while True:
-            try:
-                itemref = self.data.pop()
-            except KeyError:
-                raise KeyError('pop from empty WeakSet')
-            item = itemref()
-            if item is not None:
-                return item
-
-    def remove(self, item):
-        if self._pending_removals:
-            self._commit_removals()
-        self.data.remove(ref(item))
-
-    def discard(self, item):
-        if self._pending_removals:
-            self._commit_removals()
-        self.data.discard(ref(item))
-
-    def update(self, other):
-        if self._pending_removals:
-            self._commit_removals()
-        for element in other:
-            self.add(element)
-
-    def __ior__(self, other):
-        self.update(other)
-        return self
-
-    def difference(self, other):
-        newset = self.copy()
-        newset.difference_update(other)
-        return newset
-    __sub__ = difference
-
-    def difference_update(self, other):
-        self.__isub__(other)
-    def __isub__(self, other):
-        if self._pending_removals:
-            self._commit_removals()
-        if self is other:
-            self.data.clear()
-        else:
-            self.data.difference_update(ref(item) for item in other)
-        return self
-
-    def intersection(self, other):
-        return self.__class__(item for item in other if item in self)
-    __and__ = intersection
-
-    def intersection_update(self, other):
-        self.__iand__(other)
-    def __iand__(self, other):
-        if self._pending_removals:
-            self._commit_removals()
-        self.data.intersection_update(ref(item) for item in other)
-        return self
-
-    def issubset(self, other):
-        return self.data.issubset(ref(item) for item in other)
-    __le__ = issubset
-
-    def __lt__(self, other):
-        return self.data < set(ref(item) for item in other)
-
-    def issuperset(self, other):
-        return self.data.issuperset(ref(item) for item in other)
-    __ge__ = issuperset
-
-    def __gt__(self, other):
-        return self.data > set(ref(item) for item in other)
-
-    def __eq__(self, other):
-        if not isinstance(other, self.__class__):
-            return NotImplemented
-        return self.data == set(ref(item) for item in other)
-
-    def __ne__(self, other):
-        opposite = self.__eq__(other)
-        if opposite is NotImplemented:
-            return NotImplemented
-        return not opposite
-
-    def symmetric_difference(self, other):
-        newset = self.copy()
-        newset.symmetric_difference_update(other)
-        return newset
-    __xor__ = symmetric_difference
-
-    def symmetric_difference_update(self, other):
-        self.__ixor__(other)
-    def __ixor__(self, other):
-        if self._pending_removals:
-            self._commit_removals()
-        if self is other:
-            self.data.clear()
-        else:
-            self.data.symmetric_difference_update(ref(item, self._remove) for item in other)
-        return self
-
-    def union(self, other):
-        return self.__class__(e for s in (self, other) for e in s)
-    __or__ = union
-
-    def isdisjoint(self, other):
-        return len(self.intersection(other)) == 0
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/_weakrefset.pyc
b
Binary file test/lib/python2.7/_weakrefset.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/abc.py
--- a/test/lib/python2.7/abc.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,185 +0,0 @@
-# Copyright 2007 Google, Inc. All Rights Reserved.
-# Licensed to PSF under a Contributor Agreement.
-
-"""Abstract Base Classes (ABCs) according to PEP 3119."""
-
-import types
-
-from _weakrefset import WeakSet
-
-# Instance of old-style class
-class _C: pass
-_InstanceType = type(_C())
-
-
-def abstractmethod(funcobj):
-    """A decorator indicating abstract methods.
-
-    Requires that the metaclass is ABCMeta or derived from it.  A
-    class that has a metaclass derived from ABCMeta cannot be
-    instantiated unless all of its abstract methods are overridden.
-    The abstract methods can be called using any of the normal
-    'super' call mechanisms.
-
-    Usage:
-
-        class C:
-            __metaclass__ = ABCMeta
-            @abstractmethod
-            def my_abstract_method(self, ...):
-                ...
-    """
-    funcobj.__isabstractmethod__ = True
-    return funcobj
-
-
-class abstractproperty(property):
-    """A decorator indicating abstract properties.
-
-    Requires that the metaclass is ABCMeta or derived from it.  A
-    class that has a metaclass derived from ABCMeta cannot be
-    instantiated unless all of its abstract properties are overridden.
-    The abstract properties can be called using any of the normal
-    'super' call mechanisms.
-
-    Usage:
-
-        class C:
-            __metaclass__ = ABCMeta
-            @abstractproperty
-            def my_abstract_property(self):
-                ...
-
-    This defines a read-only property; you can also define a read-write
-    abstract property using the 'long' form of property declaration:
-
-        class C:
-            __metaclass__ = ABCMeta
-            def getx(self): ...
-            def setx(self, value): ...
-            x = abstractproperty(getx, setx)
-    """
-    __isabstractmethod__ = True
-
-
-class ABCMeta(type):
-
-    """Metaclass for defining Abstract Base Classes (ABCs).
-
-    Use this metaclass to create an ABC.  An ABC can be subclassed
-    directly, and then acts as a mix-in class.  You can also register
-    unrelated concrete classes (even built-in classes) and unrelated
-    ABCs as 'virtual subclasses' -- these and their descendants will
-    be considered subclasses of the registering ABC by the built-in
-    issubclass() function, but the registering ABC won't show up in
-    their MRO (Method Resolution Order) nor will method
-    implementations defined by the registering ABC be callable (not
-    even via super()).
-
-    """
-
-    # A global counter that is incremented each time a class is
-    # registered as a virtual subclass of anything.  It forces the
-    # negative cache to be cleared before its next use.
-    _abc_invalidation_counter = 0
-
-    def __new__(mcls, name, bases, namespace):
-        cls = super(ABCMeta, mcls).__new__(mcls, name, bases, namespace)
-        # Compute set of abstract method names
-        abstracts = set(name
-                     for name, value in namespace.items()
-                     if getattr(value, "__isabstractmethod__", False))
-        for base in bases:
-            for name in getattr(base, "__abstractmethods__", set()):
-                value = getattr(cls, name, None)
-                if getattr(value, "__isabstractmethod__", False):
-                    abstracts.add(name)
-        cls.__abstractmethods__ = frozenset(abstracts)
-        # Set up inheritance registry
-        cls._abc_registry = WeakSet()
-        cls._abc_cache = WeakSet()
-        cls._abc_negative_cache = WeakSet()
-        cls._abc_negative_cache_version = ABCMeta._abc_invalidation_counter
-        return cls
-
-    def register(cls, subclass):
-        """Register a virtual subclass of an ABC."""
-        if not isinstance(subclass, (type, types.ClassType)):
-            raise TypeError("Can only register classes")
-        if issubclass(subclass, cls):
-            return  # Already a subclass
-        # Subtle: test for cycles *after* testing for "already a subclass";
-        # this means we allow X.register(X) and interpret it as a no-op.
-        if issubclass(cls, subclass):
-            # This would create a cycle, which is bad for the algorithm below
-            raise RuntimeError("Refusing to create an inheritance cycle")
-        cls._abc_registry.add(subclass)
-        ABCMeta._abc_invalidation_counter += 1  # Invalidate negative cache
-
-    def _dump_registry(cls, file=None):
-        """Debug helper to print the ABC registry."""
-        print >> file, "Class: %s.%s" % (cls.__module__, cls.__name__)
-        print >> file, "Inv.counter: %s" % ABCMeta._abc_invalidation_counter
-        for name in sorted(cls.__dict__.keys()):
-            if name.startswith("_abc_"):
-                value = getattr(cls, name)
-                print >> file, "%s: %r" % (name, value)
-
-    def __instancecheck__(cls, instance):
-        """Override for isinstance(instance, cls)."""
-        # Inline the cache checking when it's simple.
-        subclass = getattr(instance, '__class__', None)
-        if subclass is not None and subclass in cls._abc_cache:
-            return True
-        subtype = type(instance)
-        # Old-style instances
-        if subtype is _InstanceType:
-            subtype = subclass
-        if subtype is subclass or subclass is None:
-            if (cls._abc_negative_cache_version ==
-                ABCMeta._abc_invalidation_counter and
-                subtype in cls._abc_negative_cache):
-                return False
-            # Fall back to the subclass check.
-            return cls.__subclasscheck__(subtype)
-        return (cls.__subclasscheck__(subclass) or
-                cls.__subclasscheck__(subtype))
-
-    def __subclasscheck__(cls, subclass):
-        """Override for issubclass(subclass, cls)."""
-        # Check cache
-        if subclass in cls._abc_cache:
-            return True
-        # Check negative cache; may have to invalidate
-        if cls._abc_negative_cache_version < ABCMeta._abc_invalidation_counter:
-            # Invalidate the negative cache
-            cls._abc_negative_cache = WeakSet()
-            cls._abc_negative_cache_version = ABCMeta._abc_invalidation_counter
-        elif subclass in cls._abc_negative_cache:
-            return False
-        # Check the subclass hook
-        ok = cls.__subclasshook__(subclass)
-        if ok is not NotImplemented:
-            assert isinstance(ok, bool)
-            if ok:
-                cls._abc_cache.add(subclass)
-            else:
-                cls._abc_negative_cache.add(subclass)
-            return ok
-        # Check if it's a direct subclass
-        if cls in getattr(subclass, '__mro__', ()):
-            cls._abc_cache.add(subclass)
-            return True
-        # Check if it's a subclass of a registered class (recursive)
-        for rcls in cls._abc_registry:
-            if issubclass(subclass, rcls):
-                cls._abc_cache.add(subclass)
-                return True
-        # Check if it's a subclass of a subclass (recursive)
-        for scls in cls.__subclasses__():
-            if issubclass(subclass, scls):
-                cls._abc_cache.add(subclass)
-                return True
-        # No dice; update negative cache
-        cls._abc_negative_cache.add(subclass)
-        return False
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/abc.pyc
b
Binary file test/lib/python2.7/abc.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/codecs.py
--- a/test/lib/python2.7/codecs.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1113 +0,0 @@\n-""" codecs -- Python Codec Registry, API and helpers.\n-\n-\n-Written by Marc-Andre Lemburg (mal@lemburg.com).\n-\n-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.\n-\n-"""#"\n-\n-import __builtin__, sys\n-\n-### Registry and builtin stateless codec functions\n-\n-try:\n-    from _codecs import *\n-except ImportError, why:\n-    raise SystemError(\'Failed to load the builtin codecs: %s\' % why)\n-\n-__all__ = ["register", "lookup", "open", "EncodedFile", "BOM", "BOM_BE",\n-           "BOM_LE", "BOM32_BE", "BOM32_LE", "BOM64_BE", "BOM64_LE",\n-           "BOM_UTF8", "BOM_UTF16", "BOM_UTF16_LE", "BOM_UTF16_BE",\n-           "BOM_UTF32", "BOM_UTF32_LE", "BOM_UTF32_BE",\n-           "CodecInfo", "Codec", "IncrementalEncoder", "IncrementalDecoder",\n-           "StreamReader", "StreamWriter",\n-           "StreamReaderWriter", "StreamRecoder",\n-           "getencoder", "getdecoder", "getincrementalencoder",\n-           "getincrementaldecoder", "getreader", "getwriter",\n-           "encode", "decode", "iterencode", "iterdecode",\n-           "strict_errors", "ignore_errors", "replace_errors",\n-           "xmlcharrefreplace_errors", "backslashreplace_errors",\n-           "register_error", "lookup_error"]\n-\n-### Constants\n-\n-#\n-# Byte Order Mark (BOM = ZERO WIDTH NO-BREAK SPACE = U+FEFF)\n-# and its possible byte string values\n-# for UTF8/UTF16/UTF32 output and little/big endian machines\n-#\n-\n-# UTF-8\n-BOM_UTF8 = \'\\xef\\xbb\\xbf\'\n-\n-# UTF-16, little endian\n-BOM_LE = BOM_UTF16_LE = \'\\xff\\xfe\'\n-\n-# UTF-16, big endian\n-BOM_BE = BOM_UTF16_BE = \'\\xfe\\xff\'\n-\n-# UTF-32, little endian\n-BOM_UTF32_LE = \'\\xff\\xfe\\x00\\x00\'\n-\n-# UTF-32, big endian\n-BOM_UTF32_BE = \'\\x00\\x00\\xfe\\xff\'\n-\n-if sys.byteorder == \'little\':\n-\n-    # UTF-16, native endianness\n-    BOM = BOM_UTF16 = BOM_UTF16_LE\n-\n-    # UTF-32, native endianness\n-    BOM_UTF32 = BOM_UTF32_LE\n-\n-else:\n-\n-    # UTF-16, native endianness\n-    BOM = BOM_UTF16 = BOM_UTF16_BE\n-\n-    # UTF-32, native endianness\n-    BOM_UTF32 = BOM_UTF32_BE\n-\n-# Old broken names (don\'t use in new code)\n-BOM32_LE = BOM_UTF16_LE\n-BOM32_BE = BOM_UTF16_BE\n-BOM64_LE = BOM_UTF32_LE\n-BOM64_BE = BOM_UTF32_BE\n-\n-\n-### Codec base classes (defining the API)\n-\n-class CodecInfo(tuple):\n-    """Codec details when looking up the codec registry"""\n-\n-    # Private API to allow Python to blacklist the known non-Unicode\n-    # codecs in the standard library. A more general mechanism to\n-    # reliably distinguish test encodings from other codecs will hopefully\n-    # be defined for Python 3.5\n-    #\n-    # See http://bugs.python.org/issue19619\n-    _is_text_encoding = True # Assume codecs are text encodings by default\n-\n-    def __new__(cls, encode, decode, streamreader=None, streamwriter=None,\n-        incrementalencoder=None, incrementaldecoder=None, name=None,\n-        _is_text_encoding=None):\n-        self = tuple.__new__(cls, (encode, decode, streamreader, streamwriter))\n-        self.name = name\n-        self.encode = encode\n-        self.decode = decode\n-        self.incrementalencoder = incrementalencoder\n-        self.incrementaldecoder = incrementaldecoder\n-        self.streamwriter = streamwriter\n-        self.streamreader = streamreader\n-        if _is_text_encoding is not None:\n-            self._is_text_encoding = _is_text_encoding\n-        return self\n-\n-    def __repr__(self):\n-        return "<%s.%s object for encoding %s at 0x%x>" % (self.__class__.__module__, self.__class__.__name__, self.name, id(self))\n-\n-class Codec:\n-\n-    """ Defines the interface for stateless encoders/decoders.\n-\n-        The .encode()/.decode() methods may use different error\n-        handling schemes by providing the errors argument. These\n-        string values are predefined:\n-\n-         \'strict\' - raise a ValueError error (or a subclass)\n-         \'ignore\' - ignore the character and continue with the next\n-         \'replace\' - replace with a suitable replacement character;\n-                    Python will use the official U+FFFD REPLACEME'..b'(encoding).incrementalencoder\n-    if encoder is None:\n-        raise LookupError(encoding)\n-    return encoder\n-\n-def getincrementaldecoder(encoding):\n-\n-    """ Lookup up the codec for the given encoding and return\n-        its IncrementalDecoder class or factory function.\n-\n-        Raises a LookupError in case the encoding cannot be found\n-        or the codecs doesn\'t provide an incremental decoder.\n-\n-    """\n-    decoder = lookup(encoding).incrementaldecoder\n-    if decoder is None:\n-        raise LookupError(encoding)\n-    return decoder\n-\n-def getreader(encoding):\n-\n-    """ Lookup up the codec for the given encoding and return\n-        its StreamReader class or factory function.\n-\n-        Raises a LookupError in case the encoding cannot be found.\n-\n-    """\n-    return lookup(encoding).streamreader\n-\n-def getwriter(encoding):\n-\n-    """ Lookup up the codec for the given encoding and return\n-        its StreamWriter class or factory function.\n-\n-        Raises a LookupError in case the encoding cannot be found.\n-\n-    """\n-    return lookup(encoding).streamwriter\n-\n-def iterencode(iterator, encoding, errors=\'strict\', **kwargs):\n-    """\n-    Encoding iterator.\n-\n-    Encodes the input strings from the iterator using a IncrementalEncoder.\n-\n-    errors and kwargs are passed through to the IncrementalEncoder\n-    constructor.\n-    """\n-    encoder = getincrementalencoder(encoding)(errors, **kwargs)\n-    for input in iterator:\n-        output = encoder.encode(input)\n-        if output:\n-            yield output\n-    output = encoder.encode("", True)\n-    if output:\n-        yield output\n-\n-def iterdecode(iterator, encoding, errors=\'strict\', **kwargs):\n-    """\n-    Decoding iterator.\n-\n-    Decodes the input strings from the iterator using a IncrementalDecoder.\n-\n-    errors and kwargs are passed through to the IncrementalDecoder\n-    constructor.\n-    """\n-    decoder = getincrementaldecoder(encoding)(errors, **kwargs)\n-    for input in iterator:\n-        output = decoder.decode(input)\n-        if output:\n-            yield output\n-    output = decoder.decode("", True)\n-    if output:\n-        yield output\n-\n-### Helpers for charmap-based codecs\n-\n-def make_identity_dict(rng):\n-\n-    """ make_identity_dict(rng) -> dict\n-\n-        Return a dictionary where elements of the rng sequence are\n-        mapped to themselves.\n-\n-    """\n-    res = {}\n-    for i in rng:\n-        res[i]=i\n-    return res\n-\n-def make_encoding_map(decoding_map):\n-\n-    """ Creates an encoding map from a decoding map.\n-\n-        If a target mapping in the decoding map occurs multiple\n-        times, then that target is mapped to None (undefined mapping),\n-        causing an exception when encountered by the charmap codec\n-        during translation.\n-\n-        One example where this happens is cp875.py which decodes\n-        multiple character to \\\\u001a.\n-\n-    """\n-    m = {}\n-    for k,v in decoding_map.items():\n-        if not v in m:\n-            m[v] = k\n-        else:\n-            m[v] = None\n-    return m\n-\n-### error handlers\n-\n-try:\n-    strict_errors = lookup_error("strict")\n-    ignore_errors = lookup_error("ignore")\n-    replace_errors = lookup_error("replace")\n-    xmlcharrefreplace_errors = lookup_error("xmlcharrefreplace")\n-    backslashreplace_errors = lookup_error("backslashreplace")\n-except LookupError:\n-    # In --disable-unicode builds, these error handler are missing\n-    strict_errors = None\n-    ignore_errors = None\n-    replace_errors = None\n-    xmlcharrefreplace_errors = None\n-    backslashreplace_errors = None\n-\n-# Tell modulefinder that using codecs probably needs the encodings\n-# package\n-_false = 0\n-if _false:\n-    import encodings\n-\n-### Tests\n-\n-if __name__ == \'__main__\':\n-\n-    # Make stdout translate Latin-1 output into UTF-8 output\n-    sys.stdout = EncodedFile(sys.stdout, \'latin-1\', \'utf-8\')\n-\n-    # Have stdin translate Latin-1 input into UTF-8 input\n-    sys.stdin = EncodedFile(sys.stdin, \'utf-8\', \'latin-1\')\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/codecs.pyc
b
Binary file test/lib/python2.7/codecs.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/copy_reg.py
--- a/test/lib/python2.7/copy_reg.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,201 +0,0 @@
-"""Helper to provide extensibility for pickle/cPickle.
-
-This is only useful to add pickle support for extension types defined in
-C, not for instances of user-defined classes.
-"""
-
-from types import ClassType as _ClassType
-
-__all__ = ["pickle", "constructor",
-           "add_extension", "remove_extension", "clear_extension_cache"]
-
-dispatch_table = {}
-
-def pickle(ob_type, pickle_function, constructor_ob=None):
-    if type(ob_type) is _ClassType:
-        raise TypeError("copy_reg is not intended for use with classes")
-
-    if not hasattr(pickle_function, '__call__'):
-        raise TypeError("reduction functions must be callable")
-    dispatch_table[ob_type] = pickle_function
-
-    # The constructor_ob function is a vestige of safe for unpickling.
-    # There is no reason for the caller to pass it anymore.
-    if constructor_ob is not None:
-        constructor(constructor_ob)
-
-def constructor(object):
-    if not hasattr(object, '__call__'):
-        raise TypeError("constructors must be callable")
-
-# Example: provide pickling support for complex numbers.
-
-try:
-    complex
-except NameError:
-    pass
-else:
-
-    def pickle_complex(c):
-        return complex, (c.real, c.imag)
-
-    pickle(complex, pickle_complex, complex)
-
-# Support for pickling new-style objects
-
-def _reconstructor(cls, base, state):
-    if base is object:
-        obj = object.__new__(cls)
-    else:
-        obj = base.__new__(cls, state)
-        if base.__init__ != object.__init__:
-            base.__init__(obj, state)
-    return obj
-
-_HEAPTYPE = 1<<9
-
-# Python code for object.__reduce_ex__ for protocols 0 and 1
-
-def _reduce_ex(self, proto):
-    assert proto < 2
-    for base in self.__class__.__mro__:
-        if hasattr(base, '__flags__') and not base.__flags__ & _HEAPTYPE:
-            break
-    else:
-        base = object # not really reachable
-    if base is object:
-        state = None
-    else:
-        if base is self.__class__:
-            raise TypeError, "can't pickle %s objects" % base.__name__
-        state = base(self)
-    args = (self.__class__, base, state)
-    try:
-        getstate = self.__getstate__
-    except AttributeError:
-        if getattr(self, "__slots__", None):
-            raise TypeError("a class that defines __slots__ without "
-                            "defining __getstate__ cannot be pickled")
-        try:
-            dict = self.__dict__
-        except AttributeError:
-            dict = None
-    else:
-        dict = getstate()
-    if dict:
-        return _reconstructor, args, dict
-    else:
-        return _reconstructor, args
-
-# Helper for __reduce_ex__ protocol 2
-
-def __newobj__(cls, *args):
-    return cls.__new__(cls, *args)
-
-def _slotnames(cls):
-    """Return a list of slot names for a given class.
-
-    This needs to find slots defined by the class and its bases, so we
-    can't simply return the __slots__ attribute.  We must walk down
-    the Method Resolution Order and concatenate the __slots__ of each
-    class found there.  (This assumes classes don't modify their
-    __slots__ attribute to misrepresent their slots after the class is
-    defined.)
-    """
-
-    # Get the value from a cache in the class if possible
-    names = cls.__dict__.get("__slotnames__")
-    if names is not None:
-        return names
-
-    # Not cached -- calculate the value
-    names = []
-    if not hasattr(cls, "__slots__"):
-        # This class has no slots
-        pass
-    else:
-        # Slots found -- gather slot names from all base classes
-        for c in cls.__mro__:
-            if "__slots__" in c.__dict__:
-                slots = c.__dict__['__slots__']
-                # if class has a single slot, it can be given as a string
-                if isinstance(slots, basestring):
-                    slots = (slots,)
-                for name in slots:
-                    # special descriptors
-                    if name in ("__dict__", "__weakref__"):
-                        continue
-                    # mangled names
-                    elif name.startswith('__') and not name.endswith('__'):
-                        names.append('_%s%s' % (c.__name__, name))
-                    else:
-                        names.append(name)
-
-    # Cache the outcome in the class if at all possible
-    try:
-        cls.__slotnames__ = names
-    except:
-        pass # But don't die if we can't
-
-    return names
-
-# A registry of extension codes.  This is an ad-hoc compression
-# mechanism.  Whenever a global reference to <module>, <name> is about
-# to be pickled, the (<module>, <name>) tuple is looked up here to see
-# if it is a registered extension code for it.  Extension codes are
-# universal, so that the meaning of a pickle does not depend on
-# context.  (There are also some codes reserved for local use that
-# don't have this restriction.)  Codes are positive ints; 0 is
-# reserved.
-
-_extension_registry = {}                # key -> code
-_inverted_registry = {}                 # code -> key
-_extension_cache = {}                   # code -> object
-# Don't ever rebind those names:  cPickle grabs a reference to them when
-# it's initialized, and won't see a rebinding.
-
-def add_extension(module, name, code):
-    """Register an extension code."""
-    code = int(code)
-    if not 1 <= code <= 0x7fffffff:
-        raise ValueError, "code out of range"
-    key = (module, name)
-    if (_extension_registry.get(key) == code and
-        _inverted_registry.get(code) == key):
-        return # Redundant registrations are benign
-    if key in _extension_registry:
-        raise ValueError("key %s is already registered with code %s" %
-                         (key, _extension_registry[key]))
-    if code in _inverted_registry:
-        raise ValueError("code %s is already in use for key %s" %
-                         (code, _inverted_registry[code]))
-    _extension_registry[key] = code
-    _inverted_registry[code] = key
-
-def remove_extension(module, name, code):
-    """Unregister an extension code.  For testing only."""
-    key = (module, name)
-    if (_extension_registry.get(key) != code or
-        _inverted_registry.get(code) != key):
-        raise ValueError("key %s is not registered with code %s" %
-                         (key, code))
-    del _extension_registry[key]
-    del _inverted_registry[code]
-    if code in _extension_cache:
-        del _extension_cache[code]
-
-def clear_extension_cache():
-    _extension_cache.clear()
-
-# Standard extension code assignments
-
-# Reserved ranges
-
-# First  Last Count  Purpose
-#     1   127   127  Reserved for Python standard library
-#   128   191    64  Reserved for Zope
-#   192   239    48  Reserved for 3rd parties
-#   240   255    16  Reserved for private use (will never be assigned)
-#   256   Inf   Inf  Reserved for future assignment
-
-# Extension codes are assigned by the Python Software Foundation.
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/copy_reg.pyc
b
Binary file test/lib/python2.7/copy_reg.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/distutils/__init__.py
--- a/test/lib/python2.7/distutils/__init__.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,101 +0,0 @@
-import os
-import sys
-import warnings 
-import imp
-import opcode # opcode is not a virtualenv module, so we can use it to find the stdlib
-              # Important! To work on pypy, this must be a module that resides in the
-              # lib-python/modified-x.y.z directory
-
-dirname = os.path.dirname
-
-distutils_path = os.path.join(os.path.dirname(opcode.__file__), 'distutils')
-if os.path.normpath(distutils_path) == os.path.dirname(os.path.normpath(__file__)):
-    warnings.warn(
-        "The virtualenv distutils package at %s appears to be in the same location as the system distutils?")
-else:
-    __path__.insert(0, distutils_path)
-    real_distutils = imp.load_module("_virtualenv_distutils", None, distutils_path, ('', '', imp.PKG_DIRECTORY))
-    # Copy the relevant attributes
-    try:
-        __revision__ = real_distutils.__revision__
-    except AttributeError:
-        pass
-    __version__ = real_distutils.__version__
-
-from distutils import dist, sysconfig
-
-try:
-    basestring
-except NameError:
-    basestring = str
-
-## patch build_ext (distutils doesn't know how to get the libs directory
-## path on windows - it hardcodes the paths around the patched sys.prefix)
-
-if sys.platform == 'win32':
-    from distutils.command.build_ext import build_ext as old_build_ext
-    class build_ext(old_build_ext):
-        def finalize_options (self):
-            if self.library_dirs is None:
-                self.library_dirs = []
-            elif isinstance(self.library_dirs, basestring):
-                self.library_dirs = self.library_dirs.split(os.pathsep)
-            
-            self.library_dirs.insert(0, os.path.join(sys.real_prefix, "Libs"))
-            old_build_ext.finalize_options(self)
-            
-    from distutils.command import build_ext as build_ext_module 
-    build_ext_module.build_ext = build_ext
-
-## distutils.dist patches:
-
-old_find_config_files = dist.Distribution.find_config_files
-def find_config_files(self):
-    found = old_find_config_files(self)
-    system_distutils = os.path.join(distutils_path, 'distutils.cfg')
-    #if os.path.exists(system_distutils):
-    #    found.insert(0, system_distutils)
-        # What to call the per-user config file
-    if os.name == 'posix':
-        user_filename = ".pydistutils.cfg"
-    else:
-        user_filename = "pydistutils.cfg"
-    user_filename = os.path.join(sys.prefix, user_filename)
-    if os.path.isfile(user_filename):
-        for item in list(found):
-            if item.endswith('pydistutils.cfg'):
-                found.remove(item)
-        found.append(user_filename)
-    return found
-dist.Distribution.find_config_files = find_config_files
-
-## distutils.sysconfig patches:
-
-old_get_python_inc = sysconfig.get_python_inc
-def sysconfig_get_python_inc(plat_specific=0, prefix=None):
-    if prefix is None:
-        prefix = sys.real_prefix
-    return old_get_python_inc(plat_specific, prefix)
-sysconfig_get_python_inc.__doc__ = old_get_python_inc.__doc__
-sysconfig.get_python_inc = sysconfig_get_python_inc
-
-old_get_python_lib = sysconfig.get_python_lib
-def sysconfig_get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
-    if standard_lib and prefix is None:
-        prefix = sys.real_prefix
-    return old_get_python_lib(plat_specific, standard_lib, prefix)
-sysconfig_get_python_lib.__doc__ = old_get_python_lib.__doc__
-sysconfig.get_python_lib = sysconfig_get_python_lib
-
-old_get_config_vars = sysconfig.get_config_vars
-def sysconfig_get_config_vars(*args):
-    real_vars = old_get_config_vars(*args)
-    if sys.platform == 'win32':
-        lib_dir = os.path.join(sys.real_prefix, "libs")
-        if isinstance(real_vars, dict) and 'LIBDIR' not in real_vars:
-            real_vars['LIBDIR'] = lib_dir # asked for all
-        elif isinstance(real_vars, list) and 'LIBDIR' in args:
-            real_vars = real_vars + [lib_dir] # asked for list
-    return real_vars
-sysconfig_get_config_vars.__doc__ = old_get_config_vars.__doc__
-sysconfig.get_config_vars = sysconfig_get_config_vars
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/distutils/__init__.pyc
b
Binary file test/lib/python2.7/distutils/__init__.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/distutils/distutils.cfg
--- a/test/lib/python2.7/distutils/distutils.cfg Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,6 +0,0 @@
-# This is a config file local to this virtualenv installation
-# You may include options that will be used by all distutils commands,
-# and by easy_install.  For instance:
-#
-#   [easy_install]
-#   find_links = http://mylocalsite
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/__init__.py
--- a/test/lib/python2.7/encodings/__init__.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,157 +0,0 @@
-""" Standard "encodings" Package
-
-    Standard Python encoding modules are stored in this package
-    directory.
-
-    Codec modules must have names corresponding to normalized encoding
-    names as defined in the normalize_encoding() function below, e.g.
-    'utf-8' must be implemented by the module 'utf_8.py'.
-
-    Each codec module must export the following interface:
-
-    * getregentry() -> codecs.CodecInfo object
-    The getregentry() API must a CodecInfo object with encoder, decoder,
-    incrementalencoder, incrementaldecoder, streamwriter and streamreader
-    atttributes which adhere to the Python Codec Interface Standard.
-
-    In addition, a module may optionally also define the following
-    APIs which are then used by the package's codec search function:
-
-    * getaliases() -> sequence of encoding name strings to use as aliases
-
-    Alias names returned by getaliases() must be normalized encoding
-    names as defined by normalize_encoding().
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""#"
-
-import codecs
-from encodings import aliases
-import __builtin__
-
-_cache = {}
-_unknown = '--unknown--'
-_import_tail = ['*']
-_norm_encoding_map = ('                                              . '
-                      '0123456789       ABCDEFGHIJKLMNOPQRSTUVWXYZ     '
-                      ' abcdefghijklmnopqrstuvwxyz                     '
-                      '                                                '
-                      '                                                '
-                      '                ')
-_aliases = aliases.aliases
-
-class CodecRegistryError(LookupError, SystemError):
-    pass
-
-def normalize_encoding(encoding):
-
-    """ Normalize an encoding name.
-
-        Normalization works as follows: all non-alphanumeric
-        characters except the dot used for Python package names are
-        collapsed and replaced with a single underscore, e.g. '  -;#'
-        becomes '_'. Leading and trailing underscores are removed.
-
-        Note that encoding names should be ASCII only; if they do use
-        non-ASCII characters, these must be Latin-1 compatible.
-
-    """
-    # Make sure we have an 8-bit string, because .translate() works
-    # differently for Unicode strings.
-    if hasattr(__builtin__, "unicode") and isinstance(encoding, unicode):
-        # Note that .encode('latin-1') does *not* use the codec
-        # registry, so this call doesn't recurse. (See unicodeobject.c
-        # PyUnicode_AsEncodedString() for details)
-        encoding = encoding.encode('latin-1')
-    return '_'.join(encoding.translate(_norm_encoding_map).split())
-
-def search_function(encoding):
-
-    # Cache lookup
-    entry = _cache.get(encoding, _unknown)
-    if entry is not _unknown:
-        return entry
-
-    # Import the module:
-    #
-    # First try to find an alias for the normalized encoding
-    # name and lookup the module using the aliased name, then try to
-    # lookup the module using the standard import scheme, i.e. first
-    # try in the encodings package, then at top-level.
-    #
-    norm_encoding = normalize_encoding(encoding)
-    aliased_encoding = _aliases.get(norm_encoding) or \
-                       _aliases.get(norm_encoding.replace('.', '_'))
-    if aliased_encoding is not None:
-        modnames = [aliased_encoding,
-                    norm_encoding]
-    else:
-        modnames = [norm_encoding]
-    for modname in modnames:
-        if not modname or '.' in modname:
-            continue
-        try:
-            # Import is absolute to prevent the possibly malicious import of a
-            # module with side-effects that is not in the 'encodings' package.
-            mod = __import__('encodings.' + modname, fromlist=_import_tail,
-                             level=0)
-        except ImportError:
-            pass
-        else:
-            break
-    else:
-        mod = None
-
-    try:
-        getregentry = mod.getregentry
-    except AttributeError:
-        # Not a codec module
-        mod = None
-
-    if mod is None:
-        # Cache misses
-        _cache[encoding] = None
-        return None
-
-    # Now ask the module for the registry entry
-    entry = getregentry()
-    if not isinstance(entry, codecs.CodecInfo):
-        if not 4 <= len(entry) <= 7:
-            raise CodecRegistryError,\
-                 'module "%s" (%s) failed to register' % \
-                  (mod.__name__, mod.__file__)
-        if not hasattr(entry[0], '__call__') or \
-           not hasattr(entry[1], '__call__') or \
-           (entry[2] is not None and not hasattr(entry[2], '__call__')) or \
-           (entry[3] is not None and not hasattr(entry[3], '__call__')) or \
-           (len(entry) > 4 and entry[4] is not None and not hasattr(entry[4], '__call__')) or \
-           (len(entry) > 5 and entry[5] is not None and not hasattr(entry[5], '__call__')):
-            raise CodecRegistryError,\
-                'incompatible codecs in module "%s" (%s)' % \
-                (mod.__name__, mod.__file__)
-        if len(entry)<7 or entry[6] is None:
-            entry += (None,)*(6-len(entry)) + (mod.__name__.split(".", 1)[1],)
-        entry = codecs.CodecInfo(*entry)
-
-    # Cache the codec registry entry
-    _cache[encoding] = entry
-
-    # Register its aliases (without overwriting previously registered
-    # aliases)
-    try:
-        codecaliases = mod.getaliases()
-    except AttributeError:
-        pass
-    else:
-        for alias in codecaliases:
-            if alias not in _aliases:
-                _aliases[alias] = modname
-
-    # Return the registry entry
-    return entry
-
-# Register the search_function in the Python codec registry
-codecs.register(search_function)
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/__init__.pyc
b
Binary file test/lib/python2.7/encodings/__init__.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/aliases.py
--- a/test/lib/python2.7/encodings/aliases.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,527 +0,0 @@\n-""" Encoding Aliases Support\n-\n-    This module is used by the encodings package search function to\n-    map encodings names to module names.\n-\n-    Note that the search function normalizes the encoding names before\n-    doing the lookup, so the mapping will have to map normalized\n-    encoding names to module names.\n-\n-    Contents:\n-\n-        The following aliases dictionary contains mappings of all IANA\n-        character set names for which the Python core library provides\n-        codecs. In addition to these, a few Python specific codec\n-        aliases have also been added.\n-\n-"""\n-aliases = {\n-\n-    # Please keep this list sorted alphabetically by value !\n-\n-    # ascii codec\n-    \'646\'                : \'ascii\',\n-    \'ansi_x3.4_1968\'     : \'ascii\',\n-    \'ansi_x3_4_1968\'     : \'ascii\', # some email headers use this non-standard name\n-    \'ansi_x3.4_1986\'     : \'ascii\',\n-    \'cp367\'              : \'ascii\',\n-    \'csascii\'            : \'ascii\',\n-    \'ibm367\'             : \'ascii\',\n-    \'iso646_us\'          : \'ascii\',\n-    \'iso_646.irv_1991\'   : \'ascii\',\n-    \'iso_ir_6\'           : \'ascii\',\n-    \'us\'                 : \'ascii\',\n-    \'us_ascii\'           : \'ascii\',\n-\n-    # base64_codec codec\n-    \'base64\'             : \'base64_codec\',\n-    \'base_64\'            : \'base64_codec\',\n-\n-    # big5 codec\n-    \'big5_tw\'            : \'big5\',\n-    \'csbig5\'             : \'big5\',\n-\n-    # big5hkscs codec\n-    \'big5_hkscs\'         : \'big5hkscs\',\n-    \'hkscs\'              : \'big5hkscs\',\n-\n-    # bz2_codec codec\n-    \'bz2\'                : \'bz2_codec\',\n-\n-    # cp037 codec\n-    \'037\'                : \'cp037\',\n-    \'csibm037\'           : \'cp037\',\n-    \'ebcdic_cp_ca\'       : \'cp037\',\n-    \'ebcdic_cp_nl\'       : \'cp037\',\n-    \'ebcdic_cp_us\'       : \'cp037\',\n-    \'ebcdic_cp_wt\'       : \'cp037\',\n-    \'ibm037\'             : \'cp037\',\n-    \'ibm039\'             : \'cp037\',\n-\n-    # cp1026 codec\n-    \'1026\'               : \'cp1026\',\n-    \'csibm1026\'          : \'cp1026\',\n-    \'ibm1026\'            : \'cp1026\',\n-\n-    # cp1140 codec\n-    \'1140\'               : \'cp1140\',\n-    \'ibm1140\'            : \'cp1140\',\n-\n-    # cp1250 codec\n-    \'1250\'               : \'cp1250\',\n-    \'windows_1250\'       : \'cp1250\',\n-\n-    # cp1251 codec\n-    \'1251\'               : \'cp1251\',\n-    \'windows_1251\'       : \'cp1251\',\n-\n-    # cp1252 codec\n-    \'1252\'               : \'cp1252\',\n-    \'windows_1252\'       : \'cp1252\',\n-\n-    # cp1253 codec\n-    \'1253\'               : \'cp1253\',\n-    \'windows_1253\'       : \'cp1253\',\n-\n-    # cp1254 codec\n-    \'1254\'               : \'cp1254\',\n-    \'windows_1254\'       : \'cp1254\',\n-\n-    # cp1255 codec\n-    \'1255\'               : \'cp1255\',\n-    \'windows_1255\'       : \'cp1255\',\n-\n-    # cp1256 codec\n-    \'1256\'               : \'cp1256\',\n-    \'windows_1256\'       : \'cp1256\',\n-\n-    # cp1257 codec\n-    \'1257\'               : \'cp1257\',\n-    \'windows_1257\'       : \'cp1257\',\n-\n-    # cp1258 codec\n-    \'1258\'               : \'cp1258\',\n-    \'windows_1258\'       : \'cp1258\',\n-\n-    # cp424 codec\n-    \'424\'                : \'cp424\',\n-    \'csibm424\'           : \'cp424\',\n-    \'ebcdic_cp_he\'       : \'cp424\',\n-    \'ibm424\'             : \'cp424\',\n-\n-    # cp437 codec\n-    \'437\'                : \'cp437\',\n-    \'cspc8codepage437\'   : \'cp437\',\n-    \'ibm437\'             : \'cp437\',\n-\n-    # cp500 codec\n-    \'500\'                : \'cp500\',\n-    \'csibm500\'           : \'cp500\',\n-    \'ebcdic_cp_be\'       : \'cp500\',\n-    \'ebcdic_cp_ch\'       : \'cp500\',\n-    \'ibm500\'             : \'cp500\',\n-\n-    # cp775 codec\n-    \'775\'                : \'cp775\',\n-    \'cspc775baltic\'      : \'cp775\',\n-    \'ibm775\'             : \'cp775\',\n-\n-    # cp850 codec\n-    \'850\'                : \'cp850\',\n-    \'cspc850multilingual\' : \'cp850\',\n-    \'ibm850\'             : \'cp850\',\n-\n-    # cp852 codec\n-    \'852\'                : \'cp852\',\n-    \'cspcp852\'           : \'cp852\',\n-    \'ibm852\'             : \'cp852\',\n-\n-    # cp855 codec\n-    \'855\'                : \'cp855\',\n-    \'csibm855\'    '..b" 'iso_ir_138'         : 'iso8859_8',\n-\n-    # iso8859_9 codec\n-    'csisolatin5'        : 'iso8859_9',\n-    'iso_8859_9'         : 'iso8859_9',\n-    'iso_8859_9_1989'    : 'iso8859_9',\n-    'iso_ir_148'         : 'iso8859_9',\n-    'l5'                 : 'iso8859_9',\n-    'latin5'             : 'iso8859_9',\n-\n-    # johab codec\n-    'cp1361'             : 'johab',\n-    'ms1361'             : 'johab',\n-\n-    # koi8_r codec\n-    'cskoi8r'            : 'koi8_r',\n-\n-    # latin_1 codec\n-    #\n-    # Note that the latin_1 codec is implemented internally in C and a\n-    # lot faster than the charmap codec iso8859_1 which uses the same\n-    # encoding. This is why we discourage the use of the iso8859_1\n-    # codec and alias it to latin_1 instead.\n-    #\n-    '8859'               : 'latin_1',\n-    'cp819'              : 'latin_1',\n-    'csisolatin1'        : 'latin_1',\n-    'ibm819'             : 'latin_1',\n-    'iso8859'            : 'latin_1',\n-    'iso8859_1'          : 'latin_1',\n-    'iso_8859_1'         : 'latin_1',\n-    'iso_8859_1_1987'    : 'latin_1',\n-    'iso_ir_100'         : 'latin_1',\n-    'l1'                 : 'latin_1',\n-    'latin'              : 'latin_1',\n-    'latin1'             : 'latin_1',\n-\n-    # mac_cyrillic codec\n-    'maccyrillic'        : 'mac_cyrillic',\n-\n-    # mac_greek codec\n-    'macgreek'           : 'mac_greek',\n-\n-    # mac_iceland codec\n-    'maciceland'         : 'mac_iceland',\n-\n-    # mac_latin2 codec\n-    'maccentraleurope'   : 'mac_latin2',\n-    'maclatin2'          : 'mac_latin2',\n-\n-    # mac_roman codec\n-    'macroman'           : 'mac_roman',\n-\n-    # mac_turkish codec\n-    'macturkish'         : 'mac_turkish',\n-\n-    # mbcs codec\n-    'dbcs'               : 'mbcs',\n-\n-    # ptcp154 codec\n-    'csptcp154'          : 'ptcp154',\n-    'pt154'              : 'ptcp154',\n-    'cp154'              : 'ptcp154',\n-    'cyrillic_asian'     : 'ptcp154',\n-\n-    # quopri_codec codec\n-    'quopri'             : 'quopri_codec',\n-    'quoted_printable'   : 'quopri_codec',\n-    'quotedprintable'    : 'quopri_codec',\n-\n-    # rot_13 codec\n-    'rot13'              : 'rot_13',\n-\n-    # shift_jis codec\n-    'csshiftjis'         : 'shift_jis',\n-    'shiftjis'           : 'shift_jis',\n-    'sjis'               : 'shift_jis',\n-    's_jis'              : 'shift_jis',\n-\n-    # shift_jis_2004 codec\n-    'shiftjis2004'       : 'shift_jis_2004',\n-    'sjis_2004'          : 'shift_jis_2004',\n-    's_jis_2004'         : 'shift_jis_2004',\n-\n-    # shift_jisx0213 codec\n-    'shiftjisx0213'      : 'shift_jisx0213',\n-    'sjisx0213'          : 'shift_jisx0213',\n-    's_jisx0213'         : 'shift_jisx0213',\n-\n-    # tactis codec\n-    'tis260'             : 'tactis',\n-\n-    # tis_620 codec\n-    'tis620'             : 'tis_620',\n-    'tis_620_0'          : 'tis_620',\n-    'tis_620_2529_0'     : 'tis_620',\n-    'tis_620_2529_1'     : 'tis_620',\n-    'iso_ir_166'         : 'tis_620',\n-\n-    # utf_16 codec\n-    'u16'                : 'utf_16',\n-    'utf16'              : 'utf_16',\n-\n-    # utf_16_be codec\n-    'unicodebigunmarked' : 'utf_16_be',\n-    'utf_16be'           : 'utf_16_be',\n-\n-    # utf_16_le codec\n-    'unicodelittleunmarked' : 'utf_16_le',\n-    'utf_16le'           : 'utf_16_le',\n-\n-    # utf_32 codec\n-    'u32'                : 'utf_32',\n-    'utf32'              : 'utf_32',\n-\n-    # utf_32_be codec\n-    'utf_32be'           : 'utf_32_be',\n-\n-    # utf_32_le codec\n-    'utf_32le'           : 'utf_32_le',\n-\n-    # utf_7 codec\n-    'u7'                 : 'utf_7',\n-    'utf7'               : 'utf_7',\n-    'unicode_1_1_utf_7'  : 'utf_7',\n-\n-    # utf_8 codec\n-    'u8'                 : 'utf_8',\n-    'utf'                : 'utf_8',\n-    'utf8'               : 'utf_8',\n-    'utf8_ucs2'          : 'utf_8',\n-    'utf8_ucs4'          : 'utf_8',\n-\n-    # uu_codec codec\n-    'uu'                 : 'uu_codec',\n-\n-    # zlib_codec codec\n-    'zip'                : 'zlib_codec',\n-    'zlib'               : 'zlib_codec',\n-\n-}\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/aliases.pyc
b
Binary file test/lib/python2.7/encodings/aliases.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/ascii.py
--- a/test/lib/python2.7/encodings/ascii.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,50 +0,0 @@
-""" Python 'ascii' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    # Note: Binding these as C functions will result in the class not
-    # converting them to methods. This is intended.
-    encode = codecs.ascii_encode
-    decode = codecs.ascii_decode
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.ascii_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.ascii_decode(input, self.errors)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-class StreamConverter(StreamWriter,StreamReader):
-
-    encode = codecs.ascii_decode
-    decode = codecs.ascii_encode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='ascii',
-        encode=Codec.encode,
-        decode=Codec.decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/ascii.pyc
b
Binary file test/lib/python2.7/encodings/ascii.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/base64_codec.py
--- a/test/lib/python2.7/encodings/base64_codec.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,80 +0,0 @@
-""" Python 'base64_codec' Codec - base64 content transfer encoding
-
-    Unlike most of the other codecs which target Unicode, this codec
-    will return Python string objects for both encode and decode.
-
-    Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-"""
-import codecs, base64
-
-### Codec APIs
-
-def base64_encode(input,errors='strict'):
-
-    """ Encodes the object input and returns a tuple (output
-        object, length consumed).
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = base64.encodestring(input)
-    return (output, len(input))
-
-def base64_decode(input,errors='strict'):
-
-    """ Decodes the object input and returns a tuple (output
-        object, length consumed).
-
-        input must be an object which provides the bf_getreadbuf
-        buffer slot. Python strings, buffer objects and memory
-        mapped files are examples of objects providing this slot.
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = base64.decodestring(input)
-    return (output, len(input))
-
-class Codec(codecs.Codec):
-
-    def encode(self, input,errors='strict'):
-        return base64_encode(input,errors)
-    def decode(self, input,errors='strict'):
-        return base64_decode(input,errors)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        assert self.errors == 'strict'
-        return base64.encodestring(input)
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        assert self.errors == 'strict'
-        return base64.decodestring(input)
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='base64',
-        encode=base64_encode,
-        decode=base64_decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-        _is_text_encoding=False,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/base64_codec.pyc
b
Binary file test/lib/python2.7/encodings/base64_codec.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/big5.py
--- a/test/lib/python2.7/encodings/big5.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# big5.py: Python Unicode Codec for BIG5
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_tw, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_tw.getcodec('big5')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='big5',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/big5.pyc
b
Binary file test/lib/python2.7/encodings/big5.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/big5hkscs.py
--- a/test/lib/python2.7/encodings/big5hkscs.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# big5hkscs.py: Python Unicode Codec for BIG5HKSCS
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_hk, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_hk.getcodec('big5hkscs')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='big5hkscs',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/big5hkscs.pyc
b
Binary file test/lib/python2.7/encodings/big5hkscs.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/bz2_codec.py
--- a/test/lib/python2.7/encodings/bz2_codec.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,103 +0,0 @@
-""" Python 'bz2_codec' Codec - bz2 compression encoding
-
-    Unlike most of the other codecs which target Unicode, this codec
-    will return Python string objects for both encode and decode.
-
-    Adapted by Raymond Hettinger from zlib_codec.py which was written
-    by Marc-Andre Lemburg (mal@lemburg.com).
-
-"""
-import codecs
-import bz2 # this codec needs the optional bz2 module !
-
-### Codec APIs
-
-def bz2_encode(input,errors='strict'):
-
-    """ Encodes the object input and returns a tuple (output
-        object, length consumed).
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = bz2.compress(input)
-    return (output, len(input))
-
-def bz2_decode(input,errors='strict'):
-
-    """ Decodes the object input and returns a tuple (output
-        object, length consumed).
-
-        input must be an object which provides the bf_getreadbuf
-        buffer slot. Python strings, buffer objects and memory
-        mapped files are examples of objects providing this slot.
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = bz2.decompress(input)
-    return (output, len(input))
-
-class Codec(codecs.Codec):
-
-    def encode(self, input, errors='strict'):
-        return bz2_encode(input, errors)
-    def decode(self, input, errors='strict'):
-        return bz2_decode(input, errors)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def __init__(self, errors='strict'):
-        assert errors == 'strict'
-        self.errors = errors
-        self.compressobj = bz2.BZ2Compressor()
-
-    def encode(self, input, final=False):
-        if final:
-            c = self.compressobj.compress(input)
-            return c + self.compressobj.flush()
-        else:
-            return self.compressobj.compress(input)
-
-    def reset(self):
-        self.compressobj = bz2.BZ2Compressor()
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def __init__(self, errors='strict'):
-        assert errors == 'strict'
-        self.errors = errors
-        self.decompressobj = bz2.BZ2Decompressor()
-
-    def decode(self, input, final=False):
-        try:
-            return self.decompressobj.decompress(input)
-        except EOFError:
-            return ''
-
-    def reset(self):
-        self.decompressobj = bz2.BZ2Decompressor()
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name="bz2",
-        encode=bz2_encode,
-        decode=bz2_decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-        _is_text_encoding=False,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/bz2_codec.pyc
b
Binary file test/lib/python2.7/encodings/bz2_codec.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/charmap.py
--- a/test/lib/python2.7/encodings/charmap.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,69 +0,0 @@
-""" Generic Python Character Mapping Codec.
-
-    Use this codec directly rather than through the automatic
-    conversion mechanisms supplied by unicode() and .encode().
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""#"
-
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    # Note: Binding these as C functions will result in the class not
-    # converting them to methods. This is intended.
-    encode = codecs.charmap_encode
-    decode = codecs.charmap_decode
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def __init__(self, errors='strict', mapping=None):
-        codecs.IncrementalEncoder.__init__(self, errors)
-        self.mapping = mapping
-
-    def encode(self, input, final=False):
-        return codecs.charmap_encode(input, self.errors, self.mapping)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def __init__(self, errors='strict', mapping=None):
-        codecs.IncrementalDecoder.__init__(self, errors)
-        self.mapping = mapping
-
-    def decode(self, input, final=False):
-        return codecs.charmap_decode(input, self.errors, self.mapping)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-
-    def __init__(self,stream,errors='strict',mapping=None):
-        codecs.StreamWriter.__init__(self,stream,errors)
-        self.mapping = mapping
-
-    def encode(self,input,errors='strict'):
-        return Codec.encode(input,errors,self.mapping)
-
-class StreamReader(Codec,codecs.StreamReader):
-
-    def __init__(self,stream,errors='strict',mapping=None):
-        codecs.StreamReader.__init__(self,stream,errors)
-        self.mapping = mapping
-
-    def decode(self,input,errors='strict'):
-        return Codec.decode(input,errors,self.mapping)
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='charmap',
-        encode=Codec.encode,
-        decode=Codec.decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/charmap.pyc
b
Binary file test/lib/python2.7/encodings/charmap.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp037.py
--- a/test/lib/python2.7/encodings/cp037.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp037 generated from \'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp037\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x9c\'     #  0x04 -> CONTROL\n-    u\'\\t\'       #  0x05 -> HORIZONTAL TABULATION\n-    u\'\\x86\'     #  0x06 -> CONTROL\n-    u\'\\x7f\'     #  0x07 -> DELETE\n-    u\'\\x97\'     #  0x08 -> CONTROL\n-    u\'\\x8d\'     #  0x09 -> CONTROL\n-    u\'\\x8e\'     #  0x0A -> CONTROL\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x9d\'     #  0x14 -> CONTROL\n-    u\'\\x85\'     #  0x15 -> CONTROL\n-    u\'\\x08\'     #  0x16 -> BACKSPACE\n-    u\'\\x87\'     #  0x17 -> CONTROL\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x92\'     #  0x1A -> CONTROL\n-    u\'\\x8f\'     #  0x1B -> CONTROL\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\'\\x80\'     #  0x20 -> CONTROL\n-    u\'\\x81\'     #  0x21 -> CONTROL\n-    u\'\\x82\'     #  0x22 -> CONTROL\n-    u\'\\x83\'     #  0x23 -> CONTROL\n-    u\'\\x84\'     #  0x24 -> CONTROL\n-    u\'\\n\'       #  0x25 -> LINE FEED\n-    u\'\\x17\'     #  0x26 -> END OF TRANSMISSION BLOCK\n-    u\'\\x1b\'     #  0x27 -> ESCAPE\n-    u\'\\x88\'     #  0x28 -> CONTROL\n-    u\'\\x89\'     #  0x29 -> CONTROL\n-    u\'\\x8a\'     #  0x2A -> CONTROL\n-    u\'\\x8b\'     #  0x2B -> CONTROL\n-    u\'\\x8c\'     #  0x2C -> CONTROL\n-    u\'\\x05\'     #  0x2D -> ENQUIRY\n-    u\'\\x06\'     #  0x2E -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x2F -> BELL\n-    u\'\\x90\'     #  0x30 -> CONTROL\n-    u\'\\x91\'     #  0x31 -> CONTROL\n-    u\'\\x16\'     #  0x32 -> SYNCHRONOUS IDLE\n-    u\'\\x93\'     #  0x33 -> CONTROL\n-    u\'\\x94\'     #  0x34 -> CONTROL\n-    u\'\\x95\'     #  0x35 -> CONTROL\n-    u\'\\x96\'     #  0x36 -> CONTROL\n-    u\'\\x04\'     #  0x37 -> END OF TRANSMISSION\n-    u\'\\x98\'     #  0x38 -> CONTROL\n-    u\'\\x99\'     #  0x39 -> CONTROL\n-    u\'\\x9a\'     #  0x3A -> CONTROL\n-    u\'\\x9b\'     #  0x3B -> CONTROL\n-    u\'\\x14\'     #  0x3C -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x3D -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x9e\'     #  0x3E -> CONTROL\n-    u\'\\x1a\'     #  0x3F -> SUBSTITUTE\n-    u\' \'        #  0x40 -> SPACE\n-    u\'\\xa0\'     #  0x41 -> NO-BREAK SPACE\n-    u\'\\xe2\'     #  0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u\'\\xe4\'     #  0x43 -> LATIN SMALL LETTER A WITH '..b"     #  0xB2 -> YEN SIGN\n-    u'\\xb7'     #  0xB3 -> MIDDLE DOT\n-    u'\\xa9'     #  0xB4 -> COPYRIGHT SIGN\n-    u'\\xa7'     #  0xB5 -> SECTION SIGN\n-    u'\\xb6'     #  0xB6 -> PILCROW SIGN\n-    u'\\xbc'     #  0xB7 -> VULGAR FRACTION ONE QUARTER\n-    u'\\xbd'     #  0xB8 -> VULGAR FRACTION ONE HALF\n-    u'\\xbe'     #  0xB9 -> VULGAR FRACTION THREE QUARTERS\n-    u'['        #  0xBA -> LEFT SQUARE BRACKET\n-    u']'        #  0xBB -> RIGHT SQUARE BRACKET\n-    u'\\xaf'     #  0xBC -> MACRON\n-    u'\\xa8'     #  0xBD -> DIAERESIS\n-    u'\\xb4'     #  0xBE -> ACUTE ACCENT\n-    u'\\xd7'     #  0xBF -> MULTIPLICATION SIGN\n-    u'{'        #  0xC0 -> LEFT CURLY BRACKET\n-    u'A'        #  0xC1 -> LATIN CAPITAL LETTER A\n-    u'B'        #  0xC2 -> LATIN CAPITAL LETTER B\n-    u'C'        #  0xC3 -> LATIN CAPITAL LETTER C\n-    u'D'        #  0xC4 -> LATIN CAPITAL LETTER D\n-    u'E'        #  0xC5 -> LATIN CAPITAL LETTER E\n-    u'F'        #  0xC6 -> LATIN CAPITAL LETTER F\n-    u'G'        #  0xC7 -> LATIN CAPITAL LETTER G\n-    u'H'        #  0xC8 -> LATIN CAPITAL LETTER H\n-    u'I'        #  0xC9 -> LATIN CAPITAL LETTER I\n-    u'\\xad'     #  0xCA -> SOFT HYPHEN\n-    u'\\xf4'     #  0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf6'     #  0xCC -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf2'     #  0xCD -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xCE -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf5'     #  0xCF -> LATIN SMALL LETTER O WITH TILDE\n-    u'}'        #  0xD0 -> RIGHT CURLY BRACKET\n-    u'J'        #  0xD1 -> LATIN CAPITAL LETTER J\n-    u'K'        #  0xD2 -> LATIN CAPITAL LETTER K\n-    u'L'        #  0xD3 -> LATIN CAPITAL LETTER L\n-    u'M'        #  0xD4 -> LATIN CAPITAL LETTER M\n-    u'N'        #  0xD5 -> LATIN CAPITAL LETTER N\n-    u'O'        #  0xD6 -> LATIN CAPITAL LETTER O\n-    u'P'        #  0xD7 -> LATIN CAPITAL LETTER P\n-    u'Q'        #  0xD8 -> LATIN CAPITAL LETTER Q\n-    u'R'        #  0xD9 -> LATIN CAPITAL LETTER R\n-    u'\\xb9'     #  0xDA -> SUPERSCRIPT ONE\n-    u'\\xfb'     #  0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xDC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xf9'     #  0xDD -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xDE -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xff'     #  0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u'\\\\'       #  0xE0 -> REVERSE SOLIDUS\n-    u'\\xf7'     #  0xE1 -> DIVISION SIGN\n-    u'S'        #  0xE2 -> LATIN CAPITAL LETTER S\n-    u'T'        #  0xE3 -> LATIN CAPITAL LETTER T\n-    u'U'        #  0xE4 -> LATIN CAPITAL LETTER U\n-    u'V'        #  0xE5 -> LATIN CAPITAL LETTER V\n-    u'W'        #  0xE6 -> LATIN CAPITAL LETTER W\n-    u'X'        #  0xE7 -> LATIN CAPITAL LETTER X\n-    u'Y'        #  0xE8 -> LATIN CAPITAL LETTER Y\n-    u'Z'        #  0xE9 -> LATIN CAPITAL LETTER Z\n-    u'\\xb2'     #  0xEA -> SUPERSCRIPT TWO\n-    u'\\xd4'     #  0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd6'     #  0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd2'     #  0xED -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd5'     #  0xEF -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'0'        #  0xF0 -> DIGIT ZERO\n-    u'1'        #  0xF1 -> DIGIT ONE\n-    u'2'        #  0xF2 -> DIGIT TWO\n-    u'3'        #  0xF3 -> DIGIT THREE\n-    u'4'        #  0xF4 -> DIGIT FOUR\n-    u'5'        #  0xF5 -> DIGIT FIVE\n-    u'6'        #  0xF6 -> DIGIT SIX\n-    u'7'        #  0xF7 -> DIGIT SEVEN\n-    u'8'        #  0xF8 -> DIGIT EIGHT\n-    u'9'        #  0xF9 -> DIGIT NINE\n-    u'\\xb3'     #  0xFA -> SUPERSCRIPT THREE\n-    u'\\xdb'     #  0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xd9'     #  0xFD -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xFE -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\x9f'     #  0xFF -> CONTROL\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp037.pyc
b
Binary file test/lib/python2.7/encodings/cp037.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1006.py
--- a/test/lib/python2.7/encodings/cp1006.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1006 generated from \'MAPPINGS/VENDORS/MISC/CP1006.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1006\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL L'..b"ETTER TCHEH ISOLATED FORM\n-    u'\\ufb7c'   #  0xC1 -> ARABIC LETTER TCHEH INITIAL FORM\n-    u'\\ufea1'   #  0xC2 -> ARABIC LETTER HAH ISOLATED FORM\n-    u'\\ufea3'   #  0xC3 -> ARABIC LETTER HAH INITIAL FORM\n-    u'\\ufea5'   #  0xC4 -> ARABIC LETTER KHAH ISOLATED FORM\n-    u'\\ufea7'   #  0xC5 -> ARABIC LETTER KHAH INITIAL FORM\n-    u'\\ufea9'   #  0xC6 -> ARABIC LETTER DAL ISOLATED FORM\n-    u'\\ufb84'   #  0xC7 -> ARABIC LETTER DAHAL ISOLATED FORMN\n-    u'\\ufeab'   #  0xC8 -> ARABIC LETTER THAL ISOLATED FORM\n-    u'\\ufead'   #  0xC9 -> ARABIC LETTER REH ISOLATED FORM\n-    u'\\ufb8c'   #  0xCA -> ARABIC LETTER RREH ISOLATED FORM\n-    u'\\ufeaf'   #  0xCB -> ARABIC LETTER ZAIN ISOLATED FORM\n-    u'\\ufb8a'   #  0xCC -> ARABIC LETTER JEH ISOLATED FORM\n-    u'\\ufeb1'   #  0xCD -> ARABIC LETTER SEEN ISOLATED FORM\n-    u'\\ufeb3'   #  0xCE -> ARABIC LETTER SEEN INITIAL FORM\n-    u'\\ufeb5'   #  0xCF -> ARABIC LETTER SHEEN ISOLATED FORM\n-    u'\\ufeb7'   #  0xD0 -> ARABIC LETTER SHEEN INITIAL FORM\n-    u'\\ufeb9'   #  0xD1 -> ARABIC LETTER SAD ISOLATED FORM\n-    u'\\ufebb'   #  0xD2 -> ARABIC LETTER SAD INITIAL FORM\n-    u'\\ufebd'   #  0xD3 -> ARABIC LETTER DAD ISOLATED FORM\n-    u'\\ufebf'   #  0xD4 -> ARABIC LETTER DAD INITIAL FORM\n-    u'\\ufec1'   #  0xD5 -> ARABIC LETTER TAH ISOLATED FORM\n-    u'\\ufec5'   #  0xD6 -> ARABIC LETTER ZAH ISOLATED FORM\n-    u'\\ufec9'   #  0xD7 -> ARABIC LETTER AIN ISOLATED FORM\n-    u'\\ufeca'   #  0xD8 -> ARABIC LETTER AIN FINAL FORM\n-    u'\\ufecb'   #  0xD9 -> ARABIC LETTER AIN INITIAL FORM\n-    u'\\ufecc'   #  0xDA -> ARABIC LETTER AIN MEDIAL FORM\n-    u'\\ufecd'   #  0xDB -> ARABIC LETTER GHAIN ISOLATED FORM\n-    u'\\ufece'   #  0xDC -> ARABIC LETTER GHAIN FINAL FORM\n-    u'\\ufecf'   #  0xDD -> ARABIC LETTER GHAIN INITIAL FORM\n-    u'\\ufed0'   #  0xDE -> ARABIC LETTER GHAIN MEDIAL FORM\n-    u'\\ufed1'   #  0xDF -> ARABIC LETTER FEH ISOLATED FORM\n-    u'\\ufed3'   #  0xE0 -> ARABIC LETTER FEH INITIAL FORM\n-    u'\\ufed5'   #  0xE1 -> ARABIC LETTER QAF ISOLATED FORM\n-    u'\\ufed7'   #  0xE2 -> ARABIC LETTER QAF INITIAL FORM\n-    u'\\ufed9'   #  0xE3 -> ARABIC LETTER KAF ISOLATED FORM\n-    u'\\ufedb'   #  0xE4 -> ARABIC LETTER KAF INITIAL FORM\n-    u'\\ufb92'   #  0xE5 -> ARABIC LETTER GAF ISOLATED FORM\n-    u'\\ufb94'   #  0xE6 -> ARABIC LETTER GAF INITIAL FORM\n-    u'\\ufedd'   #  0xE7 -> ARABIC LETTER LAM ISOLATED FORM\n-    u'\\ufedf'   #  0xE8 -> ARABIC LETTER LAM INITIAL FORM\n-    u'\\ufee0'   #  0xE9 -> ARABIC LETTER LAM MEDIAL FORM\n-    u'\\ufee1'   #  0xEA -> ARABIC LETTER MEEM ISOLATED FORM\n-    u'\\ufee3'   #  0xEB -> ARABIC LETTER MEEM INITIAL FORM\n-    u'\\ufb9e'   #  0xEC -> ARABIC LETTER NOON GHUNNA ISOLATED FORM\n-    u'\\ufee5'   #  0xED -> ARABIC LETTER NOON ISOLATED FORM\n-    u'\\ufee7'   #  0xEE -> ARABIC LETTER NOON INITIAL FORM\n-    u'\\ufe85'   #  0xEF -> ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM\n-    u'\\ufeed'   #  0xF0 -> ARABIC LETTER WAW ISOLATED FORM\n-    u'\\ufba6'   #  0xF1 -> ARABIC LETTER HEH GOAL ISOLATED FORM\n-    u'\\ufba8'   #  0xF2 -> ARABIC LETTER HEH GOAL INITIAL FORM\n-    u'\\ufba9'   #  0xF3 -> ARABIC LETTER HEH GOAL MEDIAL FORM\n-    u'\\ufbaa'   #  0xF4 -> ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM\n-    u'\\ufe80'   #  0xF5 -> ARABIC LETTER HAMZA ISOLATED FORM\n-    u'\\ufe89'   #  0xF6 -> ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM\n-    u'\\ufe8a'   #  0xF7 -> ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM\n-    u'\\ufe8b'   #  0xF8 -> ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM\n-    u'\\ufef1'   #  0xF9 -> ARABIC LETTER YEH ISOLATED FORM\n-    u'\\ufef2'   #  0xFA -> ARABIC LETTER YEH FINAL FORM\n-    u'\\ufef3'   #  0xFB -> ARABIC LETTER YEH INITIAL FORM\n-    u'\\ufbb0'   #  0xFC -> ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM\n-    u'\\ufbae'   #  0xFD -> ARABIC LETTER YEH BARREE ISOLATED FORM\n-    u'\\ufe7c'   #  0xFE -> ARABIC SHADDA ISOLATED FORM\n-    u'\\ufe7d'   #  0xFF -> ARABIC SHADDA MEDIAL FORM\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1006.pyc
b
Binary file test/lib/python2.7/encodings/cp1006.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1026.py
--- a/test/lib/python2.7/encodings/cp1026.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1026 generated from \'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1026\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x9c\'     #  0x04 -> CONTROL\n-    u\'\\t\'       #  0x05 -> HORIZONTAL TABULATION\n-    u\'\\x86\'     #  0x06 -> CONTROL\n-    u\'\\x7f\'     #  0x07 -> DELETE\n-    u\'\\x97\'     #  0x08 -> CONTROL\n-    u\'\\x8d\'     #  0x09 -> CONTROL\n-    u\'\\x8e\'     #  0x0A -> CONTROL\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x9d\'     #  0x14 -> CONTROL\n-    u\'\\x85\'     #  0x15 -> CONTROL\n-    u\'\\x08\'     #  0x16 -> BACKSPACE\n-    u\'\\x87\'     #  0x17 -> CONTROL\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x92\'     #  0x1A -> CONTROL\n-    u\'\\x8f\'     #  0x1B -> CONTROL\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\'\\x80\'     #  0x20 -> CONTROL\n-    u\'\\x81\'     #  0x21 -> CONTROL\n-    u\'\\x82\'     #  0x22 -> CONTROL\n-    u\'\\x83\'     #  0x23 -> CONTROL\n-    u\'\\x84\'     #  0x24 -> CONTROL\n-    u\'\\n\'       #  0x25 -> LINE FEED\n-    u\'\\x17\'     #  0x26 -> END OF TRANSMISSION BLOCK\n-    u\'\\x1b\'     #  0x27 -> ESCAPE\n-    u\'\\x88\'     #  0x28 -> CONTROL\n-    u\'\\x89\'     #  0x29 -> CONTROL\n-    u\'\\x8a\'     #  0x2A -> CONTROL\n-    u\'\\x8b\'     #  0x2B -> CONTROL\n-    u\'\\x8c\'     #  0x2C -> CONTROL\n-    u\'\\x05\'     #  0x2D -> ENQUIRY\n-    u\'\\x06\'     #  0x2E -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x2F -> BELL\n-    u\'\\x90\'     #  0x30 -> CONTROL\n-    u\'\\x91\'     #  0x31 -> CONTROL\n-    u\'\\x16\'     #  0x32 -> SYNCHRONOUS IDLE\n-    u\'\\x93\'     #  0x33 -> CONTROL\n-    u\'\\x94\'     #  0x34 -> CONTROL\n-    u\'\\x95\'     #  0x35 -> CONTROL\n-    u\'\\x96\'     #  0x36 -> CONTROL\n-    u\'\\x04\'     #  0x37 -> END OF TRANSMISSION\n-    u\'\\x98\'     #  0x38 -> CONTROL\n-    u\'\\x99\'     #  0x39 -> CONTROL\n-    u\'\\x9a\'     #  0x3A -> CONTROL\n-    u\'\\x9b\'     #  0x3B -> CONTROL\n-    u\'\\x14\'     #  0x3C -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x3D -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x9e\'     #  0x3E -> CONTROL\n-    u\'\\x1a\'     #  0x3F -> SUBSTITUTE\n-    u\' \'        #  0x40 -> SPACE\n-    u\'\\xa0\'     #  0x41 -> NO-BREAK SPACE\n-    u\'\\xe2\'     #  0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u\'\\xe4\'     #  0x43 -> LATIN SMALL LETTER A WI'..b' 0xB0 -> CENT SIGN\n-    u\'\\xa3\'     #  0xB1 -> POUND SIGN\n-    u\'\\xa5\'     #  0xB2 -> YEN SIGN\n-    u\'\\xb7\'     #  0xB3 -> MIDDLE DOT\n-    u\'\\xa9\'     #  0xB4 -> COPYRIGHT SIGN\n-    u\'\\xa7\'     #  0xB5 -> SECTION SIGN\n-    u\'\\xb6\'     #  0xB6 -> PILCROW SIGN\n-    u\'\\xbc\'     #  0xB7 -> VULGAR FRACTION ONE QUARTER\n-    u\'\\xbd\'     #  0xB8 -> VULGAR FRACTION ONE HALF\n-    u\'\\xbe\'     #  0xB9 -> VULGAR FRACTION THREE QUARTERS\n-    u\'\\xac\'     #  0xBA -> NOT SIGN\n-    u\'|\'        #  0xBB -> VERTICAL LINE\n-    u\'\\xaf\'     #  0xBC -> MACRON\n-    u\'\\xa8\'     #  0xBD -> DIAERESIS\n-    u\'\\xb4\'     #  0xBE -> ACUTE ACCENT\n-    u\'\\xd7\'     #  0xBF -> MULTIPLICATION SIGN\n-    u\'\\xe7\'     #  0xC0 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u\'A\'        #  0xC1 -> LATIN CAPITAL LETTER A\n-    u\'B\'        #  0xC2 -> LATIN CAPITAL LETTER B\n-    u\'C\'        #  0xC3 -> LATIN CAPITAL LETTER C\n-    u\'D\'        #  0xC4 -> LATIN CAPITAL LETTER D\n-    u\'E\'        #  0xC5 -> LATIN CAPITAL LETTER E\n-    u\'F\'        #  0xC6 -> LATIN CAPITAL LETTER F\n-    u\'G\'        #  0xC7 -> LATIN CAPITAL LETTER G\n-    u\'H\'        #  0xC8 -> LATIN CAPITAL LETTER H\n-    u\'I\'        #  0xC9 -> LATIN CAPITAL LETTER I\n-    u\'\\xad\'     #  0xCA -> SOFT HYPHEN\n-    u\'\\xf4\'     #  0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u\'~\'        #  0xCC -> TILDE\n-    u\'\\xf2\'     #  0xCD -> LATIN SMALL LETTER O WITH GRAVE\n-    u\'\\xf3\'     #  0xCE -> LATIN SMALL LETTER O WITH ACUTE\n-    u\'\\xf5\'     #  0xCF -> LATIN SMALL LETTER O WITH TILDE\n-    u\'\\u011f\'   #  0xD0 -> LATIN SMALL LETTER G WITH BREVE\n-    u\'J\'        #  0xD1 -> LATIN CAPITAL LETTER J\n-    u\'K\'        #  0xD2 -> LATIN CAPITAL LETTER K\n-    u\'L\'        #  0xD3 -> LATIN CAPITAL LETTER L\n-    u\'M\'        #  0xD4 -> LATIN CAPITAL LETTER M\n-    u\'N\'        #  0xD5 -> LATIN CAPITAL LETTER N\n-    u\'O\'        #  0xD6 -> LATIN CAPITAL LETTER O\n-    u\'P\'        #  0xD7 -> LATIN CAPITAL LETTER P\n-    u\'Q\'        #  0xD8 -> LATIN CAPITAL LETTER Q\n-    u\'R\'        #  0xD9 -> LATIN CAPITAL LETTER R\n-    u\'\\xb9\'     #  0xDA -> SUPERSCRIPT ONE\n-    u\'\\xfb\'     #  0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u\'\\\\\'       #  0xDC -> REVERSE SOLIDUS\n-    u\'\\xf9\'     #  0xDD -> LATIN SMALL LETTER U WITH GRAVE\n-    u\'\\xfa\'     #  0xDE -> LATIN SMALL LETTER U WITH ACUTE\n-    u\'\\xff\'     #  0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u\'\\xfc\'     #  0xE0 -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u\'\\xf7\'     #  0xE1 -> DIVISION SIGN\n-    u\'S\'        #  0xE2 -> LATIN CAPITAL LETTER S\n-    u\'T\'        #  0xE3 -> LATIN CAPITAL LETTER T\n-    u\'U\'        #  0xE4 -> LATIN CAPITAL LETTER U\n-    u\'V\'        #  0xE5 -> LATIN CAPITAL LETTER V\n-    u\'W\'        #  0xE6 -> LATIN CAPITAL LETTER W\n-    u\'X\'        #  0xE7 -> LATIN CAPITAL LETTER X\n-    u\'Y\'        #  0xE8 -> LATIN CAPITAL LETTER Y\n-    u\'Z\'        #  0xE9 -> LATIN CAPITAL LETTER Z\n-    u\'\\xb2\'     #  0xEA -> SUPERSCRIPT TWO\n-    u\'\\xd4\'     #  0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u\'#\'        #  0xEC -> NUMBER SIGN\n-    u\'\\xd2\'     #  0xED -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u\'\\xd3\'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u\'\\xd5\'     #  0xEF -> LATIN CAPITAL LETTER O WITH TILDE\n-    u\'0\'        #  0xF0 -> DIGIT ZERO\n-    u\'1\'        #  0xF1 -> DIGIT ONE\n-    u\'2\'        #  0xF2 -> DIGIT TWO\n-    u\'3\'        #  0xF3 -> DIGIT THREE\n-    u\'4\'        #  0xF4 -> DIGIT FOUR\n-    u\'5\'        #  0xF5 -> DIGIT FIVE\n-    u\'6\'        #  0xF6 -> DIGIT SIX\n-    u\'7\'        #  0xF7 -> DIGIT SEVEN\n-    u\'8\'        #  0xF8 -> DIGIT EIGHT\n-    u\'9\'        #  0xF9 -> DIGIT NINE\n-    u\'\\xb3\'     #  0xFA -> SUPERSCRIPT THREE\n-    u\'\\xdb\'     #  0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u\'"\'        #  0xFC -> QUOTATION MARK\n-    u\'\\xd9\'     #  0xFD -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u\'\\xda\'     #  0xFE -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u\'\\x9f\'     #  0xFF -> CONTROL\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1026.pyc
b
Binary file test/lib/python2.7/encodings/cp1026.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1140.py
--- a/test/lib/python2.7/encodings/cp1140.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1140 generated from \'python-mappings/CP1140.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1140\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x9c\'     #  0x04 -> CONTROL\n-    u\'\\t\'       #  0x05 -> HORIZONTAL TABULATION\n-    u\'\\x86\'     #  0x06 -> CONTROL\n-    u\'\\x7f\'     #  0x07 -> DELETE\n-    u\'\\x97\'     #  0x08 -> CONTROL\n-    u\'\\x8d\'     #  0x09 -> CONTROL\n-    u\'\\x8e\'     #  0x0A -> CONTROL\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x9d\'     #  0x14 -> CONTROL\n-    u\'\\x85\'     #  0x15 -> CONTROL\n-    u\'\\x08\'     #  0x16 -> BACKSPACE\n-    u\'\\x87\'     #  0x17 -> CONTROL\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x92\'     #  0x1A -> CONTROL\n-    u\'\\x8f\'     #  0x1B -> CONTROL\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\'\\x80\'     #  0x20 -> CONTROL\n-    u\'\\x81\'     #  0x21 -> CONTROL\n-    u\'\\x82\'     #  0x22 -> CONTROL\n-    u\'\\x83\'     #  0x23 -> CONTROL\n-    u\'\\x84\'     #  0x24 -> CONTROL\n-    u\'\\n\'       #  0x25 -> LINE FEED\n-    u\'\\x17\'     #  0x26 -> END OF TRANSMISSION BLOCK\n-    u\'\\x1b\'     #  0x27 -> ESCAPE\n-    u\'\\x88\'     #  0x28 -> CONTROL\n-    u\'\\x89\'     #  0x29 -> CONTROL\n-    u\'\\x8a\'     #  0x2A -> CONTROL\n-    u\'\\x8b\'     #  0x2B -> CONTROL\n-    u\'\\x8c\'     #  0x2C -> CONTROL\n-    u\'\\x05\'     #  0x2D -> ENQUIRY\n-    u\'\\x06\'     #  0x2E -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x2F -> BELL\n-    u\'\\x90\'     #  0x30 -> CONTROL\n-    u\'\\x91\'     #  0x31 -> CONTROL\n-    u\'\\x16\'     #  0x32 -> SYNCHRONOUS IDLE\n-    u\'\\x93\'     #  0x33 -> CONTROL\n-    u\'\\x94\'     #  0x34 -> CONTROL\n-    u\'\\x95\'     #  0x35 -> CONTROL\n-    u\'\\x96\'     #  0x36 -> CONTROL\n-    u\'\\x04\'     #  0x37 -> END OF TRANSMISSION\n-    u\'\\x98\'     #  0x38 -> CONTROL\n-    u\'\\x99\'     #  0x39 -> CONTROL\n-    u\'\\x9a\'     #  0x3A -> CONTROL\n-    u\'\\x9b\'     #  0x3B -> CONTROL\n-    u\'\\x14\'     #  0x3C -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x3D -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x9e\'     #  0x3E -> CONTROL\n-    u\'\\x1a\'     #  0x3F -> SUBSTITUTE\n-    u\' \'        #  0x40 -> SPACE\n-    u\'\\xa0\'     #  0x41 -> NO-BREAK SPACE\n-    u\'\\xe2\'     #  0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u\'\\xe4\'     #  0x43 -> LATIN SMALL LETTER A WITH DIAERESIS\n- '..b"     #  0xB2 -> YEN SIGN\n-    u'\\xb7'     #  0xB3 -> MIDDLE DOT\n-    u'\\xa9'     #  0xB4 -> COPYRIGHT SIGN\n-    u'\\xa7'     #  0xB5 -> SECTION SIGN\n-    u'\\xb6'     #  0xB6 -> PILCROW SIGN\n-    u'\\xbc'     #  0xB7 -> VULGAR FRACTION ONE QUARTER\n-    u'\\xbd'     #  0xB8 -> VULGAR FRACTION ONE HALF\n-    u'\\xbe'     #  0xB9 -> VULGAR FRACTION THREE QUARTERS\n-    u'['        #  0xBA -> LEFT SQUARE BRACKET\n-    u']'        #  0xBB -> RIGHT SQUARE BRACKET\n-    u'\\xaf'     #  0xBC -> MACRON\n-    u'\\xa8'     #  0xBD -> DIAERESIS\n-    u'\\xb4'     #  0xBE -> ACUTE ACCENT\n-    u'\\xd7'     #  0xBF -> MULTIPLICATION SIGN\n-    u'{'        #  0xC0 -> LEFT CURLY BRACKET\n-    u'A'        #  0xC1 -> LATIN CAPITAL LETTER A\n-    u'B'        #  0xC2 -> LATIN CAPITAL LETTER B\n-    u'C'        #  0xC3 -> LATIN CAPITAL LETTER C\n-    u'D'        #  0xC4 -> LATIN CAPITAL LETTER D\n-    u'E'        #  0xC5 -> LATIN CAPITAL LETTER E\n-    u'F'        #  0xC6 -> LATIN CAPITAL LETTER F\n-    u'G'        #  0xC7 -> LATIN CAPITAL LETTER G\n-    u'H'        #  0xC8 -> LATIN CAPITAL LETTER H\n-    u'I'        #  0xC9 -> LATIN CAPITAL LETTER I\n-    u'\\xad'     #  0xCA -> SOFT HYPHEN\n-    u'\\xf4'     #  0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf6'     #  0xCC -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf2'     #  0xCD -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xCE -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf5'     #  0xCF -> LATIN SMALL LETTER O WITH TILDE\n-    u'}'        #  0xD0 -> RIGHT CURLY BRACKET\n-    u'J'        #  0xD1 -> LATIN CAPITAL LETTER J\n-    u'K'        #  0xD2 -> LATIN CAPITAL LETTER K\n-    u'L'        #  0xD3 -> LATIN CAPITAL LETTER L\n-    u'M'        #  0xD4 -> LATIN CAPITAL LETTER M\n-    u'N'        #  0xD5 -> LATIN CAPITAL LETTER N\n-    u'O'        #  0xD6 -> LATIN CAPITAL LETTER O\n-    u'P'        #  0xD7 -> LATIN CAPITAL LETTER P\n-    u'Q'        #  0xD8 -> LATIN CAPITAL LETTER Q\n-    u'R'        #  0xD9 -> LATIN CAPITAL LETTER R\n-    u'\\xb9'     #  0xDA -> SUPERSCRIPT ONE\n-    u'\\xfb'     #  0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xDC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xf9'     #  0xDD -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xDE -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xff'     #  0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u'\\\\'       #  0xE0 -> REVERSE SOLIDUS\n-    u'\\xf7'     #  0xE1 -> DIVISION SIGN\n-    u'S'        #  0xE2 -> LATIN CAPITAL LETTER S\n-    u'T'        #  0xE3 -> LATIN CAPITAL LETTER T\n-    u'U'        #  0xE4 -> LATIN CAPITAL LETTER U\n-    u'V'        #  0xE5 -> LATIN CAPITAL LETTER V\n-    u'W'        #  0xE6 -> LATIN CAPITAL LETTER W\n-    u'X'        #  0xE7 -> LATIN CAPITAL LETTER X\n-    u'Y'        #  0xE8 -> LATIN CAPITAL LETTER Y\n-    u'Z'        #  0xE9 -> LATIN CAPITAL LETTER Z\n-    u'\\xb2'     #  0xEA -> SUPERSCRIPT TWO\n-    u'\\xd4'     #  0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd6'     #  0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd2'     #  0xED -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd5'     #  0xEF -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'0'        #  0xF0 -> DIGIT ZERO\n-    u'1'        #  0xF1 -> DIGIT ONE\n-    u'2'        #  0xF2 -> DIGIT TWO\n-    u'3'        #  0xF3 -> DIGIT THREE\n-    u'4'        #  0xF4 -> DIGIT FOUR\n-    u'5'        #  0xF5 -> DIGIT FIVE\n-    u'6'        #  0xF6 -> DIGIT SIX\n-    u'7'        #  0xF7 -> DIGIT SEVEN\n-    u'8'        #  0xF8 -> DIGIT EIGHT\n-    u'9'        #  0xF9 -> DIGIT NINE\n-    u'\\xb3'     #  0xFA -> SUPERSCRIPT THREE\n-    u'\\xdb'     #  0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xd9'     #  0xFD -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xFE -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\x9f'     #  0xFF -> CONTROL\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1140.pyc
b
Binary file test/lib/python2.7/encodings/cp1140.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1250.py
--- a/test/lib/python2.7/encodings/cp1250.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1250 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1250\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"CAPITAL LETTER R WITH ACUTE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\u0102'   #  0xC3 -> LATIN CAPITAL LETTER A WITH BREVE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\u0139'   #  0xC5 -> LATIN CAPITAL LETTER L WITH ACUTE\n-    u'\\u0106'   #  0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\u010c'   #  0xC8 -> LATIN CAPITAL LETTER C WITH CARON\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\u0118'   #  0xCA -> LATIN CAPITAL LETTER E WITH OGONEK\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\u011a'   #  0xCC -> LATIN CAPITAL LETTER E WITH CARON\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\u010e'   #  0xCF -> LATIN CAPITAL LETTER D WITH CARON\n-    u'\\u0110'   #  0xD0 -> LATIN CAPITAL LETTER D WITH STROKE\n-    u'\\u0143'   #  0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE\n-    u'\\u0147'   #  0xD2 -> LATIN CAPITAL LETTER N WITH CARON\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\u0150'   #  0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\u0158'   #  0xD8 -> LATIN CAPITAL LETTER R WITH CARON\n-    u'\\u016e'   #  0xD9 -> LATIN CAPITAL LETTER U WITH RING ABOVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\u0170'   #  0xDB -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xdd'     #  0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\u0162'   #  0xDE -> LATIN CAPITAL LETTER T WITH CEDILLA\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\u0155'   #  0xE0 -> LATIN SMALL LETTER R WITH ACUTE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\u0103'   #  0xE3 -> LATIN SMALL LETTER A WITH BREVE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\u013a'   #  0xE5 -> LATIN SMALL LETTER L WITH ACUTE\n-    u'\\u0107'   #  0xE6 -> LATIN SMALL LETTER C WITH ACUTE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\u010d'   #  0xE8 -> LATIN SMALL LETTER C WITH CARON\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\u0119'   #  0xEA -> LATIN SMALL LETTER E WITH OGONEK\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\u011b'   #  0xEC -> LATIN SMALL LETTER E WITH CARON\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\u010f'   #  0xEF -> LATIN SMALL LETTER D WITH CARON\n-    u'\\u0111'   #  0xF0 -> LATIN SMALL LETTER D WITH STROKE\n-    u'\\u0144'   #  0xF1 -> LATIN SMALL LETTER N WITH ACUTE\n-    u'\\u0148'   #  0xF2 -> LATIN SMALL LETTER N WITH CARON\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\u0151'   #  0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\u0159'   #  0xF8 -> LATIN SMALL LETTER R WITH CARON\n-    u'\\u016f'   #  0xF9 -> LATIN SMALL LETTER U WITH RING ABOVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\u0171'   #  0xFB -> LATIN SMALL LETTER U WITH DOUBLE ACUTE\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xfd'     #  0xFD -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\u0163'   #  0xFE -> LATIN SMALL LETTER T WITH CEDILLA\n-    u'\\u02d9'   #  0xFF -> DOT ABOVE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1250.pyc
b
Binary file test/lib/python2.7/encodings/cp1250.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1251.py
--- a/test/lib/python2.7/encodings/cp1251.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1251 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1251\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"> CYRILLIC SMALL LETTER IO\n-    u'\\u2116'   #  0xB9 -> NUMERO SIGN\n-    u'\\u0454'   #  0xBA -> CYRILLIC SMALL LETTER UKRAINIAN IE\n-    u'\\xbb'     #  0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u0458'   #  0xBC -> CYRILLIC SMALL LETTER JE\n-    u'\\u0405'   #  0xBD -> CYRILLIC CAPITAL LETTER DZE\n-    u'\\u0455'   #  0xBE -> CYRILLIC SMALL LETTER DZE\n-    u'\\u0457'   #  0xBF -> CYRILLIC SMALL LETTER YI\n-    u'\\u0410'   #  0xC0 -> CYRILLIC CAPITAL LETTER A\n-    u'\\u0411'   #  0xC1 -> CYRILLIC CAPITAL LETTER BE\n-    u'\\u0412'   #  0xC2 -> CYRILLIC CAPITAL LETTER VE\n-    u'\\u0413'   #  0xC3 -> CYRILLIC CAPITAL LETTER GHE\n-    u'\\u0414'   #  0xC4 -> CYRILLIC CAPITAL LETTER DE\n-    u'\\u0415'   #  0xC5 -> CYRILLIC CAPITAL LETTER IE\n-    u'\\u0416'   #  0xC6 -> CYRILLIC CAPITAL LETTER ZHE\n-    u'\\u0417'   #  0xC7 -> CYRILLIC CAPITAL LETTER ZE\n-    u'\\u0418'   #  0xC8 -> CYRILLIC CAPITAL LETTER I\n-    u'\\u0419'   #  0xC9 -> CYRILLIC CAPITAL LETTER SHORT I\n-    u'\\u041a'   #  0xCA -> CYRILLIC CAPITAL LETTER KA\n-    u'\\u041b'   #  0xCB -> CYRILLIC CAPITAL LETTER EL\n-    u'\\u041c'   #  0xCC -> CYRILLIC CAPITAL LETTER EM\n-    u'\\u041d'   #  0xCD -> CYRILLIC CAPITAL LETTER EN\n-    u'\\u041e'   #  0xCE -> CYRILLIC CAPITAL LETTER O\n-    u'\\u041f'   #  0xCF -> CYRILLIC CAPITAL LETTER PE\n-    u'\\u0420'   #  0xD0 -> CYRILLIC CAPITAL LETTER ER\n-    u'\\u0421'   #  0xD1 -> CYRILLIC CAPITAL LETTER ES\n-    u'\\u0422'   #  0xD2 -> CYRILLIC CAPITAL LETTER TE\n-    u'\\u0423'   #  0xD3 -> CYRILLIC CAPITAL LETTER U\n-    u'\\u0424'   #  0xD4 -> CYRILLIC CAPITAL LETTER EF\n-    u'\\u0425'   #  0xD5 -> CYRILLIC CAPITAL LETTER HA\n-    u'\\u0426'   #  0xD6 -> CYRILLIC CAPITAL LETTER TSE\n-    u'\\u0427'   #  0xD7 -> CYRILLIC CAPITAL LETTER CHE\n-    u'\\u0428'   #  0xD8 -> CYRILLIC CAPITAL LETTER SHA\n-    u'\\u0429'   #  0xD9 -> CYRILLIC CAPITAL LETTER SHCHA\n-    u'\\u042a'   #  0xDA -> CYRILLIC CAPITAL LETTER HARD SIGN\n-    u'\\u042b'   #  0xDB -> CYRILLIC CAPITAL LETTER YERU\n-    u'\\u042c'   #  0xDC -> CYRILLIC CAPITAL LETTER SOFT SIGN\n-    u'\\u042d'   #  0xDD -> CYRILLIC CAPITAL LETTER E\n-    u'\\u042e'   #  0xDE -> CYRILLIC CAPITAL LETTER YU\n-    u'\\u042f'   #  0xDF -> CYRILLIC CAPITAL LETTER YA\n-    u'\\u0430'   #  0xE0 -> CYRILLIC SMALL LETTER A\n-    u'\\u0431'   #  0xE1 -> CYRILLIC SMALL LETTER BE\n-    u'\\u0432'   #  0xE2 -> CYRILLIC SMALL LETTER VE\n-    u'\\u0433'   #  0xE3 -> CYRILLIC SMALL LETTER GHE\n-    u'\\u0434'   #  0xE4 -> CYRILLIC SMALL LETTER DE\n-    u'\\u0435'   #  0xE5 -> CYRILLIC SMALL LETTER IE\n-    u'\\u0436'   #  0xE6 -> CYRILLIC SMALL LETTER ZHE\n-    u'\\u0437'   #  0xE7 -> CYRILLIC SMALL LETTER ZE\n-    u'\\u0438'   #  0xE8 -> CYRILLIC SMALL LETTER I\n-    u'\\u0439'   #  0xE9 -> CYRILLIC SMALL LETTER SHORT I\n-    u'\\u043a'   #  0xEA -> CYRILLIC SMALL LETTER KA\n-    u'\\u043b'   #  0xEB -> CYRILLIC SMALL LETTER EL\n-    u'\\u043c'   #  0xEC -> CYRILLIC SMALL LETTER EM\n-    u'\\u043d'   #  0xED -> CYRILLIC SMALL LETTER EN\n-    u'\\u043e'   #  0xEE -> CYRILLIC SMALL LETTER O\n-    u'\\u043f'   #  0xEF -> CYRILLIC SMALL LETTER PE\n-    u'\\u0440'   #  0xF0 -> CYRILLIC SMALL LETTER ER\n-    u'\\u0441'   #  0xF1 -> CYRILLIC SMALL LETTER ES\n-    u'\\u0442'   #  0xF2 -> CYRILLIC SMALL LETTER TE\n-    u'\\u0443'   #  0xF3 -> CYRILLIC SMALL LETTER U\n-    u'\\u0444'   #  0xF4 -> CYRILLIC SMALL LETTER EF\n-    u'\\u0445'   #  0xF5 -> CYRILLIC SMALL LETTER HA\n-    u'\\u0446'   #  0xF6 -> CYRILLIC SMALL LETTER TSE\n-    u'\\u0447'   #  0xF7 -> CYRILLIC SMALL LETTER CHE\n-    u'\\u0448'   #  0xF8 -> CYRILLIC SMALL LETTER SHA\n-    u'\\u0449'   #  0xF9 -> CYRILLIC SMALL LETTER SHCHA\n-    u'\\u044a'   #  0xFA -> CYRILLIC SMALL LETTER HARD SIGN\n-    u'\\u044b'   #  0xFB -> CYRILLIC SMALL LETTER YERU\n-    u'\\u044c'   #  0xFC -> CYRILLIC SMALL LETTER SOFT SIGN\n-    u'\\u044d'   #  0xFD -> CYRILLIC SMALL LETTER E\n-    u'\\u044e'   #  0xFE -> CYRILLIC SMALL LETTER YU\n-    u'\\u044f'   #  0xFF -> CYRILLIC SMALL LETTER YA\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1251.pyc
b
Binary file test/lib/python2.7/encodings/cp1251.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1252.py
--- a/test/lib/python2.7/encodings/cp1252.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1252 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1252\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"   u'\\xc0'     #  0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xd0'     #  0xD0 -> LATIN CAPITAL LETTER ETH\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xdd'     #  0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\xde'     #  0xDE -> LATIN CAPITAL LETTER THORN\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\xf0'     #  0xF0 -> LATIN SMALL LETTER ETH\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xfd'     #  0xFD -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\xfe'     #  0xFE -> LATIN SMALL LETTER THORN\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1252.pyc
b
Binary file test/lib/python2.7/encodings/cp1252.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1253.py
--- a/test/lib/python2.7/encodings/cp1253.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1253 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1253\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b" LETTER IOTA WITH TONOS\n-    u'\\xbb'     #  0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u038c'   #  0xBC -> GREEK CAPITAL LETTER OMICRON WITH TONOS\n-    u'\\xbd'     #  0xBD -> VULGAR FRACTION ONE HALF\n-    u'\\u038e'   #  0xBE -> GREEK CAPITAL LETTER UPSILON WITH TONOS\n-    u'\\u038f'   #  0xBF -> GREEK CAPITAL LETTER OMEGA WITH TONOS\n-    u'\\u0390'   #  0xC0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\n-    u'\\u0391'   #  0xC1 -> GREEK CAPITAL LETTER ALPHA\n-    u'\\u0392'   #  0xC2 -> GREEK CAPITAL LETTER BETA\n-    u'\\u0393'   #  0xC3 -> GREEK CAPITAL LETTER GAMMA\n-    u'\\u0394'   #  0xC4 -> GREEK CAPITAL LETTER DELTA\n-    u'\\u0395'   #  0xC5 -> GREEK CAPITAL LETTER EPSILON\n-    u'\\u0396'   #  0xC6 -> GREEK CAPITAL LETTER ZETA\n-    u'\\u0397'   #  0xC7 -> GREEK CAPITAL LETTER ETA\n-    u'\\u0398'   #  0xC8 -> GREEK CAPITAL LETTER THETA\n-    u'\\u0399'   #  0xC9 -> GREEK CAPITAL LETTER IOTA\n-    u'\\u039a'   #  0xCA -> GREEK CAPITAL LETTER KAPPA\n-    u'\\u039b'   #  0xCB -> GREEK CAPITAL LETTER LAMDA\n-    u'\\u039c'   #  0xCC -> GREEK CAPITAL LETTER MU\n-    u'\\u039d'   #  0xCD -> GREEK CAPITAL LETTER NU\n-    u'\\u039e'   #  0xCE -> GREEK CAPITAL LETTER XI\n-    u'\\u039f'   #  0xCF -> GREEK CAPITAL LETTER OMICRON\n-    u'\\u03a0'   #  0xD0 -> GREEK CAPITAL LETTER PI\n-    u'\\u03a1'   #  0xD1 -> GREEK CAPITAL LETTER RHO\n-    u'\\ufffe'   #  0xD2 -> UNDEFINED\n-    u'\\u03a3'   #  0xD3 -> GREEK CAPITAL LETTER SIGMA\n-    u'\\u03a4'   #  0xD4 -> GREEK CAPITAL LETTER TAU\n-    u'\\u03a5'   #  0xD5 -> GREEK CAPITAL LETTER UPSILON\n-    u'\\u03a6'   #  0xD6 -> GREEK CAPITAL LETTER PHI\n-    u'\\u03a7'   #  0xD7 -> GREEK CAPITAL LETTER CHI\n-    u'\\u03a8'   #  0xD8 -> GREEK CAPITAL LETTER PSI\n-    u'\\u03a9'   #  0xD9 -> GREEK CAPITAL LETTER OMEGA\n-    u'\\u03aa'   #  0xDA -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA\n-    u'\\u03ab'   #  0xDB -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA\n-    u'\\u03ac'   #  0xDC -> GREEK SMALL LETTER ALPHA WITH TONOS\n-    u'\\u03ad'   #  0xDD -> GREEK SMALL LETTER EPSILON WITH TONOS\n-    u'\\u03ae'   #  0xDE -> GREEK SMALL LETTER ETA WITH TONOS\n-    u'\\u03af'   #  0xDF -> GREEK SMALL LETTER IOTA WITH TONOS\n-    u'\\u03b0'   #  0xE0 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\n-    u'\\u03b1'   #  0xE1 -> GREEK SMALL LETTER ALPHA\n-    u'\\u03b2'   #  0xE2 -> GREEK SMALL LETTER BETA\n-    u'\\u03b3'   #  0xE3 -> GREEK SMALL LETTER GAMMA\n-    u'\\u03b4'   #  0xE4 -> GREEK SMALL LETTER DELTA\n-    u'\\u03b5'   #  0xE5 -> GREEK SMALL LETTER EPSILON\n-    u'\\u03b6'   #  0xE6 -> GREEK SMALL LETTER ZETA\n-    u'\\u03b7'   #  0xE7 -> GREEK SMALL LETTER ETA\n-    u'\\u03b8'   #  0xE8 -> GREEK SMALL LETTER THETA\n-    u'\\u03b9'   #  0xE9 -> GREEK SMALL LETTER IOTA\n-    u'\\u03ba'   #  0xEA -> GREEK SMALL LETTER KAPPA\n-    u'\\u03bb'   #  0xEB -> GREEK SMALL LETTER LAMDA\n-    u'\\u03bc'   #  0xEC -> GREEK SMALL LETTER MU\n-    u'\\u03bd'   #  0xED -> GREEK SMALL LETTER NU\n-    u'\\u03be'   #  0xEE -> GREEK SMALL LETTER XI\n-    u'\\u03bf'   #  0xEF -> GREEK SMALL LETTER OMICRON\n-    u'\\u03c0'   #  0xF0 -> GREEK SMALL LETTER PI\n-    u'\\u03c1'   #  0xF1 -> GREEK SMALL LETTER RHO\n-    u'\\u03c2'   #  0xF2 -> GREEK SMALL LETTER FINAL SIGMA\n-    u'\\u03c3'   #  0xF3 -> GREEK SMALL LETTER SIGMA\n-    u'\\u03c4'   #  0xF4 -> GREEK SMALL LETTER TAU\n-    u'\\u03c5'   #  0xF5 -> GREEK SMALL LETTER UPSILON\n-    u'\\u03c6'   #  0xF6 -> GREEK SMALL LETTER PHI\n-    u'\\u03c7'   #  0xF7 -> GREEK SMALL LETTER CHI\n-    u'\\u03c8'   #  0xF8 -> GREEK SMALL LETTER PSI\n-    u'\\u03c9'   #  0xF9 -> GREEK SMALL LETTER OMEGA\n-    u'\\u03ca'   #  0xFA -> GREEK SMALL LETTER IOTA WITH DIALYTIKA\n-    u'\\u03cb'   #  0xFB -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA\n-    u'\\u03cc'   #  0xFC -> GREEK SMALL LETTER OMICRON WITH TONOS\n-    u'\\u03cd'   #  0xFD -> GREEK SMALL LETTER UPSILON WITH TONOS\n-    u'\\u03ce'   #  0xFE -> GREEK SMALL LETTER OMEGA WITH TONOS\n-    u'\\ufffe'   #  0xFF -> UNDEFINED\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1253.pyc
b
Binary file test/lib/python2.7/encodings/cp1253.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1254.py
--- a/test/lib/python2.7/encodings/cp1254.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1254 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1254\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"AL LETTER A WITH GRAVE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\u011e'   #  0xD0 -> LATIN CAPITAL LETTER G WITH BREVE\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u0130'   #  0xDD -> LATIN CAPITAL LETTER I WITH DOT ABOVE\n-    u'\\u015e'   #  0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\u011f'   #  0xF0 -> LATIN SMALL LETTER G WITH BREVE\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u0131'   #  0xFD -> LATIN SMALL LETTER DOTLESS I\n-    u'\\u015f'   #  0xFE -> LATIN SMALL LETTER S WITH CEDILLA\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1254.pyc
b
Binary file test/lib/python2.7/encodings/cp1254.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1255.py
--- a/test/lib/python2.7/encodings/cp1255.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1255 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1255\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"NOT SIGN\n-    u'\\xad'     #  0xAD -> SOFT HYPHEN\n-    u'\\xae'     #  0xAE -> REGISTERED SIGN\n-    u'\\xaf'     #  0xAF -> MACRON\n-    u'\\xb0'     #  0xB0 -> DEGREE SIGN\n-    u'\\xb1'     #  0xB1 -> PLUS-MINUS SIGN\n-    u'\\xb2'     #  0xB2 -> SUPERSCRIPT TWO\n-    u'\\xb3'     #  0xB3 -> SUPERSCRIPT THREE\n-    u'\\xb4'     #  0xB4 -> ACUTE ACCENT\n-    u'\\xb5'     #  0xB5 -> MICRO SIGN\n-    u'\\xb6'     #  0xB6 -> PILCROW SIGN\n-    u'\\xb7'     #  0xB7 -> MIDDLE DOT\n-    u'\\xb8'     #  0xB8 -> CEDILLA\n-    u'\\xb9'     #  0xB9 -> SUPERSCRIPT ONE\n-    u'\\xf7'     #  0xBA -> DIVISION SIGN\n-    u'\\xbb'     #  0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbc'     #  0xBC -> VULGAR FRACTION ONE QUARTER\n-    u'\\xbd'     #  0xBD -> VULGAR FRACTION ONE HALF\n-    u'\\xbe'     #  0xBE -> VULGAR FRACTION THREE QUARTERS\n-    u'\\xbf'     #  0xBF -> INVERTED QUESTION MARK\n-    u'\\u05b0'   #  0xC0 -> HEBREW POINT SHEVA\n-    u'\\u05b1'   #  0xC1 -> HEBREW POINT HATAF SEGOL\n-    u'\\u05b2'   #  0xC2 -> HEBREW POINT HATAF PATAH\n-    u'\\u05b3'   #  0xC3 -> HEBREW POINT HATAF QAMATS\n-    u'\\u05b4'   #  0xC4 -> HEBREW POINT HIRIQ\n-    u'\\u05b5'   #  0xC5 -> HEBREW POINT TSERE\n-    u'\\u05b6'   #  0xC6 -> HEBREW POINT SEGOL\n-    u'\\u05b7'   #  0xC7 -> HEBREW POINT PATAH\n-    u'\\u05b8'   #  0xC8 -> HEBREW POINT QAMATS\n-    u'\\u05b9'   #  0xC9 -> HEBREW POINT HOLAM\n-    u'\\ufffe'   #  0xCA -> UNDEFINED\n-    u'\\u05bb'   #  0xCB -> HEBREW POINT QUBUTS\n-    u'\\u05bc'   #  0xCC -> HEBREW POINT DAGESH OR MAPIQ\n-    u'\\u05bd'   #  0xCD -> HEBREW POINT METEG\n-    u'\\u05be'   #  0xCE -> HEBREW PUNCTUATION MAQAF\n-    u'\\u05bf'   #  0xCF -> HEBREW POINT RAFE\n-    u'\\u05c0'   #  0xD0 -> HEBREW PUNCTUATION PASEQ\n-    u'\\u05c1'   #  0xD1 -> HEBREW POINT SHIN DOT\n-    u'\\u05c2'   #  0xD2 -> HEBREW POINT SIN DOT\n-    u'\\u05c3'   #  0xD3 -> HEBREW PUNCTUATION SOF PASUQ\n-    u'\\u05f0'   #  0xD4 -> HEBREW LIGATURE YIDDISH DOUBLE VAV\n-    u'\\u05f1'   #  0xD5 -> HEBREW LIGATURE YIDDISH VAV YOD\n-    u'\\u05f2'   #  0xD6 -> HEBREW LIGATURE YIDDISH DOUBLE YOD\n-    u'\\u05f3'   #  0xD7 -> HEBREW PUNCTUATION GERESH\n-    u'\\u05f4'   #  0xD8 -> HEBREW PUNCTUATION GERSHAYIM\n-    u'\\ufffe'   #  0xD9 -> UNDEFINED\n-    u'\\ufffe'   #  0xDA -> UNDEFINED\n-    u'\\ufffe'   #  0xDB -> UNDEFINED\n-    u'\\ufffe'   #  0xDC -> UNDEFINED\n-    u'\\ufffe'   #  0xDD -> UNDEFINED\n-    u'\\ufffe'   #  0xDE -> UNDEFINED\n-    u'\\ufffe'   #  0xDF -> UNDEFINED\n-    u'\\u05d0'   #  0xE0 -> HEBREW LETTER ALEF\n-    u'\\u05d1'   #  0xE1 -> HEBREW LETTER BET\n-    u'\\u05d2'   #  0xE2 -> HEBREW LETTER GIMEL\n-    u'\\u05d3'   #  0xE3 -> HEBREW LETTER DALET\n-    u'\\u05d4'   #  0xE4 -> HEBREW LETTER HE\n-    u'\\u05d5'   #  0xE5 -> HEBREW LETTER VAV\n-    u'\\u05d6'   #  0xE6 -> HEBREW LETTER ZAYIN\n-    u'\\u05d7'   #  0xE7 -> HEBREW LETTER HET\n-    u'\\u05d8'   #  0xE8 -> HEBREW LETTER TET\n-    u'\\u05d9'   #  0xE9 -> HEBREW LETTER YOD\n-    u'\\u05da'   #  0xEA -> HEBREW LETTER FINAL KAF\n-    u'\\u05db'   #  0xEB -> HEBREW LETTER KAF\n-    u'\\u05dc'   #  0xEC -> HEBREW LETTER LAMED\n-    u'\\u05dd'   #  0xED -> HEBREW LETTER FINAL MEM\n-    u'\\u05de'   #  0xEE -> HEBREW LETTER MEM\n-    u'\\u05df'   #  0xEF -> HEBREW LETTER FINAL NUN\n-    u'\\u05e0'   #  0xF0 -> HEBREW LETTER NUN\n-    u'\\u05e1'   #  0xF1 -> HEBREW LETTER SAMEKH\n-    u'\\u05e2'   #  0xF2 -> HEBREW LETTER AYIN\n-    u'\\u05e3'   #  0xF3 -> HEBREW LETTER FINAL PE\n-    u'\\u05e4'   #  0xF4 -> HEBREW LETTER PE\n-    u'\\u05e5'   #  0xF5 -> HEBREW LETTER FINAL TSADI\n-    u'\\u05e6'   #  0xF6 -> HEBREW LETTER TSADI\n-    u'\\u05e7'   #  0xF7 -> HEBREW LETTER QOF\n-    u'\\u05e8'   #  0xF8 -> HEBREW LETTER RESH\n-    u'\\u05e9'   #  0xF9 -> HEBREW LETTER SHIN\n-    u'\\u05ea'   #  0xFA -> HEBREW LETTER TAV\n-    u'\\ufffe'   #  0xFB -> UNDEFINED\n-    u'\\ufffe'   #  0xFC -> UNDEFINED\n-    u'\\u200e'   #  0xFD -> LEFT-TO-RIGHT MARK\n-    u'\\u200f'   #  0xFE -> RIGHT-TO-LEFT MARK\n-    u'\\ufffe'   #  0xFF -> UNDEFINED\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1255.pyc
b
Binary file test/lib/python2.7/encodings/cp1255.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1256.py
--- a/test/lib/python2.7/encodings/cp1256.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1256 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1256\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"'\\xb2'     #  0xB2 -> SUPERSCRIPT TWO\n-    u'\\xb3'     #  0xB3 -> SUPERSCRIPT THREE\n-    u'\\xb4'     #  0xB4 -> ACUTE ACCENT\n-    u'\\xb5'     #  0xB5 -> MICRO SIGN\n-    u'\\xb6'     #  0xB6 -> PILCROW SIGN\n-    u'\\xb7'     #  0xB7 -> MIDDLE DOT\n-    u'\\xb8'     #  0xB8 -> CEDILLA\n-    u'\\xb9'     #  0xB9 -> SUPERSCRIPT ONE\n-    u'\\u061b'   #  0xBA -> ARABIC SEMICOLON\n-    u'\\xbb'     #  0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbc'     #  0xBC -> VULGAR FRACTION ONE QUARTER\n-    u'\\xbd'     #  0xBD -> VULGAR FRACTION ONE HALF\n-    u'\\xbe'     #  0xBE -> VULGAR FRACTION THREE QUARTERS\n-    u'\\u061f'   #  0xBF -> ARABIC QUESTION MARK\n-    u'\\u06c1'   #  0xC0 -> ARABIC LETTER HEH GOAL\n-    u'\\u0621'   #  0xC1 -> ARABIC LETTER HAMZA\n-    u'\\u0622'   #  0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE\n-    u'\\u0623'   #  0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE\n-    u'\\u0624'   #  0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE\n-    u'\\u0625'   #  0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW\n-    u'\\u0626'   #  0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE\n-    u'\\u0627'   #  0xC7 -> ARABIC LETTER ALEF\n-    u'\\u0628'   #  0xC8 -> ARABIC LETTER BEH\n-    u'\\u0629'   #  0xC9 -> ARABIC LETTER TEH MARBUTA\n-    u'\\u062a'   #  0xCA -> ARABIC LETTER TEH\n-    u'\\u062b'   #  0xCB -> ARABIC LETTER THEH\n-    u'\\u062c'   #  0xCC -> ARABIC LETTER JEEM\n-    u'\\u062d'   #  0xCD -> ARABIC LETTER HAH\n-    u'\\u062e'   #  0xCE -> ARABIC LETTER KHAH\n-    u'\\u062f'   #  0xCF -> ARABIC LETTER DAL\n-    u'\\u0630'   #  0xD0 -> ARABIC LETTER THAL\n-    u'\\u0631'   #  0xD1 -> ARABIC LETTER REH\n-    u'\\u0632'   #  0xD2 -> ARABIC LETTER ZAIN\n-    u'\\u0633'   #  0xD3 -> ARABIC LETTER SEEN\n-    u'\\u0634'   #  0xD4 -> ARABIC LETTER SHEEN\n-    u'\\u0635'   #  0xD5 -> ARABIC LETTER SAD\n-    u'\\u0636'   #  0xD6 -> ARABIC LETTER DAD\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\u0637'   #  0xD8 -> ARABIC LETTER TAH\n-    u'\\u0638'   #  0xD9 -> ARABIC LETTER ZAH\n-    u'\\u0639'   #  0xDA -> ARABIC LETTER AIN\n-    u'\\u063a'   #  0xDB -> ARABIC LETTER GHAIN\n-    u'\\u0640'   #  0xDC -> ARABIC TATWEEL\n-    u'\\u0641'   #  0xDD -> ARABIC LETTER FEH\n-    u'\\u0642'   #  0xDE -> ARABIC LETTER QAF\n-    u'\\u0643'   #  0xDF -> ARABIC LETTER KAF\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\u0644'   #  0xE1 -> ARABIC LETTER LAM\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\u0645'   #  0xE3 -> ARABIC LETTER MEEM\n-    u'\\u0646'   #  0xE4 -> ARABIC LETTER NOON\n-    u'\\u0647'   #  0xE5 -> ARABIC LETTER HEH\n-    u'\\u0648'   #  0xE6 -> ARABIC LETTER WAW\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\u0649'   #  0xEC -> ARABIC LETTER ALEF MAKSURA\n-    u'\\u064a'   #  0xED -> ARABIC LETTER YEH\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\u064b'   #  0xF0 -> ARABIC FATHATAN\n-    u'\\u064c'   #  0xF1 -> ARABIC DAMMATAN\n-    u'\\u064d'   #  0xF2 -> ARABIC KASRATAN\n-    u'\\u064e'   #  0xF3 -> ARABIC FATHA\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\u064f'   #  0xF5 -> ARABIC DAMMA\n-    u'\\u0650'   #  0xF6 -> ARABIC KASRA\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\u0651'   #  0xF8 -> ARABIC SHADDA\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\u0652'   #  0xFA -> ARABIC SUKUN\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u200e'   #  0xFD -> LEFT-TO-RIGHT MARK\n-    u'\\u200f'   #  0xFE -> RIGHT-TO-LEFT MARK\n-    u'\\u06d2'   #  0xFF -> ARABIC LETTER YEH BARREE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1256.pyc
b
Binary file test/lib/python2.7/encodings/cp1256.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1257.py
--- a/test/lib/python2.7/encodings/cp1257.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1257 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1257\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"u0104'   #  0xC0 -> LATIN CAPITAL LETTER A WITH OGONEK\n-    u'\\u012e'   #  0xC1 -> LATIN CAPITAL LETTER I WITH OGONEK\n-    u'\\u0100'   #  0xC2 -> LATIN CAPITAL LETTER A WITH MACRON\n-    u'\\u0106'   #  0xC3 -> LATIN CAPITAL LETTER C WITH ACUTE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\u0118'   #  0xC6 -> LATIN CAPITAL LETTER E WITH OGONEK\n-    u'\\u0112'   #  0xC7 -> LATIN CAPITAL LETTER E WITH MACRON\n-    u'\\u010c'   #  0xC8 -> LATIN CAPITAL LETTER C WITH CARON\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\u0179'   #  0xCA -> LATIN CAPITAL LETTER Z WITH ACUTE\n-    u'\\u0116'   #  0xCB -> LATIN CAPITAL LETTER E WITH DOT ABOVE\n-    u'\\u0122'   #  0xCC -> LATIN CAPITAL LETTER G WITH CEDILLA\n-    u'\\u0136'   #  0xCD -> LATIN CAPITAL LETTER K WITH CEDILLA\n-    u'\\u012a'   #  0xCE -> LATIN CAPITAL LETTER I WITH MACRON\n-    u'\\u013b'   #  0xCF -> LATIN CAPITAL LETTER L WITH CEDILLA\n-    u'\\u0160'   #  0xD0 -> LATIN CAPITAL LETTER S WITH CARON\n-    u'\\u0143'   #  0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE\n-    u'\\u0145'   #  0xD2 -> LATIN CAPITAL LETTER N WITH CEDILLA\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\u014c'   #  0xD4 -> LATIN CAPITAL LETTER O WITH MACRON\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\u0172'   #  0xD8 -> LATIN CAPITAL LETTER U WITH OGONEK\n-    u'\\u0141'   #  0xD9 -> LATIN CAPITAL LETTER L WITH STROKE\n-    u'\\u015a'   #  0xDA -> LATIN CAPITAL LETTER S WITH ACUTE\n-    u'\\u016a'   #  0xDB -> LATIN CAPITAL LETTER U WITH MACRON\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u017b'   #  0xDD -> LATIN CAPITAL LETTER Z WITH DOT ABOVE\n-    u'\\u017d'   #  0xDE -> LATIN CAPITAL LETTER Z WITH CARON\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\u0105'   #  0xE0 -> LATIN SMALL LETTER A WITH OGONEK\n-    u'\\u012f'   #  0xE1 -> LATIN SMALL LETTER I WITH OGONEK\n-    u'\\u0101'   #  0xE2 -> LATIN SMALL LETTER A WITH MACRON\n-    u'\\u0107'   #  0xE3 -> LATIN SMALL LETTER C WITH ACUTE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\u0119'   #  0xE6 -> LATIN SMALL LETTER E WITH OGONEK\n-    u'\\u0113'   #  0xE7 -> LATIN SMALL LETTER E WITH MACRON\n-    u'\\u010d'   #  0xE8 -> LATIN SMALL LETTER C WITH CARON\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\u017a'   #  0xEA -> LATIN SMALL LETTER Z WITH ACUTE\n-    u'\\u0117'   #  0xEB -> LATIN SMALL LETTER E WITH DOT ABOVE\n-    u'\\u0123'   #  0xEC -> LATIN SMALL LETTER G WITH CEDILLA\n-    u'\\u0137'   #  0xED -> LATIN SMALL LETTER K WITH CEDILLA\n-    u'\\u012b'   #  0xEE -> LATIN SMALL LETTER I WITH MACRON\n-    u'\\u013c'   #  0xEF -> LATIN SMALL LETTER L WITH CEDILLA\n-    u'\\u0161'   #  0xF0 -> LATIN SMALL LETTER S WITH CARON\n-    u'\\u0144'   #  0xF1 -> LATIN SMALL LETTER N WITH ACUTE\n-    u'\\u0146'   #  0xF2 -> LATIN SMALL LETTER N WITH CEDILLA\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\u014d'   #  0xF4 -> LATIN SMALL LETTER O WITH MACRON\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\u0173'   #  0xF8 -> LATIN SMALL LETTER U WITH OGONEK\n-    u'\\u0142'   #  0xF9 -> LATIN SMALL LETTER L WITH STROKE\n-    u'\\u015b'   #  0xFA -> LATIN SMALL LETTER S WITH ACUTE\n-    u'\\u016b'   #  0xFB -> LATIN SMALL LETTER U WITH MACRON\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u017c'   #  0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE\n-    u'\\u017e'   #  0xFE -> LATIN SMALL LETTER Z WITH CARON\n-    u'\\u02d9'   #  0xFF -> DOT ABOVE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1257.pyc
b
Binary file test/lib/python2.7/encodings/cp1257.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1258.py
--- a/test/lib/python2.7/encodings/cp1258.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp1258 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp1258\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN'..b"S\n-    u'\\xbf'     #  0xBF -> INVERTED QUESTION MARK\n-    u'\\xc0'     #  0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\u0102'   #  0xC3 -> LATIN CAPITAL LETTER A WITH BREVE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\u0300'   #  0xCC -> COMBINING GRAVE ACCENT\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\u0110'   #  0xD0 -> LATIN CAPITAL LETTER D WITH STROKE\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\u0309'   #  0xD2 -> COMBINING HOOK ABOVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\u01a0'   #  0xD5 -> LATIN CAPITAL LETTER O WITH HORN\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u01af'   #  0xDD -> LATIN CAPITAL LETTER U WITH HORN\n-    u'\\u0303'   #  0xDE -> COMBINING TILDE\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\u0103'   #  0xE3 -> LATIN SMALL LETTER A WITH BREVE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\u0301'   #  0xEC -> COMBINING ACUTE ACCENT\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\u0111'   #  0xF0 -> LATIN SMALL LETTER D WITH STROKE\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\u0323'   #  0xF2 -> COMBINING DOT BELOW\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\u01a1'   #  0xF5 -> LATIN SMALL LETTER O WITH HORN\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u01b0'   #  0xFD -> LATIN SMALL LETTER U WITH HORN\n-    u'\\u20ab'   #  0xFE -> DONG SIGN\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp1258.pyc
b
Binary file test/lib/python2.7/encodings/cp1258.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp424.py
--- a/test/lib/python2.7/encodings/cp424.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp424 generated from \'MAPPINGS/VENDORS/MISC/CP424.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp424\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x9c\'     #  0x04 -> SELECT\n-    u\'\\t\'       #  0x05 -> HORIZONTAL TABULATION\n-    u\'\\x86\'     #  0x06 -> REQUIRED NEW LINE\n-    u\'\\x7f\'     #  0x07 -> DELETE\n-    u\'\\x97\'     #  0x08 -> GRAPHIC ESCAPE\n-    u\'\\x8d\'     #  0x09 -> SUPERSCRIPT\n-    u\'\\x8e\'     #  0x0A -> REPEAT\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x9d\'     #  0x14 -> RESTORE/ENABLE PRESENTATION\n-    u\'\\x85\'     #  0x15 -> NEW LINE\n-    u\'\\x08\'     #  0x16 -> BACKSPACE\n-    u\'\\x87\'     #  0x17 -> PROGRAM OPERATOR COMMUNICATION\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x92\'     #  0x1A -> UNIT BACK SPACE\n-    u\'\\x8f\'     #  0x1B -> CUSTOMER USE ONE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\'\\x80\'     #  0x20 -> DIGIT SELECT\n-    u\'\\x81\'     #  0x21 -> START OF SIGNIFICANCE\n-    u\'\\x82\'     #  0x22 -> FIELD SEPARATOR\n-    u\'\\x83\'     #  0x23 -> WORD UNDERSCORE\n-    u\'\\x84\'     #  0x24 -> BYPASS OR INHIBIT PRESENTATION\n-    u\'\\n\'       #  0x25 -> LINE FEED\n-    u\'\\x17\'     #  0x26 -> END OF TRANSMISSION BLOCK\n-    u\'\\x1b\'     #  0x27 -> ESCAPE\n-    u\'\\x88\'     #  0x28 -> SET ATTRIBUTE\n-    u\'\\x89\'     #  0x29 -> START FIELD EXTENDED\n-    u\'\\x8a\'     #  0x2A -> SET MODE OR SWITCH\n-    u\'\\x8b\'     #  0x2B -> CONTROL SEQUENCE PREFIX\n-    u\'\\x8c\'     #  0x2C -> MODIFY FIELD ATTRIBUTE\n-    u\'\\x05\'     #  0x2D -> ENQUIRY\n-    u\'\\x06\'     #  0x2E -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x2F -> BELL\n-    u\'\\x90\'     #  0x30 -> <reserved>\n-    u\'\\x91\'     #  0x31 -> <reserved>\n-    u\'\\x16\'     #  0x32 -> SYNCHRONOUS IDLE\n-    u\'\\x93\'     #  0x33 -> INDEX RETURN\n-    u\'\\x94\'     #  0x34 -> PRESENTATION POSITION\n-    u\'\\x95\'     #  0x35 -> TRANSPARENT\n-    u\'\\x96\'     #  0x36 -> NUMERIC BACKSPACE\n-    u\'\\x04\'     #  0x37 -> END OF TRANSMISSION\n-    u\'\\x98\'     #  0x38 -> SUBSCRIPT\n-    u\'\\x99\'     #  0x39 -> INDENT TABULATION\n-    u\'\\x9a\'     #  0x3A -> REVERSE FORM FEED\n-    u\'\\x9b\'     #  0x3B -> CUSTOMER USE THREE\n-    u\'\\x14\'     #  0x3C -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x3D -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x'..b"u'x'        #  0xA7 -> LATIN SMALL LETTER X\n-    u'y'        #  0xA8 -> LATIN SMALL LETTER Y\n-    u'z'        #  0xA9 -> LATIN SMALL LETTER Z\n-    u'\\ufffe'   #  0xAA -> UNDEFINED\n-    u'\\ufffe'   #  0xAB -> UNDEFINED\n-    u'\\ufffe'   #  0xAC -> UNDEFINED\n-    u'\\ufffe'   #  0xAD -> UNDEFINED\n-    u'\\ufffe'   #  0xAE -> UNDEFINED\n-    u'\\xae'     #  0xAF -> REGISTERED SIGN\n-    u'^'        #  0xB0 -> CIRCUMFLEX ACCENT\n-    u'\\xa3'     #  0xB1 -> POUND SIGN\n-    u'\\xa5'     #  0xB2 -> YEN SIGN\n-    u'\\xb7'     #  0xB3 -> MIDDLE DOT\n-    u'\\xa9'     #  0xB4 -> COPYRIGHT SIGN\n-    u'\\xa7'     #  0xB5 -> SECTION SIGN\n-    u'\\xb6'     #  0xB6 -> PILCROW SIGN\n-    u'\\xbc'     #  0xB7 -> VULGAR FRACTION ONE QUARTER\n-    u'\\xbd'     #  0xB8 -> VULGAR FRACTION ONE HALF\n-    u'\\xbe'     #  0xB9 -> VULGAR FRACTION THREE QUARTERS\n-    u'['        #  0xBA -> LEFT SQUARE BRACKET\n-    u']'        #  0xBB -> RIGHT SQUARE BRACKET\n-    u'\\xaf'     #  0xBC -> MACRON\n-    u'\\xa8'     #  0xBD -> DIAERESIS\n-    u'\\xb4'     #  0xBE -> ACUTE ACCENT\n-    u'\\xd7'     #  0xBF -> MULTIPLICATION SIGN\n-    u'{'        #  0xC0 -> LEFT CURLY BRACKET\n-    u'A'        #  0xC1 -> LATIN CAPITAL LETTER A\n-    u'B'        #  0xC2 -> LATIN CAPITAL LETTER B\n-    u'C'        #  0xC3 -> LATIN CAPITAL LETTER C\n-    u'D'        #  0xC4 -> LATIN CAPITAL LETTER D\n-    u'E'        #  0xC5 -> LATIN CAPITAL LETTER E\n-    u'F'        #  0xC6 -> LATIN CAPITAL LETTER F\n-    u'G'        #  0xC7 -> LATIN CAPITAL LETTER G\n-    u'H'        #  0xC8 -> LATIN CAPITAL LETTER H\n-    u'I'        #  0xC9 -> LATIN CAPITAL LETTER I\n-    u'\\xad'     #  0xCA -> SOFT HYPHEN\n-    u'\\ufffe'   #  0xCB -> UNDEFINED\n-    u'\\ufffe'   #  0xCC -> UNDEFINED\n-    u'\\ufffe'   #  0xCD -> UNDEFINED\n-    u'\\ufffe'   #  0xCE -> UNDEFINED\n-    u'\\ufffe'   #  0xCF -> UNDEFINED\n-    u'}'        #  0xD0 -> RIGHT CURLY BRACKET\n-    u'J'        #  0xD1 -> LATIN CAPITAL LETTER J\n-    u'K'        #  0xD2 -> LATIN CAPITAL LETTER K\n-    u'L'        #  0xD3 -> LATIN CAPITAL LETTER L\n-    u'M'        #  0xD4 -> LATIN CAPITAL LETTER M\n-    u'N'        #  0xD5 -> LATIN CAPITAL LETTER N\n-    u'O'        #  0xD6 -> LATIN CAPITAL LETTER O\n-    u'P'        #  0xD7 -> LATIN CAPITAL LETTER P\n-    u'Q'        #  0xD8 -> LATIN CAPITAL LETTER Q\n-    u'R'        #  0xD9 -> LATIN CAPITAL LETTER R\n-    u'\\xb9'     #  0xDA -> SUPERSCRIPT ONE\n-    u'\\ufffe'   #  0xDB -> UNDEFINED\n-    u'\\ufffe'   #  0xDC -> UNDEFINED\n-    u'\\ufffe'   #  0xDD -> UNDEFINED\n-    u'\\ufffe'   #  0xDE -> UNDEFINED\n-    u'\\ufffe'   #  0xDF -> UNDEFINED\n-    u'\\\\'       #  0xE0 -> REVERSE SOLIDUS\n-    u'\\xf7'     #  0xE1 -> DIVISION SIGN\n-    u'S'        #  0xE2 -> LATIN CAPITAL LETTER S\n-    u'T'        #  0xE3 -> LATIN CAPITAL LETTER T\n-    u'U'        #  0xE4 -> LATIN CAPITAL LETTER U\n-    u'V'        #  0xE5 -> LATIN CAPITAL LETTER V\n-    u'W'        #  0xE6 -> LATIN CAPITAL LETTER W\n-    u'X'        #  0xE7 -> LATIN CAPITAL LETTER X\n-    u'Y'        #  0xE8 -> LATIN CAPITAL LETTER Y\n-    u'Z'        #  0xE9 -> LATIN CAPITAL LETTER Z\n-    u'\\xb2'     #  0xEA -> SUPERSCRIPT TWO\n-    u'\\ufffe'   #  0xEB -> UNDEFINED\n-    u'\\ufffe'   #  0xEC -> UNDEFINED\n-    u'\\ufffe'   #  0xED -> UNDEFINED\n-    u'\\ufffe'   #  0xEE -> UNDEFINED\n-    u'\\ufffe'   #  0xEF -> UNDEFINED\n-    u'0'        #  0xF0 -> DIGIT ZERO\n-    u'1'        #  0xF1 -> DIGIT ONE\n-    u'2'        #  0xF2 -> DIGIT TWO\n-    u'3'        #  0xF3 -> DIGIT THREE\n-    u'4'        #  0xF4 -> DIGIT FOUR\n-    u'5'        #  0xF5 -> DIGIT FIVE\n-    u'6'        #  0xF6 -> DIGIT SIX\n-    u'7'        #  0xF7 -> DIGIT SEVEN\n-    u'8'        #  0xF8 -> DIGIT EIGHT\n-    u'9'        #  0xF9 -> DIGIT NINE\n-    u'\\xb3'     #  0xFA -> SUPERSCRIPT THREE\n-    u'\\ufffe'   #  0xFB -> UNDEFINED\n-    u'\\ufffe'   #  0xFC -> UNDEFINED\n-    u'\\ufffe'   #  0xFD -> UNDEFINED\n-    u'\\ufffe'   #  0xFE -> UNDEFINED\n-    u'\\x9f'     #  0xFF -> EIGHT ONES\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp424.pyc
b
Binary file test/lib/python2.7/encodings/cp424.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp437.py
--- a/test/lib/python2.7/encodings/cp437.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec cp437 generated from \'VENDORS/MICSFT/PC/CP437.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp437\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00e5,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00ef,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x008c: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x008d: 0x00ec,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x00c5,     #  LATIN CAPITAL LETTER A WITH RING ABOVE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00e6,     #  LATIN SMALL LIGATURE AE\n-    0x0092: 0x00c6,     #  LATIN CAPITAL LIGATURE AE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x00f2,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x0096: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x0097: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x0098: 0x00ff,     #  LATIN SMALL LETTER Y WITH DIAERESIS\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00a2,     #  CENT SIGN\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00a5,     #  YEN SIGN\n-    0x009e: 0x20a7,     #  PESETA SIGN\n-    0x009f: 0x0192,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00a5: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x00a6: 0x00aa,     #  FEMININE ORDINAL INDICATOR\n-    0x00a7: 0x00ba,     #  MASCULINE ORDINAL INDICATOR\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x2310,     #  REVERSED NOT SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-    0x00ad: 0x00a1,     #  INVERTED EXCLAMATIO'..b'GREEK SMALL LETTER ALPHA\n-    0x03b4: 0x00eb,     #  GREEK SMALL LETTER DELTA\n-    0x03b5: 0x00ee,     #  GREEK SMALL LETTER EPSILON\n-    0x03c0: 0x00e3,     #  GREEK SMALL LETTER PI\n-    0x03c3: 0x00e5,     #  GREEK SMALL LETTER SIGMA\n-    0x03c4: 0x00e7,     #  GREEK SMALL LETTER TAU\n-    0x03c6: 0x00ed,     #  GREEK SMALL LETTER PHI\n-    0x207f: 0x00fc,     #  SUPERSCRIPT LATIN SMALL LETTER N\n-    0x20a7: 0x009e,     #  PESETA SIGN\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x221e: 0x00ec,     #  INFINITY\n-    0x2229: 0x00ef,     #  INTERSECTION\n-    0x2248: 0x00f7,     #  ALMOST EQUAL TO\n-    0x2261: 0x00f0,     #  IDENTICAL TO\n-    0x2264: 0x00f3,     #  LESS-THAN OR EQUAL TO\n-    0x2265: 0x00f2,     #  GREATER-THAN OR EQUAL TO\n-    0x2310: 0x00a9,     #  REVERSED NOT SIGN\n-    0x2320: 0x00f4,     #  TOP HALF INTEGRAL\n-    0x2321: 0x00f5,     #  BOTTOM HALF INTEGRAL\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp437.pyc
b
Binary file test/lib/python2.7/encodings/cp437.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp500.py
--- a/test/lib/python2.7/encodings/cp500.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp500 generated from \'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp500\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x9c\'     #  0x04 -> CONTROL\n-    u\'\\t\'       #  0x05 -> HORIZONTAL TABULATION\n-    u\'\\x86\'     #  0x06 -> CONTROL\n-    u\'\\x7f\'     #  0x07 -> DELETE\n-    u\'\\x97\'     #  0x08 -> CONTROL\n-    u\'\\x8d\'     #  0x09 -> CONTROL\n-    u\'\\x8e\'     #  0x0A -> CONTROL\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x9d\'     #  0x14 -> CONTROL\n-    u\'\\x85\'     #  0x15 -> CONTROL\n-    u\'\\x08\'     #  0x16 -> BACKSPACE\n-    u\'\\x87\'     #  0x17 -> CONTROL\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x92\'     #  0x1A -> CONTROL\n-    u\'\\x8f\'     #  0x1B -> CONTROL\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\'\\x80\'     #  0x20 -> CONTROL\n-    u\'\\x81\'     #  0x21 -> CONTROL\n-    u\'\\x82\'     #  0x22 -> CONTROL\n-    u\'\\x83\'     #  0x23 -> CONTROL\n-    u\'\\x84\'     #  0x24 -> CONTROL\n-    u\'\\n\'       #  0x25 -> LINE FEED\n-    u\'\\x17\'     #  0x26 -> END OF TRANSMISSION BLOCK\n-    u\'\\x1b\'     #  0x27 -> ESCAPE\n-    u\'\\x88\'     #  0x28 -> CONTROL\n-    u\'\\x89\'     #  0x29 -> CONTROL\n-    u\'\\x8a\'     #  0x2A -> CONTROL\n-    u\'\\x8b\'     #  0x2B -> CONTROL\n-    u\'\\x8c\'     #  0x2C -> CONTROL\n-    u\'\\x05\'     #  0x2D -> ENQUIRY\n-    u\'\\x06\'     #  0x2E -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x2F -> BELL\n-    u\'\\x90\'     #  0x30 -> CONTROL\n-    u\'\\x91\'     #  0x31 -> CONTROL\n-    u\'\\x16\'     #  0x32 -> SYNCHRONOUS IDLE\n-    u\'\\x93\'     #  0x33 -> CONTROL\n-    u\'\\x94\'     #  0x34 -> CONTROL\n-    u\'\\x95\'     #  0x35 -> CONTROL\n-    u\'\\x96\'     #  0x36 -> CONTROL\n-    u\'\\x04\'     #  0x37 -> END OF TRANSMISSION\n-    u\'\\x98\'     #  0x38 -> CONTROL\n-    u\'\\x99\'     #  0x39 -> CONTROL\n-    u\'\\x9a\'     #  0x3A -> CONTROL\n-    u\'\\x9b\'     #  0x3B -> CONTROL\n-    u\'\\x14\'     #  0x3C -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x3D -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x9e\'     #  0x3E -> CONTROL\n-    u\'\\x1a\'     #  0x3F -> SUBSTITUTE\n-    u\' \'        #  0x40 -> SPACE\n-    u\'\\xa0\'     #  0x41 -> NO-BREAK SPACE\n-    u\'\\xe2\'     #  0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u\'\\xe4\'     #  0x43 -> LATIN SMALL LETTER A WITH '..b" SIGN\n-    u'\\xa5'     #  0xB2 -> YEN SIGN\n-    u'\\xb7'     #  0xB3 -> MIDDLE DOT\n-    u'\\xa9'     #  0xB4 -> COPYRIGHT SIGN\n-    u'\\xa7'     #  0xB5 -> SECTION SIGN\n-    u'\\xb6'     #  0xB6 -> PILCROW SIGN\n-    u'\\xbc'     #  0xB7 -> VULGAR FRACTION ONE QUARTER\n-    u'\\xbd'     #  0xB8 -> VULGAR FRACTION ONE HALF\n-    u'\\xbe'     #  0xB9 -> VULGAR FRACTION THREE QUARTERS\n-    u'\\xac'     #  0xBA -> NOT SIGN\n-    u'|'        #  0xBB -> VERTICAL LINE\n-    u'\\xaf'     #  0xBC -> MACRON\n-    u'\\xa8'     #  0xBD -> DIAERESIS\n-    u'\\xb4'     #  0xBE -> ACUTE ACCENT\n-    u'\\xd7'     #  0xBF -> MULTIPLICATION SIGN\n-    u'{'        #  0xC0 -> LEFT CURLY BRACKET\n-    u'A'        #  0xC1 -> LATIN CAPITAL LETTER A\n-    u'B'        #  0xC2 -> LATIN CAPITAL LETTER B\n-    u'C'        #  0xC3 -> LATIN CAPITAL LETTER C\n-    u'D'        #  0xC4 -> LATIN CAPITAL LETTER D\n-    u'E'        #  0xC5 -> LATIN CAPITAL LETTER E\n-    u'F'        #  0xC6 -> LATIN CAPITAL LETTER F\n-    u'G'        #  0xC7 -> LATIN CAPITAL LETTER G\n-    u'H'        #  0xC8 -> LATIN CAPITAL LETTER H\n-    u'I'        #  0xC9 -> LATIN CAPITAL LETTER I\n-    u'\\xad'     #  0xCA -> SOFT HYPHEN\n-    u'\\xf4'     #  0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf6'     #  0xCC -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf2'     #  0xCD -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xCE -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf5'     #  0xCF -> LATIN SMALL LETTER O WITH TILDE\n-    u'}'        #  0xD0 -> RIGHT CURLY BRACKET\n-    u'J'        #  0xD1 -> LATIN CAPITAL LETTER J\n-    u'K'        #  0xD2 -> LATIN CAPITAL LETTER K\n-    u'L'        #  0xD3 -> LATIN CAPITAL LETTER L\n-    u'M'        #  0xD4 -> LATIN CAPITAL LETTER M\n-    u'N'        #  0xD5 -> LATIN CAPITAL LETTER N\n-    u'O'        #  0xD6 -> LATIN CAPITAL LETTER O\n-    u'P'        #  0xD7 -> LATIN CAPITAL LETTER P\n-    u'Q'        #  0xD8 -> LATIN CAPITAL LETTER Q\n-    u'R'        #  0xD9 -> LATIN CAPITAL LETTER R\n-    u'\\xb9'     #  0xDA -> SUPERSCRIPT ONE\n-    u'\\xfb'     #  0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xDC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xf9'     #  0xDD -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xDE -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xff'     #  0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u'\\\\'       #  0xE0 -> REVERSE SOLIDUS\n-    u'\\xf7'     #  0xE1 -> DIVISION SIGN\n-    u'S'        #  0xE2 -> LATIN CAPITAL LETTER S\n-    u'T'        #  0xE3 -> LATIN CAPITAL LETTER T\n-    u'U'        #  0xE4 -> LATIN CAPITAL LETTER U\n-    u'V'        #  0xE5 -> LATIN CAPITAL LETTER V\n-    u'W'        #  0xE6 -> LATIN CAPITAL LETTER W\n-    u'X'        #  0xE7 -> LATIN CAPITAL LETTER X\n-    u'Y'        #  0xE8 -> LATIN CAPITAL LETTER Y\n-    u'Z'        #  0xE9 -> LATIN CAPITAL LETTER Z\n-    u'\\xb2'     #  0xEA -> SUPERSCRIPT TWO\n-    u'\\xd4'     #  0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd6'     #  0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd2'     #  0xED -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd5'     #  0xEF -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'0'        #  0xF0 -> DIGIT ZERO\n-    u'1'        #  0xF1 -> DIGIT ONE\n-    u'2'        #  0xF2 -> DIGIT TWO\n-    u'3'        #  0xF3 -> DIGIT THREE\n-    u'4'        #  0xF4 -> DIGIT FOUR\n-    u'5'        #  0xF5 -> DIGIT FIVE\n-    u'6'        #  0xF6 -> DIGIT SIX\n-    u'7'        #  0xF7 -> DIGIT SEVEN\n-    u'8'        #  0xF8 -> DIGIT EIGHT\n-    u'9'        #  0xF9 -> DIGIT NINE\n-    u'\\xb3'     #  0xFA -> SUPERSCRIPT THREE\n-    u'\\xdb'     #  0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xd9'     #  0xFD -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xFE -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\x9f'     #  0xFF -> CONTROL\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp500.pyc
b
Binary file test/lib/python2.7/encodings/cp500.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp720.py
--- a/test/lib/python2.7/encodings/cp720.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,309 +0,0 @@\n-"""Python Character Mapping Codec cp720 generated on Windows:\n-Vista 6.0.6002 SP2 Multiprocessor Free with the command:\n-  python Tools/unicode/genwincodec.py 720\n-"""#"\n-\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp720\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\''..b"'   #  0xB9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    u'\\u2551'   #  0xBA -> BOX DRAWINGS DOUBLE VERTICAL\n-    u'\\u2557'   #  0xBB -> BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    u'\\u255d'   #  0xBC -> BOX DRAWINGS DOUBLE UP AND LEFT\n-    u'\\u255c'   #  0xBD -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    u'\\u255b'   #  0xBE -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    u'\\u2510'   #  0xBF -> BOX DRAWINGS LIGHT DOWN AND LEFT\n-    u'\\u2514'   #  0xC0 -> BOX DRAWINGS LIGHT UP AND RIGHT\n-    u'\\u2534'   #  0xC1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    u'\\u252c'   #  0xC2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    u'\\u251c'   #  0xC3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    u'\\u2500'   #  0xC4 -> BOX DRAWINGS LIGHT HORIZONTAL\n-    u'\\u253c'   #  0xC5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    u'\\u255e'   #  0xC6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    u'\\u255f'   #  0xC7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    u'\\u255a'   #  0xC8 -> BOX DRAWINGS DOUBLE UP AND RIGHT\n-    u'\\u2554'   #  0xC9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    u'\\u2569'   #  0xCA -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    u'\\u2566'   #  0xCB -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    u'\\u2560'   #  0xCC -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    u'\\u2550'   #  0xCD -> BOX DRAWINGS DOUBLE HORIZONTAL\n-    u'\\u256c'   #  0xCE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    u'\\u2567'   #  0xCF -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    u'\\u2568'   #  0xD0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    u'\\u2564'   #  0xD1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    u'\\u2565'   #  0xD2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    u'\\u2559'   #  0xD3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    u'\\u2558'   #  0xD4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    u'\\u2552'   #  0xD5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    u'\\u2553'   #  0xD6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    u'\\u256b'   #  0xD7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    u'\\u256a'   #  0xD8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    u'\\u2518'   #  0xD9 -> BOX DRAWINGS LIGHT UP AND LEFT\n-    u'\\u250c'   #  0xDA -> BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    u'\\u2588'   #  0xDB -> FULL BLOCK\n-    u'\\u2584'   #  0xDC -> LOWER HALF BLOCK\n-    u'\\u258c'   #  0xDD -> LEFT HALF BLOCK\n-    u'\\u2590'   #  0xDE -> RIGHT HALF BLOCK\n-    u'\\u2580'   #  0xDF -> UPPER HALF BLOCK\n-    u'\\u0636'   #  0xE0 -> ARABIC LETTER DAD\n-    u'\\u0637'   #  0xE1 -> ARABIC LETTER TAH\n-    u'\\u0638'   #  0xE2 -> ARABIC LETTER ZAH\n-    u'\\u0639'   #  0xE3 -> ARABIC LETTER AIN\n-    u'\\u063a'   #  0xE4 -> ARABIC LETTER GHAIN\n-    u'\\u0641'   #  0xE5 -> ARABIC LETTER FEH\n-    u'\\xb5'     #  0xE6 -> MICRO SIGN\n-    u'\\u0642'   #  0xE7 -> ARABIC LETTER QAF\n-    u'\\u0643'   #  0xE8 -> ARABIC LETTER KAF\n-    u'\\u0644'   #  0xE9 -> ARABIC LETTER LAM\n-    u'\\u0645'   #  0xEA -> ARABIC LETTER MEEM\n-    u'\\u0646'   #  0xEB -> ARABIC LETTER NOON\n-    u'\\u0647'   #  0xEC -> ARABIC LETTER HEH\n-    u'\\u0648'   #  0xED -> ARABIC LETTER WAW\n-    u'\\u0649'   #  0xEE -> ARABIC LETTER ALEF MAKSURA\n-    u'\\u064a'   #  0xEF -> ARABIC LETTER YEH\n-    u'\\u2261'   #  0xF0 -> IDENTICAL TO\n-    u'\\u064b'   #  0xF1 -> ARABIC FATHATAN\n-    u'\\u064c'   #  0xF2 -> ARABIC DAMMATAN\n-    u'\\u064d'   #  0xF3 -> ARABIC KASRATAN\n-    u'\\u064e'   #  0xF4 -> ARABIC FATHA\n-    u'\\u064f'   #  0xF5 -> ARABIC DAMMA\n-    u'\\u0650'   #  0xF6 -> ARABIC KASRA\n-    u'\\u2248'   #  0xF7 -> ALMOST EQUAL TO\n-    u'\\xb0'     #  0xF8 -> DEGREE SIGN\n-    u'\\u2219'   #  0xF9 -> BULLET OPERATOR\n-    u'\\xb7'     #  0xFA -> MIDDLE DOT\n-    u'\\u221a'   #  0xFB -> SQUARE ROOT\n-    u'\\u207f'   #  0xFC -> SUPERSCRIPT LATIN SMALL LETTER N\n-    u'\\xb2'     #  0xFD -> SUPERSCRIPT TWO\n-    u'\\u25a0'   #  0xFE -> BLACK SQUARE\n-    u'\\xa0'     #  0xFF -> NO-BREAK SPACE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp720.pyc
b
Binary file test/lib/python2.7/encodings/cp720.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp737.py
--- a/test/lib/python2.7/encodings/cp737.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec cp737 generated from \'VENDORS/MICSFT/PC/CP737.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp737\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x0391,     #  GREEK CAPITAL LETTER ALPHA\n-    0x0081: 0x0392,     #  GREEK CAPITAL LETTER BETA\n-    0x0082: 0x0393,     #  GREEK CAPITAL LETTER GAMMA\n-    0x0083: 0x0394,     #  GREEK CAPITAL LETTER DELTA\n-    0x0084: 0x0395,     #  GREEK CAPITAL LETTER EPSILON\n-    0x0085: 0x0396,     #  GREEK CAPITAL LETTER ZETA\n-    0x0086: 0x0397,     #  GREEK CAPITAL LETTER ETA\n-    0x0087: 0x0398,     #  GREEK CAPITAL LETTER THETA\n-    0x0088: 0x0399,     #  GREEK CAPITAL LETTER IOTA\n-    0x0089: 0x039a,     #  GREEK CAPITAL LETTER KAPPA\n-    0x008a: 0x039b,     #  GREEK CAPITAL LETTER LAMDA\n-    0x008b: 0x039c,     #  GREEK CAPITAL LETTER MU\n-    0x008c: 0x039d,     #  GREEK CAPITAL LETTER NU\n-    0x008d: 0x039e,     #  GREEK CAPITAL LETTER XI\n-    0x008e: 0x039f,     #  GREEK CAPITAL LETTER OMICRON\n-    0x008f: 0x03a0,     #  GREEK CAPITAL LETTER PI\n-    0x0090: 0x03a1,     #  GREEK CAPITAL LETTER RHO\n-    0x0091: 0x03a3,     #  GREEK CAPITAL LETTER SIGMA\n-    0x0092: 0x03a4,     #  GREEK CAPITAL LETTER TAU\n-    0x0093: 0x03a5,     #  GREEK CAPITAL LETTER UPSILON\n-    0x0094: 0x03a6,     #  GREEK CAPITAL LETTER PHI\n-    0x0095: 0x03a7,     #  GREEK CAPITAL LETTER CHI\n-    0x0096: 0x03a8,     #  GREEK CAPITAL LETTER PSI\n-    0x0097: 0x03a9,     #  GREEK CAPITAL LETTER OMEGA\n-    0x0098: 0x03b1,     #  GREEK SMALL LETTER ALPHA\n-    0x0099: 0x03b2,     #  GREEK SMALL LETTER BETA\n-    0x009a: 0x03b3,     #  GREEK SMALL LETTER GAMMA\n-    0x009b: 0x03b4,     #  GREEK SMALL LETTER DELTA\n-    0x009c: 0x03b5,     #  GREEK SMALL LETTER EPSILON\n-    0x009d: 0x03b6,     #  GREEK SMALL LETTER ZETA\n-    0x009e: 0x03b7,     #  GREEK SMALL LETTER ETA\n-    0x009f: 0x03b8,     #  GREEK SMALL LETTER THETA\n-    0x00a0: 0x03b9,     #  GREEK SMALL LETTER IOTA\n-    0x00a1: 0x03ba,     #  GREEK SMALL LETTER KAPPA\n-    0x00a2: 0x03bb,     #  GREEK SMALL LETTER LAMDA\n-    0x00a3: 0x03bc,     #  GREEK SMALL LETTER MU\n-    0x00a4: 0x03bd,     #  GREEK SMALL LETTER NU\n-    0x00a5: 0x03be,     #  GREEK SMALL LETTER XI\n-    0x00a6: 0x03bf,     #  GREEK SMALL LETTER OMICRON\n-    0x00a7: 0x03c0,     #  GREEK SMALL LETTER PI\n-    0x00a8: 0x03c1,     #  GREEK SMALL LETTER RHO\n-    0x00a9: 0x03c3,     #  GREEK SMALL LETTER SIGMA\n-    0x00aa: 0x03c2,     #  GREEK SMALL LETTER FINAL SIGMA\n-    0x00ab: 0x03c4,     #  GREEK SMALL LETTER TAU\n-    0x00ac: 0x03c5,     #  GREEK SMALL LETTER UPSILON\n-    0x00ad: 0x03c6,     #  GREEK SMALL LETTER PHI\n-    0x00ae: 0x03c7,     #  GREEK SMALL LETTER CHI\n-    0x00af: 0x03c8,     #  GREEK SMALL LETTER PSI\n-    0x00b0: 0x2591,     #  LIGHT SHADE\n-    0x00b1: 0x2592,     #  MEDIUM SHADE\n-    0x00b2: 0x2593,     #  DARK'..b'03c4: 0x00ab,     #  GREEK SMALL LETTER TAU\n-    0x03c5: 0x00ac,     #  GREEK SMALL LETTER UPSILON\n-    0x03c6: 0x00ad,     #  GREEK SMALL LETTER PHI\n-    0x03c7: 0x00ae,     #  GREEK SMALL LETTER CHI\n-    0x03c8: 0x00af,     #  GREEK SMALL LETTER PSI\n-    0x03c9: 0x00e0,     #  GREEK SMALL LETTER OMEGA\n-    0x03ca: 0x00e4,     #  GREEK SMALL LETTER IOTA WITH DIALYTIKA\n-    0x03cb: 0x00e8,     #  GREEK SMALL LETTER UPSILON WITH DIALYTIKA\n-    0x03cc: 0x00e6,     #  GREEK SMALL LETTER OMICRON WITH TONOS\n-    0x03cd: 0x00e7,     #  GREEK SMALL LETTER UPSILON WITH TONOS\n-    0x03ce: 0x00e9,     #  GREEK SMALL LETTER OMEGA WITH TONOS\n-    0x207f: 0x00fc,     #  SUPERSCRIPT LATIN SMALL LETTER N\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x2248: 0x00f7,     #  ALMOST EQUAL TO\n-    0x2264: 0x00f3,     #  LESS-THAN OR EQUAL TO\n-    0x2265: 0x00f2,     #  GREATER-THAN OR EQUAL TO\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp737.pyc
b
Binary file test/lib/python2.7/encodings/cp737.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp775.py
--- a/test/lib/python2.7/encodings/cp775.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,697 +0,0 @@\n-""" Python Character Mapping Codec cp775 generated from \'VENDORS/MICSFT/PC/CP775.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp775\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x0106,     #  LATIN CAPITAL LETTER C WITH ACUTE\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x0101,     #  LATIN SMALL LETTER A WITH MACRON\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x0123,     #  LATIN SMALL LETTER G WITH CEDILLA\n-    0x0086: 0x00e5,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x0087: 0x0107,     #  LATIN SMALL LETTER C WITH ACUTE\n-    0x0088: 0x0142,     #  LATIN SMALL LETTER L WITH STROKE\n-    0x0089: 0x0113,     #  LATIN SMALL LETTER E WITH MACRON\n-    0x008a: 0x0156,     #  LATIN CAPITAL LETTER R WITH CEDILLA\n-    0x008b: 0x0157,     #  LATIN SMALL LETTER R WITH CEDILLA\n-    0x008c: 0x012b,     #  LATIN SMALL LETTER I WITH MACRON\n-    0x008d: 0x0179,     #  LATIN CAPITAL LETTER Z WITH ACUTE\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x00c5,     #  LATIN CAPITAL LETTER A WITH RING ABOVE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00e6,     #  LATIN SMALL LIGATURE AE\n-    0x0092: 0x00c6,     #  LATIN CAPITAL LIGATURE AE\n-    0x0093: 0x014d,     #  LATIN SMALL LETTER O WITH MACRON\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x0122,     #  LATIN CAPITAL LETTER G WITH CEDILLA\n-    0x0096: 0x00a2,     #  CENT SIGN\n-    0x0097: 0x015a,     #  LATIN CAPITAL LETTER S WITH ACUTE\n-    0x0098: 0x015b,     #  LATIN SMALL LETTER S WITH ACUTE\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00f8,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d8,     #  LATIN CAPITAL LETTER O WITH STROKE\n-    0x009e: 0x00d7,     #  MULTIPLICATION SIGN\n-    0x009f: 0x00a4,     #  CURRENCY SIGN\n-    0x00a0: 0x0100,     #  LATIN CAPITAL LETTER A WITH MACRON\n-    0x00a1: 0x012a,     #  LATIN CAPITAL LETTER I WITH MACRON\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x017b,     #  LATIN CAPITAL LETTER Z WITH DOT ABOVE\n-    0x00a4: 0x017c,     #  LATIN SMALL LETTER Z WITH DOT ABOVE\n-    0x00a5: 0x017a,     #  LATIN SMALL LETTER Z WITH ACUTE\n-    0x00a6: 0x201d,     #  RIGHT DOUBLE QUOTATION MARK\n-    0x00a7: 0x00a6,     #  BROKEN BAR\n-    0x00a8: 0x00a9,     #  COPYRIGHT SIGN\n-    0x00a9: 0x00ae,     #  REGISTERED SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-    0x00ad: 0x0141,     #  LATIN CAPITAL LETTER L WITH STROKE\n'..b'ATIN CAPITAL LETTER I WITH MACRON\n-    0x012b: 0x008c,     #  LATIN SMALL LETTER I WITH MACRON\n-    0x012e: 0x00bd,     #  LATIN CAPITAL LETTER I WITH OGONEK\n-    0x012f: 0x00d4,     #  LATIN SMALL LETTER I WITH OGONEK\n-    0x0136: 0x00e8,     #  LATIN CAPITAL LETTER K WITH CEDILLA\n-    0x0137: 0x00e9,     #  LATIN SMALL LETTER K WITH CEDILLA\n-    0x013b: 0x00ea,     #  LATIN CAPITAL LETTER L WITH CEDILLA\n-    0x013c: 0x00eb,     #  LATIN SMALL LETTER L WITH CEDILLA\n-    0x0141: 0x00ad,     #  LATIN CAPITAL LETTER L WITH STROKE\n-    0x0142: 0x0088,     #  LATIN SMALL LETTER L WITH STROKE\n-    0x0143: 0x00e3,     #  LATIN CAPITAL LETTER N WITH ACUTE\n-    0x0144: 0x00e7,     #  LATIN SMALL LETTER N WITH ACUTE\n-    0x0145: 0x00ee,     #  LATIN CAPITAL LETTER N WITH CEDILLA\n-    0x0146: 0x00ec,     #  LATIN SMALL LETTER N WITH CEDILLA\n-    0x014c: 0x00e2,     #  LATIN CAPITAL LETTER O WITH MACRON\n-    0x014d: 0x0093,     #  LATIN SMALL LETTER O WITH MACRON\n-    0x0156: 0x008a,     #  LATIN CAPITAL LETTER R WITH CEDILLA\n-    0x0157: 0x008b,     #  LATIN SMALL LETTER R WITH CEDILLA\n-    0x015a: 0x0097,     #  LATIN CAPITAL LETTER S WITH ACUTE\n-    0x015b: 0x0098,     #  LATIN SMALL LETTER S WITH ACUTE\n-    0x0160: 0x00be,     #  LATIN CAPITAL LETTER S WITH CARON\n-    0x0161: 0x00d5,     #  LATIN SMALL LETTER S WITH CARON\n-    0x016a: 0x00c7,     #  LATIN CAPITAL LETTER U WITH MACRON\n-    0x016b: 0x00d7,     #  LATIN SMALL LETTER U WITH MACRON\n-    0x0172: 0x00c6,     #  LATIN CAPITAL LETTER U WITH OGONEK\n-    0x0173: 0x00d6,     #  LATIN SMALL LETTER U WITH OGONEK\n-    0x0179: 0x008d,     #  LATIN CAPITAL LETTER Z WITH ACUTE\n-    0x017a: 0x00a5,     #  LATIN SMALL LETTER Z WITH ACUTE\n-    0x017b: 0x00a3,     #  LATIN CAPITAL LETTER Z WITH DOT ABOVE\n-    0x017c: 0x00a4,     #  LATIN SMALL LETTER Z WITH DOT ABOVE\n-    0x017d: 0x00cf,     #  LATIN CAPITAL LETTER Z WITH CARON\n-    0x017e: 0x00d8,     #  LATIN SMALL LETTER Z WITH CARON\n-    0x2019: 0x00ef,     #  RIGHT SINGLE QUOTATION MARK\n-    0x201c: 0x00f2,     #  LEFT DOUBLE QUOTATION MARK\n-    0x201d: 0x00a6,     #  RIGHT DOUBLE QUOTATION MARK\n-    0x201e: 0x00f7,     #  DOUBLE LOW-9 QUOTATION MARK\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp775.pyc
b
Binary file test/lib/python2.7/encodings/cp775.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp850.py
--- a/test/lib/python2.7/encodings/cp850.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP850.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp850\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00e5,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00ef,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x008c: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x008d: 0x00ec,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x00c5,     #  LATIN CAPITAL LETTER A WITH RING ABOVE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00e6,     #  LATIN SMALL LIGATURE AE\n-    0x0092: 0x00c6,     #  LATIN CAPITAL LIGATURE AE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x00f2,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x0096: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x0097: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x0098: 0x00ff,     #  LATIN SMALL LETTER Y WITH DIAERESIS\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00f8,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d8,     #  LATIN CAPITAL LETTER O WITH STROKE\n-    0x009e: 0x00d7,     #  MULTIPLICATION SIGN\n-    0x009f: 0x0192,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00a5: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x00a6: 0x00aa,     #  FEMININE ORDINAL INDICATOR\n-    0x00a7: 0x00ba,     #  MASCULINE ORDINAL INDICATOR\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x00ae,     #  REGISTERED SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTE'..b'a,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x00dd: 0x00ed,     #  LATIN CAPITAL LETTER Y WITH ACUTE\n-    0x00de: 0x00e8,     #  LATIN CAPITAL LETTER THORN\n-    0x00df: 0x00e1,     #  LATIN SMALL LETTER SHARP S\n-    0x00e0: 0x0085,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x00e1: 0x00a0,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00e2: 0x0083,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x00e3: 0x00c6,     #  LATIN SMALL LETTER A WITH TILDE\n-    0x00e4: 0x0084,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x00e5: 0x0086,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x00e6: 0x0091,     #  LATIN SMALL LIGATURE AE\n-    0x00e7: 0x0087,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x00e8: 0x008a,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x00e9: 0x0082,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x00ea: 0x0088,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x00eb: 0x0089,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x00ec: 0x008d,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x00ed: 0x00a1,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00ee: 0x008c,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x00ef: 0x008b,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x00f0: 0x00d0,     #  LATIN SMALL LETTER ETH\n-    0x00f1: 0x00a4,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00f2: 0x0095,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x00f3: 0x00a2,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00f4: 0x0093,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x00f5: 0x00e4,     #  LATIN SMALL LETTER O WITH TILDE\n-    0x00f6: 0x0094,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x00f7: 0x00f6,     #  DIVISION SIGN\n-    0x00f8: 0x009b,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x00f9: 0x0097,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x00fa: 0x00a3,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00fb: 0x0096,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x00fc: 0x0081,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x00fd: 0x00ec,     #  LATIN SMALL LETTER Y WITH ACUTE\n-    0x00fe: 0x00e7,     #  LATIN SMALL LETTER THORN\n-    0x00ff: 0x0098,     #  LATIN SMALL LETTER Y WITH DIAERESIS\n-    0x0131: 0x00d5,     #  LATIN SMALL LETTER DOTLESS I\n-    0x0192: 0x009f,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x2017: 0x00f2,     #  DOUBLE LOW LINE\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp850.pyc
b
Binary file test/lib/python2.7/encodings/cp850.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp852.py
--- a/test/lib/python2.7/encodings/cp852.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP852.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp852\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x016f,     #  LATIN SMALL LETTER U WITH RING ABOVE\n-    0x0086: 0x0107,     #  LATIN SMALL LETTER C WITH ACUTE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x0142,     #  LATIN SMALL LETTER L WITH STROKE\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x0150,     #  LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n-    0x008b: 0x0151,     #  LATIN SMALL LETTER O WITH DOUBLE ACUTE\n-    0x008c: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x008d: 0x0179,     #  LATIN CAPITAL LETTER Z WITH ACUTE\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x0106,     #  LATIN CAPITAL LETTER C WITH ACUTE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x0139,     #  LATIN CAPITAL LETTER L WITH ACUTE\n-    0x0092: 0x013a,     #  LATIN SMALL LETTER L WITH ACUTE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x013d,     #  LATIN CAPITAL LETTER L WITH CARON\n-    0x0096: 0x013e,     #  LATIN SMALL LETTER L WITH CARON\n-    0x0097: 0x015a,     #  LATIN CAPITAL LETTER S WITH ACUTE\n-    0x0098: 0x015b,     #  LATIN SMALL LETTER S WITH ACUTE\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x0164,     #  LATIN CAPITAL LETTER T WITH CARON\n-    0x009c: 0x0165,     #  LATIN SMALL LETTER T WITH CARON\n-    0x009d: 0x0141,     #  LATIN CAPITAL LETTER L WITH STROKE\n-    0x009e: 0x00d7,     #  MULTIPLICATION SIGN\n-    0x009f: 0x010d,     #  LATIN SMALL LETTER C WITH CARON\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x0104,     #  LATIN CAPITAL LETTER A WITH OGONEK\n-    0x00a5: 0x0105,     #  LATIN SMALL LETTER A WITH OGONEK\n-    0x00a6: 0x017d,     #  LATIN CAPITAL LETTER Z WITH CARON\n-    0x00a7: 0x017e,     #  LATIN SMALL LETTER Z WITH CARON\n-    0x00a8: 0x0118,     #  LATIN CAPITAL LETTER E WITH OGONEK\n-    0x00a9: 0x0119,     #  LATIN SMALL LETTER E WITH OGONEK\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x017a,     #'..b' 0x013d: 0x0095,     #  LATIN CAPITAL LETTER L WITH CARON\n-    0x013e: 0x0096,     #  LATIN SMALL LETTER L WITH CARON\n-    0x0141: 0x009d,     #  LATIN CAPITAL LETTER L WITH STROKE\n-    0x0142: 0x0088,     #  LATIN SMALL LETTER L WITH STROKE\n-    0x0143: 0x00e3,     #  LATIN CAPITAL LETTER N WITH ACUTE\n-    0x0144: 0x00e4,     #  LATIN SMALL LETTER N WITH ACUTE\n-    0x0147: 0x00d5,     #  LATIN CAPITAL LETTER N WITH CARON\n-    0x0148: 0x00e5,     #  LATIN SMALL LETTER N WITH CARON\n-    0x0150: 0x008a,     #  LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n-    0x0151: 0x008b,     #  LATIN SMALL LETTER O WITH DOUBLE ACUTE\n-    0x0154: 0x00e8,     #  LATIN CAPITAL LETTER R WITH ACUTE\n-    0x0155: 0x00ea,     #  LATIN SMALL LETTER R WITH ACUTE\n-    0x0158: 0x00fc,     #  LATIN CAPITAL LETTER R WITH CARON\n-    0x0159: 0x00fd,     #  LATIN SMALL LETTER R WITH CARON\n-    0x015a: 0x0097,     #  LATIN CAPITAL LETTER S WITH ACUTE\n-    0x015b: 0x0098,     #  LATIN SMALL LETTER S WITH ACUTE\n-    0x015e: 0x00b8,     #  LATIN CAPITAL LETTER S WITH CEDILLA\n-    0x015f: 0x00ad,     #  LATIN SMALL LETTER S WITH CEDILLA\n-    0x0160: 0x00e6,     #  LATIN CAPITAL LETTER S WITH CARON\n-    0x0161: 0x00e7,     #  LATIN SMALL LETTER S WITH CARON\n-    0x0162: 0x00dd,     #  LATIN CAPITAL LETTER T WITH CEDILLA\n-    0x0163: 0x00ee,     #  LATIN SMALL LETTER T WITH CEDILLA\n-    0x0164: 0x009b,     #  LATIN CAPITAL LETTER T WITH CARON\n-    0x0165: 0x009c,     #  LATIN SMALL LETTER T WITH CARON\n-    0x016e: 0x00de,     #  LATIN CAPITAL LETTER U WITH RING ABOVE\n-    0x016f: 0x0085,     #  LATIN SMALL LETTER U WITH RING ABOVE\n-    0x0170: 0x00eb,     #  LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\n-    0x0171: 0x00fb,     #  LATIN SMALL LETTER U WITH DOUBLE ACUTE\n-    0x0179: 0x008d,     #  LATIN CAPITAL LETTER Z WITH ACUTE\n-    0x017a: 0x00ab,     #  LATIN SMALL LETTER Z WITH ACUTE\n-    0x017b: 0x00bd,     #  LATIN CAPITAL LETTER Z WITH DOT ABOVE\n-    0x017c: 0x00be,     #  LATIN SMALL LETTER Z WITH DOT ABOVE\n-    0x017d: 0x00a6,     #  LATIN CAPITAL LETTER Z WITH CARON\n-    0x017e: 0x00a7,     #  LATIN SMALL LETTER Z WITH CARON\n-    0x02c7: 0x00f3,     #  CARON\n-    0x02d8: 0x00f4,     #  BREVE\n-    0x02d9: 0x00fa,     #  DOT ABOVE\n-    0x02db: 0x00f2,     #  OGONEK\n-    0x02dd: 0x00f1,     #  DOUBLE ACUTE ACCENT\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp852.pyc
b
Binary file test/lib/python2.7/encodings/cp852.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp855.py
--- a/test/lib/python2.7/encodings/cp855.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP855.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp855\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x0452,     #  CYRILLIC SMALL LETTER DJE\n-    0x0081: 0x0402,     #  CYRILLIC CAPITAL LETTER DJE\n-    0x0082: 0x0453,     #  CYRILLIC SMALL LETTER GJE\n-    0x0083: 0x0403,     #  CYRILLIC CAPITAL LETTER GJE\n-    0x0084: 0x0451,     #  CYRILLIC SMALL LETTER IO\n-    0x0085: 0x0401,     #  CYRILLIC CAPITAL LETTER IO\n-    0x0086: 0x0454,     #  CYRILLIC SMALL LETTER UKRAINIAN IE\n-    0x0087: 0x0404,     #  CYRILLIC CAPITAL LETTER UKRAINIAN IE\n-    0x0088: 0x0455,     #  CYRILLIC SMALL LETTER DZE\n-    0x0089: 0x0405,     #  CYRILLIC CAPITAL LETTER DZE\n-    0x008a: 0x0456,     #  CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\n-    0x008b: 0x0406,     #  CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I\n-    0x008c: 0x0457,     #  CYRILLIC SMALL LETTER YI\n-    0x008d: 0x0407,     #  CYRILLIC CAPITAL LETTER YI\n-    0x008e: 0x0458,     #  CYRILLIC SMALL LETTER JE\n-    0x008f: 0x0408,     #  CYRILLIC CAPITAL LETTER JE\n-    0x0090: 0x0459,     #  CYRILLIC SMALL LETTER LJE\n-    0x0091: 0x0409,     #  CYRILLIC CAPITAL LETTER LJE\n-    0x0092: 0x045a,     #  CYRILLIC SMALL LETTER NJE\n-    0x0093: 0x040a,     #  CYRILLIC CAPITAL LETTER NJE\n-    0x0094: 0x045b,     #  CYRILLIC SMALL LETTER TSHE\n-    0x0095: 0x040b,     #  CYRILLIC CAPITAL LETTER TSHE\n-    0x0096: 0x045c,     #  CYRILLIC SMALL LETTER KJE\n-    0x0097: 0x040c,     #  CYRILLIC CAPITAL LETTER KJE\n-    0x0098: 0x045e,     #  CYRILLIC SMALL LETTER SHORT U\n-    0x0099: 0x040e,     #  CYRILLIC CAPITAL LETTER SHORT U\n-    0x009a: 0x045f,     #  CYRILLIC SMALL LETTER DZHE\n-    0x009b: 0x040f,     #  CYRILLIC CAPITAL LETTER DZHE\n-    0x009c: 0x044e,     #  CYRILLIC SMALL LETTER YU\n-    0x009d: 0x042e,     #  CYRILLIC CAPITAL LETTER YU\n-    0x009e: 0x044a,     #  CYRILLIC SMALL LETTER HARD SIGN\n-    0x009f: 0x042a,     #  CYRILLIC CAPITAL LETTER HARD SIGN\n-    0x00a0: 0x0430,     #  CYRILLIC SMALL LETTER A\n-    0x00a1: 0x0410,     #  CYRILLIC CAPITAL LETTER A\n-    0x00a2: 0x0431,     #  CYRILLIC SMALL LETTER BE\n-    0x00a3: 0x0411,     #  CYRILLIC CAPITAL LETTER BE\n-    0x00a4: 0x0446,     #  CYRILLIC SMALL LETTER TSE\n-    0x00a5: 0x0426,     #  CYRILLIC CAPITAL LETTER TSE\n-    0x00a6: 0x0434,     #  CYRILLIC SMALL LETTER DE\n-    0x00a7: 0x0414,     #  CYRILLIC CAPITAL LETTER DE\n-    0x00a8: 0x0435,     #  CYRILLIC SMALL LETTER IE\n-    0x00a9: 0x0415,     #  CYRILLIC CAPITAL LETTER IE\n-    0x00aa: 0x0444,     #  CYRILLIC SMALL LETTER EF\n-    0x00ab: 0x0424,     #  CYRILLIC CAPITAL LETTER EF\n-    0x00ac: 0x0433,     #  CYRILLIC SMALL LETTER GHE\n-    0x00ad: 0x0413,     #  CYRILLIC CAPITAL LETTER GHE\n-    0x00ae: 0x00ab,     #  LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    0x00af'..b'   #  CYRILLIC SMALL LETTER DE\n-    0x0435: 0x00a8,     #  CYRILLIC SMALL LETTER IE\n-    0x0436: 0x00e9,     #  CYRILLIC SMALL LETTER ZHE\n-    0x0437: 0x00f3,     #  CYRILLIC SMALL LETTER ZE\n-    0x0438: 0x00b7,     #  CYRILLIC SMALL LETTER I\n-    0x0439: 0x00bd,     #  CYRILLIC SMALL LETTER SHORT I\n-    0x043a: 0x00c6,     #  CYRILLIC SMALL LETTER KA\n-    0x043b: 0x00d0,     #  CYRILLIC SMALL LETTER EL\n-    0x043c: 0x00d2,     #  CYRILLIC SMALL LETTER EM\n-    0x043d: 0x00d4,     #  CYRILLIC SMALL LETTER EN\n-    0x043e: 0x00d6,     #  CYRILLIC SMALL LETTER O\n-    0x043f: 0x00d8,     #  CYRILLIC SMALL LETTER PE\n-    0x0440: 0x00e1,     #  CYRILLIC SMALL LETTER ER\n-    0x0441: 0x00e3,     #  CYRILLIC SMALL LETTER ES\n-    0x0442: 0x00e5,     #  CYRILLIC SMALL LETTER TE\n-    0x0443: 0x00e7,     #  CYRILLIC SMALL LETTER U\n-    0x0444: 0x00aa,     #  CYRILLIC SMALL LETTER EF\n-    0x0445: 0x00b5,     #  CYRILLIC SMALL LETTER HA\n-    0x0446: 0x00a4,     #  CYRILLIC SMALL LETTER TSE\n-    0x0447: 0x00fb,     #  CYRILLIC SMALL LETTER CHE\n-    0x0448: 0x00f5,     #  CYRILLIC SMALL LETTER SHA\n-    0x0449: 0x00f9,     #  CYRILLIC SMALL LETTER SHCHA\n-    0x044a: 0x009e,     #  CYRILLIC SMALL LETTER HARD SIGN\n-    0x044b: 0x00f1,     #  CYRILLIC SMALL LETTER YERU\n-    0x044c: 0x00ed,     #  CYRILLIC SMALL LETTER SOFT SIGN\n-    0x044d: 0x00f7,     #  CYRILLIC SMALL LETTER E\n-    0x044e: 0x009c,     #  CYRILLIC SMALL LETTER YU\n-    0x044f: 0x00de,     #  CYRILLIC SMALL LETTER YA\n-    0x0451: 0x0084,     #  CYRILLIC SMALL LETTER IO\n-    0x0452: 0x0080,     #  CYRILLIC SMALL LETTER DJE\n-    0x0453: 0x0082,     #  CYRILLIC SMALL LETTER GJE\n-    0x0454: 0x0086,     #  CYRILLIC SMALL LETTER UKRAINIAN IE\n-    0x0455: 0x0088,     #  CYRILLIC SMALL LETTER DZE\n-    0x0456: 0x008a,     #  CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\n-    0x0457: 0x008c,     #  CYRILLIC SMALL LETTER YI\n-    0x0458: 0x008e,     #  CYRILLIC SMALL LETTER JE\n-    0x0459: 0x0090,     #  CYRILLIC SMALL LETTER LJE\n-    0x045a: 0x0092,     #  CYRILLIC SMALL LETTER NJE\n-    0x045b: 0x0094,     #  CYRILLIC SMALL LETTER TSHE\n-    0x045c: 0x0096,     #  CYRILLIC SMALL LETTER KJE\n-    0x045e: 0x0098,     #  CYRILLIC SMALL LETTER SHORT U\n-    0x045f: 0x009a,     #  CYRILLIC SMALL LETTER DZHE\n-    0x2116: 0x00ef,     #  NUMERO SIGN\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp855.pyc
b
Binary file test/lib/python2.7/encodings/cp855.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp856.py
--- a/test/lib/python2.7/encodings/cp856.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp856 generated from \'MAPPINGS/VENDORS/MISC/CP856.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp856\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL LETT'..b" #  0xAC -> VULGAR FRACTION ONE QUARTER\n-    u'\\ufffe'   #  0xAD -> UNDEFINED\n-    u'\\xab'     #  0xAE -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xAF -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2591'   #  0xB0 -> LIGHT SHADE\n-    u'\\u2592'   #  0xB1 -> MEDIUM SHADE\n-    u'\\u2593'   #  0xB2 -> DARK SHADE\n-    u'\\u2502'   #  0xB3 -> BOX DRAWINGS LIGHT VERTICAL\n-    u'\\u2524'   #  0xB4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    u'\\ufffe'   #  0xB5 -> UNDEFINED\n-    u'\\ufffe'   #  0xB6 -> UNDEFINED\n-    u'\\ufffe'   #  0xB7 -> UNDEFINED\n-    u'\\xa9'     #  0xB8 -> COPYRIGHT SIGN\n-    u'\\u2563'   #  0xB9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    u'\\u2551'   #  0xBA -> BOX DRAWINGS DOUBLE VERTICAL\n-    u'\\u2557'   #  0xBB -> BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    u'\\u255d'   #  0xBC -> BOX DRAWINGS DOUBLE UP AND LEFT\n-    u'\\xa2'     #  0xBD -> CENT SIGN\n-    u'\\xa5'     #  0xBE -> YEN SIGN\n-    u'\\u2510'   #  0xBF -> BOX DRAWINGS LIGHT DOWN AND LEFT\n-    u'\\u2514'   #  0xC0 -> BOX DRAWINGS LIGHT UP AND RIGHT\n-    u'\\u2534'   #  0xC1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    u'\\u252c'   #  0xC2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    u'\\u251c'   #  0xC3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    u'\\u2500'   #  0xC4 -> BOX DRAWINGS LIGHT HORIZONTAL\n-    u'\\u253c'   #  0xC5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    u'\\ufffe'   #  0xC6 -> UNDEFINED\n-    u'\\ufffe'   #  0xC7 -> UNDEFINED\n-    u'\\u255a'   #  0xC8 -> BOX DRAWINGS DOUBLE UP AND RIGHT\n-    u'\\u2554'   #  0xC9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    u'\\u2569'   #  0xCA -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    u'\\u2566'   #  0xCB -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    u'\\u2560'   #  0xCC -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    u'\\u2550'   #  0xCD -> BOX DRAWINGS DOUBLE HORIZONTAL\n-    u'\\u256c'   #  0xCE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    u'\\xa4'     #  0xCF -> CURRENCY SIGN\n-    u'\\ufffe'   #  0xD0 -> UNDEFINED\n-    u'\\ufffe'   #  0xD1 -> UNDEFINED\n-    u'\\ufffe'   #  0xD2 -> UNDEFINED\n-    u'\\ufffe'   #  0xD3 -> UNDEFINEDS\n-    u'\\ufffe'   #  0xD4 -> UNDEFINED\n-    u'\\ufffe'   #  0xD5 -> UNDEFINED\n-    u'\\ufffe'   #  0xD6 -> UNDEFINEDE\n-    u'\\ufffe'   #  0xD7 -> UNDEFINED\n-    u'\\ufffe'   #  0xD8 -> UNDEFINED\n-    u'\\u2518'   #  0xD9 -> BOX DRAWINGS LIGHT UP AND LEFT\n-    u'\\u250c'   #  0xDA -> BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    u'\\u2588'   #  0xDB -> FULL BLOCK\n-    u'\\u2584'   #  0xDC -> LOWER HALF BLOCK\n-    u'\\xa6'     #  0xDD -> BROKEN BAR\n-    u'\\ufffe'   #  0xDE -> UNDEFINED\n-    u'\\u2580'   #  0xDF -> UPPER HALF BLOCK\n-    u'\\ufffe'   #  0xE0 -> UNDEFINED\n-    u'\\ufffe'   #  0xE1 -> UNDEFINED\n-    u'\\ufffe'   #  0xE2 -> UNDEFINED\n-    u'\\ufffe'   #  0xE3 -> UNDEFINED\n-    u'\\ufffe'   #  0xE4 -> UNDEFINED\n-    u'\\ufffe'   #  0xE5 -> UNDEFINED\n-    u'\\xb5'     #  0xE6 -> MICRO SIGN\n-    u'\\ufffe'   #  0xE7 -> UNDEFINED\n-    u'\\ufffe'   #  0xE8 -> UNDEFINED\n-    u'\\ufffe'   #  0xE9 -> UNDEFINED\n-    u'\\ufffe'   #  0xEA -> UNDEFINED\n-    u'\\ufffe'   #  0xEB -> UNDEFINED\n-    u'\\ufffe'   #  0xEC -> UNDEFINED\n-    u'\\ufffe'   #  0xED -> UNDEFINED\n-    u'\\xaf'     #  0xEE -> MACRON\n-    u'\\xb4'     #  0xEF -> ACUTE ACCENT\n-    u'\\xad'     #  0xF0 -> SOFT HYPHEN\n-    u'\\xb1'     #  0xF1 -> PLUS-MINUS SIGN\n-    u'\\u2017'   #  0xF2 -> DOUBLE LOW LINE\n-    u'\\xbe'     #  0xF3 -> VULGAR FRACTION THREE QUARTERS\n-    u'\\xb6'     #  0xF4 -> PILCROW SIGN\n-    u'\\xa7'     #  0xF5 -> SECTION SIGN\n-    u'\\xf7'     #  0xF6 -> DIVISION SIGN\n-    u'\\xb8'     #  0xF7 -> CEDILLA\n-    u'\\xb0'     #  0xF8 -> DEGREE SIGN\n-    u'\\xa8'     #  0xF9 -> DIAERESIS\n-    u'\\xb7'     #  0xFA -> MIDDLE DOT\n-    u'\\xb9'     #  0xFB -> SUPERSCRIPT ONE\n-    u'\\xb3'     #  0xFC -> SUPERSCRIPT THREE\n-    u'\\xb2'     #  0xFD -> SUPERSCRIPT TWO\n-    u'\\u25a0'   #  0xFE -> BLACK SQUARE\n-    u'\\xa0'     #  0xFF -> NO-BREAK SPACE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp856.pyc
b
Binary file test/lib/python2.7/encodings/cp856.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp857.py
--- a/test/lib/python2.7/encodings/cp857.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,694 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP857.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp857\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00e5,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00ef,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x008c: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x008d: 0x0131,     #  LATIN SMALL LETTER DOTLESS I\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x00c5,     #  LATIN CAPITAL LETTER A WITH RING ABOVE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00e6,     #  LATIN SMALL LIGATURE AE\n-    0x0092: 0x00c6,     #  LATIN CAPITAL LIGATURE AE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x00f2,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x0096: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x0097: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x0098: 0x0130,     #  LATIN CAPITAL LETTER I WITH DOT ABOVE\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00f8,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d8,     #  LATIN CAPITAL LETTER O WITH STROKE\n-    0x009e: 0x015e,     #  LATIN CAPITAL LETTER S WITH CEDILLA\n-    0x009f: 0x015f,     #  LATIN SMALL LETTER S WITH CEDILLA\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00a5: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x00a6: 0x011e,     #  LATIN CAPITAL LETTER G WITH BREVE\n-    0x00a7: 0x011f,     #  LATIN SMALL LETTER G WITH BREVE\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x00ae,     #  REGISTERED SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     '..b'00ea,     #  LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    0x00dc: 0x009a,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x00df: 0x00e1,     #  LATIN SMALL LETTER SHARP S\n-    0x00e0: 0x0085,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x00e1: 0x00a0,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00e2: 0x0083,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x00e3: 0x00c6,     #  LATIN SMALL LETTER A WITH TILDE\n-    0x00e4: 0x0084,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x00e5: 0x0086,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x00e6: 0x0091,     #  LATIN SMALL LIGATURE AE\n-    0x00e7: 0x0087,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x00e8: 0x008a,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x00e9: 0x0082,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x00ea: 0x0088,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x00eb: 0x0089,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x00ec: 0x00ec,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x00ed: 0x00a1,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00ee: 0x008c,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x00ef: 0x008b,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x00f1: 0x00a4,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00f2: 0x0095,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x00f3: 0x00a2,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00f4: 0x0093,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x00f5: 0x00e4,     #  LATIN SMALL LETTER O WITH TILDE\n-    0x00f6: 0x0094,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x00f7: 0x00f6,     #  DIVISION SIGN\n-    0x00f8: 0x009b,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x00f9: 0x0097,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x00fa: 0x00a3,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00fb: 0x0096,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x00fc: 0x0081,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x00ff: 0x00ed,     #  LATIN SMALL LETTER Y WITH DIAERESIS\n-    0x011e: 0x00a6,     #  LATIN CAPITAL LETTER G WITH BREVE\n-    0x011f: 0x00a7,     #  LATIN SMALL LETTER G WITH BREVE\n-    0x0130: 0x0098,     #  LATIN CAPITAL LETTER I WITH DOT ABOVE\n-    0x0131: 0x008d,     #  LATIN SMALL LETTER DOTLESS I\n-    0x015e: 0x009e,     #  LATIN CAPITAL LETTER S WITH CEDILLA\n-    0x015f: 0x009f,     #  LATIN SMALL LETTER S WITH CEDILLA\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp857.pyc
b
Binary file test/lib/python2.7/encodings/cp857.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp858.py
--- a/test/lib/python2.7/encodings/cp858.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec for CP858, modified from cp850.\n-\n-"""\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp858\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00e5,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00ef,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x008c: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x008d: 0x00ec,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x00c5,     #  LATIN CAPITAL LETTER A WITH RING ABOVE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00e6,     #  LATIN SMALL LIGATURE AE\n-    0x0092: 0x00c6,     #  LATIN CAPITAL LIGATURE AE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x00f2,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x0096: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x0097: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x0098: 0x00ff,     #  LATIN SMALL LETTER Y WITH DIAERESIS\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00f8,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d8,     #  LATIN CAPITAL LETTER O WITH STROKE\n-    0x009e: 0x00d7,     #  MULTIPLICATION SIGN\n-    0x009f: 0x0192,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00a5: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x00a6: 0x00aa,     #  FEMININE ORDINAL INDICATOR\n-    0x00a7: 0x00ba,     #  MASCULINE ORDINAL INDICATOR\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x00ae,     #  REGISTERED SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-    0x00ad: 0x00a1,     #  INV'..b'\n-    0x00dc: 0x009a,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x00dd: 0x00ed,     #  LATIN CAPITAL LETTER Y WITH ACUTE\n-    0x00de: 0x00e8,     #  LATIN CAPITAL LETTER THORN\n-    0x00df: 0x00e1,     #  LATIN SMALL LETTER SHARP S\n-    0x00e0: 0x0085,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x00e1: 0x00a0,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00e2: 0x0083,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x00e3: 0x00c6,     #  LATIN SMALL LETTER A WITH TILDE\n-    0x00e4: 0x0084,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x00e5: 0x0086,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x00e6: 0x0091,     #  LATIN SMALL LIGATURE AE\n-    0x00e7: 0x0087,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x00e8: 0x008a,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x00e9: 0x0082,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x00ea: 0x0088,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x00eb: 0x0089,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x00ec: 0x008d,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x00ed: 0x00a1,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00ee: 0x008c,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x00ef: 0x008b,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x00f0: 0x00d0,     #  LATIN SMALL LETTER ETH\n-    0x00f1: 0x00a4,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00f2: 0x0095,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x00f3: 0x00a2,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00f4: 0x0093,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x00f5: 0x00e4,     #  LATIN SMALL LETTER O WITH TILDE\n-    0x00f6: 0x0094,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x00f7: 0x00f6,     #  DIVISION SIGN\n-    0x00f8: 0x009b,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x00f9: 0x0097,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x00fa: 0x00a3,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00fb: 0x0096,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x00fc: 0x0081,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x00fd: 0x00ec,     #  LATIN SMALL LETTER Y WITH ACUTE\n-    0x00fe: 0x00e7,     #  LATIN SMALL LETTER THORN\n-    0x00ff: 0x0098,     #  LATIN SMALL LETTER Y WITH DIAERESIS\n-    0x20ac: 0x00d5,     #  EURO SIGN\n-    0x0192: 0x009f,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x2017: 0x00f2,     #  DOUBLE LOW LINE\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp858.pyc
b
Binary file test/lib/python2.7/encodings/cp858.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp860.py
--- a/test/lib/python2.7/encodings/cp860.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP860.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp860\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e3,     #  LATIN SMALL LETTER A WITH TILDE\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00c1,     #  LATIN CAPITAL LETTER A WITH ACUTE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00ca,     #  LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00cd,     #  LATIN CAPITAL LETTER I WITH ACUTE\n-    0x008c: 0x00d4,     #  LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    0x008d: 0x00ec,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x008e: 0x00c3,     #  LATIN CAPITAL LETTER A WITH TILDE\n-    0x008f: 0x00c2,     #  LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00c0,     #  LATIN CAPITAL LETTER A WITH GRAVE\n-    0x0092: 0x00c8,     #  LATIN CAPITAL LETTER E WITH GRAVE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f5,     #  LATIN SMALL LETTER O WITH TILDE\n-    0x0095: 0x00f2,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x0096: 0x00da,     #  LATIN CAPITAL LETTER U WITH ACUTE\n-    0x0097: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x0098: 0x00cc,     #  LATIN CAPITAL LETTER I WITH GRAVE\n-    0x0099: 0x00d5,     #  LATIN CAPITAL LETTER O WITH TILDE\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00a2,     #  CENT SIGN\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d9,     #  LATIN CAPITAL LETTER U WITH GRAVE\n-    0x009e: 0x20a7,     #  PESETA SIGN\n-    0x009f: 0x00d3,     #  LATIN CAPITAL LETTER O WITH ACUTE\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00a5: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x00a6: 0x00aa,     #  FEMININE ORDINAL INDICATOR\n-    0x00a7: 0x00ba,     #  MASCULINE ORDINAL INDICATOR\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x00d2,     #  LATIN CAPITAL LETTER O WITH GRAVE\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-    0x00ad:'..b'ITAL LETTER OMEGA\n-    0x03b1: 0x00e0,     #  GREEK SMALL LETTER ALPHA\n-    0x03b4: 0x00eb,     #  GREEK SMALL LETTER DELTA\n-    0x03b5: 0x00ee,     #  GREEK SMALL LETTER EPSILON\n-    0x03c0: 0x00e3,     #  GREEK SMALL LETTER PI\n-    0x03c3: 0x00e5,     #  GREEK SMALL LETTER SIGMA\n-    0x03c4: 0x00e7,     #  GREEK SMALL LETTER TAU\n-    0x03c6: 0x00ed,     #  GREEK SMALL LETTER PHI\n-    0x207f: 0x00fc,     #  SUPERSCRIPT LATIN SMALL LETTER N\n-    0x20a7: 0x009e,     #  PESETA SIGN\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x221e: 0x00ec,     #  INFINITY\n-    0x2229: 0x00ef,     #  INTERSECTION\n-    0x2248: 0x00f7,     #  ALMOST EQUAL TO\n-    0x2261: 0x00f0,     #  IDENTICAL TO\n-    0x2264: 0x00f3,     #  LESS-THAN OR EQUAL TO\n-    0x2265: 0x00f2,     #  GREATER-THAN OR EQUAL TO\n-    0x2320: 0x00f4,     #  TOP HALF INTEGRAL\n-    0x2321: 0x00f5,     #  BOTTOM HALF INTEGRAL\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp860.pyc
b
Binary file test/lib/python2.7/encodings/cp860.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp861.py
--- a/test/lib/python2.7/encodings/cp861.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP861.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp861\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00e5,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00d0,     #  LATIN CAPITAL LETTER ETH\n-    0x008c: 0x00f0,     #  LATIN SMALL LETTER ETH\n-    0x008d: 0x00de,     #  LATIN CAPITAL LETTER THORN\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x00c5,     #  LATIN CAPITAL LETTER A WITH RING ABOVE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00e6,     #  LATIN SMALL LIGATURE AE\n-    0x0092: 0x00c6,     #  LATIN CAPITAL LIGATURE AE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x00fe,     #  LATIN SMALL LETTER THORN\n-    0x0096: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x0097: 0x00dd,     #  LATIN CAPITAL LETTER Y WITH ACUTE\n-    0x0098: 0x00fd,     #  LATIN SMALL LETTER Y WITH ACUTE\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00f8,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d8,     #  LATIN CAPITAL LETTER O WITH STROKE\n-    0x009e: 0x20a7,     #  PESETA SIGN\n-    0x009f: 0x0192,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00c1,     #  LATIN CAPITAL LETTER A WITH ACUTE\n-    0x00a5: 0x00cd,     #  LATIN CAPITAL LETTER I WITH ACUTE\n-    0x00a6: 0x00d3,     #  LATIN CAPITAL LETTER O WITH ACUTE\n-    0x00a7: 0x00da,     #  LATIN CAPITAL LETTER U WITH ACUTE\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x2310,     #  REVERSED NOT SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-    0x00ad: 0x00a1,     #  '..b'GREEK SMALL LETTER ALPHA\n-    0x03b4: 0x00eb,     #  GREEK SMALL LETTER DELTA\n-    0x03b5: 0x00ee,     #  GREEK SMALL LETTER EPSILON\n-    0x03c0: 0x00e3,     #  GREEK SMALL LETTER PI\n-    0x03c3: 0x00e5,     #  GREEK SMALL LETTER SIGMA\n-    0x03c4: 0x00e7,     #  GREEK SMALL LETTER TAU\n-    0x03c6: 0x00ed,     #  GREEK SMALL LETTER PHI\n-    0x207f: 0x00fc,     #  SUPERSCRIPT LATIN SMALL LETTER N\n-    0x20a7: 0x009e,     #  PESETA SIGN\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x221e: 0x00ec,     #  INFINITY\n-    0x2229: 0x00ef,     #  INTERSECTION\n-    0x2248: 0x00f7,     #  ALMOST EQUAL TO\n-    0x2261: 0x00f0,     #  IDENTICAL TO\n-    0x2264: 0x00f3,     #  LESS-THAN OR EQUAL TO\n-    0x2265: 0x00f2,     #  GREATER-THAN OR EQUAL TO\n-    0x2310: 0x00a9,     #  REVERSED NOT SIGN\n-    0x2320: 0x00f4,     #  TOP HALF INTEGRAL\n-    0x2321: 0x00f5,     #  BOTTOM HALF INTEGRAL\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp861.pyc
b
Binary file test/lib/python2.7/encodings/cp861.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp862.py
--- a/test/lib/python2.7/encodings/cp862.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP862.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp862\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x05d0,     #  HEBREW LETTER ALEF\n-    0x0081: 0x05d1,     #  HEBREW LETTER BET\n-    0x0082: 0x05d2,     #  HEBREW LETTER GIMEL\n-    0x0083: 0x05d3,     #  HEBREW LETTER DALET\n-    0x0084: 0x05d4,     #  HEBREW LETTER HE\n-    0x0085: 0x05d5,     #  HEBREW LETTER VAV\n-    0x0086: 0x05d6,     #  HEBREW LETTER ZAYIN\n-    0x0087: 0x05d7,     #  HEBREW LETTER HET\n-    0x0088: 0x05d8,     #  HEBREW LETTER TET\n-    0x0089: 0x05d9,     #  HEBREW LETTER YOD\n-    0x008a: 0x05da,     #  HEBREW LETTER FINAL KAF\n-    0x008b: 0x05db,     #  HEBREW LETTER KAF\n-    0x008c: 0x05dc,     #  HEBREW LETTER LAMED\n-    0x008d: 0x05dd,     #  HEBREW LETTER FINAL MEM\n-    0x008e: 0x05de,     #  HEBREW LETTER MEM\n-    0x008f: 0x05df,     #  HEBREW LETTER FINAL NUN\n-    0x0090: 0x05e0,     #  HEBREW LETTER NUN\n-    0x0091: 0x05e1,     #  HEBREW LETTER SAMEKH\n-    0x0092: 0x05e2,     #  HEBREW LETTER AYIN\n-    0x0093: 0x05e3,     #  HEBREW LETTER FINAL PE\n-    0x0094: 0x05e4,     #  HEBREW LETTER PE\n-    0x0095: 0x05e5,     #  HEBREW LETTER FINAL TSADI\n-    0x0096: 0x05e6,     #  HEBREW LETTER TSADI\n-    0x0097: 0x05e7,     #  HEBREW LETTER QOF\n-    0x0098: 0x05e8,     #  HEBREW LETTER RESH\n-    0x0099: 0x05e9,     #  HEBREW LETTER SHIN\n-    0x009a: 0x05ea,     #  HEBREW LETTER TAV\n-    0x009b: 0x00a2,     #  CENT SIGN\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00a5,     #  YEN SIGN\n-    0x009e: 0x20a7,     #  PESETA SIGN\n-    0x009f: 0x0192,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00a5: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x00a6: 0x00aa,     #  FEMININE ORDINAL INDICATOR\n-    0x00a7: 0x00ba,     #  MASCULINE ORDINAL INDICATOR\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x2310,     #  REVERSED NOT SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-    0x00ad: 0x00a1,     #  INVERTED EXCLAMATION MARK\n-    0x00ae: 0x00ab,     #  LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    0x00af: 0x00bb,     #  RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    0x00b0: 0x2591,     #  LIGHT SHADE\n-    0x00b1: 0x2592,     #  MEDIUM SHADE\n-    0x00b2: 0x2593,     #  DARK SHADE\n-    0x00b3: 0x2502,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x00b4: 0x2524,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x00b5: 0x2561,  '..b'L PE\n-    0x05e4: 0x0094,     #  HEBREW LETTER PE\n-    0x05e5: 0x0095,     #  HEBREW LETTER FINAL TSADI\n-    0x05e6: 0x0096,     #  HEBREW LETTER TSADI\n-    0x05e7: 0x0097,     #  HEBREW LETTER QOF\n-    0x05e8: 0x0098,     #  HEBREW LETTER RESH\n-    0x05e9: 0x0099,     #  HEBREW LETTER SHIN\n-    0x05ea: 0x009a,     #  HEBREW LETTER TAV\n-    0x207f: 0x00fc,     #  SUPERSCRIPT LATIN SMALL LETTER N\n-    0x20a7: 0x009e,     #  PESETA SIGN\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x221e: 0x00ec,     #  INFINITY\n-    0x2229: 0x00ef,     #  INTERSECTION\n-    0x2248: 0x00f7,     #  ALMOST EQUAL TO\n-    0x2261: 0x00f0,     #  IDENTICAL TO\n-    0x2264: 0x00f3,     #  LESS-THAN OR EQUAL TO\n-    0x2265: 0x00f2,     #  GREATER-THAN OR EQUAL TO\n-    0x2310: 0x00a9,     #  REVERSED NOT SIGN\n-    0x2320: 0x00f4,     #  TOP HALF INTEGRAL\n-    0x2321: 0x00f5,     #  BOTTOM HALF INTEGRAL\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp862.pyc
b
Binary file test/lib/python2.7/encodings/cp862.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp863.py
--- a/test/lib/python2.7/encodings/cp863.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP863.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp863\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00c2,     #  LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00b6,     #  PILCROW SIGN\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00ef,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x008c: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x008d: 0x2017,     #  DOUBLE LOW LINE\n-    0x008e: 0x00c0,     #  LATIN CAPITAL LETTER A WITH GRAVE\n-    0x008f: 0x00a7,     #  SECTION SIGN\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00c8,     #  LATIN CAPITAL LETTER E WITH GRAVE\n-    0x0092: 0x00ca,     #  LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00cb,     #  LATIN CAPITAL LETTER E WITH DIAERESIS\n-    0x0095: 0x00cf,     #  LATIN CAPITAL LETTER I WITH DIAERESIS\n-    0x0096: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x0097: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x0098: 0x00a4,     #  CURRENCY SIGN\n-    0x0099: 0x00d4,     #  LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00a2,     #  CENT SIGN\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d9,     #  LATIN CAPITAL LETTER U WITH GRAVE\n-    0x009e: 0x00db,     #  LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    0x009f: 0x0192,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x00a0: 0x00a6,     #  BROKEN BAR\n-    0x00a1: 0x00b4,     #  ACUTE ACCENT\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00a8,     #  DIAERESIS\n-    0x00a5: 0x00b8,     #  CEDILLA\n-    0x00a6: 0x00b3,     #  SUPERSCRIPT THREE\n-    0x00a7: 0x00af,     #  MACRON\n-    0x00a8: 0x00ce,     #  LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    0x00a9: 0x2310,     #  REVERSED NOT SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-    0x00ad: 0x00be,     #  VULGAR FRACTION THREE QUARTERS\n-    0x00ae: 0x00ab,     #  LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    0x00af: 0x00bb,     #  RIG'..b'K SMALL LETTER ALPHA\n-    0x03b4: 0x00eb,     #  GREEK SMALL LETTER DELTA\n-    0x03b5: 0x00ee,     #  GREEK SMALL LETTER EPSILON\n-    0x03c0: 0x00e3,     #  GREEK SMALL LETTER PI\n-    0x03c3: 0x00e5,     #  GREEK SMALL LETTER SIGMA\n-    0x03c4: 0x00e7,     #  GREEK SMALL LETTER TAU\n-    0x03c6: 0x00ed,     #  GREEK SMALL LETTER PHI\n-    0x2017: 0x008d,     #  DOUBLE LOW LINE\n-    0x207f: 0x00fc,     #  SUPERSCRIPT LATIN SMALL LETTER N\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x221e: 0x00ec,     #  INFINITY\n-    0x2229: 0x00ef,     #  INTERSECTION\n-    0x2248: 0x00f7,     #  ALMOST EQUAL TO\n-    0x2261: 0x00f0,     #  IDENTICAL TO\n-    0x2264: 0x00f3,     #  LESS-THAN OR EQUAL TO\n-    0x2265: 0x00f2,     #  GREATER-THAN OR EQUAL TO\n-    0x2310: 0x00a9,     #  REVERSED NOT SIGN\n-    0x2320: 0x00f4,     #  TOP HALF INTEGRAL\n-    0x2321: 0x00f5,     #  BOTTOM HALF INTEGRAL\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp863.pyc
b
Binary file test/lib/python2.7/encodings/cp863.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp864.py
--- a/test/lib/python2.7/encodings/cp864.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,690 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP864.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp864\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0025: 0x066a,     #  ARABIC PERCENT SIGN\n-    0x0080: 0x00b0,     #  DEGREE SIGN\n-    0x0081: 0x00b7,     #  MIDDLE DOT\n-    0x0082: 0x2219,     #  BULLET OPERATOR\n-    0x0083: 0x221a,     #  SQUARE ROOT\n-    0x0084: 0x2592,     #  MEDIUM SHADE\n-    0x0085: 0x2500,     #  FORMS LIGHT HORIZONTAL\n-    0x0086: 0x2502,     #  FORMS LIGHT VERTICAL\n-    0x0087: 0x253c,     #  FORMS LIGHT VERTICAL AND HORIZONTAL\n-    0x0088: 0x2524,     #  FORMS LIGHT VERTICAL AND LEFT\n-    0x0089: 0x252c,     #  FORMS LIGHT DOWN AND HORIZONTAL\n-    0x008a: 0x251c,     #  FORMS LIGHT VERTICAL AND RIGHT\n-    0x008b: 0x2534,     #  FORMS LIGHT UP AND HORIZONTAL\n-    0x008c: 0x2510,     #  FORMS LIGHT DOWN AND LEFT\n-    0x008d: 0x250c,     #  FORMS LIGHT DOWN AND RIGHT\n-    0x008e: 0x2514,     #  FORMS LIGHT UP AND RIGHT\n-    0x008f: 0x2518,     #  FORMS LIGHT UP AND LEFT\n-    0x0090: 0x03b2,     #  GREEK SMALL BETA\n-    0x0091: 0x221e,     #  INFINITY\n-    0x0092: 0x03c6,     #  GREEK SMALL PHI\n-    0x0093: 0x00b1,     #  PLUS-OR-MINUS SIGN\n-    0x0094: 0x00bd,     #  FRACTION 1/2\n-    0x0095: 0x00bc,     #  FRACTION 1/4\n-    0x0096: 0x2248,     #  ALMOST EQUAL TO\n-    0x0097: 0x00ab,     #  LEFT POINTING GUILLEMET\n-    0x0098: 0x00bb,     #  RIGHT POINTING GUILLEMET\n-    0x0099: 0xfef7,     #  ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n-    0x009a: 0xfef8,     #  ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n-    0x009b: None,       #  UNDEFINED\n-    0x009c: None,       #  UNDEFINED\n-    0x009d: 0xfefb,     #  ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n-    0x009e: 0xfefc,     #  ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n-    0x009f: None,       #  UNDEFINED\n-    0x00a1: 0x00ad,     #  SOFT HYPHEN\n-    0x00a2: 0xfe82,     #  ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM\n-    0x00a5: 0xfe84,     #  ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM\n-    0x00a6: None,       #  UNDEFINED\n-    0x00a7: None,       #  UNDEFINED\n-    0x00a8: 0xfe8e,     #  ARABIC LETTER ALEF FINAL FORM\n-    0x00a9: 0xfe8f,     #  ARABIC LETTER BEH ISOLATED FORM\n-    0x00aa: 0xfe95,     #  ARABIC LETTER TEH ISOLATED FORM\n-    0x00ab: 0xfe99,     #  ARABIC LETTER THEH ISOLATED FORM\n-    0x00ac: 0x060c,     #  ARABIC COMMA\n-    0x00ad: 0xfe9d,     #  ARABIC LETTER JEEM ISOLATED FORM\n-    0x00ae: 0xfea1,     #  ARABIC LETTER HAH ISOLATED FORM\n-    0x00af: 0xfea5,     #  ARABIC LETTER KHAH ISOLATED FORM\n-    0x00b0: 0x0660,     #  ARABIC-INDIC DIGIT ZERO\n-    0x00b1: 0x0661,     #  ARABIC-INDIC DIGIT ONE\n-    0x00b2: 0x0662,     #  ARABIC-INDIC DIGIT TWO\n-    0x00b3: 0x0663,     #  ARABIC-INDIC DIGIT THREE\n-    0x00b4: 0x0664,     #  ARABIC-INDIC '..b'NITIAL FORM\n-    0xfe8d: 0x00c7,     #  ARABIC LETTER ALEF ISOLATED FORM\n-    0xfe8e: 0x00a8,     #  ARABIC LETTER ALEF FINAL FORM\n-    0xfe8f: 0x00a9,     #  ARABIC LETTER BEH ISOLATED FORM\n-    0xfe91: 0x00c8,     #  ARABIC LETTER BEH INITIAL FORM\n-    0xfe93: 0x00c9,     #  ARABIC LETTER TEH MARBUTA ISOLATED FORM\n-    0xfe95: 0x00aa,     #  ARABIC LETTER TEH ISOLATED FORM\n-    0xfe97: 0x00ca,     #  ARABIC LETTER TEH INITIAL FORM\n-    0xfe99: 0x00ab,     #  ARABIC LETTER THEH ISOLATED FORM\n-    0xfe9b: 0x00cb,     #  ARABIC LETTER THEH INITIAL FORM\n-    0xfe9d: 0x00ad,     #  ARABIC LETTER JEEM ISOLATED FORM\n-    0xfe9f: 0x00cc,     #  ARABIC LETTER JEEM INITIAL FORM\n-    0xfea1: 0x00ae,     #  ARABIC LETTER HAH ISOLATED FORM\n-    0xfea3: 0x00cd,     #  ARABIC LETTER HAH INITIAL FORM\n-    0xfea5: 0x00af,     #  ARABIC LETTER KHAH ISOLATED FORM\n-    0xfea7: 0x00ce,     #  ARABIC LETTER KHAH INITIAL FORM\n-    0xfea9: 0x00cf,     #  ARABIC LETTER DAL ISOLATED FORM\n-    0xfeab: 0x00d0,     #  ARABIC LETTER THAL ISOLATED FORM\n-    0xfead: 0x00d1,     #  ARABIC LETTER REH ISOLATED FORM\n-    0xfeaf: 0x00d2,     #  ARABIC LETTER ZAIN ISOLATED FORM\n-    0xfeb1: 0x00bc,     #  ARABIC LETTER SEEN ISOLATED FORM\n-    0xfeb3: 0x00d3,     #  ARABIC LETTER SEEN INITIAL FORM\n-    0xfeb5: 0x00bd,     #  ARABIC LETTER SHEEN ISOLATED FORM\n-    0xfeb7: 0x00d4,     #  ARABIC LETTER SHEEN INITIAL FORM\n-    0xfeb9: 0x00be,     #  ARABIC LETTER SAD ISOLATED FORM\n-    0xfebb: 0x00d5,     #  ARABIC LETTER SAD INITIAL FORM\n-    0xfebd: 0x00eb,     #  ARABIC LETTER DAD ISOLATED FORM\n-    0xfebf: 0x00d6,     #  ARABIC LETTER DAD INITIAL FORM\n-    0xfec1: 0x00d7,     #  ARABIC LETTER TAH ISOLATED FORM\n-    0xfec5: 0x00d8,     #  ARABIC LETTER ZAH ISOLATED FORM\n-    0xfec9: 0x00df,     #  ARABIC LETTER AIN ISOLATED FORM\n-    0xfeca: 0x00c5,     #  ARABIC LETTER AIN FINAL FORM\n-    0xfecb: 0x00d9,     #  ARABIC LETTER AIN INITIAL FORM\n-    0xfecc: 0x00ec,     #  ARABIC LETTER AIN MEDIAL FORM\n-    0xfecd: 0x00ee,     #  ARABIC LETTER GHAIN ISOLATED FORM\n-    0xfece: 0x00ed,     #  ARABIC LETTER GHAIN FINAL FORM\n-    0xfecf: 0x00da,     #  ARABIC LETTER GHAIN INITIAL FORM\n-    0xfed0: 0x00f7,     #  ARABIC LETTER GHAIN MEDIAL FORM\n-    0xfed1: 0x00ba,     #  ARABIC LETTER FEH ISOLATED FORM\n-    0xfed3: 0x00e1,     #  ARABIC LETTER FEH INITIAL FORM\n-    0xfed5: 0x00f8,     #  ARABIC LETTER QAF ISOLATED FORM\n-    0xfed7: 0x00e2,     #  ARABIC LETTER QAF INITIAL FORM\n-    0xfed9: 0x00fc,     #  ARABIC LETTER KAF ISOLATED FORM\n-    0xfedb: 0x00e3,     #  ARABIC LETTER KAF INITIAL FORM\n-    0xfedd: 0x00fb,     #  ARABIC LETTER LAM ISOLATED FORM\n-    0xfedf: 0x00e4,     #  ARABIC LETTER LAM INITIAL FORM\n-    0xfee1: 0x00ef,     #  ARABIC LETTER MEEM ISOLATED FORM\n-    0xfee3: 0x00e5,     #  ARABIC LETTER MEEM INITIAL FORM\n-    0xfee5: 0x00f2,     #  ARABIC LETTER NOON ISOLATED FORM\n-    0xfee7: 0x00e6,     #  ARABIC LETTER NOON INITIAL FORM\n-    0xfee9: 0x00f3,     #  ARABIC LETTER HEH ISOLATED FORM\n-    0xfeeb: 0x00e7,     #  ARABIC LETTER HEH INITIAL FORM\n-    0xfeec: 0x00f4,     #  ARABIC LETTER HEH MEDIAL FORM\n-    0xfeed: 0x00e8,     #  ARABIC LETTER WAW ISOLATED FORM\n-    0xfeef: 0x00e9,     #  ARABIC LETTER ALEF MAKSURA ISOLATED FORM\n-    0xfef0: 0x00f5,     #  ARABIC LETTER ALEF MAKSURA FINAL FORM\n-    0xfef1: 0x00fd,     #  ARABIC LETTER YEH ISOLATED FORM\n-    0xfef2: 0x00f6,     #  ARABIC LETTER YEH FINAL FORM\n-    0xfef3: 0x00ea,     #  ARABIC LETTER YEH INITIAL FORM\n-    0xfef5: 0x00f9,     #  ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n-    0xfef6: 0x00fa,     #  ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n-    0xfef7: 0x0099,     #  ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n-    0xfef8: 0x009a,     #  ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n-    0xfefb: 0x009d,     #  ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n-    0xfefc: 0x009e,     #  ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp864.pyc
b
Binary file test/lib/python2.7/encodings/cp864.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp865.py
--- a/test/lib/python2.7/encodings/cp865.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP865.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp865\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0081: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x0082: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x0083: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x0084: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x0085: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0086: 0x00e5,     #  LATIN SMALL LETTER A WITH RING ABOVE\n-    0x0087: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x0088: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0089: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x008a: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x008b: 0x00ef,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x008c: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x008d: 0x00ec,     #  LATIN SMALL LETTER I WITH GRAVE\n-    0x008e: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x008f: 0x00c5,     #  LATIN CAPITAL LETTER A WITH RING ABOVE\n-    0x0090: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0091: 0x00e6,     #  LATIN SMALL LIGATURE AE\n-    0x0092: 0x00c6,     #  LATIN CAPITAL LIGATURE AE\n-    0x0093: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x0094: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x0095: 0x00f2,     #  LATIN SMALL LETTER O WITH GRAVE\n-    0x0096: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x0097: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x0098: 0x00ff,     #  LATIN SMALL LETTER Y WITH DIAERESIS\n-    0x0099: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x009a: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x009b: 0x00f8,     #  LATIN SMALL LETTER O WITH STROKE\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x00d8,     #  LATIN CAPITAL LETTER O WITH STROKE\n-    0x009e: 0x20a7,     #  PESETA SIGN\n-    0x009f: 0x0192,     #  LATIN SMALL LETTER F WITH HOOK\n-    0x00a0: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x00a1: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x00a2: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x00a3: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00a4: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x00a5: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x00a6: 0x00aa,     #  FEMININE ORDINAL INDICATOR\n-    0x00a7: 0x00ba,     #  MASCULINE ORDINAL INDICATOR\n-    0x00a8: 0x00bf,     #  INVERTED QUESTION MARK\n-    0x00a9: 0x2310,     #  REVERSED NOT SIGN\n-    0x00aa: 0x00ac,     #  NOT SIGN\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x00bc,     #  VULGAR FRACTION ONE QUARTER\n-   '..b'GREEK SMALL LETTER ALPHA\n-    0x03b4: 0x00eb,     #  GREEK SMALL LETTER DELTA\n-    0x03b5: 0x00ee,     #  GREEK SMALL LETTER EPSILON\n-    0x03c0: 0x00e3,     #  GREEK SMALL LETTER PI\n-    0x03c3: 0x00e5,     #  GREEK SMALL LETTER SIGMA\n-    0x03c4: 0x00e7,     #  GREEK SMALL LETTER TAU\n-    0x03c6: 0x00ed,     #  GREEK SMALL LETTER PHI\n-    0x207f: 0x00fc,     #  SUPERSCRIPT LATIN SMALL LETTER N\n-    0x20a7: 0x009e,     #  PESETA SIGN\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x221e: 0x00ec,     #  INFINITY\n-    0x2229: 0x00ef,     #  INTERSECTION\n-    0x2248: 0x00f7,     #  ALMOST EQUAL TO\n-    0x2261: 0x00f0,     #  IDENTICAL TO\n-    0x2264: 0x00f3,     #  LESS-THAN OR EQUAL TO\n-    0x2265: 0x00f2,     #  GREATER-THAN OR EQUAL TO\n-    0x2310: 0x00a9,     #  REVERSED NOT SIGN\n-    0x2320: 0x00f4,     #  TOP HALF INTEGRAL\n-    0x2321: 0x00f5,     #  BOTTOM HALF INTEGRAL\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp865.pyc
b
Binary file test/lib/python2.7/encodings/cp865.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp866.py
--- a/test/lib/python2.7/encodings/cp866.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP866.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp866\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x0410,     #  CYRILLIC CAPITAL LETTER A\n-    0x0081: 0x0411,     #  CYRILLIC CAPITAL LETTER BE\n-    0x0082: 0x0412,     #  CYRILLIC CAPITAL LETTER VE\n-    0x0083: 0x0413,     #  CYRILLIC CAPITAL LETTER GHE\n-    0x0084: 0x0414,     #  CYRILLIC CAPITAL LETTER DE\n-    0x0085: 0x0415,     #  CYRILLIC CAPITAL LETTER IE\n-    0x0086: 0x0416,     #  CYRILLIC CAPITAL LETTER ZHE\n-    0x0087: 0x0417,     #  CYRILLIC CAPITAL LETTER ZE\n-    0x0088: 0x0418,     #  CYRILLIC CAPITAL LETTER I\n-    0x0089: 0x0419,     #  CYRILLIC CAPITAL LETTER SHORT I\n-    0x008a: 0x041a,     #  CYRILLIC CAPITAL LETTER KA\n-    0x008b: 0x041b,     #  CYRILLIC CAPITAL LETTER EL\n-    0x008c: 0x041c,     #  CYRILLIC CAPITAL LETTER EM\n-    0x008d: 0x041d,     #  CYRILLIC CAPITAL LETTER EN\n-    0x008e: 0x041e,     #  CYRILLIC CAPITAL LETTER O\n-    0x008f: 0x041f,     #  CYRILLIC CAPITAL LETTER PE\n-    0x0090: 0x0420,     #  CYRILLIC CAPITAL LETTER ER\n-    0x0091: 0x0421,     #  CYRILLIC CAPITAL LETTER ES\n-    0x0092: 0x0422,     #  CYRILLIC CAPITAL LETTER TE\n-    0x0093: 0x0423,     #  CYRILLIC CAPITAL LETTER U\n-    0x0094: 0x0424,     #  CYRILLIC CAPITAL LETTER EF\n-    0x0095: 0x0425,     #  CYRILLIC CAPITAL LETTER HA\n-    0x0096: 0x0426,     #  CYRILLIC CAPITAL LETTER TSE\n-    0x0097: 0x0427,     #  CYRILLIC CAPITAL LETTER CHE\n-    0x0098: 0x0428,     #  CYRILLIC CAPITAL LETTER SHA\n-    0x0099: 0x0429,     #  CYRILLIC CAPITAL LETTER SHCHA\n-    0x009a: 0x042a,     #  CYRILLIC CAPITAL LETTER HARD SIGN\n-    0x009b: 0x042b,     #  CYRILLIC CAPITAL LETTER YERU\n-    0x009c: 0x042c,     #  CYRILLIC CAPITAL LETTER SOFT SIGN\n-    0x009d: 0x042d,     #  CYRILLIC CAPITAL LETTER E\n-    0x009e: 0x042e,     #  CYRILLIC CAPITAL LETTER YU\n-    0x009f: 0x042f,     #  CYRILLIC CAPITAL LETTER YA\n-    0x00a0: 0x0430,     #  CYRILLIC SMALL LETTER A\n-    0x00a1: 0x0431,     #  CYRILLIC SMALL LETTER BE\n-    0x00a2: 0x0432,     #  CYRILLIC SMALL LETTER VE\n-    0x00a3: 0x0433,     #  CYRILLIC SMALL LETTER GHE\n-    0x00a4: 0x0434,     #  CYRILLIC SMALL LETTER DE\n-    0x00a5: 0x0435,     #  CYRILLIC SMALL LETTER IE\n-    0x00a6: 0x0436,     #  CYRILLIC SMALL LETTER ZHE\n-    0x00a7: 0x0437,     #  CYRILLIC SMALL LETTER ZE\n-    0x00a8: 0x0438,     #  CYRILLIC SMALL LETTER I\n-    0x00a9: 0x0439,     #  CYRILLIC SMALL LETTER SHORT I\n-    0x00aa: 0x043a,     #  CYRILLIC SMALL LETTER KA\n-    0x00ab: 0x043b,     #  CYRILLIC SMALL LETTER EL\n-    0x00ac: 0x043c,     #  CYRILLIC SMALL LETTER EM\n-    0x00ad: 0x043d,     #  CYRILLIC SMALL LETTER EN\n-    0x00ae: 0x043e,     #  CYRILLIC SMALL LETTER O\n-    0x00af: 0x043f,     #  CYRILLIC SMALL LETTER PE\n-    0x00b0: 0x2591,     #  LIGHT SHADE'..b'#  CYRILLIC SMALL LETTER HA\n-    0x0446: 0x00e6,     #  CYRILLIC SMALL LETTER TSE\n-    0x0447: 0x00e7,     #  CYRILLIC SMALL LETTER CHE\n-    0x0448: 0x00e8,     #  CYRILLIC SMALL LETTER SHA\n-    0x0449: 0x00e9,     #  CYRILLIC SMALL LETTER SHCHA\n-    0x044a: 0x00ea,     #  CYRILLIC SMALL LETTER HARD SIGN\n-    0x044b: 0x00eb,     #  CYRILLIC SMALL LETTER YERU\n-    0x044c: 0x00ec,     #  CYRILLIC SMALL LETTER SOFT SIGN\n-    0x044d: 0x00ed,     #  CYRILLIC SMALL LETTER E\n-    0x044e: 0x00ee,     #  CYRILLIC SMALL LETTER YU\n-    0x044f: 0x00ef,     #  CYRILLIC SMALL LETTER YA\n-    0x0451: 0x00f1,     #  CYRILLIC SMALL LETTER IO\n-    0x0454: 0x00f3,     #  CYRILLIC SMALL LETTER UKRAINIAN IE\n-    0x0457: 0x00f5,     #  CYRILLIC SMALL LETTER YI\n-    0x045e: 0x00f7,     #  CYRILLIC SMALL LETTER SHORT U\n-    0x2116: 0x00fc,     #  NUMERO SIGN\n-    0x2219: 0x00f9,     #  BULLET OPERATOR\n-    0x221a: 0x00fb,     #  SQUARE ROOT\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2552: 0x00d5,     #  BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\n-    0x2553: 0x00d6,     #  BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2555: 0x00b8,     #  BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\n-    0x2556: 0x00b7,     #  BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x2558: 0x00d4,     #  BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\n-    0x2559: 0x00d3,     #  BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255b: 0x00be,     #  BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\n-    0x255c: 0x00bd,     #  BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x255e: 0x00c6,     #  BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\n-    0x255f: 0x00c7,     #  BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2561: 0x00b5,     #  BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\n-    0x2562: 0x00b6,     #  BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2564: 0x00d1,     #  BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\n-    0x2565: 0x00d2,     #  BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2567: 0x00cf,     #  BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\n-    0x2568: 0x00d0,     #  BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256a: 0x00d8,     #  BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    0x256b: 0x00d7,     #  BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x258c: 0x00dd,     #  LEFT HALF BLOCK\n-    0x2590: 0x00de,     #  RIGHT HALF BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp866.pyc
b
Binary file test/lib/python2.7/encodings/cp866.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp869.py
--- a/test/lib/python2.7/encodings/cp869.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,689 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/MICSFT/PC/CP869.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp869\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: None,       #  UNDEFINED\n-    0x0081: None,       #  UNDEFINED\n-    0x0082: None,       #  UNDEFINED\n-    0x0083: None,       #  UNDEFINED\n-    0x0084: None,       #  UNDEFINED\n-    0x0085: None,       #  UNDEFINED\n-    0x0086: 0x0386,     #  GREEK CAPITAL LETTER ALPHA WITH TONOS\n-    0x0087: None,       #  UNDEFINED\n-    0x0088: 0x00b7,     #  MIDDLE DOT\n-    0x0089: 0x00ac,     #  NOT SIGN\n-    0x008a: 0x00a6,     #  BROKEN BAR\n-    0x008b: 0x2018,     #  LEFT SINGLE QUOTATION MARK\n-    0x008c: 0x2019,     #  RIGHT SINGLE QUOTATION MARK\n-    0x008d: 0x0388,     #  GREEK CAPITAL LETTER EPSILON WITH TONOS\n-    0x008e: 0x2015,     #  HORIZONTAL BAR\n-    0x008f: 0x0389,     #  GREEK CAPITAL LETTER ETA WITH TONOS\n-    0x0090: 0x038a,     #  GREEK CAPITAL LETTER IOTA WITH TONOS\n-    0x0091: 0x03aa,     #  GREEK CAPITAL LETTER IOTA WITH DIALYTIKA\n-    0x0092: 0x038c,     #  GREEK CAPITAL LETTER OMICRON WITH TONOS\n-    0x0093: None,       #  UNDEFINED\n-    0x0094: None,       #  UNDEFINED\n-    0x0095: 0x038e,     #  GREEK CAPITAL LETTER UPSILON WITH TONOS\n-    0x0096: 0x03ab,     #  GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA\n-    0x0097: 0x00a9,     #  COPYRIGHT SIGN\n-    0x0098: 0x038f,     #  GREEK CAPITAL LETTER OMEGA WITH TONOS\n-    0x0099: 0x00b2,     #  SUPERSCRIPT TWO\n-    0x009a: 0x00b3,     #  SUPERSCRIPT THREE\n-    0x009b: 0x03ac,     #  GREEK SMALL LETTER ALPHA WITH TONOS\n-    0x009c: 0x00a3,     #  POUND SIGN\n-    0x009d: 0x03ad,     #  GREEK SMALL LETTER EPSILON WITH TONOS\n-    0x009e: 0x03ae,     #  GREEK SMALL LETTER ETA WITH TONOS\n-    0x009f: 0x03af,     #  GREEK SMALL LETTER IOTA WITH TONOS\n-    0x00a0: 0x03ca,     #  GREEK SMALL LETTER IOTA WITH DIALYTIKA\n-    0x00a1: 0x0390,     #  GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\n-    0x00a2: 0x03cc,     #  GREEK SMALL LETTER OMICRON WITH TONOS\n-    0x00a3: 0x03cd,     #  GREEK SMALL LETTER UPSILON WITH TONOS\n-    0x00a4: 0x0391,     #  GREEK CAPITAL LETTER ALPHA\n-    0x00a5: 0x0392,     #  GREEK CAPITAL LETTER BETA\n-    0x00a6: 0x0393,     #  GREEK CAPITAL LETTER GAMMA\n-    0x00a7: 0x0394,     #  GREEK CAPITAL LETTER DELTA\n-    0x00a8: 0x0395,     #  GREEK CAPITAL LETTER EPSILON\n-    0x00a9: 0x0396,     #  GREEK CAPITAL LETTER ZETA\n-    0x00aa: 0x0397,     #  GREEK CAPITAL LETTER ETA\n-    0x00ab: 0x00bd,     #  VULGAR FRACTION ONE HALF\n-    0x00ac: 0x0398,     #  GREEK CAPITAL LETTER THETA\n-    0x00ad: 0x0399,     #  GREEK CAPITAL LETTER IOTA\n-    0x00ae: 0x00ab,     #  LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    0x00af: 0x00bb,     #  RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    0x00b0: 0x2591,     #  LIGHT SHADE\n-    0x00b1: 0x2592,     #  M'..b'0x00d5,     #  GREEK CAPITAL LETTER OMEGA\n-    0x03aa: 0x0091,     #  GREEK CAPITAL LETTER IOTA WITH DIALYTIKA\n-    0x03ab: 0x0096,     #  GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA\n-    0x03ac: 0x009b,     #  GREEK SMALL LETTER ALPHA WITH TONOS\n-    0x03ad: 0x009d,     #  GREEK SMALL LETTER EPSILON WITH TONOS\n-    0x03ae: 0x009e,     #  GREEK SMALL LETTER ETA WITH TONOS\n-    0x03af: 0x009f,     #  GREEK SMALL LETTER IOTA WITH TONOS\n-    0x03b0: 0x00fc,     #  GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\n-    0x03b1: 0x00d6,     #  GREEK SMALL LETTER ALPHA\n-    0x03b2: 0x00d7,     #  GREEK SMALL LETTER BETA\n-    0x03b3: 0x00d8,     #  GREEK SMALL LETTER GAMMA\n-    0x03b4: 0x00dd,     #  GREEK SMALL LETTER DELTA\n-    0x03b5: 0x00de,     #  GREEK SMALL LETTER EPSILON\n-    0x03b6: 0x00e0,     #  GREEK SMALL LETTER ZETA\n-    0x03b7: 0x00e1,     #  GREEK SMALL LETTER ETA\n-    0x03b8: 0x00e2,     #  GREEK SMALL LETTER THETA\n-    0x03b9: 0x00e3,     #  GREEK SMALL LETTER IOTA\n-    0x03ba: 0x00e4,     #  GREEK SMALL LETTER KAPPA\n-    0x03bb: 0x00e5,     #  GREEK SMALL LETTER LAMDA\n-    0x03bc: 0x00e6,     #  GREEK SMALL LETTER MU\n-    0x03bd: 0x00e7,     #  GREEK SMALL LETTER NU\n-    0x03be: 0x00e8,     #  GREEK SMALL LETTER XI\n-    0x03bf: 0x00e9,     #  GREEK SMALL LETTER OMICRON\n-    0x03c0: 0x00ea,     #  GREEK SMALL LETTER PI\n-    0x03c1: 0x00eb,     #  GREEK SMALL LETTER RHO\n-    0x03c2: 0x00ed,     #  GREEK SMALL LETTER FINAL SIGMA\n-    0x03c3: 0x00ec,     #  GREEK SMALL LETTER SIGMA\n-    0x03c4: 0x00ee,     #  GREEK SMALL LETTER TAU\n-    0x03c5: 0x00f2,     #  GREEK SMALL LETTER UPSILON\n-    0x03c6: 0x00f3,     #  GREEK SMALL LETTER PHI\n-    0x03c7: 0x00f4,     #  GREEK SMALL LETTER CHI\n-    0x03c8: 0x00f6,     #  GREEK SMALL LETTER PSI\n-    0x03c9: 0x00fa,     #  GREEK SMALL LETTER OMEGA\n-    0x03ca: 0x00a0,     #  GREEK SMALL LETTER IOTA WITH DIALYTIKA\n-    0x03cb: 0x00fb,     #  GREEK SMALL LETTER UPSILON WITH DIALYTIKA\n-    0x03cc: 0x00a2,     #  GREEK SMALL LETTER OMICRON WITH TONOS\n-    0x03cd: 0x00a3,     #  GREEK SMALL LETTER UPSILON WITH TONOS\n-    0x03ce: 0x00fd,     #  GREEK SMALL LETTER OMEGA WITH TONOS\n-    0x2015: 0x008e,     #  HORIZONTAL BAR\n-    0x2018: 0x008b,     #  LEFT SINGLE QUOTATION MARK\n-    0x2019: 0x008c,     #  RIGHT SINGLE QUOTATION MARK\n-    0x2500: 0x00c4,     #  BOX DRAWINGS LIGHT HORIZONTAL\n-    0x2502: 0x00b3,     #  BOX DRAWINGS LIGHT VERTICAL\n-    0x250c: 0x00da,     #  BOX DRAWINGS LIGHT DOWN AND RIGHT\n-    0x2510: 0x00bf,     #  BOX DRAWINGS LIGHT DOWN AND LEFT\n-    0x2514: 0x00c0,     #  BOX DRAWINGS LIGHT UP AND RIGHT\n-    0x2518: 0x00d9,     #  BOX DRAWINGS LIGHT UP AND LEFT\n-    0x251c: 0x00c3,     #  BOX DRAWINGS LIGHT VERTICAL AND RIGHT\n-    0x2524: 0x00b4,     #  BOX DRAWINGS LIGHT VERTICAL AND LEFT\n-    0x252c: 0x00c2,     #  BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\n-    0x2534: 0x00c1,     #  BOX DRAWINGS LIGHT UP AND HORIZONTAL\n-    0x253c: 0x00c5,     #  BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\n-    0x2550: 0x00cd,     #  BOX DRAWINGS DOUBLE HORIZONTAL\n-    0x2551: 0x00ba,     #  BOX DRAWINGS DOUBLE VERTICAL\n-    0x2554: 0x00c9,     #  BOX DRAWINGS DOUBLE DOWN AND RIGHT\n-    0x2557: 0x00bb,     #  BOX DRAWINGS DOUBLE DOWN AND LEFT\n-    0x255a: 0x00c8,     #  BOX DRAWINGS DOUBLE UP AND RIGHT\n-    0x255d: 0x00bc,     #  BOX DRAWINGS DOUBLE UP AND LEFT\n-    0x2560: 0x00cc,     #  BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\n-    0x2563: 0x00b9,     #  BOX DRAWINGS DOUBLE VERTICAL AND LEFT\n-    0x2566: 0x00cb,     #  BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\n-    0x2569: 0x00ca,     #  BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    0x256c: 0x00ce,     #  BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    0x2580: 0x00df,     #  UPPER HALF BLOCK\n-    0x2584: 0x00dc,     #  LOWER HALF BLOCK\n-    0x2588: 0x00db,     #  FULL BLOCK\n-    0x2591: 0x00b0,     #  LIGHT SHADE\n-    0x2592: 0x00b1,     #  MEDIUM SHADE\n-    0x2593: 0x00b2,     #  DARK SHADE\n-    0x25a0: 0x00fe,     #  BLACK SQUARE\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp869.pyc
b
Binary file test/lib/python2.7/encodings/cp869.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp874.py
--- a/test/lib/python2.7/encodings/cp874.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp874 generated from \'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp874\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CA'..b"I CHARACTER THO THAN\n-    u'\\u0e11'   #  0xB1 -> THAI CHARACTER THO NANGMONTHO\n-    u'\\u0e12'   #  0xB2 -> THAI CHARACTER THO PHUTHAO\n-    u'\\u0e13'   #  0xB3 -> THAI CHARACTER NO NEN\n-    u'\\u0e14'   #  0xB4 -> THAI CHARACTER DO DEK\n-    u'\\u0e15'   #  0xB5 -> THAI CHARACTER TO TAO\n-    u'\\u0e16'   #  0xB6 -> THAI CHARACTER THO THUNG\n-    u'\\u0e17'   #  0xB7 -> THAI CHARACTER THO THAHAN\n-    u'\\u0e18'   #  0xB8 -> THAI CHARACTER THO THONG\n-    u'\\u0e19'   #  0xB9 -> THAI CHARACTER NO NU\n-    u'\\u0e1a'   #  0xBA -> THAI CHARACTER BO BAIMAI\n-    u'\\u0e1b'   #  0xBB -> THAI CHARACTER PO PLA\n-    u'\\u0e1c'   #  0xBC -> THAI CHARACTER PHO PHUNG\n-    u'\\u0e1d'   #  0xBD -> THAI CHARACTER FO FA\n-    u'\\u0e1e'   #  0xBE -> THAI CHARACTER PHO PHAN\n-    u'\\u0e1f'   #  0xBF -> THAI CHARACTER FO FAN\n-    u'\\u0e20'   #  0xC0 -> THAI CHARACTER PHO SAMPHAO\n-    u'\\u0e21'   #  0xC1 -> THAI CHARACTER MO MA\n-    u'\\u0e22'   #  0xC2 -> THAI CHARACTER YO YAK\n-    u'\\u0e23'   #  0xC3 -> THAI CHARACTER RO RUA\n-    u'\\u0e24'   #  0xC4 -> THAI CHARACTER RU\n-    u'\\u0e25'   #  0xC5 -> THAI CHARACTER LO LING\n-    u'\\u0e26'   #  0xC6 -> THAI CHARACTER LU\n-    u'\\u0e27'   #  0xC7 -> THAI CHARACTER WO WAEN\n-    u'\\u0e28'   #  0xC8 -> THAI CHARACTER SO SALA\n-    u'\\u0e29'   #  0xC9 -> THAI CHARACTER SO RUSI\n-    u'\\u0e2a'   #  0xCA -> THAI CHARACTER SO SUA\n-    u'\\u0e2b'   #  0xCB -> THAI CHARACTER HO HIP\n-    u'\\u0e2c'   #  0xCC -> THAI CHARACTER LO CHULA\n-    u'\\u0e2d'   #  0xCD -> THAI CHARACTER O ANG\n-    u'\\u0e2e'   #  0xCE -> THAI CHARACTER HO NOKHUK\n-    u'\\u0e2f'   #  0xCF -> THAI CHARACTER PAIYANNOI\n-    u'\\u0e30'   #  0xD0 -> THAI CHARACTER SARA A\n-    u'\\u0e31'   #  0xD1 -> THAI CHARACTER MAI HAN-AKAT\n-    u'\\u0e32'   #  0xD2 -> THAI CHARACTER SARA AA\n-    u'\\u0e33'   #  0xD3 -> THAI CHARACTER SARA AM\n-    u'\\u0e34'   #  0xD4 -> THAI CHARACTER SARA I\n-    u'\\u0e35'   #  0xD5 -> THAI CHARACTER SARA II\n-    u'\\u0e36'   #  0xD6 -> THAI CHARACTER SARA UE\n-    u'\\u0e37'   #  0xD7 -> THAI CHARACTER SARA UEE\n-    u'\\u0e38'   #  0xD8 -> THAI CHARACTER SARA U\n-    u'\\u0e39'   #  0xD9 -> THAI CHARACTER SARA UU\n-    u'\\u0e3a'   #  0xDA -> THAI CHARACTER PHINTHU\n-    u'\\ufffe'   #  0xDB -> UNDEFINED\n-    u'\\ufffe'   #  0xDC -> UNDEFINED\n-    u'\\ufffe'   #  0xDD -> UNDEFINED\n-    u'\\ufffe'   #  0xDE -> UNDEFINED\n-    u'\\u0e3f'   #  0xDF -> THAI CURRENCY SYMBOL BAHT\n-    u'\\u0e40'   #  0xE0 -> THAI CHARACTER SARA E\n-    u'\\u0e41'   #  0xE1 -> THAI CHARACTER SARA AE\n-    u'\\u0e42'   #  0xE2 -> THAI CHARACTER SARA O\n-    u'\\u0e43'   #  0xE3 -> THAI CHARACTER SARA AI MAIMUAN\n-    u'\\u0e44'   #  0xE4 -> THAI CHARACTER SARA AI MAIMALAI\n-    u'\\u0e45'   #  0xE5 -> THAI CHARACTER LAKKHANGYAO\n-    u'\\u0e46'   #  0xE6 -> THAI CHARACTER MAIYAMOK\n-    u'\\u0e47'   #  0xE7 -> THAI CHARACTER MAITAIKHU\n-    u'\\u0e48'   #  0xE8 -> THAI CHARACTER MAI EK\n-    u'\\u0e49'   #  0xE9 -> THAI CHARACTER MAI THO\n-    u'\\u0e4a'   #  0xEA -> THAI CHARACTER MAI TRI\n-    u'\\u0e4b'   #  0xEB -> THAI CHARACTER MAI CHATTAWA\n-    u'\\u0e4c'   #  0xEC -> THAI CHARACTER THANTHAKHAT\n-    u'\\u0e4d'   #  0xED -> THAI CHARACTER NIKHAHIT\n-    u'\\u0e4e'   #  0xEE -> THAI CHARACTER YAMAKKAN\n-    u'\\u0e4f'   #  0xEF -> THAI CHARACTER FONGMAN\n-    u'\\u0e50'   #  0xF0 -> THAI DIGIT ZERO\n-    u'\\u0e51'   #  0xF1 -> THAI DIGIT ONE\n-    u'\\u0e52'   #  0xF2 -> THAI DIGIT TWO\n-    u'\\u0e53'   #  0xF3 -> THAI DIGIT THREE\n-    u'\\u0e54'   #  0xF4 -> THAI DIGIT FOUR\n-    u'\\u0e55'   #  0xF5 -> THAI DIGIT FIVE\n-    u'\\u0e56'   #  0xF6 -> THAI DIGIT SIX\n-    u'\\u0e57'   #  0xF7 -> THAI DIGIT SEVEN\n-    u'\\u0e58'   #  0xF8 -> THAI DIGIT EIGHT\n-    u'\\u0e59'   #  0xF9 -> THAI DIGIT NINE\n-    u'\\u0e5a'   #  0xFA -> THAI CHARACTER ANGKHANKHU\n-    u'\\u0e5b'   #  0xFB -> THAI CHARACTER KHOMUT\n-    u'\\ufffe'   #  0xFC -> UNDEFINED\n-    u'\\ufffe'   #  0xFD -> UNDEFINED\n-    u'\\ufffe'   #  0xFE -> UNDEFINED\n-    u'\\ufffe'   #  0xFF -> UNDEFINED\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp874.pyc
b
Binary file test/lib/python2.7/encodings/cp874.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp875.py
--- a/test/lib/python2.7/encodings/cp875.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec cp875 generated from \'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'cp875\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x9c\'     #  0x04 -> CONTROL\n-    u\'\\t\'       #  0x05 -> HORIZONTAL TABULATION\n-    u\'\\x86\'     #  0x06 -> CONTROL\n-    u\'\\x7f\'     #  0x07 -> DELETE\n-    u\'\\x97\'     #  0x08 -> CONTROL\n-    u\'\\x8d\'     #  0x09 -> CONTROL\n-    u\'\\x8e\'     #  0x0A -> CONTROL\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x9d\'     #  0x14 -> CONTROL\n-    u\'\\x85\'     #  0x15 -> CONTROL\n-    u\'\\x08\'     #  0x16 -> BACKSPACE\n-    u\'\\x87\'     #  0x17 -> CONTROL\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x92\'     #  0x1A -> CONTROL\n-    u\'\\x8f\'     #  0x1B -> CONTROL\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\'\\x80\'     #  0x20 -> CONTROL\n-    u\'\\x81\'     #  0x21 -> CONTROL\n-    u\'\\x82\'     #  0x22 -> CONTROL\n-    u\'\\x83\'     #  0x23 -> CONTROL\n-    u\'\\x84\'     #  0x24 -> CONTROL\n-    u\'\\n\'       #  0x25 -> LINE FEED\n-    u\'\\x17\'     #  0x26 -> END OF TRANSMISSION BLOCK\n-    u\'\\x1b\'     #  0x27 -> ESCAPE\n-    u\'\\x88\'     #  0x28 -> CONTROL\n-    u\'\\x89\'     #  0x29 -> CONTROL\n-    u\'\\x8a\'     #  0x2A -> CONTROL\n-    u\'\\x8b\'     #  0x2B -> CONTROL\n-    u\'\\x8c\'     #  0x2C -> CONTROL\n-    u\'\\x05\'     #  0x2D -> ENQUIRY\n-    u\'\\x06\'     #  0x2E -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x2F -> BELL\n-    u\'\\x90\'     #  0x30 -> CONTROL\n-    u\'\\x91\'     #  0x31 -> CONTROL\n-    u\'\\x16\'     #  0x32 -> SYNCHRONOUS IDLE\n-    u\'\\x93\'     #  0x33 -> CONTROL\n-    u\'\\x94\'     #  0x34 -> CONTROL\n-    u\'\\x95\'     #  0x35 -> CONTROL\n-    u\'\\x96\'     #  0x36 -> CONTROL\n-    u\'\\x04\'     #  0x37 -> END OF TRANSMISSION\n-    u\'\\x98\'     #  0x38 -> CONTROL\n-    u\'\\x99\'     #  0x39 -> CONTROL\n-    u\'\\x9a\'     #  0x3A -> CONTROL\n-    u\'\\x9b\'     #  0x3B -> CONTROL\n-    u\'\\x14\'     #  0x3C -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x3D -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x9e\'     #  0x3E -> CONTROL\n-    u\'\\x1a\'     #  0x3F -> SUBSTITUTE\n-    u\' \'        #  0x40 -> SPACE\n-    u\'\\u0391\'   #  0x41 -> GREEK CAPITAL LETTER ALPHA\n-    u\'\\u0392\'   #  0x42 -> GREEK CAPITAL LETTER BETA\n-    u\'\\u0393\'   #  0x43 -> GREEK CAPITAL LETTER GAMM'..b"ALPHA WITH TONOS\n-    u'\\u03ad'   #  0xB2 -> GREEK SMALL LETTER EPSILON WITH TONOS\n-    u'\\u03ae'   #  0xB3 -> GREEK SMALL LETTER ETA WITH TONOS\n-    u'\\u03ca'   #  0xB4 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA\n-    u'\\u03af'   #  0xB5 -> GREEK SMALL LETTER IOTA WITH TONOS\n-    u'\\u03cc'   #  0xB6 -> GREEK SMALL LETTER OMICRON WITH TONOS\n-    u'\\u03cd'   #  0xB7 -> GREEK SMALL LETTER UPSILON WITH TONOS\n-    u'\\u03cb'   #  0xB8 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA\n-    u'\\u03ce'   #  0xB9 -> GREEK SMALL LETTER OMEGA WITH TONOS\n-    u'\\u03c2'   #  0xBA -> GREEK SMALL LETTER FINAL SIGMA\n-    u'\\u03c4'   #  0xBB -> GREEK SMALL LETTER TAU\n-    u'\\u03c5'   #  0xBC -> GREEK SMALL LETTER UPSILON\n-    u'\\u03c6'   #  0xBD -> GREEK SMALL LETTER PHI\n-    u'\\u03c7'   #  0xBE -> GREEK SMALL LETTER CHI\n-    u'\\u03c8'   #  0xBF -> GREEK SMALL LETTER PSI\n-    u'{'        #  0xC0 -> LEFT CURLY BRACKET\n-    u'A'        #  0xC1 -> LATIN CAPITAL LETTER A\n-    u'B'        #  0xC2 -> LATIN CAPITAL LETTER B\n-    u'C'        #  0xC3 -> LATIN CAPITAL LETTER C\n-    u'D'        #  0xC4 -> LATIN CAPITAL LETTER D\n-    u'E'        #  0xC5 -> LATIN CAPITAL LETTER E\n-    u'F'        #  0xC6 -> LATIN CAPITAL LETTER F\n-    u'G'        #  0xC7 -> LATIN CAPITAL LETTER G\n-    u'H'        #  0xC8 -> LATIN CAPITAL LETTER H\n-    u'I'        #  0xC9 -> LATIN CAPITAL LETTER I\n-    u'\\xad'     #  0xCA -> SOFT HYPHEN\n-    u'\\u03c9'   #  0xCB -> GREEK SMALL LETTER OMEGA\n-    u'\\u0390'   #  0xCC -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\n-    u'\\u03b0'   #  0xCD -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\n-    u'\\u2018'   #  0xCE -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2015'   #  0xCF -> HORIZONTAL BAR\n-    u'}'        #  0xD0 -> RIGHT CURLY BRACKET\n-    u'J'        #  0xD1 -> LATIN CAPITAL LETTER J\n-    u'K'        #  0xD2 -> LATIN CAPITAL LETTER K\n-    u'L'        #  0xD3 -> LATIN CAPITAL LETTER L\n-    u'M'        #  0xD4 -> LATIN CAPITAL LETTER M\n-    u'N'        #  0xD5 -> LATIN CAPITAL LETTER N\n-    u'O'        #  0xD6 -> LATIN CAPITAL LETTER O\n-    u'P'        #  0xD7 -> LATIN CAPITAL LETTER P\n-    u'Q'        #  0xD8 -> LATIN CAPITAL LETTER Q\n-    u'R'        #  0xD9 -> LATIN CAPITAL LETTER R\n-    u'\\xb1'     #  0xDA -> PLUS-MINUS SIGN\n-    u'\\xbd'     #  0xDB -> VULGAR FRACTION ONE HALF\n-    u'\\x1a'     #  0xDC -> SUBSTITUTE\n-    u'\\u0387'   #  0xDD -> GREEK ANO TELEIA\n-    u'\\u2019'   #  0xDE -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xa6'     #  0xDF -> BROKEN BAR\n-    u'\\\\'       #  0xE0 -> REVERSE SOLIDUS\n-    u'\\x1a'     #  0xE1 -> SUBSTITUTE\n-    u'S'        #  0xE2 -> LATIN CAPITAL LETTER S\n-    u'T'        #  0xE3 -> LATIN CAPITAL LETTER T\n-    u'U'        #  0xE4 -> LATIN CAPITAL LETTER U\n-    u'V'        #  0xE5 -> LATIN CAPITAL LETTER V\n-    u'W'        #  0xE6 -> LATIN CAPITAL LETTER W\n-    u'X'        #  0xE7 -> LATIN CAPITAL LETTER X\n-    u'Y'        #  0xE8 -> LATIN CAPITAL LETTER Y\n-    u'Z'        #  0xE9 -> LATIN CAPITAL LETTER Z\n-    u'\\xb2'     #  0xEA -> SUPERSCRIPT TWO\n-    u'\\xa7'     #  0xEB -> SECTION SIGN\n-    u'\\x1a'     #  0xEC -> SUBSTITUTE\n-    u'\\x1a'     #  0xED -> SUBSTITUTE\n-    u'\\xab'     #  0xEE -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xac'     #  0xEF -> NOT SIGN\n-    u'0'        #  0xF0 -> DIGIT ZERO\n-    u'1'        #  0xF1 -> DIGIT ONE\n-    u'2'        #  0xF2 -> DIGIT TWO\n-    u'3'        #  0xF3 -> DIGIT THREE\n-    u'4'        #  0xF4 -> DIGIT FOUR\n-    u'5'        #  0xF5 -> DIGIT FIVE\n-    u'6'        #  0xF6 -> DIGIT SIX\n-    u'7'        #  0xF7 -> DIGIT SEVEN\n-    u'8'        #  0xF8 -> DIGIT EIGHT\n-    u'9'        #  0xF9 -> DIGIT NINE\n-    u'\\xb3'     #  0xFA -> SUPERSCRIPT THREE\n-    u'\\xa9'     #  0xFB -> COPYRIGHT SIGN\n-    u'\\x1a'     #  0xFC -> SUBSTITUTE\n-    u'\\x1a'     #  0xFD -> SUBSTITUTE\n-    u'\\xbb'     #  0xFE -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\x9f'     #  0xFF -> CONTROL\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp875.pyc
b
Binary file test/lib/python2.7/encodings/cp875.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp932.py
--- a/test/lib/python2.7/encodings/cp932.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# cp932.py: Python Unicode Codec for CP932
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_jp, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_jp.getcodec('cp932')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='cp932',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp932.pyc
b
Binary file test/lib/python2.7/encodings/cp932.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp949.py
--- a/test/lib/python2.7/encodings/cp949.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# cp949.py: Python Unicode Codec for CP949
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_kr, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_kr.getcodec('cp949')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='cp949',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp949.pyc
b
Binary file test/lib/python2.7/encodings/cp949.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp950.py
--- a/test/lib/python2.7/encodings/cp950.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# cp950.py: Python Unicode Codec for CP950
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_tw, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_tw.getcodec('cp950')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='cp950',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/cp950.pyc
b
Binary file test/lib/python2.7/encodings/cp950.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_jis_2004.py
--- a/test/lib/python2.7/encodings/euc_jis_2004.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# euc_jis_2004.py: Python Unicode Codec for EUC_JIS_2004
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_jp, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_jp.getcodec('euc_jis_2004')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='euc_jis_2004',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_jis_2004.pyc
b
Binary file test/lib/python2.7/encodings/euc_jis_2004.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_jisx0213.py
--- a/test/lib/python2.7/encodings/euc_jisx0213.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# euc_jisx0213.py: Python Unicode Codec for EUC_JISX0213
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_jp, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_jp.getcodec('euc_jisx0213')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='euc_jisx0213',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_jisx0213.pyc
b
Binary file test/lib/python2.7/encodings/euc_jisx0213.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_jp.py
--- a/test/lib/python2.7/encodings/euc_jp.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# euc_jp.py: Python Unicode Codec for EUC_JP
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_jp, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_jp.getcodec('euc_jp')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='euc_jp',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_jp.pyc
b
Binary file test/lib/python2.7/encodings/euc_jp.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_kr.py
--- a/test/lib/python2.7/encodings/euc_kr.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# euc_kr.py: Python Unicode Codec for EUC_KR
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_kr, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_kr.getcodec('euc_kr')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='euc_kr',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/euc_kr.pyc
b
Binary file test/lib/python2.7/encodings/euc_kr.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/gb18030.py
--- a/test/lib/python2.7/encodings/gb18030.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# gb18030.py: Python Unicode Codec for GB18030
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_cn, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_cn.getcodec('gb18030')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='gb18030',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/gb18030.pyc
b
Binary file test/lib/python2.7/encodings/gb18030.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/gb2312.py
--- a/test/lib/python2.7/encodings/gb2312.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# gb2312.py: Python Unicode Codec for GB2312
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_cn, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_cn.getcodec('gb2312')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='gb2312',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/gb2312.pyc
b
Binary file test/lib/python2.7/encodings/gb2312.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/gbk.py
--- a/test/lib/python2.7/encodings/gbk.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# gbk.py: Python Unicode Codec for GBK
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_cn, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_cn.getcodec('gbk')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='gbk',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/gbk.pyc
b
Binary file test/lib/python2.7/encodings/gbk.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/hex_codec.py
--- a/test/lib/python2.7/encodings/hex_codec.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,80 +0,0 @@
-""" Python 'hex_codec' Codec - 2-digit hex content transfer encoding
-
-    Unlike most of the other codecs which target Unicode, this codec
-    will return Python string objects for both encode and decode.
-
-    Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-"""
-import codecs, binascii
-
-### Codec APIs
-
-def hex_encode(input,errors='strict'):
-
-    """ Encodes the object input and returns a tuple (output
-        object, length consumed).
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = binascii.b2a_hex(input)
-    return (output, len(input))
-
-def hex_decode(input,errors='strict'):
-
-    """ Decodes the object input and returns a tuple (output
-        object, length consumed).
-
-        input must be an object which provides the bf_getreadbuf
-        buffer slot. Python strings, buffer objects and memory
-        mapped files are examples of objects providing this slot.
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = binascii.a2b_hex(input)
-    return (output, len(input))
-
-class Codec(codecs.Codec):
-
-    def encode(self, input,errors='strict'):
-        return hex_encode(input,errors)
-    def decode(self, input,errors='strict'):
-        return hex_decode(input,errors)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        assert self.errors == 'strict'
-        return binascii.b2a_hex(input)
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        assert self.errors == 'strict'
-        return binascii.a2b_hex(input)
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='hex',
-        encode=hex_encode,
-        decode=hex_decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-        _is_text_encoding=False,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/hex_codec.pyc
b
Binary file test/lib/python2.7/encodings/hex_codec.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/hp_roman8.py
--- a/test/lib/python2.7/encodings/hp_roman8.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,152 +0,0 @@
-""" Python Character Mapping Codec generated from 'hp_roman8.txt' with gencodec.py.
-
-    Based on data from ftp://dkuug.dk/i18n/charmaps/HP-ROMAN8 (Keld Simonsen)
-
-    Original source: LaserJet IIP Printer User's Manual HP part no
-    33471-90901, Hewlet-Packard, June 1989.
-
-"""#"
-
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    def encode(self,input,errors='strict'):
-        return codecs.charmap_encode(input,errors,encoding_map)
-
-    def decode(self,input,errors='strict'):
-        return codecs.charmap_decode(input,errors,decoding_map)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.charmap_decode(input,self.errors,decoding_map)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='hp-roman8',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
-
-### Decoding Map
-
-decoding_map = codecs.make_identity_dict(range(256))
-decoding_map.update({
-        0x00a1: 0x00c0, #       LATIN CAPITAL LETTER A WITH GRAVE
-        0x00a2: 0x00c2, #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-        0x00a3: 0x00c8, #       LATIN CAPITAL LETTER E WITH GRAVE
-        0x00a4: 0x00ca, #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-        0x00a5: 0x00cb, #       LATIN CAPITAL LETTER E WITH DIAERESIS
-        0x00a6: 0x00ce, #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-        0x00a7: 0x00cf, #       LATIN CAPITAL LETTER I WITH DIAERESIS
-        0x00a8: 0x00b4, #       ACUTE ACCENT
-        0x00a9: 0x02cb, #       MODIFIER LETTER GRAVE ACCENT (Mandarin Chinese fourth tone)
-        0x00aa: 0x02c6, #       MODIFIER LETTER CIRCUMFLEX ACCENT
-        0x00ab: 0x00a8, #       DIAERESIS
-        0x00ac: 0x02dc, #       SMALL TILDE
-        0x00ad: 0x00d9, #       LATIN CAPITAL LETTER U WITH GRAVE
-        0x00ae: 0x00db, #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-        0x00af: 0x20a4, #       LIRA SIGN
-        0x00b0: 0x00af, #       MACRON
-        0x00b1: 0x00dd, #       LATIN CAPITAL LETTER Y WITH ACUTE
-        0x00b2: 0x00fd, #       LATIN SMALL LETTER Y WITH ACUTE
-        0x00b3: 0x00b0, #       DEGREE SIGN
-        0x00b4: 0x00c7, #       LATIN CAPITAL LETTER C WITH CEDILLA
-        0x00b5: 0x00e7, #       LATIN SMALL LETTER C WITH CEDILLA
-        0x00b6: 0x00d1, #       LATIN CAPITAL LETTER N WITH TILDE
-        0x00b7: 0x00f1, #       LATIN SMALL LETTER N WITH TILDE
-        0x00b8: 0x00a1, #       INVERTED EXCLAMATION MARK
-        0x00b9: 0x00bf, #       INVERTED QUESTION MARK
-        0x00ba: 0x00a4, #       CURRENCY SIGN
-        0x00bb: 0x00a3, #       POUND SIGN
-        0x00bc: 0x00a5, #       YEN SIGN
-        0x00bd: 0x00a7, #       SECTION SIGN
-        0x00be: 0x0192, #       LATIN SMALL LETTER F WITH HOOK
-        0x00bf: 0x00a2, #       CENT SIGN
-        0x00c0: 0x00e2, #       LATIN SMALL LETTER A WITH CIRCUMFLEX
-        0x00c1: 0x00ea, #       LATIN SMALL LETTER E WITH CIRCUMFLEX
-        0x00c2: 0x00f4, #       LATIN SMALL LETTER O WITH CIRCUMFLEX
-        0x00c3: 0x00fb, #       LATIN SMALL LETTER U WITH CIRCUMFLEX
-        0x00c4: 0x00e1, #       LATIN SMALL LETTER A WITH ACUTE
-        0x00c5: 0x00e9, #       LATIN SMALL LETTER E WITH ACUTE
-        0x00c6: 0x00f3, #       LATIN SMALL LETTER O WITH ACUTE
-        0x00c7: 0x00fa, #       LATIN SMALL LETTER U WITH ACUTE
-        0x00c8: 0x00e0, #       LATIN SMALL LETTER A WITH GRAVE
-        0x00c9: 0x00e8, #       LATIN SMALL LETTER E WITH GRAVE
-        0x00ca: 0x00f2, #       LATIN SMALL LETTER O WITH GRAVE
-        0x00cb: 0x00f9, #       LATIN SMALL LETTER U WITH GRAVE
-        0x00cc: 0x00e4, #       LATIN SMALL LETTER A WITH DIAERESIS
-        0x00cd: 0x00eb, #       LATIN SMALL LETTER E WITH DIAERESIS
-        0x00ce: 0x00f6, #       LATIN SMALL LETTER O WITH DIAERESIS
-        0x00cf: 0x00fc, #       LATIN SMALL LETTER U WITH DIAERESIS
-        0x00d0: 0x00c5, #       LATIN CAPITAL LETTER A WITH RING ABOVE
-        0x00d1: 0x00ee, #       LATIN SMALL LETTER I WITH CIRCUMFLEX
-        0x00d2: 0x00d8, #       LATIN CAPITAL LETTER O WITH STROKE
-        0x00d3: 0x00c6, #       LATIN CAPITAL LETTER AE
-        0x00d4: 0x00e5, #       LATIN SMALL LETTER A WITH RING ABOVE
-        0x00d5: 0x00ed, #       LATIN SMALL LETTER I WITH ACUTE
-        0x00d6: 0x00f8, #       LATIN SMALL LETTER O WITH STROKE
-        0x00d7: 0x00e6, #       LATIN SMALL LETTER AE
-        0x00d8: 0x00c4, #       LATIN CAPITAL LETTER A WITH DIAERESIS
-        0x00d9: 0x00ec, #       LATIN SMALL LETTER I WITH GRAVE
-        0x00da: 0x00d6, #       LATIN CAPITAL LETTER O WITH DIAERESIS
-        0x00db: 0x00dc, #       LATIN CAPITAL LETTER U WITH DIAERESIS
-        0x00dc: 0x00c9, #       LATIN CAPITAL LETTER E WITH ACUTE
-        0x00dd: 0x00ef, #       LATIN SMALL LETTER I WITH DIAERESIS
-        0x00de: 0x00df, #       LATIN SMALL LETTER SHARP S (German)
-        0x00df: 0x00d4, #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-        0x00e0: 0x00c1, #       LATIN CAPITAL LETTER A WITH ACUTE
-        0x00e1: 0x00c3, #       LATIN CAPITAL LETTER A WITH TILDE
-        0x00e2: 0x00e3, #       LATIN SMALL LETTER A WITH TILDE
-        0x00e3: 0x00d0, #       LATIN CAPITAL LETTER ETH (Icelandic)
-        0x00e4: 0x00f0, #       LATIN SMALL LETTER ETH (Icelandic)
-        0x00e5: 0x00cd, #       LATIN CAPITAL LETTER I WITH ACUTE
-        0x00e6: 0x00cc, #       LATIN CAPITAL LETTER I WITH GRAVE
-        0x00e7: 0x00d3, #       LATIN CAPITAL LETTER O WITH ACUTE
-        0x00e8: 0x00d2, #       LATIN CAPITAL LETTER O WITH GRAVE
-        0x00e9: 0x00d5, #       LATIN CAPITAL LETTER O WITH TILDE
-        0x00ea: 0x00f5, #       LATIN SMALL LETTER O WITH TILDE
-        0x00eb: 0x0160, #       LATIN CAPITAL LETTER S WITH CARON
-        0x00ec: 0x0161, #       LATIN SMALL LETTER S WITH CARON
-        0x00ed: 0x00da, #       LATIN CAPITAL LETTER U WITH ACUTE
-        0x00ee: 0x0178, #       LATIN CAPITAL LETTER Y WITH DIAERESIS
-        0x00ef: 0x00ff, #       LATIN SMALL LETTER Y WITH DIAERESIS
-        0x00f0: 0x00de, #       LATIN CAPITAL LETTER THORN (Icelandic)
-        0x00f1: 0x00fe, #       LATIN SMALL LETTER THORN (Icelandic)
-        0x00f2: 0x00b7, #       MIDDLE DOT
-        0x00f3: 0x00b5, #       MICRO SIGN
-        0x00f4: 0x00b6, #       PILCROW SIGN
-        0x00f5: 0x00be, #       VULGAR FRACTION THREE QUARTERS
-        0x00f6: 0x2014, #       EM DASH
-        0x00f7: 0x00bc, #       VULGAR FRACTION ONE QUARTER
-        0x00f8: 0x00bd, #       VULGAR FRACTION ONE HALF
-        0x00f9: 0x00aa, #       FEMININE ORDINAL INDICATOR
-        0x00fa: 0x00ba, #       MASCULINE ORDINAL INDICATOR
-        0x00fb: 0x00ab, #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-        0x00fc: 0x25a0, #       BLACK SQUARE
-        0x00fd: 0x00bb, #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-        0x00fe: 0x00b1, #       PLUS-MINUS SIGN
-        0x00ff: None,
-})
-
-### Encoding Map
-
-encoding_map = codecs.make_encoding_map(decoding_map)
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/hp_roman8.pyc
b
Binary file test/lib/python2.7/encodings/hp_roman8.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/hz.py
--- a/test/lib/python2.7/encodings/hz.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# hz.py: Python Unicode Codec for HZ
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_cn, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_cn.getcodec('hz')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='hz',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/hz.pyc
b
Binary file test/lib/python2.7/encodings/hz.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/idna.py
--- a/test/lib/python2.7/encodings/idna.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,288 +0,0 @@\n-# This module implements the RFCs 3490 (IDNA) and 3491 (Nameprep)\n-\n-import stringprep, re, codecs\n-from unicodedata import ucd_3_2_0 as unicodedata\n-\n-# IDNA section 3.1\n-dots = re.compile(u"[\\u002E\\u3002\\uFF0E\\uFF61]")\n-\n-# IDNA section 5\n-ace_prefix = "xn--"\n-uace_prefix = unicode(ace_prefix, "ascii")\n-\n-# This assumes query strings, so AllowUnassigned is true\n-def nameprep(label):\n-    # Map\n-    newlabel = []\n-    for c in label:\n-        if stringprep.in_table_b1(c):\n-            # Map to nothing\n-            continue\n-        newlabel.append(stringprep.map_table_b2(c))\n-    label = u"".join(newlabel)\n-\n-    # Normalize\n-    label = unicodedata.normalize("NFKC", label)\n-\n-    # Prohibit\n-    for c in label:\n-        if stringprep.in_table_c12(c) or \\\n-           stringprep.in_table_c22(c) or \\\n-           stringprep.in_table_c3(c) or \\\n-           stringprep.in_table_c4(c) or \\\n-           stringprep.in_table_c5(c) or \\\n-           stringprep.in_table_c6(c) or \\\n-           stringprep.in_table_c7(c) or \\\n-           stringprep.in_table_c8(c) or \\\n-           stringprep.in_table_c9(c):\n-            raise UnicodeError("Invalid character %r" % c)\n-\n-    # Check bidi\n-    RandAL = map(stringprep.in_table_d1, label)\n-    for c in RandAL:\n-        if c:\n-            # There is a RandAL char in the string. Must perform further\n-            # tests:\n-            # 1) The characters in section 5.8 MUST be prohibited.\n-            # This is table C.8, which was already checked\n-            # 2) If a string contains any RandALCat character, the string\n-            # MUST NOT contain any LCat character.\n-            if filter(stringprep.in_table_d2, label):\n-                raise UnicodeError("Violation of BIDI requirement 2")\n-\n-            # 3) If a string contains any RandALCat character, a\n-            # RandALCat character MUST be the first character of the\n-            # string, and a RandALCat character MUST be the last\n-            # character of the string.\n-            if not RandAL[0] or not RandAL[-1]:\n-                raise UnicodeError("Violation of BIDI requirement 3")\n-\n-    return label\n-\n-def ToASCII(label):\n-    try:\n-        # Step 1: try ASCII\n-        label = label.encode("ascii")\n-    except UnicodeError:\n-        pass\n-    else:\n-        # Skip to step 3: UseSTD3ASCIIRules is false, so\n-        # Skip to step 8.\n-        if 0 < len(label) < 64:\n-            return label\n-        raise UnicodeError("label empty or too long")\n-\n-    # Step 2: nameprep\n-    label = nameprep(label)\n-\n-    # Step 3: UseSTD3ASCIIRules is false\n-    # Step 4: try ASCII\n-    try:\n-        label = label.encode("ascii")\n-    except UnicodeError:\n-        pass\n-    else:\n-        # Skip to step 8.\n-        if 0 < len(label) < 64:\n-            return label\n-        raise UnicodeError("label empty or too long")\n-\n-    # Step 5: Check ACE prefix\n-    if label.startswith(uace_prefix):\n-        raise UnicodeError("Label starts with ACE prefix")\n-\n-    # Step 6: Encode with PUNYCODE\n-    label = label.encode("punycode")\n-\n-    # Step 7: Prepend ACE prefix\n-    label = ace_prefix + label\n-\n-    # Step 8: Check size\n-    if 0 < len(label) < 64:\n-        return label\n-    raise UnicodeError("label empty or too long")\n-\n-def ToUnicode(label):\n-    # Step 1: Check for ASCII\n-    if isinstance(label, str):\n-        pure_ascii = True\n-    else:\n-        try:\n-            label = label.encode("ascii")\n-            pure_ascii = True\n-        except UnicodeError:\n-            pure_ascii = False\n-    if not pure_ascii:\n-        # Step 2: Perform nameprep\n-        label = nameprep(label)\n-        # It doesn\'t say this, but apparently, it should be ASCII now\n-        try:\n-            label = label.encode("ascii")\n-        except UnicodeError:\n-            raise UnicodeError("Invalid character in IDN label")\n-    # Step 3: Check for ACE prefix\n-    if not label.startswith(ace_prefix):\n-        return unicode(label, "ascii")\n-\n-    # St'..b'        return "", 0\n-\n-        result = []\n-        labels = dots.split(input)\n-        if labels and len(labels[-1])==0:\n-            trailing_dot = \'.\'\n-            del labels[-1]\n-        else:\n-            trailing_dot = \'\'\n-        for label in labels:\n-            result.append(ToASCII(label))\n-        # Join with U+002E\n-        return ".".join(result)+trailing_dot, len(input)\n-\n-    def decode(self,input,errors=\'strict\'):\n-\n-        if errors != \'strict\':\n-            raise UnicodeError("Unsupported error handling "+errors)\n-\n-        if not input:\n-            return u"", 0\n-\n-        # IDNA allows decoding to operate on Unicode strings, too.\n-        if isinstance(input, unicode):\n-            labels = dots.split(input)\n-        else:\n-            # Must be ASCII string\n-            input = str(input)\n-            unicode(input, "ascii")\n-            labels = input.split(".")\n-\n-        if labels and len(labels[-1]) == 0:\n-            trailing_dot = u\'.\'\n-            del labels[-1]\n-        else:\n-            trailing_dot = u\'\'\n-\n-        result = []\n-        for label in labels:\n-            result.append(ToUnicode(label))\n-\n-        return u".".join(result)+trailing_dot, len(input)\n-\n-class IncrementalEncoder(codecs.BufferedIncrementalEncoder):\n-    def _buffer_encode(self, input, errors, final):\n-        if errors != \'strict\':\n-            # IDNA is quite clear that implementations must be strict\n-            raise UnicodeError("unsupported error handling "+errors)\n-\n-        if not input:\n-            return ("", 0)\n-\n-        labels = dots.split(input)\n-        trailing_dot = u\'\'\n-        if labels:\n-            if not labels[-1]:\n-                trailing_dot = \'.\'\n-                del labels[-1]\n-            elif not final:\n-                # Keep potentially unfinished label until the next call\n-                del labels[-1]\n-                if labels:\n-                    trailing_dot = \'.\'\n-\n-        result = []\n-        size = 0\n-        for label in labels:\n-            result.append(ToASCII(label))\n-            if size:\n-                size += 1\n-            size += len(label)\n-\n-        # Join with U+002E\n-        result = ".".join(result) + trailing_dot\n-        size += len(trailing_dot)\n-        return (result, size)\n-\n-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n-    def _buffer_decode(self, input, errors, final):\n-        if errors != \'strict\':\n-            raise UnicodeError("Unsupported error handling "+errors)\n-\n-        if not input:\n-            return (u"", 0)\n-\n-        # IDNA allows decoding to operate on Unicode strings, too.\n-        if isinstance(input, unicode):\n-            labels = dots.split(input)\n-        else:\n-            # Must be ASCII string\n-            input = str(input)\n-            unicode(input, "ascii")\n-            labels = input.split(".")\n-\n-        trailing_dot = u\'\'\n-        if labels:\n-            if not labels[-1]:\n-                trailing_dot = u\'.\'\n-                del labels[-1]\n-            elif not final:\n-                # Keep potentially unfinished label until the next call\n-                del labels[-1]\n-                if labels:\n-                    trailing_dot = u\'.\'\n-\n-        result = []\n-        size = 0\n-        for label in labels:\n-            result.append(ToUnicode(label))\n-            if size:\n-                size += 1\n-            size += len(label)\n-\n-        result = u".".join(result) + trailing_dot\n-        size += len(trailing_dot)\n-        return (result, size)\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'idna\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamwriter=StreamWriter,\n-        streamreader=StreamReader,\n-    )\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/idna.pyc
b
Binary file test/lib/python2.7/encodings/idna.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp.py
--- a/test/lib/python2.7/encodings/iso2022_jp.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# iso2022_jp.py: Python Unicode Codec for ISO2022_JP
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_iso2022, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_iso2022.getcodec('iso2022_jp')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso2022_jp',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp.pyc
b
Binary file test/lib/python2.7/encodings/iso2022_jp.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_1.py
--- a/test/lib/python2.7/encodings/iso2022_jp_1.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# iso2022_jp_1.py: Python Unicode Codec for ISO2022_JP_1
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_iso2022, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_iso2022.getcodec('iso2022_jp_1')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso2022_jp_1',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_1.pyc
b
Binary file test/lib/python2.7/encodings/iso2022_jp_1.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_2.py
--- a/test/lib/python2.7/encodings/iso2022_jp_2.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# iso2022_jp_2.py: Python Unicode Codec for ISO2022_JP_2
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_iso2022, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_iso2022.getcodec('iso2022_jp_2')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso2022_jp_2',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_2.pyc
b
Binary file test/lib/python2.7/encodings/iso2022_jp_2.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_2004.py
--- a/test/lib/python2.7/encodings/iso2022_jp_2004.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# iso2022_jp_2004.py: Python Unicode Codec for ISO2022_JP_2004
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_iso2022, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_iso2022.getcodec('iso2022_jp_2004')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso2022_jp_2004',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_2004.pyc
b
Binary file test/lib/python2.7/encodings/iso2022_jp_2004.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_3.py
--- a/test/lib/python2.7/encodings/iso2022_jp_3.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# iso2022_jp_3.py: Python Unicode Codec for ISO2022_JP_3
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_iso2022, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_iso2022.getcodec('iso2022_jp_3')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso2022_jp_3',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_3.pyc
b
Binary file test/lib/python2.7/encodings/iso2022_jp_3.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_ext.py
--- a/test/lib/python2.7/encodings/iso2022_jp_ext.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# iso2022_jp_ext.py: Python Unicode Codec for ISO2022_JP_EXT
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_iso2022, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_iso2022.getcodec('iso2022_jp_ext')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso2022_jp_ext',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_jp_ext.pyc
b
Binary file test/lib/python2.7/encodings/iso2022_jp_ext.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_kr.py
--- a/test/lib/python2.7/encodings/iso2022_kr.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# iso2022_kr.py: Python Unicode Codec for ISO2022_KR
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_iso2022, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_iso2022.getcodec('iso2022_kr')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso2022_kr',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso2022_kr.pyc
b
Binary file test/lib/python2.7/encodings/iso2022_kr.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_1.py
--- a/test/lib/python2.7/encodings/iso8859_1.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_1 generated from \'MAPPINGS/ISO8859/8859-1.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-1\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"VE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xd0'     #  0xD0 -> LATIN CAPITAL LETTER ETH (Icelandic)\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xdd'     #  0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\xde'     #  0xDE -> LATIN CAPITAL LETTER THORN (Icelandic)\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S (German)\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\xf0'     #  0xF0 -> LATIN SMALL LETTER ETH (Icelandic)\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xfd'     #  0xFD -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\xfe'     #  0xFE -> LATIN SMALL LETTER THORN (Icelandic)\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_1.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_1.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_10.py
--- a/test/lib/python2.7/encodings/iso8859_10.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_10 generated from \'MAPPINGS/ISO8859/8859-10.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-10\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPIT'..b"1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\u012e'   #  0xC7 -> LATIN CAPITAL LETTER I WITH OGONEK\n-    u'\\u010c'   #  0xC8 -> LATIN CAPITAL LETTER C WITH CARON\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\u0118'   #  0xCA -> LATIN CAPITAL LETTER E WITH OGONEK\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\u0116'   #  0xCC -> LATIN CAPITAL LETTER E WITH DOT ABOVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xd0'     #  0xD0 -> LATIN CAPITAL LETTER ETH (Icelandic)\n-    u'\\u0145'   #  0xD1 -> LATIN CAPITAL LETTER N WITH CEDILLA\n-    u'\\u014c'   #  0xD2 -> LATIN CAPITAL LETTER O WITH MACRON\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\u0168'   #  0xD7 -> LATIN CAPITAL LETTER U WITH TILDE\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\u0172'   #  0xD9 -> LATIN CAPITAL LETTER U WITH OGONEK\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xdd'     #  0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\xde'     #  0xDE -> LATIN CAPITAL LETTER THORN (Icelandic)\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S (German)\n-    u'\\u0101'   #  0xE0 -> LATIN SMALL LETTER A WITH MACRON\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\u012f'   #  0xE7 -> LATIN SMALL LETTER I WITH OGONEK\n-    u'\\u010d'   #  0xE8 -> LATIN SMALL LETTER C WITH CARON\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\u0119'   #  0xEA -> LATIN SMALL LETTER E WITH OGONEK\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\u0117'   #  0xEC -> LATIN SMALL LETTER E WITH DOT ABOVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\xf0'     #  0xF0 -> LATIN SMALL LETTER ETH (Icelandic)\n-    u'\\u0146'   #  0xF1 -> LATIN SMALL LETTER N WITH CEDILLA\n-    u'\\u014d'   #  0xF2 -> LATIN SMALL LETTER O WITH MACRON\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\u0169'   #  0xF7 -> LATIN SMALL LETTER U WITH TILDE\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\u0173'   #  0xF9 -> LATIN SMALL LETTER U WITH OGONEK\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xfd'     #  0xFD -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\xfe'     #  0xFE -> LATIN SMALL LETTER THORN (Icelandic)\n-    u'\\u0138'   #  0xFF -> LATIN SMALL LETTER KRA\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_10.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_10.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_11.py
--- a/test/lib/python2.7/encodings/iso8859_11.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_11 generated from \'MAPPINGS/ISO8859/8859-11.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-11\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPIT'..b"   u'\\u0e0d'   #  0xAD -> THAI CHARACTER YO YING\n-    u'\\u0e0e'   #  0xAE -> THAI CHARACTER DO CHADA\n-    u'\\u0e0f'   #  0xAF -> THAI CHARACTER TO PATAK\n-    u'\\u0e10'   #  0xB0 -> THAI CHARACTER THO THAN\n-    u'\\u0e11'   #  0xB1 -> THAI CHARACTER THO NANGMONTHO\n-    u'\\u0e12'   #  0xB2 -> THAI CHARACTER THO PHUTHAO\n-    u'\\u0e13'   #  0xB3 -> THAI CHARACTER NO NEN\n-    u'\\u0e14'   #  0xB4 -> THAI CHARACTER DO DEK\n-    u'\\u0e15'   #  0xB5 -> THAI CHARACTER TO TAO\n-    u'\\u0e16'   #  0xB6 -> THAI CHARACTER THO THUNG\n-    u'\\u0e17'   #  0xB7 -> THAI CHARACTER THO THAHAN\n-    u'\\u0e18'   #  0xB8 -> THAI CHARACTER THO THONG\n-    u'\\u0e19'   #  0xB9 -> THAI CHARACTER NO NU\n-    u'\\u0e1a'   #  0xBA -> THAI CHARACTER BO BAIMAI\n-    u'\\u0e1b'   #  0xBB -> THAI CHARACTER PO PLA\n-    u'\\u0e1c'   #  0xBC -> THAI CHARACTER PHO PHUNG\n-    u'\\u0e1d'   #  0xBD -> THAI CHARACTER FO FA\n-    u'\\u0e1e'   #  0xBE -> THAI CHARACTER PHO PHAN\n-    u'\\u0e1f'   #  0xBF -> THAI CHARACTER FO FAN\n-    u'\\u0e20'   #  0xC0 -> THAI CHARACTER PHO SAMPHAO\n-    u'\\u0e21'   #  0xC1 -> THAI CHARACTER MO MA\n-    u'\\u0e22'   #  0xC2 -> THAI CHARACTER YO YAK\n-    u'\\u0e23'   #  0xC3 -> THAI CHARACTER RO RUA\n-    u'\\u0e24'   #  0xC4 -> THAI CHARACTER RU\n-    u'\\u0e25'   #  0xC5 -> THAI CHARACTER LO LING\n-    u'\\u0e26'   #  0xC6 -> THAI CHARACTER LU\n-    u'\\u0e27'   #  0xC7 -> THAI CHARACTER WO WAEN\n-    u'\\u0e28'   #  0xC8 -> THAI CHARACTER SO SALA\n-    u'\\u0e29'   #  0xC9 -> THAI CHARACTER SO RUSI\n-    u'\\u0e2a'   #  0xCA -> THAI CHARACTER SO SUA\n-    u'\\u0e2b'   #  0xCB -> THAI CHARACTER HO HIP\n-    u'\\u0e2c'   #  0xCC -> THAI CHARACTER LO CHULA\n-    u'\\u0e2d'   #  0xCD -> THAI CHARACTER O ANG\n-    u'\\u0e2e'   #  0xCE -> THAI CHARACTER HO NOKHUK\n-    u'\\u0e2f'   #  0xCF -> THAI CHARACTER PAIYANNOI\n-    u'\\u0e30'   #  0xD0 -> THAI CHARACTER SARA A\n-    u'\\u0e31'   #  0xD1 -> THAI CHARACTER MAI HAN-AKAT\n-    u'\\u0e32'   #  0xD2 -> THAI CHARACTER SARA AA\n-    u'\\u0e33'   #  0xD3 -> THAI CHARACTER SARA AM\n-    u'\\u0e34'   #  0xD4 -> THAI CHARACTER SARA I\n-    u'\\u0e35'   #  0xD5 -> THAI CHARACTER SARA II\n-    u'\\u0e36'   #  0xD6 -> THAI CHARACTER SARA UE\n-    u'\\u0e37'   #  0xD7 -> THAI CHARACTER SARA UEE\n-    u'\\u0e38'   #  0xD8 -> THAI CHARACTER SARA U\n-    u'\\u0e39'   #  0xD9 -> THAI CHARACTER SARA UU\n-    u'\\u0e3a'   #  0xDA -> THAI CHARACTER PHINTHU\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u0e3f'   #  0xDF -> THAI CURRENCY SYMBOL BAHT\n-    u'\\u0e40'   #  0xE0 -> THAI CHARACTER SARA E\n-    u'\\u0e41'   #  0xE1 -> THAI CHARACTER SARA AE\n-    u'\\u0e42'   #  0xE2 -> THAI CHARACTER SARA O\n-    u'\\u0e43'   #  0xE3 -> THAI CHARACTER SARA AI MAIMUAN\n-    u'\\u0e44'   #  0xE4 -> THAI CHARACTER SARA AI MAIMALAI\n-    u'\\u0e45'   #  0xE5 -> THAI CHARACTER LAKKHANGYAO\n-    u'\\u0e46'   #  0xE6 -> THAI CHARACTER MAIYAMOK\n-    u'\\u0e47'   #  0xE7 -> THAI CHARACTER MAITAIKHU\n-    u'\\u0e48'   #  0xE8 -> THAI CHARACTER MAI EK\n-    u'\\u0e49'   #  0xE9 -> THAI CHARACTER MAI THO\n-    u'\\u0e4a'   #  0xEA -> THAI CHARACTER MAI TRI\n-    u'\\u0e4b'   #  0xEB -> THAI CHARACTER MAI CHATTAWA\n-    u'\\u0e4c'   #  0xEC -> THAI CHARACTER THANTHAKHAT\n-    u'\\u0e4d'   #  0xED -> THAI CHARACTER NIKHAHIT\n-    u'\\u0e4e'   #  0xEE -> THAI CHARACTER YAMAKKAN\n-    u'\\u0e4f'   #  0xEF -> THAI CHARACTER FONGMAN\n-    u'\\u0e50'   #  0xF0 -> THAI DIGIT ZERO\n-    u'\\u0e51'   #  0xF1 -> THAI DIGIT ONE\n-    u'\\u0e52'   #  0xF2 -> THAI DIGIT TWO\n-    u'\\u0e53'   #  0xF3 -> THAI DIGIT THREE\n-    u'\\u0e54'   #  0xF4 -> THAI DIGIT FOUR\n-    u'\\u0e55'   #  0xF5 -> THAI DIGIT FIVE\n-    u'\\u0e56'   #  0xF6 -> THAI DIGIT SIX\n-    u'\\u0e57'   #  0xF7 -> THAI DIGIT SEVEN\n-    u'\\u0e58'   #  0xF8 -> THAI DIGIT EIGHT\n-    u'\\u0e59'   #  0xF9 -> THAI DIGIT NINE\n-    u'\\u0e5a'   #  0xFA -> THAI CHARACTER ANGKHANKHU\n-    u'\\u0e5b'   #  0xFB -> THAI CHARACTER KHOMUT\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_11.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_11.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_13.py
--- a/test/lib/python2.7/encodings/iso8859_13.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_13 generated from \'MAPPINGS/ISO8859/8859-13.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-13\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPIT'..b"APITAL LETTER A WITH OGONEK\n-    u'\\u012e'   #  0xC1 -> LATIN CAPITAL LETTER I WITH OGONEK\n-    u'\\u0100'   #  0xC2 -> LATIN CAPITAL LETTER A WITH MACRON\n-    u'\\u0106'   #  0xC3 -> LATIN CAPITAL LETTER C WITH ACUTE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\u0118'   #  0xC6 -> LATIN CAPITAL LETTER E WITH OGONEK\n-    u'\\u0112'   #  0xC7 -> LATIN CAPITAL LETTER E WITH MACRON\n-    u'\\u010c'   #  0xC8 -> LATIN CAPITAL LETTER C WITH CARON\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\u0179'   #  0xCA -> LATIN CAPITAL LETTER Z WITH ACUTE\n-    u'\\u0116'   #  0xCB -> LATIN CAPITAL LETTER E WITH DOT ABOVE\n-    u'\\u0122'   #  0xCC -> LATIN CAPITAL LETTER G WITH CEDILLA\n-    u'\\u0136'   #  0xCD -> LATIN CAPITAL LETTER K WITH CEDILLA\n-    u'\\u012a'   #  0xCE -> LATIN CAPITAL LETTER I WITH MACRON\n-    u'\\u013b'   #  0xCF -> LATIN CAPITAL LETTER L WITH CEDILLA\n-    u'\\u0160'   #  0xD0 -> LATIN CAPITAL LETTER S WITH CARON\n-    u'\\u0143'   #  0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE\n-    u'\\u0145'   #  0xD2 -> LATIN CAPITAL LETTER N WITH CEDILLA\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\u014c'   #  0xD4 -> LATIN CAPITAL LETTER O WITH MACRON\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\u0172'   #  0xD8 -> LATIN CAPITAL LETTER U WITH OGONEK\n-    u'\\u0141'   #  0xD9 -> LATIN CAPITAL LETTER L WITH STROKE\n-    u'\\u015a'   #  0xDA -> LATIN CAPITAL LETTER S WITH ACUTE\n-    u'\\u016a'   #  0xDB -> LATIN CAPITAL LETTER U WITH MACRON\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u017b'   #  0xDD -> LATIN CAPITAL LETTER Z WITH DOT ABOVE\n-    u'\\u017d'   #  0xDE -> LATIN CAPITAL LETTER Z WITH CARON\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S (German)\n-    u'\\u0105'   #  0xE0 -> LATIN SMALL LETTER A WITH OGONEK\n-    u'\\u012f'   #  0xE1 -> LATIN SMALL LETTER I WITH OGONEK\n-    u'\\u0101'   #  0xE2 -> LATIN SMALL LETTER A WITH MACRON\n-    u'\\u0107'   #  0xE3 -> LATIN SMALL LETTER C WITH ACUTE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\u0119'   #  0xE6 -> LATIN SMALL LETTER E WITH OGONEK\n-    u'\\u0113'   #  0xE7 -> LATIN SMALL LETTER E WITH MACRON\n-    u'\\u010d'   #  0xE8 -> LATIN SMALL LETTER C WITH CARON\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\u017a'   #  0xEA -> LATIN SMALL LETTER Z WITH ACUTE\n-    u'\\u0117'   #  0xEB -> LATIN SMALL LETTER E WITH DOT ABOVE\n-    u'\\u0123'   #  0xEC -> LATIN SMALL LETTER G WITH CEDILLA\n-    u'\\u0137'   #  0xED -> LATIN SMALL LETTER K WITH CEDILLA\n-    u'\\u012b'   #  0xEE -> LATIN SMALL LETTER I WITH MACRON\n-    u'\\u013c'   #  0xEF -> LATIN SMALL LETTER L WITH CEDILLA\n-    u'\\u0161'   #  0xF0 -> LATIN SMALL LETTER S WITH CARON\n-    u'\\u0144'   #  0xF1 -> LATIN SMALL LETTER N WITH ACUTE\n-    u'\\u0146'   #  0xF2 -> LATIN SMALL LETTER N WITH CEDILLA\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\u014d'   #  0xF4 -> LATIN SMALL LETTER O WITH MACRON\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\u0173'   #  0xF8 -> LATIN SMALL LETTER U WITH OGONEK\n-    u'\\u0142'   #  0xF9 -> LATIN SMALL LETTER L WITH STROKE\n-    u'\\u015b'   #  0xFA -> LATIN SMALL LETTER S WITH ACUTE\n-    u'\\u016b'   #  0xFB -> LATIN SMALL LETTER U WITH MACRON\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u017c'   #  0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE\n-    u'\\u017e'   #  0xFE -> LATIN SMALL LETTER Z WITH CARON\n-    u'\\u2019'   #  0xFF -> RIGHT SINGLE QUOTATION MARK\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_13.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_13.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_14.py
--- a/test/lib/python2.7/encodings/iso8859_14.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_14 generated from \'MAPPINGS/ISO8859/8859-14.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-14\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPIT'..b"N CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\u0174'   #  0xD0 -> LATIN CAPITAL LETTER W WITH CIRCUMFLEX\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\u1e6a'   #  0xD7 -> LATIN CAPITAL LETTER T WITH DOT ABOVE\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xdd'     #  0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\u0176'   #  0xDE -> LATIN CAPITAL LETTER Y WITH CIRCUMFLEX\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\u0175'   #  0xF0 -> LATIN SMALL LETTER W WITH CIRCUMFLEX\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\u1e6b'   #  0xF7 -> LATIN SMALL LETTER T WITH DOT ABOVE\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xfd'     #  0xFD -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\u0177'   #  0xFE -> LATIN SMALL LETTER Y WITH CIRCUMFLEX\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_14.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_14.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_15.py
--- a/test/lib/python2.7/encodings/iso8859_15.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_15 generated from \'MAPPINGS/ISO8859/8859-15.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-15\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPIT'..b"   u'\\xc0'     #  0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xd0'     #  0xD0 -> LATIN CAPITAL LETTER ETH\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xdd'     #  0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\xde'     #  0xDE -> LATIN CAPITAL LETTER THORN\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\xf0'     #  0xF0 -> LATIN SMALL LETTER ETH\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xfd'     #  0xFD -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\xfe'     #  0xFE -> LATIN SMALL LETTER THORN\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_15.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_15.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_16.py
--- a/test/lib/python2.7/encodings/iso8859_16.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_16 generated from \'MAPPINGS/ISO8859/8859-16.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-16\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPIT'..b"PITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\u0102'   #  0xC3 -> LATIN CAPITAL LETTER A WITH BREVE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\u0106'   #  0xC5 -> LATIN CAPITAL LETTER C WITH ACUTE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\u0110'   #  0xD0 -> LATIN CAPITAL LETTER D WITH STROKE\n-    u'\\u0143'   #  0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\u0150'   #  0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\u015a'   #  0xD7 -> LATIN CAPITAL LETTER S WITH ACUTE\n-    u'\\u0170'   #  0xD8 -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u0118'   #  0xDD -> LATIN CAPITAL LETTER E WITH OGONEK\n-    u'\\u021a'   #  0xDE -> LATIN CAPITAL LETTER T WITH COMMA BELOW\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\u0103'   #  0xE3 -> LATIN SMALL LETTER A WITH BREVE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\u0107'   #  0xE5 -> LATIN SMALL LETTER C WITH ACUTE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\u0111'   #  0xF0 -> LATIN SMALL LETTER D WITH STROKE\n-    u'\\u0144'   #  0xF1 -> LATIN SMALL LETTER N WITH ACUTE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\u0151'   #  0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\u015b'   #  0xF7 -> LATIN SMALL LETTER S WITH ACUTE\n-    u'\\u0171'   #  0xF8 -> LATIN SMALL LETTER U WITH DOUBLE ACUTE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u0119'   #  0xFD -> LATIN SMALL LETTER E WITH OGONEK\n-    u'\\u021b'   #  0xFE -> LATIN SMALL LETTER T WITH COMMA BELOW\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_16.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_16.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_2.py
--- a/test/lib/python2.7/encodings/iso8859_2.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_2 generated from \'MAPPINGS/ISO8859/8859-2.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-2\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"CAPITAL LETTER R WITH ACUTE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\u0102'   #  0xC3 -> LATIN CAPITAL LETTER A WITH BREVE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\u0139'   #  0xC5 -> LATIN CAPITAL LETTER L WITH ACUTE\n-    u'\\u0106'   #  0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\u010c'   #  0xC8 -> LATIN CAPITAL LETTER C WITH CARON\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\u0118'   #  0xCA -> LATIN CAPITAL LETTER E WITH OGONEK\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\u011a'   #  0xCC -> LATIN CAPITAL LETTER E WITH CARON\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\u010e'   #  0xCF -> LATIN CAPITAL LETTER D WITH CARON\n-    u'\\u0110'   #  0xD0 -> LATIN CAPITAL LETTER D WITH STROKE\n-    u'\\u0143'   #  0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE\n-    u'\\u0147'   #  0xD2 -> LATIN CAPITAL LETTER N WITH CARON\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\u0150'   #  0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\u0158'   #  0xD8 -> LATIN CAPITAL LETTER R WITH CARON\n-    u'\\u016e'   #  0xD9 -> LATIN CAPITAL LETTER U WITH RING ABOVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\u0170'   #  0xDB -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\xdd'     #  0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\u0162'   #  0xDE -> LATIN CAPITAL LETTER T WITH CEDILLA\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\u0155'   #  0xE0 -> LATIN SMALL LETTER R WITH ACUTE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\u0103'   #  0xE3 -> LATIN SMALL LETTER A WITH BREVE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\u013a'   #  0xE5 -> LATIN SMALL LETTER L WITH ACUTE\n-    u'\\u0107'   #  0xE6 -> LATIN SMALL LETTER C WITH ACUTE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\u010d'   #  0xE8 -> LATIN SMALL LETTER C WITH CARON\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\u0119'   #  0xEA -> LATIN SMALL LETTER E WITH OGONEK\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\u011b'   #  0xEC -> LATIN SMALL LETTER E WITH CARON\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\u010f'   #  0xEF -> LATIN SMALL LETTER D WITH CARON\n-    u'\\u0111'   #  0xF0 -> LATIN SMALL LETTER D WITH STROKE\n-    u'\\u0144'   #  0xF1 -> LATIN SMALL LETTER N WITH ACUTE\n-    u'\\u0148'   #  0xF2 -> LATIN SMALL LETTER N WITH CARON\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\u0151'   #  0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\u0159'   #  0xF8 -> LATIN SMALL LETTER R WITH CARON\n-    u'\\u016f'   #  0xF9 -> LATIN SMALL LETTER U WITH RING ABOVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\u0171'   #  0xFB -> LATIN SMALL LETTER U WITH DOUBLE ACUTE\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\xfd'     #  0xFD -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\u0163'   #  0xFE -> LATIN SMALL LETTER T WITH CEDILLA\n-    u'\\u02d9'   #  0xFF -> DOT ABOVE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_2.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_2.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_3.py
--- a/test/lib/python2.7/encodings/iso8859_3.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_3 generated from \'MAPPINGS/ISO8859/8859-3.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-3\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"d'     #  0xBD -> VULGAR FRACTION ONE HALF\n-    u'\\ufffe'\n-    u'\\u017c'   #  0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE\n-    u'\\xc0'     #  0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\ufffe'\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\u010a'   #  0xC5 -> LATIN CAPITAL LETTER C WITH DOT ABOVE\n-    u'\\u0108'   #  0xC6 -> LATIN CAPITAL LETTER C WITH CIRCUMFLEX\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\ufffe'\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\u0120'   #  0xD5 -> LATIN CAPITAL LETTER G WITH DOT ABOVE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\u011c'   #  0xD8 -> LATIN CAPITAL LETTER G WITH CIRCUMFLEX\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u016c'   #  0xDD -> LATIN CAPITAL LETTER U WITH BREVE\n-    u'\\u015c'   #  0xDE -> LATIN CAPITAL LETTER S WITH CIRCUMFLEX\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\ufffe'\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\u010b'   #  0xE5 -> LATIN SMALL LETTER C WITH DOT ABOVE\n-    u'\\u0109'   #  0xE6 -> LATIN SMALL LETTER C WITH CIRCUMFLEX\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\ufffe'\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\u0121'   #  0xF5 -> LATIN SMALL LETTER G WITH DOT ABOVE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\u011d'   #  0xF8 -> LATIN SMALL LETTER G WITH CIRCUMFLEX\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u016d'   #  0xFD -> LATIN SMALL LETTER U WITH BREVE\n-    u'\\u015d'   #  0xFE -> LATIN SMALL LETTER S WITH CIRCUMFLEX\n-    u'\\u02d9'   #  0xFF -> DOT ABOVE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_3.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_3.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_4.py
--- a/test/lib/python2.7/encodings/iso8859_4.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_4 generated from \'MAPPINGS/ISO8859/8859-4.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-4\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"  0xC0 -> LATIN CAPITAL LETTER A WITH MACRON\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\u012e'   #  0xC7 -> LATIN CAPITAL LETTER I WITH OGONEK\n-    u'\\u010c'   #  0xC8 -> LATIN CAPITAL LETTER C WITH CARON\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\u0118'   #  0xCA -> LATIN CAPITAL LETTER E WITH OGONEK\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\u0116'   #  0xCC -> LATIN CAPITAL LETTER E WITH DOT ABOVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\u012a'   #  0xCF -> LATIN CAPITAL LETTER I WITH MACRON\n-    u'\\u0110'   #  0xD0 -> LATIN CAPITAL LETTER D WITH STROKE\n-    u'\\u0145'   #  0xD1 -> LATIN CAPITAL LETTER N WITH CEDILLA\n-    u'\\u014c'   #  0xD2 -> LATIN CAPITAL LETTER O WITH MACRON\n-    u'\\u0136'   #  0xD3 -> LATIN CAPITAL LETTER K WITH CEDILLA\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\u0172'   #  0xD9 -> LATIN CAPITAL LETTER U WITH OGONEK\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u0168'   #  0xDD -> LATIN CAPITAL LETTER U WITH TILDE\n-    u'\\u016a'   #  0xDE -> LATIN CAPITAL LETTER U WITH MACRON\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\u0101'   #  0xE0 -> LATIN SMALL LETTER A WITH MACRON\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\u012f'   #  0xE7 -> LATIN SMALL LETTER I WITH OGONEK\n-    u'\\u010d'   #  0xE8 -> LATIN SMALL LETTER C WITH CARON\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\u0119'   #  0xEA -> LATIN SMALL LETTER E WITH OGONEK\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\u0117'   #  0xEC -> LATIN SMALL LETTER E WITH DOT ABOVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\u012b'   #  0xEF -> LATIN SMALL LETTER I WITH MACRON\n-    u'\\u0111'   #  0xF0 -> LATIN SMALL LETTER D WITH STROKE\n-    u'\\u0146'   #  0xF1 -> LATIN SMALL LETTER N WITH CEDILLA\n-    u'\\u014d'   #  0xF2 -> LATIN SMALL LETTER O WITH MACRON\n-    u'\\u0137'   #  0xF3 -> LATIN SMALL LETTER K WITH CEDILLA\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\u0173'   #  0xF9 -> LATIN SMALL LETTER U WITH OGONEK\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u0169'   #  0xFD -> LATIN SMALL LETTER U WITH TILDE\n-    u'\\u016b'   #  0xFE -> LATIN SMALL LETTER U WITH MACRON\n-    u'\\u02d9'   #  0xFF -> DOT ABOVE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_4.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_4.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_5.py
--- a/test/lib/python2.7/encodings/iso8859_5.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_5 generated from \'MAPPINGS/ISO8859/8859-5.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-5\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"8'   #  0xB8 -> CYRILLIC CAPITAL LETTER I\n-    u'\\u0419'   #  0xB9 -> CYRILLIC CAPITAL LETTER SHORT I\n-    u'\\u041a'   #  0xBA -> CYRILLIC CAPITAL LETTER KA\n-    u'\\u041b'   #  0xBB -> CYRILLIC CAPITAL LETTER EL\n-    u'\\u041c'   #  0xBC -> CYRILLIC CAPITAL LETTER EM\n-    u'\\u041d'   #  0xBD -> CYRILLIC CAPITAL LETTER EN\n-    u'\\u041e'   #  0xBE -> CYRILLIC CAPITAL LETTER O\n-    u'\\u041f'   #  0xBF -> CYRILLIC CAPITAL LETTER PE\n-    u'\\u0420'   #  0xC0 -> CYRILLIC CAPITAL LETTER ER\n-    u'\\u0421'   #  0xC1 -> CYRILLIC CAPITAL LETTER ES\n-    u'\\u0422'   #  0xC2 -> CYRILLIC CAPITAL LETTER TE\n-    u'\\u0423'   #  0xC3 -> CYRILLIC CAPITAL LETTER U\n-    u'\\u0424'   #  0xC4 -> CYRILLIC CAPITAL LETTER EF\n-    u'\\u0425'   #  0xC5 -> CYRILLIC CAPITAL LETTER HA\n-    u'\\u0426'   #  0xC6 -> CYRILLIC CAPITAL LETTER TSE\n-    u'\\u0427'   #  0xC7 -> CYRILLIC CAPITAL LETTER CHE\n-    u'\\u0428'   #  0xC8 -> CYRILLIC CAPITAL LETTER SHA\n-    u'\\u0429'   #  0xC9 -> CYRILLIC CAPITAL LETTER SHCHA\n-    u'\\u042a'   #  0xCA -> CYRILLIC CAPITAL LETTER HARD SIGN\n-    u'\\u042b'   #  0xCB -> CYRILLIC CAPITAL LETTER YERU\n-    u'\\u042c'   #  0xCC -> CYRILLIC CAPITAL LETTER SOFT SIGN\n-    u'\\u042d'   #  0xCD -> CYRILLIC CAPITAL LETTER E\n-    u'\\u042e'   #  0xCE -> CYRILLIC CAPITAL LETTER YU\n-    u'\\u042f'   #  0xCF -> CYRILLIC CAPITAL LETTER YA\n-    u'\\u0430'   #  0xD0 -> CYRILLIC SMALL LETTER A\n-    u'\\u0431'   #  0xD1 -> CYRILLIC SMALL LETTER BE\n-    u'\\u0432'   #  0xD2 -> CYRILLIC SMALL LETTER VE\n-    u'\\u0433'   #  0xD3 -> CYRILLIC SMALL LETTER GHE\n-    u'\\u0434'   #  0xD4 -> CYRILLIC SMALL LETTER DE\n-    u'\\u0435'   #  0xD5 -> CYRILLIC SMALL LETTER IE\n-    u'\\u0436'   #  0xD6 -> CYRILLIC SMALL LETTER ZHE\n-    u'\\u0437'   #  0xD7 -> CYRILLIC SMALL LETTER ZE\n-    u'\\u0438'   #  0xD8 -> CYRILLIC SMALL LETTER I\n-    u'\\u0439'   #  0xD9 -> CYRILLIC SMALL LETTER SHORT I\n-    u'\\u043a'   #  0xDA -> CYRILLIC SMALL LETTER KA\n-    u'\\u043b'   #  0xDB -> CYRILLIC SMALL LETTER EL\n-    u'\\u043c'   #  0xDC -> CYRILLIC SMALL LETTER EM\n-    u'\\u043d'   #  0xDD -> CYRILLIC SMALL LETTER EN\n-    u'\\u043e'   #  0xDE -> CYRILLIC SMALL LETTER O\n-    u'\\u043f'   #  0xDF -> CYRILLIC SMALL LETTER PE\n-    u'\\u0440'   #  0xE0 -> CYRILLIC SMALL LETTER ER\n-    u'\\u0441'   #  0xE1 -> CYRILLIC SMALL LETTER ES\n-    u'\\u0442'   #  0xE2 -> CYRILLIC SMALL LETTER TE\n-    u'\\u0443'   #  0xE3 -> CYRILLIC SMALL LETTER U\n-    u'\\u0444'   #  0xE4 -> CYRILLIC SMALL LETTER EF\n-    u'\\u0445'   #  0xE5 -> CYRILLIC SMALL LETTER HA\n-    u'\\u0446'   #  0xE6 -> CYRILLIC SMALL LETTER TSE\n-    u'\\u0447'   #  0xE7 -> CYRILLIC SMALL LETTER CHE\n-    u'\\u0448'   #  0xE8 -> CYRILLIC SMALL LETTER SHA\n-    u'\\u0449'   #  0xE9 -> CYRILLIC SMALL LETTER SHCHA\n-    u'\\u044a'   #  0xEA -> CYRILLIC SMALL LETTER HARD SIGN\n-    u'\\u044b'   #  0xEB -> CYRILLIC SMALL LETTER YERU\n-    u'\\u044c'   #  0xEC -> CYRILLIC SMALL LETTER SOFT SIGN\n-    u'\\u044d'   #  0xED -> CYRILLIC SMALL LETTER E\n-    u'\\u044e'   #  0xEE -> CYRILLIC SMALL LETTER YU\n-    u'\\u044f'   #  0xEF -> CYRILLIC SMALL LETTER YA\n-    u'\\u2116'   #  0xF0 -> NUMERO SIGN\n-    u'\\u0451'   #  0xF1 -> CYRILLIC SMALL LETTER IO\n-    u'\\u0452'   #  0xF2 -> CYRILLIC SMALL LETTER DJE\n-    u'\\u0453'   #  0xF3 -> CYRILLIC SMALL LETTER GJE\n-    u'\\u0454'   #  0xF4 -> CYRILLIC SMALL LETTER UKRAINIAN IE\n-    u'\\u0455'   #  0xF5 -> CYRILLIC SMALL LETTER DZE\n-    u'\\u0456'   #  0xF6 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\n-    u'\\u0457'   #  0xF7 -> CYRILLIC SMALL LETTER YI\n-    u'\\u0458'   #  0xF8 -> CYRILLIC SMALL LETTER JE\n-    u'\\u0459'   #  0xF9 -> CYRILLIC SMALL LETTER LJE\n-    u'\\u045a'   #  0xFA -> CYRILLIC SMALL LETTER NJE\n-    u'\\u045b'   #  0xFB -> CYRILLIC SMALL LETTER TSHE\n-    u'\\u045c'   #  0xFC -> CYRILLIC SMALL LETTER KJE\n-    u'\\xa7'     #  0xFD -> SECTION SIGN\n-    u'\\u045e'   #  0xFE -> CYRILLIC SMALL LETTER SHORT U\n-    u'\\u045f'   #  0xFF -> CYRILLIC SMALL LETTER DZHE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_5.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_5.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_6.py
--- a/test/lib/python2.7/encodings/iso8859_6.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_6 generated from \'MAPPINGS/ISO8859/8859-6.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-6\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"\\x8a'     #  0x8A -> <control>\n-    u'\\x8b'     #  0x8B -> <control>\n-    u'\\x8c'     #  0x8C -> <control>\n-    u'\\x8d'     #  0x8D -> <control>\n-    u'\\x8e'     #  0x8E -> <control>\n-    u'\\x8f'     #  0x8F -> <control>\n-    u'\\x90'     #  0x90 -> <control>\n-    u'\\x91'     #  0x91 -> <control>\n-    u'\\x92'     #  0x92 -> <control>\n-    u'\\x93'     #  0x93 -> <control>\n-    u'\\x94'     #  0x94 -> <control>\n-    u'\\x95'     #  0x95 -> <control>\n-    u'\\x96'     #  0x96 -> <control>\n-    u'\\x97'     #  0x97 -> <control>\n-    u'\\x98'     #  0x98 -> <control>\n-    u'\\x99'     #  0x99 -> <control>\n-    u'\\x9a'     #  0x9A -> <control>\n-    u'\\x9b'     #  0x9B -> <control>\n-    u'\\x9c'     #  0x9C -> <control>\n-    u'\\x9d'     #  0x9D -> <control>\n-    u'\\x9e'     #  0x9E -> <control>\n-    u'\\x9f'     #  0x9F -> <control>\n-    u'\\xa0'     #  0xA0 -> NO-BREAK SPACE\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\xa4'     #  0xA4 -> CURRENCY SIGN\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u060c'   #  0xAC -> ARABIC COMMA\n-    u'\\xad'     #  0xAD -> SOFT HYPHEN\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u061b'   #  0xBB -> ARABIC SEMICOLON\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u061f'   #  0xBF -> ARABIC QUESTION MARK\n-    u'\\ufffe'\n-    u'\\u0621'   #  0xC1 -> ARABIC LETTER HAMZA\n-    u'\\u0622'   #  0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE\n-    u'\\u0623'   #  0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE\n-    u'\\u0624'   #  0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE\n-    u'\\u0625'   #  0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW\n-    u'\\u0626'   #  0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE\n-    u'\\u0627'   #  0xC7 -> ARABIC LETTER ALEF\n-    u'\\u0628'   #  0xC8 -> ARABIC LETTER BEH\n-    u'\\u0629'   #  0xC9 -> ARABIC LETTER TEH MARBUTA\n-    u'\\u062a'   #  0xCA -> ARABIC LETTER TEH\n-    u'\\u062b'   #  0xCB -> ARABIC LETTER THEH\n-    u'\\u062c'   #  0xCC -> ARABIC LETTER JEEM\n-    u'\\u062d'   #  0xCD -> ARABIC LETTER HAH\n-    u'\\u062e'   #  0xCE -> ARABIC LETTER KHAH\n-    u'\\u062f'   #  0xCF -> ARABIC LETTER DAL\n-    u'\\u0630'   #  0xD0 -> ARABIC LETTER THAL\n-    u'\\u0631'   #  0xD1 -> ARABIC LETTER REH\n-    u'\\u0632'   #  0xD2 -> ARABIC LETTER ZAIN\n-    u'\\u0633'   #  0xD3 -> ARABIC LETTER SEEN\n-    u'\\u0634'   #  0xD4 -> ARABIC LETTER SHEEN\n-    u'\\u0635'   #  0xD5 -> ARABIC LETTER SAD\n-    u'\\u0636'   #  0xD6 -> ARABIC LETTER DAD\n-    u'\\u0637'   #  0xD7 -> ARABIC LETTER TAH\n-    u'\\u0638'   #  0xD8 -> ARABIC LETTER ZAH\n-    u'\\u0639'   #  0xD9 -> ARABIC LETTER AIN\n-    u'\\u063a'   #  0xDA -> ARABIC LETTER GHAIN\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u0640'   #  0xE0 -> ARABIC TATWEEL\n-    u'\\u0641'   #  0xE1 -> ARABIC LETTER FEH\n-    u'\\u0642'   #  0xE2 -> ARABIC LETTER QAF\n-    u'\\u0643'   #  0xE3 -> ARABIC LETTER KAF\n-    u'\\u0644'   #  0xE4 -> ARABIC LETTER LAM\n-    u'\\u0645'   #  0xE5 -> ARABIC LETTER MEEM\n-    u'\\u0646'   #  0xE6 -> ARABIC LETTER NOON\n-    u'\\u0647'   #  0xE7 -> ARABIC LETTER HEH\n-    u'\\u0648'   #  0xE8 -> ARABIC LETTER WAW\n-    u'\\u0649'   #  0xE9 -> ARABIC LETTER ALEF MAKSURA\n-    u'\\u064a'   #  0xEA -> ARABIC LETTER YEH\n-    u'\\u064b'   #  0xEB -> ARABIC FATHATAN\n-    u'\\u064c'   #  0xEC -> ARABIC DAMMATAN\n-    u'\\u064d'   #  0xED -> ARABIC KASRATAN\n-    u'\\u064e'   #  0xEE -> ARABIC FATHA\n-    u'\\u064f'   #  0xEF -> ARABIC DAMMA\n-    u'\\u0650'   #  0xF0 -> ARABIC KASRA\n-    u'\\u0651'   #  0xF1 -> ARABIC SHADDA\n-    u'\\u0652'   #  0xF2 -> ARABIC SUKUN\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_6.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_6.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_7.py
--- a/test/lib/python2.7/encodings/iso8859_7.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_7 generated from \'MAPPINGS/ISO8859/8859-7.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-7\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"ONOS\n-    u'\\u038a'   #  0xBA -> GREEK CAPITAL LETTER IOTA WITH TONOS\n-    u'\\xbb'     #  0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u038c'   #  0xBC -> GREEK CAPITAL LETTER OMICRON WITH TONOS\n-    u'\\xbd'     #  0xBD -> VULGAR FRACTION ONE HALF\n-    u'\\u038e'   #  0xBE -> GREEK CAPITAL LETTER UPSILON WITH TONOS\n-    u'\\u038f'   #  0xBF -> GREEK CAPITAL LETTER OMEGA WITH TONOS\n-    u'\\u0390'   #  0xC0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\n-    u'\\u0391'   #  0xC1 -> GREEK CAPITAL LETTER ALPHA\n-    u'\\u0392'   #  0xC2 -> GREEK CAPITAL LETTER BETA\n-    u'\\u0393'   #  0xC3 -> GREEK CAPITAL LETTER GAMMA\n-    u'\\u0394'   #  0xC4 -> GREEK CAPITAL LETTER DELTA\n-    u'\\u0395'   #  0xC5 -> GREEK CAPITAL LETTER EPSILON\n-    u'\\u0396'   #  0xC6 -> GREEK CAPITAL LETTER ZETA\n-    u'\\u0397'   #  0xC7 -> GREEK CAPITAL LETTER ETA\n-    u'\\u0398'   #  0xC8 -> GREEK CAPITAL LETTER THETA\n-    u'\\u0399'   #  0xC9 -> GREEK CAPITAL LETTER IOTA\n-    u'\\u039a'   #  0xCA -> GREEK CAPITAL LETTER KAPPA\n-    u'\\u039b'   #  0xCB -> GREEK CAPITAL LETTER LAMDA\n-    u'\\u039c'   #  0xCC -> GREEK CAPITAL LETTER MU\n-    u'\\u039d'   #  0xCD -> GREEK CAPITAL LETTER NU\n-    u'\\u039e'   #  0xCE -> GREEK CAPITAL LETTER XI\n-    u'\\u039f'   #  0xCF -> GREEK CAPITAL LETTER OMICRON\n-    u'\\u03a0'   #  0xD0 -> GREEK CAPITAL LETTER PI\n-    u'\\u03a1'   #  0xD1 -> GREEK CAPITAL LETTER RHO\n-    u'\\ufffe'\n-    u'\\u03a3'   #  0xD3 -> GREEK CAPITAL LETTER SIGMA\n-    u'\\u03a4'   #  0xD4 -> GREEK CAPITAL LETTER TAU\n-    u'\\u03a5'   #  0xD5 -> GREEK CAPITAL LETTER UPSILON\n-    u'\\u03a6'   #  0xD6 -> GREEK CAPITAL LETTER PHI\n-    u'\\u03a7'   #  0xD7 -> GREEK CAPITAL LETTER CHI\n-    u'\\u03a8'   #  0xD8 -> GREEK CAPITAL LETTER PSI\n-    u'\\u03a9'   #  0xD9 -> GREEK CAPITAL LETTER OMEGA\n-    u'\\u03aa'   #  0xDA -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA\n-    u'\\u03ab'   #  0xDB -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA\n-    u'\\u03ac'   #  0xDC -> GREEK SMALL LETTER ALPHA WITH TONOS\n-    u'\\u03ad'   #  0xDD -> GREEK SMALL LETTER EPSILON WITH TONOS\n-    u'\\u03ae'   #  0xDE -> GREEK SMALL LETTER ETA WITH TONOS\n-    u'\\u03af'   #  0xDF -> GREEK SMALL LETTER IOTA WITH TONOS\n-    u'\\u03b0'   #  0xE0 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\n-    u'\\u03b1'   #  0xE1 -> GREEK SMALL LETTER ALPHA\n-    u'\\u03b2'   #  0xE2 -> GREEK SMALL LETTER BETA\n-    u'\\u03b3'   #  0xE3 -> GREEK SMALL LETTER GAMMA\n-    u'\\u03b4'   #  0xE4 -> GREEK SMALL LETTER DELTA\n-    u'\\u03b5'   #  0xE5 -> GREEK SMALL LETTER EPSILON\n-    u'\\u03b6'   #  0xE6 -> GREEK SMALL LETTER ZETA\n-    u'\\u03b7'   #  0xE7 -> GREEK SMALL LETTER ETA\n-    u'\\u03b8'   #  0xE8 -> GREEK SMALL LETTER THETA\n-    u'\\u03b9'   #  0xE9 -> GREEK SMALL LETTER IOTA\n-    u'\\u03ba'   #  0xEA -> GREEK SMALL LETTER KAPPA\n-    u'\\u03bb'   #  0xEB -> GREEK SMALL LETTER LAMDA\n-    u'\\u03bc'   #  0xEC -> GREEK SMALL LETTER MU\n-    u'\\u03bd'   #  0xED -> GREEK SMALL LETTER NU\n-    u'\\u03be'   #  0xEE -> GREEK SMALL LETTER XI\n-    u'\\u03bf'   #  0xEF -> GREEK SMALL LETTER OMICRON\n-    u'\\u03c0'   #  0xF0 -> GREEK SMALL LETTER PI\n-    u'\\u03c1'   #  0xF1 -> GREEK SMALL LETTER RHO\n-    u'\\u03c2'   #  0xF2 -> GREEK SMALL LETTER FINAL SIGMA\n-    u'\\u03c3'   #  0xF3 -> GREEK SMALL LETTER SIGMA\n-    u'\\u03c4'   #  0xF4 -> GREEK SMALL LETTER TAU\n-    u'\\u03c5'   #  0xF5 -> GREEK SMALL LETTER UPSILON\n-    u'\\u03c6'   #  0xF6 -> GREEK SMALL LETTER PHI\n-    u'\\u03c7'   #  0xF7 -> GREEK SMALL LETTER CHI\n-    u'\\u03c8'   #  0xF8 -> GREEK SMALL LETTER PSI\n-    u'\\u03c9'   #  0xF9 -> GREEK SMALL LETTER OMEGA\n-    u'\\u03ca'   #  0xFA -> GREEK SMALL LETTER IOTA WITH DIALYTIKA\n-    u'\\u03cb'   #  0xFB -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA\n-    u'\\u03cc'   #  0xFC -> GREEK SMALL LETTER OMICRON WITH TONOS\n-    u'\\u03cd'   #  0xFD -> GREEK SMALL LETTER UPSILON WITH TONOS\n-    u'\\u03ce'   #  0xFE -> GREEK SMALL LETTER OMEGA WITH TONOS\n-    u'\\ufffe'\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_7.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_7.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_8.py
--- a/test/lib/python2.7/encodings/iso8859_8.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_8 generated from \'MAPPINGS/ISO8859/8859-8.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-8\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"0x8F -> <control>\n-    u'\\x90'     #  0x90 -> <control>\n-    u'\\x91'     #  0x91 -> <control>\n-    u'\\x92'     #  0x92 -> <control>\n-    u'\\x93'     #  0x93 -> <control>\n-    u'\\x94'     #  0x94 -> <control>\n-    u'\\x95'     #  0x95 -> <control>\n-    u'\\x96'     #  0x96 -> <control>\n-    u'\\x97'     #  0x97 -> <control>\n-    u'\\x98'     #  0x98 -> <control>\n-    u'\\x99'     #  0x99 -> <control>\n-    u'\\x9a'     #  0x9A -> <control>\n-    u'\\x9b'     #  0x9B -> <control>\n-    u'\\x9c'     #  0x9C -> <control>\n-    u'\\x9d'     #  0x9D -> <control>\n-    u'\\x9e'     #  0x9E -> <control>\n-    u'\\x9f'     #  0x9F -> <control>\n-    u'\\xa0'     #  0xA0 -> NO-BREAK SPACE\n-    u'\\ufffe'\n-    u'\\xa2'     #  0xA2 -> CENT SIGN\n-    u'\\xa3'     #  0xA3 -> POUND SIGN\n-    u'\\xa4'     #  0xA4 -> CURRENCY SIGN\n-    u'\\xa5'     #  0xA5 -> YEN SIGN\n-    u'\\xa6'     #  0xA6 -> BROKEN BAR\n-    u'\\xa7'     #  0xA7 -> SECTION SIGN\n-    u'\\xa8'     #  0xA8 -> DIAERESIS\n-    u'\\xa9'     #  0xA9 -> COPYRIGHT SIGN\n-    u'\\xd7'     #  0xAA -> MULTIPLICATION SIGN\n-    u'\\xab'     #  0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xac'     #  0xAC -> NOT SIGN\n-    u'\\xad'     #  0xAD -> SOFT HYPHEN\n-    u'\\xae'     #  0xAE -> REGISTERED SIGN\n-    u'\\xaf'     #  0xAF -> MACRON\n-    u'\\xb0'     #  0xB0 -> DEGREE SIGN\n-    u'\\xb1'     #  0xB1 -> PLUS-MINUS SIGN\n-    u'\\xb2'     #  0xB2 -> SUPERSCRIPT TWO\n-    u'\\xb3'     #  0xB3 -> SUPERSCRIPT THREE\n-    u'\\xb4'     #  0xB4 -> ACUTE ACCENT\n-    u'\\xb5'     #  0xB5 -> MICRO SIGN\n-    u'\\xb6'     #  0xB6 -> PILCROW SIGN\n-    u'\\xb7'     #  0xB7 -> MIDDLE DOT\n-    u'\\xb8'     #  0xB8 -> CEDILLA\n-    u'\\xb9'     #  0xB9 -> SUPERSCRIPT ONE\n-    u'\\xf7'     #  0xBA -> DIVISION SIGN\n-    u'\\xbb'     #  0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbc'     #  0xBC -> VULGAR FRACTION ONE QUARTER\n-    u'\\xbd'     #  0xBD -> VULGAR FRACTION ONE HALF\n-    u'\\xbe'     #  0xBE -> VULGAR FRACTION THREE QUARTERS\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u2017'   #  0xDF -> DOUBLE LOW LINE\n-    u'\\u05d0'   #  0xE0 -> HEBREW LETTER ALEF\n-    u'\\u05d1'   #  0xE1 -> HEBREW LETTER BET\n-    u'\\u05d2'   #  0xE2 -> HEBREW LETTER GIMEL\n-    u'\\u05d3'   #  0xE3 -> HEBREW LETTER DALET\n-    u'\\u05d4'   #  0xE4 -> HEBREW LETTER HE\n-    u'\\u05d5'   #  0xE5 -> HEBREW LETTER VAV\n-    u'\\u05d6'   #  0xE6 -> HEBREW LETTER ZAYIN\n-    u'\\u05d7'   #  0xE7 -> HEBREW LETTER HET\n-    u'\\u05d8'   #  0xE8 -> HEBREW LETTER TET\n-    u'\\u05d9'   #  0xE9 -> HEBREW LETTER YOD\n-    u'\\u05da'   #  0xEA -> HEBREW LETTER FINAL KAF\n-    u'\\u05db'   #  0xEB -> HEBREW LETTER KAF\n-    u'\\u05dc'   #  0xEC -> HEBREW LETTER LAMED\n-    u'\\u05dd'   #  0xED -> HEBREW LETTER FINAL MEM\n-    u'\\u05de'   #  0xEE -> HEBREW LETTER MEM\n-    u'\\u05df'   #  0xEF -> HEBREW LETTER FINAL NUN\n-    u'\\u05e0'   #  0xF0 -> HEBREW LETTER NUN\n-    u'\\u05e1'   #  0xF1 -> HEBREW LETTER SAMEKH\n-    u'\\u05e2'   #  0xF2 -> HEBREW LETTER AYIN\n-    u'\\u05e3'   #  0xF3 -> HEBREW LETTER FINAL PE\n-    u'\\u05e4'   #  0xF4 -> HEBREW LETTER PE\n-    u'\\u05e5'   #  0xF5 -> HEBREW LETTER FINAL TSADI\n-    u'\\u05e6'   #  0xF6 -> HEBREW LETTER TSADI\n-    u'\\u05e7'   #  0xF7 -> HEBREW LETTER QOF\n-    u'\\u05e8'   #  0xF8 -> HEBREW LETTER RESH\n-    u'\\u05e9'   #  0xF9 -> HEBREW LETTER SHIN\n-    u'\\u05ea'   #  0xFA -> HEBREW LETTER TAV\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u200e'   #  0xFD -> LEFT-TO-RIGHT MARK\n-    u'\\u200f'   #  0xFE -> RIGHT-TO-LEFT MARK\n-    u'\\ufffe'\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_8.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_8.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_9.py
--- a/test/lib/python2.7/encodings/iso8859_9.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec iso8859_9 generated from \'MAPPINGS/ISO8859/8859-9.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'iso8859-9\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL '..b"AL LETTER A WITH GRAVE\n-    u'\\xc1'     #  0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xc2'     #  0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xc3'     #  0xC3 -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xc4'     #  0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS\n-    u'\\xc5'     #  0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE\n-    u'\\xc6'     #  0xC6 -> LATIN CAPITAL LETTER AE\n-    u'\\xc7'     #  0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA\n-    u'\\xc8'     #  0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xc9'     #  0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE\n-    u'\\xca'     #  0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xcb'     #  0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xcc'     #  0xCC -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xcd'     #  0xCD -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\u011e'   #  0xD0 -> LATIN CAPITAL LETTER G WITH BREVE\n-    u'\\xd1'     #  0xD1 -> LATIN CAPITAL LETTER N WITH TILDE\n-    u'\\xd2'     #  0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xd3'     #  0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\xd5'     #  0xD5 -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\xd6'     #  0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS\n-    u'\\xd7'     #  0xD7 -> MULTIPLICATION SIGN\n-    u'\\xd8'     #  0xD8 -> LATIN CAPITAL LETTER O WITH STROKE\n-    u'\\xd9'     #  0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\xda'     #  0xDA -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xdc'     #  0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS\n-    u'\\u0130'   #  0xDD -> LATIN CAPITAL LETTER I WITH DOT ABOVE\n-    u'\\u015e'   #  0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA\n-    u'\\xdf'     #  0xDF -> LATIN SMALL LETTER SHARP S\n-    u'\\xe0'     #  0xE0 -> LATIN SMALL LETTER A WITH GRAVE\n-    u'\\xe1'     #  0xE1 -> LATIN SMALL LETTER A WITH ACUTE\n-    u'\\xe2'     #  0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    u'\\xe3'     #  0xE3 -> LATIN SMALL LETTER A WITH TILDE\n-    u'\\xe4'     #  0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS\n-    u'\\xe5'     #  0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE\n-    u'\\xe6'     #  0xE6 -> LATIN SMALL LETTER AE\n-    u'\\xe7'     #  0xE7 -> LATIN SMALL LETTER C WITH CEDILLA\n-    u'\\xe8'     #  0xE8 -> LATIN SMALL LETTER E WITH GRAVE\n-    u'\\xe9'     #  0xE9 -> LATIN SMALL LETTER E WITH ACUTE\n-    u'\\xea'     #  0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    u'\\xeb'     #  0xEB -> LATIN SMALL LETTER E WITH DIAERESIS\n-    u'\\xec'     #  0xEC -> LATIN SMALL LETTER I WITH GRAVE\n-    u'\\xed'     #  0xED -> LATIN SMALL LETTER I WITH ACUTE\n-    u'\\xee'     #  0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    u'\\xef'     #  0xEF -> LATIN SMALL LETTER I WITH DIAERESIS\n-    u'\\u011f'   #  0xF0 -> LATIN SMALL LETTER G WITH BREVE\n-    u'\\xf1'     #  0xF1 -> LATIN SMALL LETTER N WITH TILDE\n-    u'\\xf2'     #  0xF2 -> LATIN SMALL LETTER O WITH GRAVE\n-    u'\\xf3'     #  0xF3 -> LATIN SMALL LETTER O WITH ACUTE\n-    u'\\xf4'     #  0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    u'\\xf5'     #  0xF5 -> LATIN SMALL LETTER O WITH TILDE\n-    u'\\xf6'     #  0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS\n-    u'\\xf7'     #  0xF7 -> DIVISION SIGN\n-    u'\\xf8'     #  0xF8 -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xf9'     #  0xF9 -> LATIN SMALL LETTER U WITH GRAVE\n-    u'\\xfa'     #  0xFA -> LATIN SMALL LETTER U WITH ACUTE\n-    u'\\xfb'     #  0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    u'\\xfc'     #  0xFC -> LATIN SMALL LETTER U WITH DIAERESIS\n-    u'\\u0131'   #  0xFD -> LATIN SMALL LETTER DOTLESS I\n-    u'\\u015f'   #  0xFE -> LATIN SMALL LETTER S WITH CEDILLA\n-    u'\\xff'     #  0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/iso8859_9.pyc
b
Binary file test/lib/python2.7/encodings/iso8859_9.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/johab.py
--- a/test/lib/python2.7/encodings/johab.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# johab.py: Python Unicode Codec for JOHAB
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_kr, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_kr.getcodec('johab')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='johab',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/johab.pyc
b
Binary file test/lib/python2.7/encodings/johab.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/koi8_r.py
--- a/test/lib/python2.7/encodings/koi8_r.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec koi8_r generated from \'MAPPINGS/VENDORS/MISC/KOI8-R.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'koi8-r\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL L'..b"UBLE\n-    u'\\u2568'   #  0xBA -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    u'\\u2569'   #  0xBB -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    u'\\u256a'   #  0xBC -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    u'\\u256b'   #  0xBD -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\n-    u'\\u256c'   #  0xBE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    u'\\xa9'     #  0xBF -> COPYRIGHT SIGN\n-    u'\\u044e'   #  0xC0 -> CYRILLIC SMALL LETTER YU\n-    u'\\u0430'   #  0xC1 -> CYRILLIC SMALL LETTER A\n-    u'\\u0431'   #  0xC2 -> CYRILLIC SMALL LETTER BE\n-    u'\\u0446'   #  0xC3 -> CYRILLIC SMALL LETTER TSE\n-    u'\\u0434'   #  0xC4 -> CYRILLIC SMALL LETTER DE\n-    u'\\u0435'   #  0xC5 -> CYRILLIC SMALL LETTER IE\n-    u'\\u0444'   #  0xC6 -> CYRILLIC SMALL LETTER EF\n-    u'\\u0433'   #  0xC7 -> CYRILLIC SMALL LETTER GHE\n-    u'\\u0445'   #  0xC8 -> CYRILLIC SMALL LETTER HA\n-    u'\\u0438'   #  0xC9 -> CYRILLIC SMALL LETTER I\n-    u'\\u0439'   #  0xCA -> CYRILLIC SMALL LETTER SHORT I\n-    u'\\u043a'   #  0xCB -> CYRILLIC SMALL LETTER KA\n-    u'\\u043b'   #  0xCC -> CYRILLIC SMALL LETTER EL\n-    u'\\u043c'   #  0xCD -> CYRILLIC SMALL LETTER EM\n-    u'\\u043d'   #  0xCE -> CYRILLIC SMALL LETTER EN\n-    u'\\u043e'   #  0xCF -> CYRILLIC SMALL LETTER O\n-    u'\\u043f'   #  0xD0 -> CYRILLIC SMALL LETTER PE\n-    u'\\u044f'   #  0xD1 -> CYRILLIC SMALL LETTER YA\n-    u'\\u0440'   #  0xD2 -> CYRILLIC SMALL LETTER ER\n-    u'\\u0441'   #  0xD3 -> CYRILLIC SMALL LETTER ES\n-    u'\\u0442'   #  0xD4 -> CYRILLIC SMALL LETTER TE\n-    u'\\u0443'   #  0xD5 -> CYRILLIC SMALL LETTER U\n-    u'\\u0436'   #  0xD6 -> CYRILLIC SMALL LETTER ZHE\n-    u'\\u0432'   #  0xD7 -> CYRILLIC SMALL LETTER VE\n-    u'\\u044c'   #  0xD8 -> CYRILLIC SMALL LETTER SOFT SIGN\n-    u'\\u044b'   #  0xD9 -> CYRILLIC SMALL LETTER YERU\n-    u'\\u0437'   #  0xDA -> CYRILLIC SMALL LETTER ZE\n-    u'\\u0448'   #  0xDB -> CYRILLIC SMALL LETTER SHA\n-    u'\\u044d'   #  0xDC -> CYRILLIC SMALL LETTER E\n-    u'\\u0449'   #  0xDD -> CYRILLIC SMALL LETTER SHCHA\n-    u'\\u0447'   #  0xDE -> CYRILLIC SMALL LETTER CHE\n-    u'\\u044a'   #  0xDF -> CYRILLIC SMALL LETTER HARD SIGN\n-    u'\\u042e'   #  0xE0 -> CYRILLIC CAPITAL LETTER YU\n-    u'\\u0410'   #  0xE1 -> CYRILLIC CAPITAL LETTER A\n-    u'\\u0411'   #  0xE2 -> CYRILLIC CAPITAL LETTER BE\n-    u'\\u0426'   #  0xE3 -> CYRILLIC CAPITAL LETTER TSE\n-    u'\\u0414'   #  0xE4 -> CYRILLIC CAPITAL LETTER DE\n-    u'\\u0415'   #  0xE5 -> CYRILLIC CAPITAL LETTER IE\n-    u'\\u0424'   #  0xE6 -> CYRILLIC CAPITAL LETTER EF\n-    u'\\u0413'   #  0xE7 -> CYRILLIC CAPITAL LETTER GHE\n-    u'\\u0425'   #  0xE8 -> CYRILLIC CAPITAL LETTER HA\n-    u'\\u0418'   #  0xE9 -> CYRILLIC CAPITAL LETTER I\n-    u'\\u0419'   #  0xEA -> CYRILLIC CAPITAL LETTER SHORT I\n-    u'\\u041a'   #  0xEB -> CYRILLIC CAPITAL LETTER KA\n-    u'\\u041b'   #  0xEC -> CYRILLIC CAPITAL LETTER EL\n-    u'\\u041c'   #  0xED -> CYRILLIC CAPITAL LETTER EM\n-    u'\\u041d'   #  0xEE -> CYRILLIC CAPITAL LETTER EN\n-    u'\\u041e'   #  0xEF -> CYRILLIC CAPITAL LETTER O\n-    u'\\u041f'   #  0xF0 -> CYRILLIC CAPITAL LETTER PE\n-    u'\\u042f'   #  0xF1 -> CYRILLIC CAPITAL LETTER YA\n-    u'\\u0420'   #  0xF2 -> CYRILLIC CAPITAL LETTER ER\n-    u'\\u0421'   #  0xF3 -> CYRILLIC CAPITAL LETTER ES\n-    u'\\u0422'   #  0xF4 -> CYRILLIC CAPITAL LETTER TE\n-    u'\\u0423'   #  0xF5 -> CYRILLIC CAPITAL LETTER U\n-    u'\\u0416'   #  0xF6 -> CYRILLIC CAPITAL LETTER ZHE\n-    u'\\u0412'   #  0xF7 -> CYRILLIC CAPITAL LETTER VE\n-    u'\\u042c'   #  0xF8 -> CYRILLIC CAPITAL LETTER SOFT SIGN\n-    u'\\u042b'   #  0xF9 -> CYRILLIC CAPITAL LETTER YERU\n-    u'\\u0417'   #  0xFA -> CYRILLIC CAPITAL LETTER ZE\n-    u'\\u0428'   #  0xFB -> CYRILLIC CAPITAL LETTER SHA\n-    u'\\u042d'   #  0xFC -> CYRILLIC CAPITAL LETTER E\n-    u'\\u0429'   #  0xFD -> CYRILLIC CAPITAL LETTER SHCHA\n-    u'\\u0427'   #  0xFE -> CYRILLIC CAPITAL LETTER CHE\n-    u'\\u042a'   #  0xFF -> CYRILLIC CAPITAL LETTER HARD SIGN\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/koi8_r.pyc
b
Binary file test/lib/python2.7/encodings/koi8_r.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/koi8_u.py
--- a/test/lib/python2.7/encodings/koi8_u.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec koi8_u generated from \'python-mappings/KOI8-U.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'koi8-u\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL LETTER '..b"OUBLE\n-    u'\\u2568'   #  0xBA -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\n-    u'\\u2569'   #  0xBB -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL\n-    u'\\u256a'   #  0xBC -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\n-    u'\\u0490'   #  0xBD -> CYRILLIC CAPITAL LETTER UKRAINIAN GHE WITH UPTURN\n-    u'\\u256c'   #  0xBE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\n-    u'\\xa9'     #  0xBF -> COPYRIGHT SIGN\n-    u'\\u044e'   #  0xC0 -> CYRILLIC SMALL LETTER YU\n-    u'\\u0430'   #  0xC1 -> CYRILLIC SMALL LETTER A\n-    u'\\u0431'   #  0xC2 -> CYRILLIC SMALL LETTER BE\n-    u'\\u0446'   #  0xC3 -> CYRILLIC SMALL LETTER TSE\n-    u'\\u0434'   #  0xC4 -> CYRILLIC SMALL LETTER DE\n-    u'\\u0435'   #  0xC5 -> CYRILLIC SMALL LETTER IE\n-    u'\\u0444'   #  0xC6 -> CYRILLIC SMALL LETTER EF\n-    u'\\u0433'   #  0xC7 -> CYRILLIC SMALL LETTER GHE\n-    u'\\u0445'   #  0xC8 -> CYRILLIC SMALL LETTER HA\n-    u'\\u0438'   #  0xC9 -> CYRILLIC SMALL LETTER I\n-    u'\\u0439'   #  0xCA -> CYRILLIC SMALL LETTER SHORT I\n-    u'\\u043a'   #  0xCB -> CYRILLIC SMALL LETTER KA\n-    u'\\u043b'   #  0xCC -> CYRILLIC SMALL LETTER EL\n-    u'\\u043c'   #  0xCD -> CYRILLIC SMALL LETTER EM\n-    u'\\u043d'   #  0xCE -> CYRILLIC SMALL LETTER EN\n-    u'\\u043e'   #  0xCF -> CYRILLIC SMALL LETTER O\n-    u'\\u043f'   #  0xD0 -> CYRILLIC SMALL LETTER PE\n-    u'\\u044f'   #  0xD1 -> CYRILLIC SMALL LETTER YA\n-    u'\\u0440'   #  0xD2 -> CYRILLIC SMALL LETTER ER\n-    u'\\u0441'   #  0xD3 -> CYRILLIC SMALL LETTER ES\n-    u'\\u0442'   #  0xD4 -> CYRILLIC SMALL LETTER TE\n-    u'\\u0443'   #  0xD5 -> CYRILLIC SMALL LETTER U\n-    u'\\u0436'   #  0xD6 -> CYRILLIC SMALL LETTER ZHE\n-    u'\\u0432'   #  0xD7 -> CYRILLIC SMALL LETTER VE\n-    u'\\u044c'   #  0xD8 -> CYRILLIC SMALL LETTER SOFT SIGN\n-    u'\\u044b'   #  0xD9 -> CYRILLIC SMALL LETTER YERU\n-    u'\\u0437'   #  0xDA -> CYRILLIC SMALL LETTER ZE\n-    u'\\u0448'   #  0xDB -> CYRILLIC SMALL LETTER SHA\n-    u'\\u044d'   #  0xDC -> CYRILLIC SMALL LETTER E\n-    u'\\u0449'   #  0xDD -> CYRILLIC SMALL LETTER SHCHA\n-    u'\\u0447'   #  0xDE -> CYRILLIC SMALL LETTER CHE\n-    u'\\u044a'   #  0xDF -> CYRILLIC SMALL LETTER HARD SIGN\n-    u'\\u042e'   #  0xE0 -> CYRILLIC CAPITAL LETTER YU\n-    u'\\u0410'   #  0xE1 -> CYRILLIC CAPITAL LETTER A\n-    u'\\u0411'   #  0xE2 -> CYRILLIC CAPITAL LETTER BE\n-    u'\\u0426'   #  0xE3 -> CYRILLIC CAPITAL LETTER TSE\n-    u'\\u0414'   #  0xE4 -> CYRILLIC CAPITAL LETTER DE\n-    u'\\u0415'   #  0xE5 -> CYRILLIC CAPITAL LETTER IE\n-    u'\\u0424'   #  0xE6 -> CYRILLIC CAPITAL LETTER EF\n-    u'\\u0413'   #  0xE7 -> CYRILLIC CAPITAL LETTER GHE\n-    u'\\u0425'   #  0xE8 -> CYRILLIC CAPITAL LETTER HA\n-    u'\\u0418'   #  0xE9 -> CYRILLIC CAPITAL LETTER I\n-    u'\\u0419'   #  0xEA -> CYRILLIC CAPITAL LETTER SHORT I\n-    u'\\u041a'   #  0xEB -> CYRILLIC CAPITAL LETTER KA\n-    u'\\u041b'   #  0xEC -> CYRILLIC CAPITAL LETTER EL\n-    u'\\u041c'   #  0xED -> CYRILLIC CAPITAL LETTER EM\n-    u'\\u041d'   #  0xEE -> CYRILLIC CAPITAL LETTER EN\n-    u'\\u041e'   #  0xEF -> CYRILLIC CAPITAL LETTER O\n-    u'\\u041f'   #  0xF0 -> CYRILLIC CAPITAL LETTER PE\n-    u'\\u042f'   #  0xF1 -> CYRILLIC CAPITAL LETTER YA\n-    u'\\u0420'   #  0xF2 -> CYRILLIC CAPITAL LETTER ER\n-    u'\\u0421'   #  0xF3 -> CYRILLIC CAPITAL LETTER ES\n-    u'\\u0422'   #  0xF4 -> CYRILLIC CAPITAL LETTER TE\n-    u'\\u0423'   #  0xF5 -> CYRILLIC CAPITAL LETTER U\n-    u'\\u0416'   #  0xF6 -> CYRILLIC CAPITAL LETTER ZHE\n-    u'\\u0412'   #  0xF7 -> CYRILLIC CAPITAL LETTER VE\n-    u'\\u042c'   #  0xF8 -> CYRILLIC CAPITAL LETTER SOFT SIGN\n-    u'\\u042b'   #  0xF9 -> CYRILLIC CAPITAL LETTER YERU\n-    u'\\u0417'   #  0xFA -> CYRILLIC CAPITAL LETTER ZE\n-    u'\\u0428'   #  0xFB -> CYRILLIC CAPITAL LETTER SHA\n-    u'\\u042d'   #  0xFC -> CYRILLIC CAPITAL LETTER E\n-    u'\\u0429'   #  0xFD -> CYRILLIC CAPITAL LETTER SHCHA\n-    u'\\u0427'   #  0xFE -> CYRILLIC CAPITAL LETTER CHE\n-    u'\\u042a'   #  0xFF -> CYRILLIC CAPITAL LETTER HARD SIGN\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/koi8_u.pyc
b
Binary file test/lib/python2.7/encodings/koi8_u.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/latin_1.py
--- a/test/lib/python2.7/encodings/latin_1.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,50 +0,0 @@
-""" Python 'latin-1' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    # Note: Binding these as C functions will result in the class not
-    # converting them to methods. This is intended.
-    encode = codecs.latin_1_encode
-    decode = codecs.latin_1_decode
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.latin_1_encode(input,self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.latin_1_decode(input,self.errors)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-class StreamConverter(StreamWriter,StreamReader):
-
-    encode = codecs.latin_1_decode
-    decode = codecs.latin_1_encode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='iso8859-1',
-        encode=Codec.encode,
-        decode=Codec.decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/latin_1.pyc
b
Binary file test/lib/python2.7/encodings/latin_1.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_arabic.py
--- a/test/lib/python2.7/encodings/mac_arabic.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,698 +0,0 @@\n-""" Python Character Mapping Codec generated from \'VENDORS/APPLE/ARABIC.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-arabic\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-    0x0080: 0x00c4,     #  LATIN CAPITAL LETTER A WITH DIAERESIS\n-    0x0081: 0x00a0,     #  NO-BREAK SPACE, right-left\n-    0x0082: 0x00c7,     #  LATIN CAPITAL LETTER C WITH CEDILLA\n-    0x0083: 0x00c9,     #  LATIN CAPITAL LETTER E WITH ACUTE\n-    0x0084: 0x00d1,     #  LATIN CAPITAL LETTER N WITH TILDE\n-    0x0085: 0x00d6,     #  LATIN CAPITAL LETTER O WITH DIAERESIS\n-    0x0086: 0x00dc,     #  LATIN CAPITAL LETTER U WITH DIAERESIS\n-    0x0087: 0x00e1,     #  LATIN SMALL LETTER A WITH ACUTE\n-    0x0088: 0x00e0,     #  LATIN SMALL LETTER A WITH GRAVE\n-    0x0089: 0x00e2,     #  LATIN SMALL LETTER A WITH CIRCUMFLEX\n-    0x008a: 0x00e4,     #  LATIN SMALL LETTER A WITH DIAERESIS\n-    0x008b: 0x06ba,     #  ARABIC LETTER NOON GHUNNA\n-    0x008c: 0x00ab,     #  LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left\n-    0x008d: 0x00e7,     #  LATIN SMALL LETTER C WITH CEDILLA\n-    0x008e: 0x00e9,     #  LATIN SMALL LETTER E WITH ACUTE\n-    0x008f: 0x00e8,     #  LATIN SMALL LETTER E WITH GRAVE\n-    0x0090: 0x00ea,     #  LATIN SMALL LETTER E WITH CIRCUMFLEX\n-    0x0091: 0x00eb,     #  LATIN SMALL LETTER E WITH DIAERESIS\n-    0x0092: 0x00ed,     #  LATIN SMALL LETTER I WITH ACUTE\n-    0x0093: 0x2026,     #  HORIZONTAL ELLIPSIS, right-left\n-    0x0094: 0x00ee,     #  LATIN SMALL LETTER I WITH CIRCUMFLEX\n-    0x0095: 0x00ef,     #  LATIN SMALL LETTER I WITH DIAERESIS\n-    0x0096: 0x00f1,     #  LATIN SMALL LETTER N WITH TILDE\n-    0x0097: 0x00f3,     #  LATIN SMALL LETTER O WITH ACUTE\n-    0x0098: 0x00bb,     #  RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left\n-    0x0099: 0x00f4,     #  LATIN SMALL LETTER O WITH CIRCUMFLEX\n-    0x009a: 0x00f6,     #  LATIN SMALL LETTER O WITH DIAERESIS\n-    0x009b: 0x00f7,     #  DIVISION SIGN, right-left\n-    0x009c: 0x00fa,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x009d: 0x00f9,     #  LATIN SMALL LETTER U WITH GRAVE\n-    0x009e: 0x00fb,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x009f: 0x00fc,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x00a0: 0x0020,     #  SPACE, right-left\n-    0x00a1: 0x0021,     #  EXCLAMATION MARK, right-left\n-    0x00a2: 0x0022,     #  QUOTATION MARK, right-left\n-    0x00a3: 0x0023,     #  NUMBER SIGN, right-left\n-    0x00a4: 0x0024,     #  DOLLAR SIGN, right-left\n-    0x00a5: 0x066a,     #  ARABIC PERCENT SIGN\n-    0x00a6: 0x0026,     #  AMPERSAND, right-left\n-    0x00a7: 0x0027,     #  APOSTROPHE, right-left\n-    0x00a8: 0x0028,     #  LEFT PARENTHESIS, right-left\n-    0x00a9: 0x0029,     #  RIGHT PARENTHESIS, right-left\n-    0x00aa: 0x002a,     #  ASTERISK, right-left\n-    0x00ab: 0x002b,     #  PLUS SIGN, right-left\n-    0x00ac: 0x060c,     # '..b'\n-    0x00fa: 0x009c,     #  LATIN SMALL LETTER U WITH ACUTE\n-    0x00fb: 0x009e,     #  LATIN SMALL LETTER U WITH CIRCUMFLEX\n-    0x00fc: 0x009f,     #  LATIN SMALL LETTER U WITH DIAERESIS\n-    0x060c: 0x00ac,     #  ARABIC COMMA\n-    0x061b: 0x00bb,     #  ARABIC SEMICOLON\n-    0x061f: 0x00bf,     #  ARABIC QUESTION MARK\n-    0x0621: 0x00c1,     #  ARABIC LETTER HAMZA\n-    0x0622: 0x00c2,     #  ARABIC LETTER ALEF WITH MADDA ABOVE\n-    0x0623: 0x00c3,     #  ARABIC LETTER ALEF WITH HAMZA ABOVE\n-    0x0624: 0x00c4,     #  ARABIC LETTER WAW WITH HAMZA ABOVE\n-    0x0625: 0x00c5,     #  ARABIC LETTER ALEF WITH HAMZA BELOW\n-    0x0626: 0x00c6,     #  ARABIC LETTER YEH WITH HAMZA ABOVE\n-    0x0627: 0x00c7,     #  ARABIC LETTER ALEF\n-    0x0628: 0x00c8,     #  ARABIC LETTER BEH\n-    0x0629: 0x00c9,     #  ARABIC LETTER TEH MARBUTA\n-    0x062a: 0x00ca,     #  ARABIC LETTER TEH\n-    0x062b: 0x00cb,     #  ARABIC LETTER THEH\n-    0x062c: 0x00cc,     #  ARABIC LETTER JEEM\n-    0x062d: 0x00cd,     #  ARABIC LETTER HAH\n-    0x062e: 0x00ce,     #  ARABIC LETTER KHAH\n-    0x062f: 0x00cf,     #  ARABIC LETTER DAL\n-    0x0630: 0x00d0,     #  ARABIC LETTER THAL\n-    0x0631: 0x00d1,     #  ARABIC LETTER REH\n-    0x0632: 0x00d2,     #  ARABIC LETTER ZAIN\n-    0x0633: 0x00d3,     #  ARABIC LETTER SEEN\n-    0x0634: 0x00d4,     #  ARABIC LETTER SHEEN\n-    0x0635: 0x00d5,     #  ARABIC LETTER SAD\n-    0x0636: 0x00d6,     #  ARABIC LETTER DAD\n-    0x0637: 0x00d7,     #  ARABIC LETTER TAH\n-    0x0638: 0x00d8,     #  ARABIC LETTER ZAH\n-    0x0639: 0x00d9,     #  ARABIC LETTER AIN\n-    0x063a: 0x00da,     #  ARABIC LETTER GHAIN\n-    0x0640: 0x00e0,     #  ARABIC TATWEEL\n-    0x0641: 0x00e1,     #  ARABIC LETTER FEH\n-    0x0642: 0x00e2,     #  ARABIC LETTER QAF\n-    0x0643: 0x00e3,     #  ARABIC LETTER KAF\n-    0x0644: 0x00e4,     #  ARABIC LETTER LAM\n-    0x0645: 0x00e5,     #  ARABIC LETTER MEEM\n-    0x0646: 0x00e6,     #  ARABIC LETTER NOON\n-    0x0647: 0x00e7,     #  ARABIC LETTER HEH\n-    0x0648: 0x00e8,     #  ARABIC LETTER WAW\n-    0x0649: 0x00e9,     #  ARABIC LETTER ALEF MAKSURA\n-    0x064a: 0x00ea,     #  ARABIC LETTER YEH\n-    0x064b: 0x00eb,     #  ARABIC FATHATAN\n-    0x064c: 0x00ec,     #  ARABIC DAMMATAN\n-    0x064d: 0x00ed,     #  ARABIC KASRATAN\n-    0x064e: 0x00ee,     #  ARABIC FATHA\n-    0x064f: 0x00ef,     #  ARABIC DAMMA\n-    0x0650: 0x00f0,     #  ARABIC KASRA\n-    0x0651: 0x00f1,     #  ARABIC SHADDA\n-    0x0652: 0x00f2,     #  ARABIC SUKUN\n-    0x0660: 0x00b0,     #  ARABIC-INDIC DIGIT ZERO, right-left (need override)\n-    0x0661: 0x00b1,     #  ARABIC-INDIC DIGIT ONE, right-left (need override)\n-    0x0662: 0x00b2,     #  ARABIC-INDIC DIGIT TWO, right-left (need override)\n-    0x0663: 0x00b3,     #  ARABIC-INDIC DIGIT THREE, right-left (need override)\n-    0x0664: 0x00b4,     #  ARABIC-INDIC DIGIT FOUR, right-left (need override)\n-    0x0665: 0x00b5,     #  ARABIC-INDIC DIGIT FIVE, right-left (need override)\n-    0x0666: 0x00b6,     #  ARABIC-INDIC DIGIT SIX, right-left (need override)\n-    0x0667: 0x00b7,     #  ARABIC-INDIC DIGIT SEVEN, right-left (need override)\n-    0x0668: 0x00b8,     #  ARABIC-INDIC DIGIT EIGHT, right-left (need override)\n-    0x0669: 0x00b9,     #  ARABIC-INDIC DIGIT NINE, right-left (need override)\n-    0x066a: 0x00a5,     #  ARABIC PERCENT SIGN\n-    0x0679: 0x00f4,     #  ARABIC LETTER TTEH\n-    0x067e: 0x00f3,     #  ARABIC LETTER PEH\n-    0x0686: 0x00f5,     #  ARABIC LETTER TCHEH\n-    0x0688: 0x00f9,     #  ARABIC LETTER DDAL\n-    0x0691: 0x00fa,     #  ARABIC LETTER RREH\n-    0x0698: 0x00fe,     #  ARABIC LETTER JEH\n-    0x06a4: 0x00f7,     #  ARABIC LETTER VEH\n-    0x06af: 0x00f8,     #  ARABIC LETTER GAF\n-    0x06ba: 0x008b,     #  ARABIC LETTER NOON GHUNNA\n-    0x06d2: 0x00ff,     #  ARABIC LETTER YEH BARREE\n-    0x06d5: 0x00f6,     #  ARABIC LETTER AE\n-    0x2026: 0x0093,     #  HORIZONTAL ELLIPSIS, right-left\n-    0x274a: 0x00c0,     #  EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left\n-}\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_arabic.pyc
b
Binary file test/lib/python2.7/encodings/mac_arabic.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_centeuro.py
--- a/test/lib/python2.7/encodings/mac_centeuro.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_centeuro generated from \'MAPPINGS/VENDORS/APPLE/CENTEURO.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-centeuro\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIG'..b"ATIN CAPITAL LETTER L WITH ACUTE\n-    u'\\u013a'   #  0xBE -> LATIN SMALL LETTER L WITH ACUTE\n-    u'\\u0145'   #  0xBF -> LATIN CAPITAL LETTER N WITH CEDILLA\n-    u'\\u0146'   #  0xC0 -> LATIN SMALL LETTER N WITH CEDILLA\n-    u'\\u0143'   #  0xC1 -> LATIN CAPITAL LETTER N WITH ACUTE\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u221a'   #  0xC3 -> SQUARE ROOT\n-    u'\\u0144'   #  0xC4 -> LATIN SMALL LETTER N WITH ACUTE\n-    u'\\u0147'   #  0xC5 -> LATIN CAPITAL LETTER N WITH CARON\n-    u'\\u2206'   #  0xC6 -> INCREMENT\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\u0148'   #  0xCB -> LATIN SMALL LETTER N WITH CARON\n-    u'\\u0150'   #  0xCC -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n-    u'\\xd5'     #  0xCD -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\u0151'   #  0xCE -> LATIN SMALL LETTER O WITH DOUBLE ACUTE\n-    u'\\u014c'   #  0xCF -> LATIN CAPITAL LETTER O WITH MACRON\n-    u'\\u2013'   #  0xD0 -> EN DASH\n-    u'\\u2014'   #  0xD1 -> EM DASH\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u25ca'   #  0xD7 -> LOZENGE\n-    u'\\u014d'   #  0xD8 -> LATIN SMALL LETTER O WITH MACRON\n-    u'\\u0154'   #  0xD9 -> LATIN CAPITAL LETTER R WITH ACUTE\n-    u'\\u0155'   #  0xDA -> LATIN SMALL LETTER R WITH ACUTE\n-    u'\\u0158'   #  0xDB -> LATIN CAPITAL LETTER R WITH CARON\n-    u'\\u2039'   #  0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK\n-    u'\\u203a'   #  0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\n-    u'\\u0159'   #  0xDE -> LATIN SMALL LETTER R WITH CARON\n-    u'\\u0156'   #  0xDF -> LATIN CAPITAL LETTER R WITH CEDILLA\n-    u'\\u0157'   #  0xE0 -> LATIN SMALL LETTER R WITH CEDILLA\n-    u'\\u0160'   #  0xE1 -> LATIN CAPITAL LETTER S WITH CARON\n-    u'\\u201a'   #  0xE2 -> SINGLE LOW-9 QUOTATION MARK\n-    u'\\u201e'   #  0xE3 -> DOUBLE LOW-9 QUOTATION MARK\n-    u'\\u0161'   #  0xE4 -> LATIN SMALL LETTER S WITH CARON\n-    u'\\u015a'   #  0xE5 -> LATIN CAPITAL LETTER S WITH ACUTE\n-    u'\\u015b'   #  0xE6 -> LATIN SMALL LETTER S WITH ACUTE\n-    u'\\xc1'     #  0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\u0164'   #  0xE8 -> LATIN CAPITAL LETTER T WITH CARON\n-    u'\\u0165'   #  0xE9 -> LATIN SMALL LETTER T WITH CARON\n-    u'\\xcd'     #  0xEA -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\u017d'   #  0xEB -> LATIN CAPITAL LETTER Z WITH CARON\n-    u'\\u017e'   #  0xEC -> LATIN SMALL LETTER Z WITH CARON\n-    u'\\u016a'   #  0xED -> LATIN CAPITAL LETTER U WITH MACRON\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\u016b'   #  0xF0 -> LATIN SMALL LETTER U WITH MACRON\n-    u'\\u016e'   #  0xF1 -> LATIN CAPITAL LETTER U WITH RING ABOVE\n-    u'\\xda'     #  0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\u016f'   #  0xF3 -> LATIN SMALL LETTER U WITH RING ABOVE\n-    u'\\u0170'   #  0xF4 -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\n-    u'\\u0171'   #  0xF5 -> LATIN SMALL LETTER U WITH DOUBLE ACUTE\n-    u'\\u0172'   #  0xF6 -> LATIN CAPITAL LETTER U WITH OGONEK\n-    u'\\u0173'   #  0xF7 -> LATIN SMALL LETTER U WITH OGONEK\n-    u'\\xdd'     #  0xF8 -> LATIN CAPITAL LETTER Y WITH ACUTE\n-    u'\\xfd'     #  0xF9 -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\u0137'   #  0xFA -> LATIN SMALL LETTER K WITH CEDILLA\n-    u'\\u017b'   #  0xFB -> LATIN CAPITAL LETTER Z WITH DOT ABOVE\n-    u'\\u0141'   #  0xFC -> LATIN CAPITAL LETTER L WITH STROKE\n-    u'\\u017c'   #  0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE\n-    u'\\u0122'   #  0xFE -> LATIN CAPITAL LETTER G WITH CEDILLA\n-    u'\\u02c7'   #  0xFF -> CARON\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_centeuro.pyc
b
Binary file test/lib/python2.7/encodings/mac_centeuro.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_croatian.py
--- a/test/lib/python2.7/encodings/mac_croatian.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_croatian generated from \'MAPPINGS/VENDORS/APPLE/CROATIAN.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-croatian\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIG'..b"   #  0xB7 -> N-ARY SUMMATION\n-    u'\\u220f'   #  0xB8 -> N-ARY PRODUCT\n-    u'\\u0161'   #  0xB9 -> LATIN SMALL LETTER S WITH CARON\n-    u'\\u222b'   #  0xBA -> INTEGRAL\n-    u'\\xaa'     #  0xBB -> FEMININE ORDINAL INDICATOR\n-    u'\\xba'     #  0xBC -> MASCULINE ORDINAL INDICATOR\n-    u'\\u03a9'   #  0xBD -> GREEK CAPITAL LETTER OMEGA\n-    u'\\u017e'   #  0xBE -> LATIN SMALL LETTER Z WITH CARON\n-    u'\\xf8'     #  0xBF -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xbf'     #  0xC0 -> INVERTED QUESTION MARK\n-    u'\\xa1'     #  0xC1 -> INVERTED EXCLAMATION MARK\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u221a'   #  0xC3 -> SQUARE ROOT\n-    u'\\u0192'   #  0xC4 -> LATIN SMALL LETTER F WITH HOOK\n-    u'\\u2248'   #  0xC5 -> ALMOST EQUAL TO\n-    u'\\u0106'   #  0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u010c'   #  0xC8 -> LATIN CAPITAL LETTER C WITH CARON\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\xc0'     #  0xCB -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc3'     #  0xCC -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xd5'     #  0xCD -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\u0152'   #  0xCE -> LATIN CAPITAL LIGATURE OE\n-    u'\\u0153'   #  0xCF -> LATIN SMALL LIGATURE OE\n-    u'\\u0110'   #  0xD0 -> LATIN CAPITAL LETTER D WITH STROKE\n-    u'\\u2014'   #  0xD1 -> EM DASH\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u25ca'   #  0xD7 -> LOZENGE\n-    u'\\uf8ff'   #  0xD8 -> Apple logo\n-    u'\\xa9'     #  0xD9 -> COPYRIGHT SIGN\n-    u'\\u2044'   #  0xDA -> FRACTION SLASH\n-    u'\\u20ac'   #  0xDB -> EURO SIGN\n-    u'\\u2039'   #  0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK\n-    u'\\u203a'   #  0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\n-    u'\\xc6'     #  0xDE -> LATIN CAPITAL LETTER AE\n-    u'\\xbb'     #  0xDF -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2013'   #  0xE0 -> EN DASH\n-    u'\\xb7'     #  0xE1 -> MIDDLE DOT\n-    u'\\u201a'   #  0xE2 -> SINGLE LOW-9 QUOTATION MARK\n-    u'\\u201e'   #  0xE3 -> DOUBLE LOW-9 QUOTATION MARK\n-    u'\\u2030'   #  0xE4 -> PER MILLE SIGN\n-    u'\\xc2'     #  0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\u0107'   #  0xE6 -> LATIN SMALL LETTER C WITH ACUTE\n-    u'\\xc1'     #  0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\u010d'   #  0xE8 -> LATIN SMALL LETTER C WITH CARON\n-    u'\\xc8'     #  0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xcd'     #  0xEA -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xcc'     #  0xED -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\u0111'   #  0xF0 -> LATIN SMALL LETTER D WITH STROKE\n-    u'\\xd2'     #  0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xda'     #  0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xd9'     #  0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\u0131'   #  0xF5 -> LATIN SMALL LETTER DOTLESS I\n-    u'\\u02c6'   #  0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT\n-    u'\\u02dc'   #  0xF7 -> SMALL TILDE\n-    u'\\xaf'     #  0xF8 -> MACRON\n-    u'\\u03c0'   #  0xF9 -> GREEK SMALL LETTER PI\n-    u'\\xcb'     #  0xFA -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\u02da'   #  0xFB -> RING ABOVE\n-    u'\\xb8'     #  0xFC -> CEDILLA\n-    u'\\xca'     #  0xFD -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xe6'     #  0xFE -> LATIN SMALL LETTER AE\n-    u'\\u02c7'   #  0xFF -> CARON\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_croatian.pyc
b
Binary file test/lib/python2.7/encodings/mac_croatian.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_cyrillic.py
--- a/test/lib/python2.7/encodings/mac_cyrillic.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_cyrillic generated from \'MAPPINGS/VENDORS/APPLE/CYRILLIC.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-cyrillic\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIG'..b" 0xB6 -> CYRILLIC SMALL LETTER GHE WITH UPTURN\n-    u'\\u0408'   #  0xB7 -> CYRILLIC CAPITAL LETTER JE\n-    u'\\u0404'   #  0xB8 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE\n-    u'\\u0454'   #  0xB9 -> CYRILLIC SMALL LETTER UKRAINIAN IE\n-    u'\\u0407'   #  0xBA -> CYRILLIC CAPITAL LETTER YI\n-    u'\\u0457'   #  0xBB -> CYRILLIC SMALL LETTER YI\n-    u'\\u0409'   #  0xBC -> CYRILLIC CAPITAL LETTER LJE\n-    u'\\u0459'   #  0xBD -> CYRILLIC SMALL LETTER LJE\n-    u'\\u040a'   #  0xBE -> CYRILLIC CAPITAL LETTER NJE\n-    u'\\u045a'   #  0xBF -> CYRILLIC SMALL LETTER NJE\n-    u'\\u0458'   #  0xC0 -> CYRILLIC SMALL LETTER JE\n-    u'\\u0405'   #  0xC1 -> CYRILLIC CAPITAL LETTER DZE\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u221a'   #  0xC3 -> SQUARE ROOT\n-    u'\\u0192'   #  0xC4 -> LATIN SMALL LETTER F WITH HOOK\n-    u'\\u2248'   #  0xC5 -> ALMOST EQUAL TO\n-    u'\\u2206'   #  0xC6 -> INCREMENT\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\u040b'   #  0xCB -> CYRILLIC CAPITAL LETTER TSHE\n-    u'\\u045b'   #  0xCC -> CYRILLIC SMALL LETTER TSHE\n-    u'\\u040c'   #  0xCD -> CYRILLIC CAPITAL LETTER KJE\n-    u'\\u045c'   #  0xCE -> CYRILLIC SMALL LETTER KJE\n-    u'\\u0455'   #  0xCF -> CYRILLIC SMALL LETTER DZE\n-    u'\\u2013'   #  0xD0 -> EN DASH\n-    u'\\u2014'   #  0xD1 -> EM DASH\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u201e'   #  0xD7 -> DOUBLE LOW-9 QUOTATION MARK\n-    u'\\u040e'   #  0xD8 -> CYRILLIC CAPITAL LETTER SHORT U\n-    u'\\u045e'   #  0xD9 -> CYRILLIC SMALL LETTER SHORT U\n-    u'\\u040f'   #  0xDA -> CYRILLIC CAPITAL LETTER DZHE\n-    u'\\u045f'   #  0xDB -> CYRILLIC SMALL LETTER DZHE\n-    u'\\u2116'   #  0xDC -> NUMERO SIGN\n-    u'\\u0401'   #  0xDD -> CYRILLIC CAPITAL LETTER IO\n-    u'\\u0451'   #  0xDE -> CYRILLIC SMALL LETTER IO\n-    u'\\u044f'   #  0xDF -> CYRILLIC SMALL LETTER YA\n-    u'\\u0430'   #  0xE0 -> CYRILLIC SMALL LETTER A\n-    u'\\u0431'   #  0xE1 -> CYRILLIC SMALL LETTER BE\n-    u'\\u0432'   #  0xE2 -> CYRILLIC SMALL LETTER VE\n-    u'\\u0433'   #  0xE3 -> CYRILLIC SMALL LETTER GHE\n-    u'\\u0434'   #  0xE4 -> CYRILLIC SMALL LETTER DE\n-    u'\\u0435'   #  0xE5 -> CYRILLIC SMALL LETTER IE\n-    u'\\u0436'   #  0xE6 -> CYRILLIC SMALL LETTER ZHE\n-    u'\\u0437'   #  0xE7 -> CYRILLIC SMALL LETTER ZE\n-    u'\\u0438'   #  0xE8 -> CYRILLIC SMALL LETTER I\n-    u'\\u0439'   #  0xE9 -> CYRILLIC SMALL LETTER SHORT I\n-    u'\\u043a'   #  0xEA -> CYRILLIC SMALL LETTER KA\n-    u'\\u043b'   #  0xEB -> CYRILLIC SMALL LETTER EL\n-    u'\\u043c'   #  0xEC -> CYRILLIC SMALL LETTER EM\n-    u'\\u043d'   #  0xED -> CYRILLIC SMALL LETTER EN\n-    u'\\u043e'   #  0xEE -> CYRILLIC SMALL LETTER O\n-    u'\\u043f'   #  0xEF -> CYRILLIC SMALL LETTER PE\n-    u'\\u0440'   #  0xF0 -> CYRILLIC SMALL LETTER ER\n-    u'\\u0441'   #  0xF1 -> CYRILLIC SMALL LETTER ES\n-    u'\\u0442'   #  0xF2 -> CYRILLIC SMALL LETTER TE\n-    u'\\u0443'   #  0xF3 -> CYRILLIC SMALL LETTER U\n-    u'\\u0444'   #  0xF4 -> CYRILLIC SMALL LETTER EF\n-    u'\\u0445'   #  0xF5 -> CYRILLIC SMALL LETTER HA\n-    u'\\u0446'   #  0xF6 -> CYRILLIC SMALL LETTER TSE\n-    u'\\u0447'   #  0xF7 -> CYRILLIC SMALL LETTER CHE\n-    u'\\u0448'   #  0xF8 -> CYRILLIC SMALL LETTER SHA\n-    u'\\u0449'   #  0xF9 -> CYRILLIC SMALL LETTER SHCHA\n-    u'\\u044a'   #  0xFA -> CYRILLIC SMALL LETTER HARD SIGN\n-    u'\\u044b'   #  0xFB -> CYRILLIC SMALL LETTER YERU\n-    u'\\u044c'   #  0xFC -> CYRILLIC SMALL LETTER SOFT SIGN\n-    u'\\u044d'   #  0xFD -> CYRILLIC SMALL LETTER E\n-    u'\\u044e'   #  0xFE -> CYRILLIC SMALL LETTER YU\n-    u'\\u20ac'   #  0xFF -> EURO SIGN\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_cyrillic.pyc
b
Binary file test/lib/python2.7/encodings/mac_cyrillic.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_farsi.py
--- a/test/lib/python2.7/encodings/mac_farsi.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_farsi generated from \'MAPPINGS/VENDORS/APPLE/FARSI.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-farsi\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE, left-right\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK, left-right\n-    u\'"\'        #  0x22 -> QUOTATION MARK, left-right\n-    u\'#\'        #  0x23 -> NUMBER SIGN, left-right\n-    u\'$\'        #  0x24 -> DOLLAR SIGN, left-right\n-    u\'%\'        #  0x25 -> PERCENT SIGN, left-right\n-    u\'&\'        #  0x26 -> AMPERSAND, left-right\n-    u"\'"        #  0x27 -> APOSTROPHE, left-right\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS, left-right\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS, left-right\n-    u\'*\'        #  0x2A -> ASTERISK, left-right\n-    u\'+\'        #  0x2B -> PLUS SIGN, left-right\n-    u\',\'        #  0x2C -> COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS, left-right\n-    u\'.\'        #  0x2E -> FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR\n-    u\'/\'        #  0x2F -> SOLIDUS, left-right\n-    u\'0\'        #  0x30 -> DIGIT ZERO;  in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE;   in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE\n-    u\'2\'        #  0'..b"de)\n-    u'\\u06f5'   #  0xB5 -> EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)\n-    u'\\u06f6'   #  0xB6 -> EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)\n-    u'\\u06f7'   #  0xB7 -> EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)\n-    u'\\u06f8'   #  0xB8 -> EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)\n-    u'\\u06f9'   #  0xB9 -> EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)\n-    u':'        #  0xBA -> COLON, right-left\n-    u'\\u061b'   #  0xBB -> ARABIC SEMICOLON\n-    u'<'        #  0xBC -> LESS-THAN SIGN, right-left\n-    u'='        #  0xBD -> EQUALS SIGN, right-left\n-    u'>'        #  0xBE -> GREATER-THAN SIGN, right-left\n-    u'\\u061f'   #  0xBF -> ARABIC QUESTION MARK\n-    u'\\u274a'   #  0xC0 -> EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left\n-    u'\\u0621'   #  0xC1 -> ARABIC LETTER HAMZA\n-    u'\\u0622'   #  0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE\n-    u'\\u0623'   #  0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE\n-    u'\\u0624'   #  0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE\n-    u'\\u0625'   #  0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW\n-    u'\\u0626'   #  0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE\n-    u'\\u0627'   #  0xC7 -> ARABIC LETTER ALEF\n-    u'\\u0628'   #  0xC8 -> ARABIC LETTER BEH\n-    u'\\u0629'   #  0xC9 -> ARABIC LETTER TEH MARBUTA\n-    u'\\u062a'   #  0xCA -> ARABIC LETTER TEH\n-    u'\\u062b'   #  0xCB -> ARABIC LETTER THEH\n-    u'\\u062c'   #  0xCC -> ARABIC LETTER JEEM\n-    u'\\u062d'   #  0xCD -> ARABIC LETTER HAH\n-    u'\\u062e'   #  0xCE -> ARABIC LETTER KHAH\n-    u'\\u062f'   #  0xCF -> ARABIC LETTER DAL\n-    u'\\u0630'   #  0xD0 -> ARABIC LETTER THAL\n-    u'\\u0631'   #  0xD1 -> ARABIC LETTER REH\n-    u'\\u0632'   #  0xD2 -> ARABIC LETTER ZAIN\n-    u'\\u0633'   #  0xD3 -> ARABIC LETTER SEEN\n-    u'\\u0634'   #  0xD4 -> ARABIC LETTER SHEEN\n-    u'\\u0635'   #  0xD5 -> ARABIC LETTER SAD\n-    u'\\u0636'   #  0xD6 -> ARABIC LETTER DAD\n-    u'\\u0637'   #  0xD7 -> ARABIC LETTER TAH\n-    u'\\u0638'   #  0xD8 -> ARABIC LETTER ZAH\n-    u'\\u0639'   #  0xD9 -> ARABIC LETTER AIN\n-    u'\\u063a'   #  0xDA -> ARABIC LETTER GHAIN\n-    u'['        #  0xDB -> LEFT SQUARE BRACKET, right-left\n-    u'\\\\'       #  0xDC -> REVERSE SOLIDUS, right-left\n-    u']'        #  0xDD -> RIGHT SQUARE BRACKET, right-left\n-    u'^'        #  0xDE -> CIRCUMFLEX ACCENT, right-left\n-    u'_'        #  0xDF -> LOW LINE, right-left\n-    u'\\u0640'   #  0xE0 -> ARABIC TATWEEL\n-    u'\\u0641'   #  0xE1 -> ARABIC LETTER FEH\n-    u'\\u0642'   #  0xE2 -> ARABIC LETTER QAF\n-    u'\\u0643'   #  0xE3 -> ARABIC LETTER KAF\n-    u'\\u0644'   #  0xE4 -> ARABIC LETTER LAM\n-    u'\\u0645'   #  0xE5 -> ARABIC LETTER MEEM\n-    u'\\u0646'   #  0xE6 -> ARABIC LETTER NOON\n-    u'\\u0647'   #  0xE7 -> ARABIC LETTER HEH\n-    u'\\u0648'   #  0xE8 -> ARABIC LETTER WAW\n-    u'\\u0649'   #  0xE9 -> ARABIC LETTER ALEF MAKSURA\n-    u'\\u064a'   #  0xEA -> ARABIC LETTER YEH\n-    u'\\u064b'   #  0xEB -> ARABIC FATHATAN\n-    u'\\u064c'   #  0xEC -> ARABIC DAMMATAN\n-    u'\\u064d'   #  0xED -> ARABIC KASRATAN\n-    u'\\u064e'   #  0xEE -> ARABIC FATHA\n-    u'\\u064f'   #  0xEF -> ARABIC DAMMA\n-    u'\\u0650'   #  0xF0 -> ARABIC KASRA\n-    u'\\u0651'   #  0xF1 -> ARABIC SHADDA\n-    u'\\u0652'   #  0xF2 -> ARABIC SUKUN\n-    u'\\u067e'   #  0xF3 -> ARABIC LETTER PEH\n-    u'\\u0679'   #  0xF4 -> ARABIC LETTER TTEH\n-    u'\\u0686'   #  0xF5 -> ARABIC LETTER TCHEH\n-    u'\\u06d5'   #  0xF6 -> ARABIC LETTER AE\n-    u'\\u06a4'   #  0xF7 -> ARABIC LETTER VEH\n-    u'\\u06af'   #  0xF8 -> ARABIC LETTER GAF\n-    u'\\u0688'   #  0xF9 -> ARABIC LETTER DDAL\n-    u'\\u0691'   #  0xFA -> ARABIC LETTER RREH\n-    u'{'        #  0xFB -> LEFT CURLY BRACKET, right-left\n-    u'|'        #  0xFC -> VERTICAL LINE, right-left\n-    u'}'        #  0xFD -> RIGHT CURLY BRACKET, right-left\n-    u'\\u0698'   #  0xFE -> ARABIC LETTER JEH\n-    u'\\u06d2'   #  0xFF -> ARABIC LETTER YEH BARREE\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_farsi.pyc
b
Binary file test/lib/python2.7/encodings/mac_farsi.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_greek.py
--- a/test/lib/python2.7/encodings/mac_greek.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_greek generated from \'MAPPINGS/VENDORS/APPLE/GREEK.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-greek\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\''..b"KAPPA\n-    u'\\u039c'   #  0xBB -> GREEK CAPITAL LETTER MU\n-    u'\\u03a6'   #  0xBC -> GREEK CAPITAL LETTER PHI\n-    u'\\u03ab'   #  0xBD -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA\n-    u'\\u03a8'   #  0xBE -> GREEK CAPITAL LETTER PSI\n-    u'\\u03a9'   #  0xBF -> GREEK CAPITAL LETTER OMEGA\n-    u'\\u03ac'   #  0xC0 -> GREEK SMALL LETTER ALPHA WITH TONOS\n-    u'\\u039d'   #  0xC1 -> GREEK CAPITAL LETTER NU\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u039f'   #  0xC3 -> GREEK CAPITAL LETTER OMICRON\n-    u'\\u03a1'   #  0xC4 -> GREEK CAPITAL LETTER RHO\n-    u'\\u2248'   #  0xC5 -> ALMOST EQUAL TO\n-    u'\\u03a4'   #  0xC6 -> GREEK CAPITAL LETTER TAU\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\u03a5'   #  0xCB -> GREEK CAPITAL LETTER UPSILON\n-    u'\\u03a7'   #  0xCC -> GREEK CAPITAL LETTER CHI\n-    u'\\u0386'   #  0xCD -> GREEK CAPITAL LETTER ALPHA WITH TONOS\n-    u'\\u0388'   #  0xCE -> GREEK CAPITAL LETTER EPSILON WITH TONOS\n-    u'\\u0153'   #  0xCF -> LATIN SMALL LIGATURE OE\n-    u'\\u2013'   #  0xD0 -> EN DASH\n-    u'\\u2015'   #  0xD1 -> HORIZONTAL BAR\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u0389'   #  0xD7 -> GREEK CAPITAL LETTER ETA WITH TONOS\n-    u'\\u038a'   #  0xD8 -> GREEK CAPITAL LETTER IOTA WITH TONOS\n-    u'\\u038c'   #  0xD9 -> GREEK CAPITAL LETTER OMICRON WITH TONOS\n-    u'\\u038e'   #  0xDA -> GREEK CAPITAL LETTER UPSILON WITH TONOS\n-    u'\\u03ad'   #  0xDB -> GREEK SMALL LETTER EPSILON WITH TONOS\n-    u'\\u03ae'   #  0xDC -> GREEK SMALL LETTER ETA WITH TONOS\n-    u'\\u03af'   #  0xDD -> GREEK SMALL LETTER IOTA WITH TONOS\n-    u'\\u03cc'   #  0xDE -> GREEK SMALL LETTER OMICRON WITH TONOS\n-    u'\\u038f'   #  0xDF -> GREEK CAPITAL LETTER OMEGA WITH TONOS\n-    u'\\u03cd'   #  0xE0 -> GREEK SMALL LETTER UPSILON WITH TONOS\n-    u'\\u03b1'   #  0xE1 -> GREEK SMALL LETTER ALPHA\n-    u'\\u03b2'   #  0xE2 -> GREEK SMALL LETTER BETA\n-    u'\\u03c8'   #  0xE3 -> GREEK SMALL LETTER PSI\n-    u'\\u03b4'   #  0xE4 -> GREEK SMALL LETTER DELTA\n-    u'\\u03b5'   #  0xE5 -> GREEK SMALL LETTER EPSILON\n-    u'\\u03c6'   #  0xE6 -> GREEK SMALL LETTER PHI\n-    u'\\u03b3'   #  0xE7 -> GREEK SMALL LETTER GAMMA\n-    u'\\u03b7'   #  0xE8 -> GREEK SMALL LETTER ETA\n-    u'\\u03b9'   #  0xE9 -> GREEK SMALL LETTER IOTA\n-    u'\\u03be'   #  0xEA -> GREEK SMALL LETTER XI\n-    u'\\u03ba'   #  0xEB -> GREEK SMALL LETTER KAPPA\n-    u'\\u03bb'   #  0xEC -> GREEK SMALL LETTER LAMDA\n-    u'\\u03bc'   #  0xED -> GREEK SMALL LETTER MU\n-    u'\\u03bd'   #  0xEE -> GREEK SMALL LETTER NU\n-    u'\\u03bf'   #  0xEF -> GREEK SMALL LETTER OMICRON\n-    u'\\u03c0'   #  0xF0 -> GREEK SMALL LETTER PI\n-    u'\\u03ce'   #  0xF1 -> GREEK SMALL LETTER OMEGA WITH TONOS\n-    u'\\u03c1'   #  0xF2 -> GREEK SMALL LETTER RHO\n-    u'\\u03c3'   #  0xF3 -> GREEK SMALL LETTER SIGMA\n-    u'\\u03c4'   #  0xF4 -> GREEK SMALL LETTER TAU\n-    u'\\u03b8'   #  0xF5 -> GREEK SMALL LETTER THETA\n-    u'\\u03c9'   #  0xF6 -> GREEK SMALL LETTER OMEGA\n-    u'\\u03c2'   #  0xF7 -> GREEK SMALL LETTER FINAL SIGMA\n-    u'\\u03c7'   #  0xF8 -> GREEK SMALL LETTER CHI\n-    u'\\u03c5'   #  0xF9 -> GREEK SMALL LETTER UPSILON\n-    u'\\u03b6'   #  0xFA -> GREEK SMALL LETTER ZETA\n-    u'\\u03ca'   #  0xFB -> GREEK SMALL LETTER IOTA WITH DIALYTIKA\n-    u'\\u03cb'   #  0xFC -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA\n-    u'\\u0390'   #  0xFD -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS\n-    u'\\u03b0'   #  0xFE -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS\n-    u'\\xad'     #  0xFF -> SOFT HYPHEN # before Mac OS 9.2.2, was undefined\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_greek.pyc
b
Binary file test/lib/python2.7/encodings/mac_greek.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_iceland.py
--- a/test/lib/python2.7/encodings/mac_iceland.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_iceland generated from \'MAPPINGS/VENDORS/APPLE/ICELAND.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-iceland\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-'..b"5'     #  0xB4 -> YEN SIGN\n-    u'\\xb5'     #  0xB5 -> MICRO SIGN\n-    u'\\u2202'   #  0xB6 -> PARTIAL DIFFERENTIAL\n-    u'\\u2211'   #  0xB7 -> N-ARY SUMMATION\n-    u'\\u220f'   #  0xB8 -> N-ARY PRODUCT\n-    u'\\u03c0'   #  0xB9 -> GREEK SMALL LETTER PI\n-    u'\\u222b'   #  0xBA -> INTEGRAL\n-    u'\\xaa'     #  0xBB -> FEMININE ORDINAL INDICATOR\n-    u'\\xba'     #  0xBC -> MASCULINE ORDINAL INDICATOR\n-    u'\\u03a9'   #  0xBD -> GREEK CAPITAL LETTER OMEGA\n-    u'\\xe6'     #  0xBE -> LATIN SMALL LETTER AE\n-    u'\\xf8'     #  0xBF -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xbf'     #  0xC0 -> INVERTED QUESTION MARK\n-    u'\\xa1'     #  0xC1 -> INVERTED EXCLAMATION MARK\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u221a'   #  0xC3 -> SQUARE ROOT\n-    u'\\u0192'   #  0xC4 -> LATIN SMALL LETTER F WITH HOOK\n-    u'\\u2248'   #  0xC5 -> ALMOST EQUAL TO\n-    u'\\u2206'   #  0xC6 -> INCREMENT\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\xc0'     #  0xCB -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc3'     #  0xCC -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xd5'     #  0xCD -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\u0152'   #  0xCE -> LATIN CAPITAL LIGATURE OE\n-    u'\\u0153'   #  0xCF -> LATIN SMALL LIGATURE OE\n-    u'\\u2013'   #  0xD0 -> EN DASH\n-    u'\\u2014'   #  0xD1 -> EM DASH\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u25ca'   #  0xD7 -> LOZENGE\n-    u'\\xff'     #  0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u'\\u0178'   #  0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS\n-    u'\\u2044'   #  0xDA -> FRACTION SLASH\n-    u'\\u20ac'   #  0xDB -> EURO SIGN\n-    u'\\xd0'     #  0xDC -> LATIN CAPITAL LETTER ETH\n-    u'\\xf0'     #  0xDD -> LATIN SMALL LETTER ETH\n-    u'\\xde'     #  0xDE -> LATIN CAPITAL LETTER THORN\n-    u'\\xfe'     #  0xDF -> LATIN SMALL LETTER THORN\n-    u'\\xfd'     #  0xE0 -> LATIN SMALL LETTER Y WITH ACUTE\n-    u'\\xb7'     #  0xE1 -> MIDDLE DOT\n-    u'\\u201a'   #  0xE2 -> SINGLE LOW-9 QUOTATION MARK\n-    u'\\u201e'   #  0xE3 -> DOUBLE LOW-9 QUOTATION MARK\n-    u'\\u2030'   #  0xE4 -> PER MILLE SIGN\n-    u'\\xc2'     #  0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xca'     #  0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xc1'     #  0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xcb'     #  0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xc8'     #  0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xcd'     #  0xEA -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xcc'     #  0xED -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\uf8ff'   #  0xF0 -> Apple logo\n-    u'\\xd2'     #  0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xda'     #  0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xd9'     #  0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\u0131'   #  0xF5 -> LATIN SMALL LETTER DOTLESS I\n-    u'\\u02c6'   #  0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT\n-    u'\\u02dc'   #  0xF7 -> SMALL TILDE\n-    u'\\xaf'     #  0xF8 -> MACRON\n-    u'\\u02d8'   #  0xF9 -> BREVE\n-    u'\\u02d9'   #  0xFA -> DOT ABOVE\n-    u'\\u02da'   #  0xFB -> RING ABOVE\n-    u'\\xb8'     #  0xFC -> CEDILLA\n-    u'\\u02dd'   #  0xFD -> DOUBLE ACUTE ACCENT\n-    u'\\u02db'   #  0xFE -> OGONEK\n-    u'\\u02c7'   #  0xFF -> CARON\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_iceland.pyc
b
Binary file test/lib/python2.7/encodings/mac_iceland.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_latin2.py
--- a/test/lib/python2.7/encodings/mac_latin2.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,183 +0,0 @@\n-""" Python Character Mapping Codec generated from \'LATIN2.TXT\' with gencodec.py.\n-\n-Written by Marc-Andre Lemburg (mal@lemburg.com).\n-\n-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.\n-(c) Copyright 2000 Guido van Rossum.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_map)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_map)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-latin2\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-        0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS\n-        0x0081: 0x0100, # LATIN CAPITAL LETTER A WITH MACRON\n-        0x0082: 0x0101, # LATIN SMALL LETTER A WITH MACRON\n-        0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE\n-        0x0084: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK\n-        0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS\n-        0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS\n-        0x0087: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE\n-        0x0088: 0x0105, # LATIN SMALL LETTER A WITH OGONEK\n-        0x0089: 0x010c, # LATIN CAPITAL LETTER C WITH CARON\n-        0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS\n-        0x008b: 0x010d, # LATIN SMALL LETTER C WITH CARON\n-        0x008c: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE\n-        0x008d: 0x0107, # LATIN SMALL LETTER C WITH ACUTE\n-        0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE\n-        0x008f: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE\n-        0x0090: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE\n-        0x0091: 0x010e, # LATIN CAPITAL LETTER D WITH CARON\n-        0x0092: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE\n-        0x0093: 0x010f, # LATIN SMALL LETTER D WITH CARON\n-        0x0094: 0x0112, # LATIN CAPITAL LETTER E WITH MACRON\n-        0x0095: 0x0113, # LATIN SMALL LETTER E WITH MACRON\n-        0x0096: 0x0116, # LATIN CAPITAL LETTER E WITH DOT ABOVE\n-        0x0097: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE\n-        0x0098: 0x0117, # LATIN SMALL LETTER E WITH DOT ABOVE\n-        0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX\n-        0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS\n-        0x009b: 0x00f5, # LATIN SMALL LETTER O WITH TILDE\n-        0x009c: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE\n-        0x009d: 0x011a, # LATIN CAPITAL LETTER E WITH CARON\n-        0x009e: 0x011b, # LATIN SMALL LETTER E WITH CARON\n-        0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS\n-        0x00a0: 0x2020, # DAGGER\n-        0x00a1: 0x00b0, # DEGREE SIGN\n-        0x00a2: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK\n-        0x00a4: 0x00a7, # SECTION SIGN\n-        0x00a5: 0x2022, # BULLET\n-        0x00a6: 0x00b6, # PILCROW SIGN\n-        0x00a7: 0x00df, # LATIN SMALL LETTER SHARP S\n-        0x00a8: 0x00ae, # REGISTERED SIGN\n-        0x00aa: 0x2122, # TRADE MARK SIGN\n-        0x00ab: 0x0119, # LATIN SMALL LETTER E WITH OGONEK\n-        0x00ac: 0x00a8, # DIAERESIS\n-        0x00ad: 0x2260, # NOT EQUAL TO\n-        0x00ae: 0x0123, # LATIN SMALL LETTER G WITH CEDILLA\n'..b' # LATIN SMALL LETTER L WITH CARON\n-        0x00bd: 0x0139, # LATIN CAPITAL LETTER L WITH ACUTE\n-        0x00be: 0x013a, # LATIN SMALL LETTER L WITH ACUTE\n-        0x00bf: 0x0145, # LATIN CAPITAL LETTER N WITH CEDILLA\n-        0x00c0: 0x0146, # LATIN SMALL LETTER N WITH CEDILLA\n-        0x00c1: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE\n-        0x00c2: 0x00ac, # NOT SIGN\n-        0x00c3: 0x221a, # SQUARE ROOT\n-        0x00c4: 0x0144, # LATIN SMALL LETTER N WITH ACUTE\n-        0x00c5: 0x0147, # LATIN CAPITAL LETTER N WITH CARON\n-        0x00c6: 0x2206, # INCREMENT\n-        0x00c7: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-        0x00c8: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-        0x00c9: 0x2026, # HORIZONTAL ELLIPSIS\n-        0x00ca: 0x00a0, # NO-BREAK SPACE\n-        0x00cb: 0x0148, # LATIN SMALL LETTER N WITH CARON\n-        0x00cc: 0x0150, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE\n-        0x00cd: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE\n-        0x00ce: 0x0151, # LATIN SMALL LETTER O WITH DOUBLE ACUTE\n-        0x00cf: 0x014c, # LATIN CAPITAL LETTER O WITH MACRON\n-        0x00d0: 0x2013, # EN DASH\n-        0x00d1: 0x2014, # EM DASH\n-        0x00d2: 0x201c, # LEFT DOUBLE QUOTATION MARK\n-        0x00d3: 0x201d, # RIGHT DOUBLE QUOTATION MARK\n-        0x00d4: 0x2018, # LEFT SINGLE QUOTATION MARK\n-        0x00d5: 0x2019, # RIGHT SINGLE QUOTATION MARK\n-        0x00d6: 0x00f7, # DIVISION SIGN\n-        0x00d7: 0x25ca, # LOZENGE\n-        0x00d8: 0x014d, # LATIN SMALL LETTER O WITH MACRON\n-        0x00d9: 0x0154, # LATIN CAPITAL LETTER R WITH ACUTE\n-        0x00da: 0x0155, # LATIN SMALL LETTER R WITH ACUTE\n-        0x00db: 0x0158, # LATIN CAPITAL LETTER R WITH CARON\n-        0x00dc: 0x2039, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK\n-        0x00dd: 0x203a, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\n-        0x00de: 0x0159, # LATIN SMALL LETTER R WITH CARON\n-        0x00df: 0x0156, # LATIN CAPITAL LETTER R WITH CEDILLA\n-        0x00e0: 0x0157, # LATIN SMALL LETTER R WITH CEDILLA\n-        0x00e1: 0x0160, # LATIN CAPITAL LETTER S WITH CARON\n-        0x00e2: 0x201a, # SINGLE LOW-9 QUOTATION MARK\n-        0x00e3: 0x201e, # DOUBLE LOW-9 QUOTATION MARK\n-        0x00e4: 0x0161, # LATIN SMALL LETTER S WITH CARON\n-        0x00e5: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE\n-        0x00e6: 0x015b, # LATIN SMALL LETTER S WITH ACUTE\n-        0x00e7: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE\n-        0x00e8: 0x0164, # LATIN CAPITAL LETTER T WITH CARON\n-        0x00e9: 0x0165, # LATIN SMALL LETTER T WITH CARON\n-        0x00ea: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE\n-        0x00eb: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON\n-        0x00ec: 0x017e, # LATIN SMALL LETTER Z WITH CARON\n-        0x00ed: 0x016a, # LATIN CAPITAL LETTER U WITH MACRON\n-        0x00ee: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE\n-        0x00ef: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-        0x00f0: 0x016b, # LATIN SMALL LETTER U WITH MACRON\n-        0x00f1: 0x016e, # LATIN CAPITAL LETTER U WITH RING ABOVE\n-        0x00f2: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE\n-        0x00f3: 0x016f, # LATIN SMALL LETTER U WITH RING ABOVE\n-        0x00f4: 0x0170, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE\n-        0x00f5: 0x0171, # LATIN SMALL LETTER U WITH DOUBLE ACUTE\n-        0x00f6: 0x0172, # LATIN CAPITAL LETTER U WITH OGONEK\n-        0x00f7: 0x0173, # LATIN SMALL LETTER U WITH OGONEK\n-        0x00f8: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE\n-        0x00f9: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE\n-        0x00fa: 0x0137, # LATIN SMALL LETTER K WITH CEDILLA\n-        0x00fb: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE\n-        0x00fc: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE\n-        0x00fd: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE\n-        0x00fe: 0x0122, # LATIN CAPITAL LETTER G WITH CEDILLA\n-        0x00ff: 0x02c7, # CARON\n-})\n-\n-### Encoding Map\n-\n-encoding_map = codecs.make_encoding_map(decoding_map)\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_latin2.pyc
b
Binary file test/lib/python2.7/encodings/mac_latin2.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_roman.py
--- a/test/lib/python2.7/encodings/mac_roman.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_roman generated from \'MAPPINGS/VENDORS/APPLE/ROMAN.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-roman\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\''..b"-> YEN SIGN\n-    u'\\xb5'     #  0xB5 -> MICRO SIGN\n-    u'\\u2202'   #  0xB6 -> PARTIAL DIFFERENTIAL\n-    u'\\u2211'   #  0xB7 -> N-ARY SUMMATION\n-    u'\\u220f'   #  0xB8 -> N-ARY PRODUCT\n-    u'\\u03c0'   #  0xB9 -> GREEK SMALL LETTER PI\n-    u'\\u222b'   #  0xBA -> INTEGRAL\n-    u'\\xaa'     #  0xBB -> FEMININE ORDINAL INDICATOR\n-    u'\\xba'     #  0xBC -> MASCULINE ORDINAL INDICATOR\n-    u'\\u03a9'   #  0xBD -> GREEK CAPITAL LETTER OMEGA\n-    u'\\xe6'     #  0xBE -> LATIN SMALL LETTER AE\n-    u'\\xf8'     #  0xBF -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xbf'     #  0xC0 -> INVERTED QUESTION MARK\n-    u'\\xa1'     #  0xC1 -> INVERTED EXCLAMATION MARK\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u221a'   #  0xC3 -> SQUARE ROOT\n-    u'\\u0192'   #  0xC4 -> LATIN SMALL LETTER F WITH HOOK\n-    u'\\u2248'   #  0xC5 -> ALMOST EQUAL TO\n-    u'\\u2206'   #  0xC6 -> INCREMENT\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\xc0'     #  0xCB -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc3'     #  0xCC -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xd5'     #  0xCD -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\u0152'   #  0xCE -> LATIN CAPITAL LIGATURE OE\n-    u'\\u0153'   #  0xCF -> LATIN SMALL LIGATURE OE\n-    u'\\u2013'   #  0xD0 -> EN DASH\n-    u'\\u2014'   #  0xD1 -> EM DASH\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u25ca'   #  0xD7 -> LOZENGE\n-    u'\\xff'     #  0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u'\\u0178'   #  0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS\n-    u'\\u2044'   #  0xDA -> FRACTION SLASH\n-    u'\\u20ac'   #  0xDB -> EURO SIGN\n-    u'\\u2039'   #  0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK\n-    u'\\u203a'   #  0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\n-    u'\\ufb01'   #  0xDE -> LATIN SMALL LIGATURE FI\n-    u'\\ufb02'   #  0xDF -> LATIN SMALL LIGATURE FL\n-    u'\\u2021'   #  0xE0 -> DOUBLE DAGGER\n-    u'\\xb7'     #  0xE1 -> MIDDLE DOT\n-    u'\\u201a'   #  0xE2 -> SINGLE LOW-9 QUOTATION MARK\n-    u'\\u201e'   #  0xE3 -> DOUBLE LOW-9 QUOTATION MARK\n-    u'\\u2030'   #  0xE4 -> PER MILLE SIGN\n-    u'\\xc2'     #  0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xca'     #  0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xc1'     #  0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xcb'     #  0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xc8'     #  0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xcd'     #  0xEA -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xcc'     #  0xED -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\uf8ff'   #  0xF0 -> Apple logo\n-    u'\\xd2'     #  0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xda'     #  0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xd9'     #  0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\u0131'   #  0xF5 -> LATIN SMALL LETTER DOTLESS I\n-    u'\\u02c6'   #  0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT\n-    u'\\u02dc'   #  0xF7 -> SMALL TILDE\n-    u'\\xaf'     #  0xF8 -> MACRON\n-    u'\\u02d8'   #  0xF9 -> BREVE\n-    u'\\u02d9'   #  0xFA -> DOT ABOVE\n-    u'\\u02da'   #  0xFB -> RING ABOVE\n-    u'\\xb8'     #  0xFC -> CEDILLA\n-    u'\\u02dd'   #  0xFD -> DOUBLE ACUTE ACCENT\n-    u'\\u02db'   #  0xFE -> OGONEK\n-    u'\\u02c7'   #  0xFF -> CARON\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_roman.pyc
b
Binary file test/lib/python2.7/encodings/mac_roman.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_romanian.py
--- a/test/lib/python2.7/encodings/mac_romanian.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_romanian generated from \'MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-romanian\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIG'..b"-ARY SUMMATION\n-    u'\\u220f'   #  0xB8 -> N-ARY PRODUCT\n-    u'\\u03c0'   #  0xB9 -> GREEK SMALL LETTER PI\n-    u'\\u222b'   #  0xBA -> INTEGRAL\n-    u'\\xaa'     #  0xBB -> FEMININE ORDINAL INDICATOR\n-    u'\\xba'     #  0xBC -> MASCULINE ORDINAL INDICATOR\n-    u'\\u03a9'   #  0xBD -> GREEK CAPITAL LETTER OMEGA\n-    u'\\u0103'   #  0xBE -> LATIN SMALL LETTER A WITH BREVE\n-    u'\\u0219'   #  0xBF -> LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later\n-    u'\\xbf'     #  0xC0 -> INVERTED QUESTION MARK\n-    u'\\xa1'     #  0xC1 -> INVERTED EXCLAMATION MARK\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u221a'   #  0xC3 -> SQUARE ROOT\n-    u'\\u0192'   #  0xC4 -> LATIN SMALL LETTER F WITH HOOK\n-    u'\\u2248'   #  0xC5 -> ALMOST EQUAL TO\n-    u'\\u2206'   #  0xC6 -> INCREMENT\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\xc0'     #  0xCB -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc3'     #  0xCC -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xd5'     #  0xCD -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\u0152'   #  0xCE -> LATIN CAPITAL LIGATURE OE\n-    u'\\u0153'   #  0xCF -> LATIN SMALL LIGATURE OE\n-    u'\\u2013'   #  0xD0 -> EN DASH\n-    u'\\u2014'   #  0xD1 -> EM DASH\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u25ca'   #  0xD7 -> LOZENGE\n-    u'\\xff'     #  0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u'\\u0178'   #  0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS\n-    u'\\u2044'   #  0xDA -> FRACTION SLASH\n-    u'\\u20ac'   #  0xDB -> EURO SIGN\n-    u'\\u2039'   #  0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK\n-    u'\\u203a'   #  0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\n-    u'\\u021a'   #  0xDE -> LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later\n-    u'\\u021b'   #  0xDF -> LATIN SMALL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later\n-    u'\\u2021'   #  0xE0 -> DOUBLE DAGGER\n-    u'\\xb7'     #  0xE1 -> MIDDLE DOT\n-    u'\\u201a'   #  0xE2 -> SINGLE LOW-9 QUOTATION MARK\n-    u'\\u201e'   #  0xE3 -> DOUBLE LOW-9 QUOTATION MARK\n-    u'\\u2030'   #  0xE4 -> PER MILLE SIGN\n-    u'\\xc2'     #  0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xca'     #  0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xc1'     #  0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xcb'     #  0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xc8'     #  0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xcd'     #  0xEA -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xcc'     #  0xED -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\uf8ff'   #  0xF0 -> Apple logo\n-    u'\\xd2'     #  0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xda'     #  0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xd9'     #  0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\u0131'   #  0xF5 -> LATIN SMALL LETTER DOTLESS I\n-    u'\\u02c6'   #  0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT\n-    u'\\u02dc'   #  0xF7 -> SMALL TILDE\n-    u'\\xaf'     #  0xF8 -> MACRON\n-    u'\\u02d8'   #  0xF9 -> BREVE\n-    u'\\u02d9'   #  0xFA -> DOT ABOVE\n-    u'\\u02da'   #  0xFB -> RING ABOVE\n-    u'\\xb8'     #  0xFC -> CEDILLA\n-    u'\\u02dd'   #  0xFD -> DOUBLE ACUTE ACCENT\n-    u'\\u02db'   #  0xFE -> OGONEK\n-    u'\\u02c7'   #  0xFF -> CARON\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_romanian.pyc
b
Binary file test/lib/python2.7/encodings/mac_romanian.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_turkish.py
--- a/test/lib/python2.7/encodings/mac_turkish.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec mac_turkish generated from \'MAPPINGS/VENDORS/APPLE/TURKISH.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'mac-turkish\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> CONTROL CHARACTER\n-    u\'\\x01\'     #  0x01 -> CONTROL CHARACTER\n-    u\'\\x02\'     #  0x02 -> CONTROL CHARACTER\n-    u\'\\x03\'     #  0x03 -> CONTROL CHARACTER\n-    u\'\\x04\'     #  0x04 -> CONTROL CHARACTER\n-    u\'\\x05\'     #  0x05 -> CONTROL CHARACTER\n-    u\'\\x06\'     #  0x06 -> CONTROL CHARACTER\n-    u\'\\x07\'     #  0x07 -> CONTROL CHARACTER\n-    u\'\\x08\'     #  0x08 -> CONTROL CHARACTER\n-    u\'\\t\'       #  0x09 -> CONTROL CHARACTER\n-    u\'\\n\'       #  0x0A -> CONTROL CHARACTER\n-    u\'\\x0b\'     #  0x0B -> CONTROL CHARACTER\n-    u\'\\x0c\'     #  0x0C -> CONTROL CHARACTER\n-    u\'\\r\'       #  0x0D -> CONTROL CHARACTER\n-    u\'\\x0e\'     #  0x0E -> CONTROL CHARACTER\n-    u\'\\x0f\'     #  0x0F -> CONTROL CHARACTER\n-    u\'\\x10\'     #  0x10 -> CONTROL CHARACTER\n-    u\'\\x11\'     #  0x11 -> CONTROL CHARACTER\n-    u\'\\x12\'     #  0x12 -> CONTROL CHARACTER\n-    u\'\\x13\'     #  0x13 -> CONTROL CHARACTER\n-    u\'\\x14\'     #  0x14 -> CONTROL CHARACTER\n-    u\'\\x15\'     #  0x15 -> CONTROL CHARACTER\n-    u\'\\x16\'     #  0x16 -> CONTROL CHARACTER\n-    u\'\\x17\'     #  0x17 -> CONTROL CHARACTER\n-    u\'\\x18\'     #  0x18 -> CONTROL CHARACTER\n-    u\'\\x19\'     #  0x19 -> CONTROL CHARACTER\n-    u\'\\x1a\'     #  0x1A -> CONTROL CHARACTER\n-    u\'\\x1b\'     #  0x1B -> CONTROL CHARACTER\n-    u\'\\x1c\'     #  0x1C -> CONTROL CHARACTER\n-    u\'\\x1d\'     #  0x1D -> CONTROL CHARACTER\n-    u\'\\x1e\'     #  0x1E -> CONTROL CHARACTER\n-    u\'\\x1f\'     #  0x1F -> CONTROL CHARACTER\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-'..b"  #  0xB5 -> MICRO SIGN\n-    u'\\u2202'   #  0xB6 -> PARTIAL DIFFERENTIAL\n-    u'\\u2211'   #  0xB7 -> N-ARY SUMMATION\n-    u'\\u220f'   #  0xB8 -> N-ARY PRODUCT\n-    u'\\u03c0'   #  0xB9 -> GREEK SMALL LETTER PI\n-    u'\\u222b'   #  0xBA -> INTEGRAL\n-    u'\\xaa'     #  0xBB -> FEMININE ORDINAL INDICATOR\n-    u'\\xba'     #  0xBC -> MASCULINE ORDINAL INDICATOR\n-    u'\\u03a9'   #  0xBD -> GREEK CAPITAL LETTER OMEGA\n-    u'\\xe6'     #  0xBE -> LATIN SMALL LETTER AE\n-    u'\\xf8'     #  0xBF -> LATIN SMALL LETTER O WITH STROKE\n-    u'\\xbf'     #  0xC0 -> INVERTED QUESTION MARK\n-    u'\\xa1'     #  0xC1 -> INVERTED EXCLAMATION MARK\n-    u'\\xac'     #  0xC2 -> NOT SIGN\n-    u'\\u221a'   #  0xC3 -> SQUARE ROOT\n-    u'\\u0192'   #  0xC4 -> LATIN SMALL LETTER F WITH HOOK\n-    u'\\u2248'   #  0xC5 -> ALMOST EQUAL TO\n-    u'\\u2206'   #  0xC6 -> INCREMENT\n-    u'\\xab'     #  0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\xbb'     #  0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n-    u'\\u2026'   #  0xC9 -> HORIZONTAL ELLIPSIS\n-    u'\\xa0'     #  0xCA -> NO-BREAK SPACE\n-    u'\\xc0'     #  0xCB -> LATIN CAPITAL LETTER A WITH GRAVE\n-    u'\\xc3'     #  0xCC -> LATIN CAPITAL LETTER A WITH TILDE\n-    u'\\xd5'     #  0xCD -> LATIN CAPITAL LETTER O WITH TILDE\n-    u'\\u0152'   #  0xCE -> LATIN CAPITAL LIGATURE OE\n-    u'\\u0153'   #  0xCF -> LATIN SMALL LIGATURE OE\n-    u'\\u2013'   #  0xD0 -> EN DASH\n-    u'\\u2014'   #  0xD1 -> EM DASH\n-    u'\\u201c'   #  0xD2 -> LEFT DOUBLE QUOTATION MARK\n-    u'\\u201d'   #  0xD3 -> RIGHT DOUBLE QUOTATION MARK\n-    u'\\u2018'   #  0xD4 -> LEFT SINGLE QUOTATION MARK\n-    u'\\u2019'   #  0xD5 -> RIGHT SINGLE QUOTATION MARK\n-    u'\\xf7'     #  0xD6 -> DIVISION SIGN\n-    u'\\u25ca'   #  0xD7 -> LOZENGE\n-    u'\\xff'     #  0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS\n-    u'\\u0178'   #  0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS\n-    u'\\u011e'   #  0xDA -> LATIN CAPITAL LETTER G WITH BREVE\n-    u'\\u011f'   #  0xDB -> LATIN SMALL LETTER G WITH BREVE\n-    u'\\u0130'   #  0xDC -> LATIN CAPITAL LETTER I WITH DOT ABOVE\n-    u'\\u0131'   #  0xDD -> LATIN SMALL LETTER DOTLESS I\n-    u'\\u015e'   #  0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA\n-    u'\\u015f'   #  0xDF -> LATIN SMALL LETTER S WITH CEDILLA\n-    u'\\u2021'   #  0xE0 -> DOUBLE DAGGER\n-    u'\\xb7'     #  0xE1 -> MIDDLE DOT\n-    u'\\u201a'   #  0xE2 -> SINGLE LOW-9 QUOTATION MARK\n-    u'\\u201e'   #  0xE3 -> DOUBLE LOW-9 QUOTATION MARK\n-    u'\\u2030'   #  0xE4 -> PER MILLE SIGN\n-    u'\\xc2'     #  0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n-    u'\\xca'     #  0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n-    u'\\xc1'     #  0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE\n-    u'\\xcb'     #  0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS\n-    u'\\xc8'     #  0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE\n-    u'\\xcd'     #  0xEA -> LATIN CAPITAL LETTER I WITH ACUTE\n-    u'\\xce'     #  0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n-    u'\\xcf'     #  0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS\n-    u'\\xcc'     #  0xED -> LATIN CAPITAL LETTER I WITH GRAVE\n-    u'\\xd3'     #  0xEE -> LATIN CAPITAL LETTER O WITH ACUTE\n-    u'\\xd4'     #  0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n-    u'\\uf8ff'   #  0xF0 -> Apple logo\n-    u'\\xd2'     #  0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE\n-    u'\\xda'     #  0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE\n-    u'\\xdb'     #  0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n-    u'\\xd9'     #  0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE\n-    u'\\uf8a0'   #  0xF5 -> undefined1\n-    u'\\u02c6'   #  0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT\n-    u'\\u02dc'   #  0xF7 -> SMALL TILDE\n-    u'\\xaf'     #  0xF8 -> MACRON\n-    u'\\u02d8'   #  0xF9 -> BREVE\n-    u'\\u02d9'   #  0xFA -> DOT ABOVE\n-    u'\\u02da'   #  0xFB -> RING ABOVE\n-    u'\\xb8'     #  0xFC -> CEDILLA\n-    u'\\u02dd'   #  0xFD -> DOUBLE ACUTE ACCENT\n-    u'\\u02db'   #  0xFE -> OGONEK\n-    u'\\u02c7'   #  0xFF -> CARON\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mac_turkish.pyc
b
Binary file test/lib/python2.7/encodings/mac_turkish.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mbcs.py
--- a/test/lib/python2.7/encodings/mbcs.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,47 +0,0 @@
-""" Python 'mbcs' Codec for Windows
-
-
-Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py,
-which was written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-# Import them explicitly to cause an ImportError
-# on non-Windows systems
-from codecs import mbcs_encode, mbcs_decode
-# for IncrementalDecoder, IncrementalEncoder, ...
-import codecs
-
-### Codec APIs
-
-encode = mbcs_encode
-
-def decode(input, errors='strict'):
-    return mbcs_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return mbcs_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    _buffer_decode = mbcs_decode
-
-class StreamWriter(codecs.StreamWriter):
-    encode = mbcs_encode
-
-class StreamReader(codecs.StreamReader):
-    decode = mbcs_decode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='mbcs',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/mbcs.pyc
b
Binary file test/lib/python2.7/encodings/mbcs.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/palmos.py
--- a/test/lib/python2.7/encodings/palmos.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,83 +0,0 @@
-""" Python Character Mapping Codec for PalmOS 3.5.
-
-Written by Sjoerd Mullender (sjoerd@acm.org); based on iso8859_15.py.
-
-"""#"
-
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-    def encode(self,input,errors='strict'):
-        return codecs.charmap_encode(input,errors,encoding_map)
-
-    def decode(self,input,errors='strict'):
-        return codecs.charmap_decode(input,errors,decoding_map)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.charmap_decode(input,self.errors,decoding_map)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='palmos',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
-
-### Decoding Map
-
-decoding_map = codecs.make_identity_dict(range(256))
-
-# The PalmOS character set is mostly iso-8859-1 with some differences.
-decoding_map.update({
-        0x0080: 0x20ac, #       EURO SIGN
-        0x0082: 0x201a, #       SINGLE LOW-9 QUOTATION MARK
-        0x0083: 0x0192, #       LATIN SMALL LETTER F WITH HOOK
-        0x0084: 0x201e, #       DOUBLE LOW-9 QUOTATION MARK
-        0x0085: 0x2026, #       HORIZONTAL ELLIPSIS
-        0x0086: 0x2020, #       DAGGER
-        0x0087: 0x2021, #       DOUBLE DAGGER
-        0x0088: 0x02c6, #       MODIFIER LETTER CIRCUMFLEX ACCENT
-        0x0089: 0x2030, #       PER MILLE SIGN
-        0x008a: 0x0160, #       LATIN CAPITAL LETTER S WITH CARON
-        0x008b: 0x2039, #       SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-        0x008c: 0x0152, #       LATIN CAPITAL LIGATURE OE
-        0x008d: 0x2666, #       BLACK DIAMOND SUIT
-        0x008e: 0x2663, #       BLACK CLUB SUIT
-        0x008f: 0x2665, #       BLACK HEART SUIT
-        0x0090: 0x2660, #       BLACK SPADE SUIT
-        0x0091: 0x2018, #       LEFT SINGLE QUOTATION MARK
-        0x0092: 0x2019, #       RIGHT SINGLE QUOTATION MARK
-        0x0093: 0x201c, #       LEFT DOUBLE QUOTATION MARK
-        0x0094: 0x201d, #       RIGHT DOUBLE QUOTATION MARK
-        0x0095: 0x2022, #       BULLET
-        0x0096: 0x2013, #       EN DASH
-        0x0097: 0x2014, #       EM DASH
-        0x0098: 0x02dc, #       SMALL TILDE
-        0x0099: 0x2122, #       TRADE MARK SIGN
-        0x009a: 0x0161, #       LATIN SMALL LETTER S WITH CARON
-        0x009c: 0x0153, #       LATIN SMALL LIGATURE OE
-        0x009f: 0x0178, #       LATIN CAPITAL LETTER Y WITH DIAERESIS
-})
-
-### Encoding Map
-
-encoding_map = codecs.make_encoding_map(decoding_map)
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/palmos.pyc
b
Binary file test/lib/python2.7/encodings/palmos.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/ptcp154.py
--- a/test/lib/python2.7/encodings/ptcp154.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,175 +0,0 @@\n-""" Python Character Mapping Codec generated from \'PTCP154.txt\' with gencodec.py.\n-\n-Written by Marc-Andre Lemburg (mal@lemburg.com).\n-\n-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.\n-(c) Copyright 2000 Guido van Rossum.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_map)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_map)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_map)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'ptcp154\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-### Decoding Map\n-\n-decoding_map = codecs.make_identity_dict(range(256))\n-decoding_map.update({\n-        0x0080: 0x0496, #        CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER\n-        0x0081: 0x0492, #        CYRILLIC CAPITAL LETTER GHE WITH STROKE\n-        0x0082: 0x04ee, #        CYRILLIC CAPITAL LETTER U WITH MACRON\n-        0x0083: 0x0493, #        CYRILLIC SMALL LETTER GHE WITH STROKE\n-        0x0084: 0x201e, #        DOUBLE LOW-9 QUOTATION MARK\n-        0x0085: 0x2026, #        HORIZONTAL ELLIPSIS\n-        0x0086: 0x04b6, #        CYRILLIC CAPITAL LETTER CHE WITH DESCENDER\n-        0x0087: 0x04ae, #        CYRILLIC CAPITAL LETTER STRAIGHT U\n-        0x0088: 0x04b2, #        CYRILLIC CAPITAL LETTER HA WITH DESCENDER\n-        0x0089: 0x04af, #        CYRILLIC SMALL LETTER STRAIGHT U\n-        0x008a: 0x04a0, #        CYRILLIC CAPITAL LETTER BASHKIR KA\n-        0x008b: 0x04e2, #        CYRILLIC CAPITAL LETTER I WITH MACRON\n-        0x008c: 0x04a2, #        CYRILLIC CAPITAL LETTER EN WITH DESCENDER\n-        0x008d: 0x049a, #        CYRILLIC CAPITAL LETTER KA WITH DESCENDER\n-        0x008e: 0x04ba, #        CYRILLIC CAPITAL LETTER SHHA\n-        0x008f: 0x04b8, #        CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE\n-        0x0090: 0x0497, #        CYRILLIC SMALL LETTER ZHE WITH DESCENDER\n-        0x0091: 0x2018, #        LEFT SINGLE QUOTATION MARK\n-        0x0092: 0x2019, #        RIGHT SINGLE QUOTATION MARK\n-        0x0093: 0x201c, #        LEFT DOUBLE QUOTATION MARK\n-        0x0094: 0x201d, #        RIGHT DOUBLE QUOTATION MARK\n-        0x0095: 0x2022, #        BULLET\n-        0x0096: 0x2013, #        EN DASH\n-        0x0097: 0x2014, #        EM DASH\n-        0x0098: 0x04b3, #        CYRILLIC SMALL LETTER HA WITH DESCENDER\n-        0x0099: 0x04b7, #        CYRILLIC SMALL LETTER CHE WITH DESCENDER\n-        0x009a: 0x04a1, #        CYRILLIC SMALL LETTER BASHKIR KA\n-        0x009b: 0x04e3, #        CYRILLIC SMALL LETTER I WITH MACRON\n-        0x009c: 0x04a3, #        CYRILLIC SMALL LETTER EN WITH DESCENDER\n-        0x009d: 0x049b, #        CYRILLIC SMALL LETTER KA WITH DESCENDER\n-        0x009e: 0x04bb, #        CYRILLIC SMALL LETTER SHHA\n-        0x009f: 0x04b9, #        CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE\n-        0x00a1: 0x040e, #        CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)\n-        0x00a2: 0x045e, #        CYRILLIC SMALL LETTER SHORT U (Byelorussian)\n-        0x00a3: 0x0408, #        CYRILLIC CAPITAL LETTER JE\n-        0x00a4: 0x04e8, #        CYRILLIC CAPITAL LETTER BARRED O\n-        0x00a5: 0x0498, #        CYRILLIC CAPITAL LETTER ZE WITH DESCENDER\n-        0x00a6: 0x04'..b'ETTER KA WITH VERTICAL STROKE\n-        0x00c0: 0x0410, #        CYRILLIC CAPITAL LETTER A\n-        0x00c1: 0x0411, #        CYRILLIC CAPITAL LETTER BE\n-        0x00c2: 0x0412, #        CYRILLIC CAPITAL LETTER VE\n-        0x00c3: 0x0413, #        CYRILLIC CAPITAL LETTER GHE\n-        0x00c4: 0x0414, #        CYRILLIC CAPITAL LETTER DE\n-        0x00c5: 0x0415, #        CYRILLIC CAPITAL LETTER IE\n-        0x00c6: 0x0416, #        CYRILLIC CAPITAL LETTER ZHE\n-        0x00c7: 0x0417, #        CYRILLIC CAPITAL LETTER ZE\n-        0x00c8: 0x0418, #        CYRILLIC CAPITAL LETTER I\n-        0x00c9: 0x0419, #        CYRILLIC CAPITAL LETTER SHORT I\n-        0x00ca: 0x041a, #        CYRILLIC CAPITAL LETTER KA\n-        0x00cb: 0x041b, #        CYRILLIC CAPITAL LETTER EL\n-        0x00cc: 0x041c, #        CYRILLIC CAPITAL LETTER EM\n-        0x00cd: 0x041d, #        CYRILLIC CAPITAL LETTER EN\n-        0x00ce: 0x041e, #        CYRILLIC CAPITAL LETTER O\n-        0x00cf: 0x041f, #        CYRILLIC CAPITAL LETTER PE\n-        0x00d0: 0x0420, #        CYRILLIC CAPITAL LETTER ER\n-        0x00d1: 0x0421, #        CYRILLIC CAPITAL LETTER ES\n-        0x00d2: 0x0422, #        CYRILLIC CAPITAL LETTER TE\n-        0x00d3: 0x0423, #        CYRILLIC CAPITAL LETTER U\n-        0x00d4: 0x0424, #        CYRILLIC CAPITAL LETTER EF\n-        0x00d5: 0x0425, #        CYRILLIC CAPITAL LETTER HA\n-        0x00d6: 0x0426, #        CYRILLIC CAPITAL LETTER TSE\n-        0x00d7: 0x0427, #        CYRILLIC CAPITAL LETTER CHE\n-        0x00d8: 0x0428, #        CYRILLIC CAPITAL LETTER SHA\n-        0x00d9: 0x0429, #        CYRILLIC CAPITAL LETTER SHCHA\n-        0x00da: 0x042a, #        CYRILLIC CAPITAL LETTER HARD SIGN\n-        0x00db: 0x042b, #        CYRILLIC CAPITAL LETTER YERU\n-        0x00dc: 0x042c, #        CYRILLIC CAPITAL LETTER SOFT SIGN\n-        0x00dd: 0x042d, #        CYRILLIC CAPITAL LETTER E\n-        0x00de: 0x042e, #        CYRILLIC CAPITAL LETTER YU\n-        0x00df: 0x042f, #        CYRILLIC CAPITAL LETTER YA\n-        0x00e0: 0x0430, #        CYRILLIC SMALL LETTER A\n-        0x00e1: 0x0431, #        CYRILLIC SMALL LETTER BE\n-        0x00e2: 0x0432, #        CYRILLIC SMALL LETTER VE\n-        0x00e3: 0x0433, #        CYRILLIC SMALL LETTER GHE\n-        0x00e4: 0x0434, #        CYRILLIC SMALL LETTER DE\n-        0x00e5: 0x0435, #        CYRILLIC SMALL LETTER IE\n-        0x00e6: 0x0436, #        CYRILLIC SMALL LETTER ZHE\n-        0x00e7: 0x0437, #        CYRILLIC SMALL LETTER ZE\n-        0x00e8: 0x0438, #        CYRILLIC SMALL LETTER I\n-        0x00e9: 0x0439, #        CYRILLIC SMALL LETTER SHORT I\n-        0x00ea: 0x043a, #        CYRILLIC SMALL LETTER KA\n-        0x00eb: 0x043b, #        CYRILLIC SMALL LETTER EL\n-        0x00ec: 0x043c, #        CYRILLIC SMALL LETTER EM\n-        0x00ed: 0x043d, #        CYRILLIC SMALL LETTER EN\n-        0x00ee: 0x043e, #        CYRILLIC SMALL LETTER O\n-        0x00ef: 0x043f, #        CYRILLIC SMALL LETTER PE\n-        0x00f0: 0x0440, #        CYRILLIC SMALL LETTER ER\n-        0x00f1: 0x0441, #        CYRILLIC SMALL LETTER ES\n-        0x00f2: 0x0442, #        CYRILLIC SMALL LETTER TE\n-        0x00f3: 0x0443, #        CYRILLIC SMALL LETTER U\n-        0x00f4: 0x0444, #        CYRILLIC SMALL LETTER EF\n-        0x00f5: 0x0445, #        CYRILLIC SMALL LETTER HA\n-        0x00f6: 0x0446, #        CYRILLIC SMALL LETTER TSE\n-        0x00f7: 0x0447, #        CYRILLIC SMALL LETTER CHE\n-        0x00f8: 0x0448, #        CYRILLIC SMALL LETTER SHA\n-        0x00f9: 0x0449, #        CYRILLIC SMALL LETTER SHCHA\n-        0x00fa: 0x044a, #        CYRILLIC SMALL LETTER HARD SIGN\n-        0x00fb: 0x044b, #        CYRILLIC SMALL LETTER YERU\n-        0x00fc: 0x044c, #        CYRILLIC SMALL LETTER SOFT SIGN\n-        0x00fd: 0x044d, #        CYRILLIC SMALL LETTER E\n-        0x00fe: 0x044e, #        CYRILLIC SMALL LETTER YU\n-        0x00ff: 0x044f, #        CYRILLIC SMALL LETTER YA\n-})\n-\n-### Encoding Map\n-\n-encoding_map = codecs.make_encoding_map(decoding_map)\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/ptcp154.pyc
b
Binary file test/lib/python2.7/encodings/ptcp154.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/punycode.py
--- a/test/lib/python2.7/encodings/punycode.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,238 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-""" Codec for the Punicode encoding, as specified in RFC 3492
-
-Written by Martin v. L�wis.
-"""
-
-import codecs
-
-##################### Encoding #####################################
-
-def segregate(str):
-    """3.1 Basic code point segregation"""
-    base = []
-    extended = {}
-    for c in str:
-        if ord(c) < 128:
-            base.append(c)
-        else:
-            extended[c] = 1
-    extended = extended.keys()
-    extended.sort()
-    return "".join(base).encode("ascii"),extended
-
-def selective_len(str, max):
-    """Return the length of str, considering only characters below max."""
-    res = 0
-    for c in str:
-        if ord(c) < max:
-            res += 1
-    return res
-
-def selective_find(str, char, index, pos):
-    """Return a pair (index, pos), indicating the next occurrence of
-    char in str. index is the position of the character considering
-    only ordinals up to and including char, and pos is the position in
-    the full string. index/pos is the starting position in the full
-    string."""
-
-    l = len(str)
-    while 1:
-        pos += 1
-        if pos == l:
-            return (-1, -1)
-        c = str[pos]
-        if c == char:
-            return index+1, pos
-        elif c < char:
-            index += 1
-
-def insertion_unsort(str, extended):
-    """3.2 Insertion unsort coding"""
-    oldchar = 0x80
-    result = []
-    oldindex = -1
-    for c in extended:
-        index = pos = -1
-        char = ord(c)
-        curlen = selective_len(str, char)
-        delta = (curlen+1) * (char - oldchar)
-        while 1:
-            index,pos = selective_find(str,c,index,pos)
-            if index == -1:
-                break
-            delta += index - oldindex
-            result.append(delta-1)
-            oldindex = index
-            delta = 0
-        oldchar = char
-
-    return result
-
-def T(j, bias):
-    # Punycode parameters: tmin = 1, tmax = 26, base = 36
-    res = 36 * (j + 1) - bias
-    if res < 1: return 1
-    if res > 26: return 26
-    return res
-
-digits = "abcdefghijklmnopqrstuvwxyz0123456789"
-def generate_generalized_integer(N, bias):
-    """3.3 Generalized variable-length integers"""
-    result = []
-    j = 0
-    while 1:
-        t = T(j, bias)
-        if N < t:
-            result.append(digits[N])
-            return result
-        result.append(digits[t + ((N - t) % (36 - t))])
-        N = (N - t) // (36 - t)
-        j += 1
-
-def adapt(delta, first, numchars):
-    if first:
-        delta //= 700
-    else:
-        delta //= 2
-    delta += delta // numchars
-    # ((base - tmin) * tmax) // 2 == 455
-    divisions = 0
-    while delta > 455:
-        delta = delta // 35 # base - tmin
-        divisions += 36
-    bias = divisions + (36 * delta // (delta + 38))
-    return bias
-
-
-def generate_integers(baselen, deltas):
-    """3.4 Bias adaptation"""
-    # Punycode parameters: initial bias = 72, damp = 700, skew = 38
-    result = []
-    bias = 72
-    for points, delta in enumerate(deltas):
-        s = generate_generalized_integer(delta, bias)
-        result.extend(s)
-        bias = adapt(delta, points==0, baselen+points+1)
-    return "".join(result)
-
-def punycode_encode(text):
-    base, extended = segregate(text)
-    base = base.encode("ascii")
-    deltas = insertion_unsort(text, extended)
-    extended = generate_integers(len(base), deltas)
-    if base:
-        return base + "-" + extended
-    return extended
-
-##################### Decoding #####################################
-
-def decode_generalized_number(extended, extpos, bias, errors):
-    """3.3 Generalized variable-length integers"""
-    result = 0
-    w = 1
-    j = 0
-    while 1:
-        try:
-            char = ord(extended[extpos])
-        except IndexError:
-            if errors == "strict":
-                raise UnicodeError, "incomplete punicode string"
-            return extpos + 1, None
-        extpos += 1
-        if 0x41 <= char <= 0x5A: # A-Z
-            digit = char - 0x41
-        elif 0x30 <= char <= 0x39:
-            digit = char - 22 # 0x30-26
-        elif errors == "strict":
-            raise UnicodeError("Invalid extended code point '%s'"
-                               % extended[extpos])
-        else:
-            return extpos, None
-        t = T(j, bias)
-        result += digit * w
-        if digit < t:
-            return extpos, result
-        w = w * (36 - t)
-        j += 1
-
-
-def insertion_sort(base, extended, errors):
-    """3.2 Insertion unsort coding"""
-    char = 0x80
-    pos = -1
-    bias = 72
-    extpos = 0
-    while extpos < len(extended):
-        newpos, delta = decode_generalized_number(extended, extpos,
-                                                  bias, errors)
-        if delta is None:
-            # There was an error in decoding. We can't continue because
-            # synchronization is lost.
-            return base
-        pos += delta+1
-        char += pos // (len(base) + 1)
-        if char > 0x10FFFF:
-            if errors == "strict":
-                raise UnicodeError, ("Invalid character U+%x" % char)
-            char = ord('?')
-        pos = pos % (len(base) + 1)
-        base = base[:pos] + unichr(char) + base[pos:]
-        bias = adapt(delta, (extpos == 0), len(base))
-        extpos = newpos
-    return base
-
-def punycode_decode(text, errors):
-    pos = text.rfind("-")
-    if pos == -1:
-        base = ""
-        extended = text
-    else:
-        base = text[:pos]
-        extended = text[pos+1:]
-    base = unicode(base, "ascii", errors)
-    extended = extended.upper()
-    return insertion_sort(base, extended, errors)
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    def encode(self,input,errors='strict'):
-        res = punycode_encode(input)
-        return res, len(input)
-
-    def decode(self,input,errors='strict'):
-        if errors not in ('strict', 'replace', 'ignore'):
-            raise UnicodeError, "Unsupported error handling "+errors
-        res = punycode_decode(input, errors)
-        return res, len(input)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return punycode_encode(input)
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        if self.errors not in ('strict', 'replace', 'ignore'):
-            raise UnicodeError, "Unsupported error handling "+self.errors
-        return punycode_decode(input, self.errors)
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='punycode',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/punycode.pyc
b
Binary file test/lib/python2.7/encodings/punycode.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/quopri_codec.py
--- a/test/lib/python2.7/encodings/quopri_codec.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,76 +0,0 @@
-"""Codec for quoted-printable encoding.
-
-Like base64 and rot13, this returns Python strings, not Unicode.
-"""
-
-import codecs, quopri
-try:
-    from cStringIO import StringIO
-except ImportError:
-    from StringIO import StringIO
-
-def quopri_encode(input, errors='strict'):
-    """Encode the input, returning a tuple (output object, length consumed).
-
-    errors defines the error handling to apply. It defaults to
-    'strict' handling which is the only currently supported
-    error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    # using str() because of cStringIO's Unicode undesired Unicode behavior.
-    f = StringIO(str(input))
-    g = StringIO()
-    quopri.encode(f, g, quotetabs=True)
-    output = g.getvalue()
-    return (output, len(input))
-
-def quopri_decode(input, errors='strict'):
-    """Decode the input, returning a tuple (output object, length consumed).
-
-    errors defines the error handling to apply. It defaults to
-    'strict' handling which is the only currently supported
-    error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    f = StringIO(str(input))
-    g = StringIO()
-    quopri.decode(f, g)
-    output = g.getvalue()
-    return (output, len(input))
-
-class Codec(codecs.Codec):
-
-    def encode(self, input,errors='strict'):
-        return quopri_encode(input,errors)
-    def decode(self, input,errors='strict'):
-        return quopri_decode(input,errors)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return quopri_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return quopri_decode(input, self.errors)[0]
-
-class StreamWriter(Codec, codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-# encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='quopri',
-        encode=quopri_encode,
-        decode=quopri_decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-        _is_text_encoding=False,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/quopri_codec.pyc
b
Binary file test/lib/python2.7/encodings/quopri_codec.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/raw_unicode_escape.py
--- a/test/lib/python2.7/encodings/raw_unicode_escape.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,45 +0,0 @@
-""" Python 'raw-unicode-escape' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    # Note: Binding these as C functions will result in the class not
-    # converting them to methods. This is intended.
-    encode = codecs.raw_unicode_escape_encode
-    decode = codecs.raw_unicode_escape_decode
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.raw_unicode_escape_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.raw_unicode_escape_decode(input, self.errors)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='raw-unicode-escape',
-        encode=Codec.encode,
-        decode=Codec.decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/raw_unicode_escape.pyc
b
Binary file test/lib/python2.7/encodings/raw_unicode_escape.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/rot_13.py
--- a/test/lib/python2.7/encodings/rot_13.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,119 +0,0 @@
-#! /usr/bin/python2.7
-""" Python Character Mapping Codec for ROT13.
-
-    See http://ucsub.colorado.edu/~kominek/rot13/ for details.
-
-    Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-"""#"
-
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    def encode(self,input,errors='strict'):
-        return codecs.charmap_encode(input,errors,encoding_map)
-
-    def decode(self,input,errors='strict'):
-        return codecs.charmap_decode(input,errors,decoding_map)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.charmap_encode(input,self.errors,encoding_map)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.charmap_decode(input,self.errors,decoding_map)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='rot-13',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-        _is_text_encoding=False,
-    )
-
-### Decoding Map
-
-decoding_map = codecs.make_identity_dict(range(256))
-decoding_map.update({
-   0x0041: 0x004e,
-   0x0042: 0x004f,
-   0x0043: 0x0050,
-   0x0044: 0x0051,
-   0x0045: 0x0052,
-   0x0046: 0x0053,
-   0x0047: 0x0054,
-   0x0048: 0x0055,
-   0x0049: 0x0056,
-   0x004a: 0x0057,
-   0x004b: 0x0058,
-   0x004c: 0x0059,
-   0x004d: 0x005a,
-   0x004e: 0x0041,
-   0x004f: 0x0042,
-   0x0050: 0x0043,
-   0x0051: 0x0044,
-   0x0052: 0x0045,
-   0x0053: 0x0046,
-   0x0054: 0x0047,
-   0x0055: 0x0048,
-   0x0056: 0x0049,
-   0x0057: 0x004a,
-   0x0058: 0x004b,
-   0x0059: 0x004c,
-   0x005a: 0x004d,
-   0x0061: 0x006e,
-   0x0062: 0x006f,
-   0x0063: 0x0070,
-   0x0064: 0x0071,
-   0x0065: 0x0072,
-   0x0066: 0x0073,
-   0x0067: 0x0074,
-   0x0068: 0x0075,
-   0x0069: 0x0076,
-   0x006a: 0x0077,
-   0x006b: 0x0078,
-   0x006c: 0x0079,
-   0x006d: 0x007a,
-   0x006e: 0x0061,
-   0x006f: 0x0062,
-   0x0070: 0x0063,
-   0x0071: 0x0064,
-   0x0072: 0x0065,
-   0x0073: 0x0066,
-   0x0074: 0x0067,
-   0x0075: 0x0068,
-   0x0076: 0x0069,
-   0x0077: 0x006a,
-   0x0078: 0x006b,
-   0x0079: 0x006c,
-   0x007a: 0x006d,
-})
-
-### Encoding Map
-
-encoding_map = codecs.make_encoding_map(decoding_map)
-
-### Filter API
-
-def rot13(infile, outfile):
-    outfile.write(infile.read().encode('rot-13'))
-
-if __name__ == '__main__':
-    import sys
-    rot13(sys.stdin, sys.stdout)
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/rot_13.pyc
b
Binary file test/lib/python2.7/encodings/rot_13.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/shift_jis.py
--- a/test/lib/python2.7/encodings/shift_jis.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# shift_jis.py: Python Unicode Codec for SHIFT_JIS
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_jp, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_jp.getcodec('shift_jis')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='shift_jis',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/shift_jis.pyc
b
Binary file test/lib/python2.7/encodings/shift_jis.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/shift_jis_2004.py
--- a/test/lib/python2.7/encodings/shift_jis_2004.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# shift_jis_2004.py: Python Unicode Codec for SHIFT_JIS_2004
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_jp, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_jp.getcodec('shift_jis_2004')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='shift_jis_2004',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/shift_jis_2004.pyc
b
Binary file test/lib/python2.7/encodings/shift_jis_2004.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/shift_jisx0213.py
--- a/test/lib/python2.7/encodings/shift_jisx0213.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-#
-# shift_jisx0213.py: Python Unicode Codec for SHIFT_JISX0213
-#
-# Written by Hye-Shik Chang <perky@FreeBSD.org>
-#
-
-import _codecs_jp, codecs
-import _multibytecodec as mbc
-
-codec = _codecs_jp.getcodec('shift_jisx0213')
-
-class Codec(codecs.Codec):
-    encode = codec.encode
-    decode = codec.decode
-
-class IncrementalEncoder(mbc.MultibyteIncrementalEncoder,
-                         codecs.IncrementalEncoder):
-    codec = codec
-
-class IncrementalDecoder(mbc.MultibyteIncrementalDecoder,
-                         codecs.IncrementalDecoder):
-    codec = codec
-
-class StreamReader(Codec, mbc.MultibyteStreamReader, codecs.StreamReader):
-    codec = codec
-
-class StreamWriter(Codec, mbc.MultibyteStreamWriter, codecs.StreamWriter):
-    codec = codec
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='shift_jisx0213',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/shift_jisx0213.pyc
b
Binary file test/lib/python2.7/encodings/shift_jisx0213.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/string_escape.py
--- a/test/lib/python2.7/encodings/string_escape.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,38 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-""" Python 'escape' Codec
-
-
-Written by Martin v. L�wis (martin@v.loewis.de).
-
-"""
-import codecs
-
-class Codec(codecs.Codec):
-
-    encode = codecs.escape_encode
-    decode = codecs.escape_decode
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.escape_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.escape_decode(input, self.errors)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='string-escape',
-        encode=Codec.encode,
-        decode=Codec.decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/string_escape.pyc
b
Binary file test/lib/python2.7/encodings/string_escape.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/tis_620.py
--- a/test/lib/python2.7/encodings/tis_620.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,307 +0,0 @@\n-""" Python Character Mapping Codec tis_620 generated from \'python-mappings/TIS-620.TXT\' with gencodec.py.\n-\n-"""#"\n-\n-import codecs\n-\n-### Codec APIs\n-\n-class Codec(codecs.Codec):\n-\n-    def encode(self,input,errors=\'strict\'):\n-        return codecs.charmap_encode(input,errors,encoding_table)\n-\n-    def decode(self,input,errors=\'strict\'):\n-        return codecs.charmap_decode(input,errors,decoding_table)\n-\n-class IncrementalEncoder(codecs.IncrementalEncoder):\n-    def encode(self, input, final=False):\n-        return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n-\n-class IncrementalDecoder(codecs.IncrementalDecoder):\n-    def decode(self, input, final=False):\n-        return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n-\n-class StreamWriter(Codec,codecs.StreamWriter):\n-    pass\n-\n-class StreamReader(Codec,codecs.StreamReader):\n-    pass\n-\n-### encodings module API\n-\n-def getregentry():\n-    return codecs.CodecInfo(\n-        name=\'tis-620\',\n-        encode=Codec().encode,\n-        decode=Codec().decode,\n-        incrementalencoder=IncrementalEncoder,\n-        incrementaldecoder=IncrementalDecoder,\n-        streamreader=StreamReader,\n-        streamwriter=StreamWriter,\n-    )\n-\n-\n-### Decoding Table\n-\n-decoding_table = (\n-    u\'\\x00\'     #  0x00 -> NULL\n-    u\'\\x01\'     #  0x01 -> START OF HEADING\n-    u\'\\x02\'     #  0x02 -> START OF TEXT\n-    u\'\\x03\'     #  0x03 -> END OF TEXT\n-    u\'\\x04\'     #  0x04 -> END OF TRANSMISSION\n-    u\'\\x05\'     #  0x05 -> ENQUIRY\n-    u\'\\x06\'     #  0x06 -> ACKNOWLEDGE\n-    u\'\\x07\'     #  0x07 -> BELL\n-    u\'\\x08\'     #  0x08 -> BACKSPACE\n-    u\'\\t\'       #  0x09 -> HORIZONTAL TABULATION\n-    u\'\\n\'       #  0x0A -> LINE FEED\n-    u\'\\x0b\'     #  0x0B -> VERTICAL TABULATION\n-    u\'\\x0c\'     #  0x0C -> FORM FEED\n-    u\'\\r\'       #  0x0D -> CARRIAGE RETURN\n-    u\'\\x0e\'     #  0x0E -> SHIFT OUT\n-    u\'\\x0f\'     #  0x0F -> SHIFT IN\n-    u\'\\x10\'     #  0x10 -> DATA LINK ESCAPE\n-    u\'\\x11\'     #  0x11 -> DEVICE CONTROL ONE\n-    u\'\\x12\'     #  0x12 -> DEVICE CONTROL TWO\n-    u\'\\x13\'     #  0x13 -> DEVICE CONTROL THREE\n-    u\'\\x14\'     #  0x14 -> DEVICE CONTROL FOUR\n-    u\'\\x15\'     #  0x15 -> NEGATIVE ACKNOWLEDGE\n-    u\'\\x16\'     #  0x16 -> SYNCHRONOUS IDLE\n-    u\'\\x17\'     #  0x17 -> END OF TRANSMISSION BLOCK\n-    u\'\\x18\'     #  0x18 -> CANCEL\n-    u\'\\x19\'     #  0x19 -> END OF MEDIUM\n-    u\'\\x1a\'     #  0x1A -> SUBSTITUTE\n-    u\'\\x1b\'     #  0x1B -> ESCAPE\n-    u\'\\x1c\'     #  0x1C -> FILE SEPARATOR\n-    u\'\\x1d\'     #  0x1D -> GROUP SEPARATOR\n-    u\'\\x1e\'     #  0x1E -> RECORD SEPARATOR\n-    u\'\\x1f\'     #  0x1F -> UNIT SEPARATOR\n-    u\' \'        #  0x20 -> SPACE\n-    u\'!\'        #  0x21 -> EXCLAMATION MARK\n-    u\'"\'        #  0x22 -> QUOTATION MARK\n-    u\'#\'        #  0x23 -> NUMBER SIGN\n-    u\'$\'        #  0x24 -> DOLLAR SIGN\n-    u\'%\'        #  0x25 -> PERCENT SIGN\n-    u\'&\'        #  0x26 -> AMPERSAND\n-    u"\'"        #  0x27 -> APOSTROPHE\n-    u\'(\'        #  0x28 -> LEFT PARENTHESIS\n-    u\')\'        #  0x29 -> RIGHT PARENTHESIS\n-    u\'*\'        #  0x2A -> ASTERISK\n-    u\'+\'        #  0x2B -> PLUS SIGN\n-    u\',\'        #  0x2C -> COMMA\n-    u\'-\'        #  0x2D -> HYPHEN-MINUS\n-    u\'.\'        #  0x2E -> FULL STOP\n-    u\'/\'        #  0x2F -> SOLIDUS\n-    u\'0\'        #  0x30 -> DIGIT ZERO\n-    u\'1\'        #  0x31 -> DIGIT ONE\n-    u\'2\'        #  0x32 -> DIGIT TWO\n-    u\'3\'        #  0x33 -> DIGIT THREE\n-    u\'4\'        #  0x34 -> DIGIT FOUR\n-    u\'5\'        #  0x35 -> DIGIT FIVE\n-    u\'6\'        #  0x36 -> DIGIT SIX\n-    u\'7\'        #  0x37 -> DIGIT SEVEN\n-    u\'8\'        #  0x38 -> DIGIT EIGHT\n-    u\'9\'        #  0x39 -> DIGIT NINE\n-    u\':\'        #  0x3A -> COLON\n-    u\';\'        #  0x3B -> SEMICOLON\n-    u\'<\'        #  0x3C -> LESS-THAN SIGN\n-    u\'=\'        #  0x3D -> EQUALS SIGN\n-    u\'>\'        #  0x3E -> GREATER-THAN SIGN\n-    u\'?\'        #  0x3F -> QUESTION MARK\n-    u\'@\'        #  0x40 -> COMMERCIAL AT\n-    u\'A\'        #  0x41 -> LATIN CAPITAL LETT'..b"   u'\\u0e0d'   #  0xAD -> THAI CHARACTER YO YING\n-    u'\\u0e0e'   #  0xAE -> THAI CHARACTER DO CHADA\n-    u'\\u0e0f'   #  0xAF -> THAI CHARACTER TO PATAK\n-    u'\\u0e10'   #  0xB0 -> THAI CHARACTER THO THAN\n-    u'\\u0e11'   #  0xB1 -> THAI CHARACTER THO NANGMONTHO\n-    u'\\u0e12'   #  0xB2 -> THAI CHARACTER THO PHUTHAO\n-    u'\\u0e13'   #  0xB3 -> THAI CHARACTER NO NEN\n-    u'\\u0e14'   #  0xB4 -> THAI CHARACTER DO DEK\n-    u'\\u0e15'   #  0xB5 -> THAI CHARACTER TO TAO\n-    u'\\u0e16'   #  0xB6 -> THAI CHARACTER THO THUNG\n-    u'\\u0e17'   #  0xB7 -> THAI CHARACTER THO THAHAN\n-    u'\\u0e18'   #  0xB8 -> THAI CHARACTER THO THONG\n-    u'\\u0e19'   #  0xB9 -> THAI CHARACTER NO NU\n-    u'\\u0e1a'   #  0xBA -> THAI CHARACTER BO BAIMAI\n-    u'\\u0e1b'   #  0xBB -> THAI CHARACTER PO PLA\n-    u'\\u0e1c'   #  0xBC -> THAI CHARACTER PHO PHUNG\n-    u'\\u0e1d'   #  0xBD -> THAI CHARACTER FO FA\n-    u'\\u0e1e'   #  0xBE -> THAI CHARACTER PHO PHAN\n-    u'\\u0e1f'   #  0xBF -> THAI CHARACTER FO FAN\n-    u'\\u0e20'   #  0xC0 -> THAI CHARACTER PHO SAMPHAO\n-    u'\\u0e21'   #  0xC1 -> THAI CHARACTER MO MA\n-    u'\\u0e22'   #  0xC2 -> THAI CHARACTER YO YAK\n-    u'\\u0e23'   #  0xC3 -> THAI CHARACTER RO RUA\n-    u'\\u0e24'   #  0xC4 -> THAI CHARACTER RU\n-    u'\\u0e25'   #  0xC5 -> THAI CHARACTER LO LING\n-    u'\\u0e26'   #  0xC6 -> THAI CHARACTER LU\n-    u'\\u0e27'   #  0xC7 -> THAI CHARACTER WO WAEN\n-    u'\\u0e28'   #  0xC8 -> THAI CHARACTER SO SALA\n-    u'\\u0e29'   #  0xC9 -> THAI CHARACTER SO RUSI\n-    u'\\u0e2a'   #  0xCA -> THAI CHARACTER SO SUA\n-    u'\\u0e2b'   #  0xCB -> THAI CHARACTER HO HIP\n-    u'\\u0e2c'   #  0xCC -> THAI CHARACTER LO CHULA\n-    u'\\u0e2d'   #  0xCD -> THAI CHARACTER O ANG\n-    u'\\u0e2e'   #  0xCE -> THAI CHARACTER HO NOKHUK\n-    u'\\u0e2f'   #  0xCF -> THAI CHARACTER PAIYANNOI\n-    u'\\u0e30'   #  0xD0 -> THAI CHARACTER SARA A\n-    u'\\u0e31'   #  0xD1 -> THAI CHARACTER MAI HAN-AKAT\n-    u'\\u0e32'   #  0xD2 -> THAI CHARACTER SARA AA\n-    u'\\u0e33'   #  0xD3 -> THAI CHARACTER SARA AM\n-    u'\\u0e34'   #  0xD4 -> THAI CHARACTER SARA I\n-    u'\\u0e35'   #  0xD5 -> THAI CHARACTER SARA II\n-    u'\\u0e36'   #  0xD6 -> THAI CHARACTER SARA UE\n-    u'\\u0e37'   #  0xD7 -> THAI CHARACTER SARA UEE\n-    u'\\u0e38'   #  0xD8 -> THAI CHARACTER SARA U\n-    u'\\u0e39'   #  0xD9 -> THAI CHARACTER SARA UU\n-    u'\\u0e3a'   #  0xDA -> THAI CHARACTER PHINTHU\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\u0e3f'   #  0xDF -> THAI CURRENCY SYMBOL BAHT\n-    u'\\u0e40'   #  0xE0 -> THAI CHARACTER SARA E\n-    u'\\u0e41'   #  0xE1 -> THAI CHARACTER SARA AE\n-    u'\\u0e42'   #  0xE2 -> THAI CHARACTER SARA O\n-    u'\\u0e43'   #  0xE3 -> THAI CHARACTER SARA AI MAIMUAN\n-    u'\\u0e44'   #  0xE4 -> THAI CHARACTER SARA AI MAIMALAI\n-    u'\\u0e45'   #  0xE5 -> THAI CHARACTER LAKKHANGYAO\n-    u'\\u0e46'   #  0xE6 -> THAI CHARACTER MAIYAMOK\n-    u'\\u0e47'   #  0xE7 -> THAI CHARACTER MAITAIKHU\n-    u'\\u0e48'   #  0xE8 -> THAI CHARACTER MAI EK\n-    u'\\u0e49'   #  0xE9 -> THAI CHARACTER MAI THO\n-    u'\\u0e4a'   #  0xEA -> THAI CHARACTER MAI TRI\n-    u'\\u0e4b'   #  0xEB -> THAI CHARACTER MAI CHATTAWA\n-    u'\\u0e4c'   #  0xEC -> THAI CHARACTER THANTHAKHAT\n-    u'\\u0e4d'   #  0xED -> THAI CHARACTER NIKHAHIT\n-    u'\\u0e4e'   #  0xEE -> THAI CHARACTER YAMAKKAN\n-    u'\\u0e4f'   #  0xEF -> THAI CHARACTER FONGMAN\n-    u'\\u0e50'   #  0xF0 -> THAI DIGIT ZERO\n-    u'\\u0e51'   #  0xF1 -> THAI DIGIT ONE\n-    u'\\u0e52'   #  0xF2 -> THAI DIGIT TWO\n-    u'\\u0e53'   #  0xF3 -> THAI DIGIT THREE\n-    u'\\u0e54'   #  0xF4 -> THAI DIGIT FOUR\n-    u'\\u0e55'   #  0xF5 -> THAI DIGIT FIVE\n-    u'\\u0e56'   #  0xF6 -> THAI DIGIT SIX\n-    u'\\u0e57'   #  0xF7 -> THAI DIGIT SEVEN\n-    u'\\u0e58'   #  0xF8 -> THAI DIGIT EIGHT\n-    u'\\u0e59'   #  0xF9 -> THAI DIGIT NINE\n-    u'\\u0e5a'   #  0xFA -> THAI CHARACTER ANGKHANKHU\n-    u'\\u0e5b'   #  0xFB -> THAI CHARACTER KHOMUT\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-    u'\\ufffe'\n-)\n-\n-### Encoding table\n-encoding_table=codecs.charmap_build(decoding_table)\n"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/tis_620.pyc
b
Binary file test/lib/python2.7/encodings/tis_620.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/undefined.py
--- a/test/lib/python2.7/encodings/undefined.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,49 +0,0 @@
-""" Python 'undefined' Codec
-
-    This codec will always raise a ValueError exception when being
-    used. It is intended for use by the site.py file to switch off
-    automatic string to Unicode coercion.
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    def encode(self,input,errors='strict'):
-        raise UnicodeError("undefined encoding")
-
-    def decode(self,input,errors='strict'):
-        raise UnicodeError("undefined encoding")
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        raise UnicodeError("undefined encoding")
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        raise UnicodeError("undefined encoding")
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='undefined',
-        encode=Codec().encode,
-        decode=Codec().decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/undefined.pyc
b
Binary file test/lib/python2.7/encodings/undefined.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/unicode_escape.py
--- a/test/lib/python2.7/encodings/unicode_escape.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,45 +0,0 @@
-""" Python 'unicode-escape' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    # Note: Binding these as C functions will result in the class not
-    # converting them to methods. This is intended.
-    encode = codecs.unicode_escape_encode
-    decode = codecs.unicode_escape_decode
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.unicode_escape_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.unicode_escape_decode(input, self.errors)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='unicode-escape',
-        encode=Codec.encode,
-        decode=Codec.decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/unicode_escape.pyc
b
Binary file test/lib/python2.7/encodings/unicode_escape.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/unicode_internal.py
--- a/test/lib/python2.7/encodings/unicode_internal.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,45 +0,0 @@
-""" Python 'unicode-internal' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-class Codec(codecs.Codec):
-
-    # Note: Binding these as C functions will result in the class not
-    # converting them to methods. This is intended.
-    encode = codecs.unicode_internal_encode
-    decode = codecs.unicode_internal_decode
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.unicode_internal_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return codecs.unicode_internal_decode(input, self.errors)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='unicode-internal',
-        encode=Codec.encode,
-        decode=Codec.decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamwriter=StreamWriter,
-        streamreader=StreamReader,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/unicode_internal.pyc
b
Binary file test/lib/python2.7/encodings/unicode_internal.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_16.py
--- a/test/lib/python2.7/encodings/utf_16.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,126 +0,0 @@
-""" Python 'utf-16' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs, sys
-
-### Codec APIs
-
-encode = codecs.utf_16_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_16_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def __init__(self, errors='strict'):
-        codecs.IncrementalEncoder.__init__(self, errors)
-        self.encoder = None
-
-    def encode(self, input, final=False):
-        if self.encoder is None:
-            result = codecs.utf_16_encode(input, self.errors)[0]
-            if sys.byteorder == 'little':
-                self.encoder = codecs.utf_16_le_encode
-            else:
-                self.encoder = codecs.utf_16_be_encode
-            return result
-        return self.encoder(input, self.errors)[0]
-
-    def reset(self):
-        codecs.IncrementalEncoder.reset(self)
-        self.encoder = None
-
-    def getstate(self):
-        # state info we return to the caller:
-        # 0: stream is in natural order for this platform
-        # 2: endianness hasn't been determined yet
-        # (we're never writing in unnatural order)
-        return (2 if self.encoder is None else 0)
-
-    def setstate(self, state):
-        if state:
-            self.encoder = None
-        else:
-            if sys.byteorder == 'little':
-                self.encoder = codecs.utf_16_le_encode
-            else:
-                self.encoder = codecs.utf_16_be_encode
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    def __init__(self, errors='strict'):
-        codecs.BufferedIncrementalDecoder.__init__(self, errors)
-        self.decoder = None
-
-    def _buffer_decode(self, input, errors, final):
-        if self.decoder is None:
-            (output, consumed, byteorder) = \
-                codecs.utf_16_ex_decode(input, errors, 0, final)
-            if byteorder == -1:
-                self.decoder = codecs.utf_16_le_decode
-            elif byteorder == 1:
-                self.decoder = codecs.utf_16_be_decode
-            elif consumed >= 2:
-                raise UnicodeError("UTF-16 stream does not start with BOM")
-            return (output, consumed)
-        return self.decoder(input, self.errors, final)
-
-    def reset(self):
-        codecs.BufferedIncrementalDecoder.reset(self)
-        self.decoder = None
-
-class StreamWriter(codecs.StreamWriter):
-    def __init__(self, stream, errors='strict'):
-        codecs.StreamWriter.__init__(self, stream, errors)
-        self.encoder = None
-
-    def reset(self):
-        codecs.StreamWriter.reset(self)
-        self.encoder = None
-
-    def encode(self, input, errors='strict'):
-        if self.encoder is None:
-            result = codecs.utf_16_encode(input, errors)
-            if sys.byteorder == 'little':
-                self.encoder = codecs.utf_16_le_encode
-            else:
-                self.encoder = codecs.utf_16_be_encode
-            return result
-        else:
-            return self.encoder(input, errors)
-
-class StreamReader(codecs.StreamReader):
-
-    def reset(self):
-        codecs.StreamReader.reset(self)
-        try:
-            del self.decode
-        except AttributeError:
-            pass
-
-    def decode(self, input, errors='strict'):
-        (object, consumed, byteorder) = \
-            codecs.utf_16_ex_decode(input, errors, 0, False)
-        if byteorder == -1:
-            self.decode = codecs.utf_16_le_decode
-        elif byteorder == 1:
-            self.decode = codecs.utf_16_be_decode
-        elif consumed>=2:
-            raise UnicodeError,"UTF-16 stream does not start with BOM"
-        return (object, consumed)
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-16',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_16.pyc
b
Binary file test/lib/python2.7/encodings/utf_16.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_16_be.py
--- a/test/lib/python2.7/encodings/utf_16_be.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,42 +0,0 @@
-""" Python 'utf-16-be' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-encode = codecs.utf_16_be_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_16_be_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.utf_16_be_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    _buffer_decode = codecs.utf_16_be_decode
-
-class StreamWriter(codecs.StreamWriter):
-    encode = codecs.utf_16_be_encode
-
-class StreamReader(codecs.StreamReader):
-    decode = codecs.utf_16_be_decode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-16-be',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_16_be.pyc
b
Binary file test/lib/python2.7/encodings/utf_16_be.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_16_le.py
--- a/test/lib/python2.7/encodings/utf_16_le.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,42 +0,0 @@
-""" Python 'utf-16-le' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-encode = codecs.utf_16_le_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_16_le_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.utf_16_le_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    _buffer_decode = codecs.utf_16_le_decode
-
-class StreamWriter(codecs.StreamWriter):
-    encode = codecs.utf_16_le_encode
-
-class StreamReader(codecs.StreamReader):
-    decode = codecs.utf_16_le_decode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-16-le',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_16_le.pyc
b
Binary file test/lib/python2.7/encodings/utf_16_le.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_32.py
--- a/test/lib/python2.7/encodings/utf_32.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,150 +0,0 @@
-"""
-Python 'utf-32' Codec
-"""
-import codecs, sys
-
-### Codec APIs
-
-encode = codecs.utf_32_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_32_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def __init__(self, errors='strict'):
-        codecs.IncrementalEncoder.__init__(self, errors)
-        self.encoder = None
-
-    def encode(self, input, final=False):
-        if self.encoder is None:
-            result = codecs.utf_32_encode(input, self.errors)[0]
-            if sys.byteorder == 'little':
-                self.encoder = codecs.utf_32_le_encode
-            else:
-                self.encoder = codecs.utf_32_be_encode
-            return result
-        return self.encoder(input, self.errors)[0]
-
-    def reset(self):
-        codecs.IncrementalEncoder.reset(self)
-        self.encoder = None
-
-    def getstate(self):
-        # state info we return to the caller:
-        # 0: stream is in natural order for this platform
-        # 2: endianness hasn't been determined yet
-        # (we're never writing in unnatural order)
-        return (2 if self.encoder is None else 0)
-
-    def setstate(self, state):
-        if state:
-            self.encoder = None
-        else:
-            if sys.byteorder == 'little':
-                self.encoder = codecs.utf_32_le_encode
-            else:
-                self.encoder = codecs.utf_32_be_encode
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    def __init__(self, errors='strict'):
-        codecs.BufferedIncrementalDecoder.__init__(self, errors)
-        self.decoder = None
-
-    def _buffer_decode(self, input, errors, final):
-        if self.decoder is None:
-            (output, consumed, byteorder) = \
-                codecs.utf_32_ex_decode(input, errors, 0, final)
-            if byteorder == -1:
-                self.decoder = codecs.utf_32_le_decode
-            elif byteorder == 1:
-                self.decoder = codecs.utf_32_be_decode
-            elif consumed >= 4:
-                raise UnicodeError("UTF-32 stream does not start with BOM")
-            return (output, consumed)
-        return self.decoder(input, self.errors, final)
-
-    def reset(self):
-        codecs.BufferedIncrementalDecoder.reset(self)
-        self.decoder = None
-
-    def getstate(self):
-        # additional state info from the base class must be None here,
-        # as it isn't passed along to the caller
-        state = codecs.BufferedIncrementalDecoder.getstate(self)[0]
-        # additional state info we pass to the caller:
-        # 0: stream is in natural order for this platform
-        # 1: stream is in unnatural order
-        # 2: endianness hasn't been determined yet
-        if self.decoder is None:
-            return (state, 2)
-        addstate = int((sys.byteorder == "big") !=
-                       (self.decoder is codecs.utf_32_be_decode))
-        return (state, addstate)
-
-    def setstate(self, state):
-        # state[1] will be ignored by BufferedIncrementalDecoder.setstate()
-        codecs.BufferedIncrementalDecoder.setstate(self, state)
-        state = state[1]
-        if state == 0:
-            self.decoder = (codecs.utf_32_be_decode
-                            if sys.byteorder == "big"
-                            else codecs.utf_32_le_decode)
-        elif state == 1:
-            self.decoder = (codecs.utf_32_le_decode
-                            if sys.byteorder == "big"
-                            else codecs.utf_32_be_decode)
-        else:
-            self.decoder = None
-
-class StreamWriter(codecs.StreamWriter):
-    def __init__(self, stream, errors='strict'):
-        self.encoder = None
-        codecs.StreamWriter.__init__(self, stream, errors)
-
-    def reset(self):
-        codecs.StreamWriter.reset(self)
-        self.encoder = None
-
-    def encode(self, input, errors='strict'):
-        if self.encoder is None:
-            result = codecs.utf_32_encode(input, errors)
-            if sys.byteorder == 'little':
-                self.encoder = codecs.utf_32_le_encode
-            else:
-                self.encoder = codecs.utf_32_be_encode
-            return result
-        else:
-            return self.encoder(input, errors)
-
-class StreamReader(codecs.StreamReader):
-
-    def reset(self):
-        codecs.StreamReader.reset(self)
-        try:
-            del self.decode
-        except AttributeError:
-            pass
-
-    def decode(self, input, errors='strict'):
-        (object, consumed, byteorder) = \
-            codecs.utf_32_ex_decode(input, errors, 0, False)
-        if byteorder == -1:
-            self.decode = codecs.utf_32_le_decode
-        elif byteorder == 1:
-            self.decode = codecs.utf_32_be_decode
-        elif consumed>=4:
-            raise UnicodeError,"UTF-32 stream does not start with BOM"
-        return (object, consumed)
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-32',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_32.pyc
b
Binary file test/lib/python2.7/encodings/utf_32.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_32_be.py
--- a/test/lib/python2.7/encodings/utf_32_be.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,37 +0,0 @@
-"""
-Python 'utf-32-be' Codec
-"""
-import codecs
-
-### Codec APIs
-
-encode = codecs.utf_32_be_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_32_be_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.utf_32_be_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    _buffer_decode = codecs.utf_32_be_decode
-
-class StreamWriter(codecs.StreamWriter):
-    encode = codecs.utf_32_be_encode
-
-class StreamReader(codecs.StreamReader):
-    decode = codecs.utf_32_be_decode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-32-be',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_32_be.pyc
b
Binary file test/lib/python2.7/encodings/utf_32_be.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_32_le.py
--- a/test/lib/python2.7/encodings/utf_32_le.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,37 +0,0 @@
-"""
-Python 'utf-32-le' Codec
-"""
-import codecs
-
-### Codec APIs
-
-encode = codecs.utf_32_le_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_32_le_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.utf_32_le_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    _buffer_decode = codecs.utf_32_le_decode
-
-class StreamWriter(codecs.StreamWriter):
-    encode = codecs.utf_32_le_encode
-
-class StreamReader(codecs.StreamReader):
-    decode = codecs.utf_32_le_decode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-32-le',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_32_le.pyc
b
Binary file test/lib/python2.7/encodings/utf_32_le.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_7.py
--- a/test/lib/python2.7/encodings/utf_7.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,38 +0,0 @@
-""" Python 'utf-7' Codec
-
-Written by Brian Quinlan (brian@sweetapp.com).
-"""
-import codecs
-
-### Codec APIs
-
-encode = codecs.utf_7_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_7_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.utf_7_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    _buffer_decode = codecs.utf_7_decode
-
-class StreamWriter(codecs.StreamWriter):
-    encode = codecs.utf_7_encode
-
-class StreamReader(codecs.StreamReader):
-    decode = codecs.utf_7_decode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-7',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_7.pyc
b
Binary file test/lib/python2.7/encodings/utf_7.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_8.py
--- a/test/lib/python2.7/encodings/utf_8.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,42 +0,0 @@
-""" Python 'utf-8' Codec
-
-
-Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
-
-"""
-import codecs
-
-### Codec APIs
-
-encode = codecs.utf_8_encode
-
-def decode(input, errors='strict'):
-    return codecs.utf_8_decode(input, errors, True)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return codecs.utf_8_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    _buffer_decode = codecs.utf_8_decode
-
-class StreamWriter(codecs.StreamWriter):
-    encode = codecs.utf_8_encode
-
-class StreamReader(codecs.StreamReader):
-    decode = codecs.utf_8_decode
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-8',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_8.pyc
b
Binary file test/lib/python2.7/encodings/utf_8.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_8_sig.py
--- a/test/lib/python2.7/encodings/utf_8_sig.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,117 +0,0 @@
-""" Python 'utf-8-sig' Codec
-This work similar to UTF-8 with the following changes:
-
-* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
-  first three bytes.
-
-* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
-  bytes will be skipped.
-"""
-import codecs
-
-### Codec APIs
-
-def encode(input, errors='strict'):
-    return (codecs.BOM_UTF8 + codecs.utf_8_encode(input, errors)[0], len(input))
-
-def decode(input, errors='strict'):
-    prefix = 0
-    if input[:3] == codecs.BOM_UTF8:
-        input = input[3:]
-        prefix = 3
-    (output, consumed) = codecs.utf_8_decode(input, errors, True)
-    return (output, consumed+prefix)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def __init__(self, errors='strict'):
-        codecs.IncrementalEncoder.__init__(self, errors)
-        self.first = 1
-
-    def encode(self, input, final=False):
-        if self.first:
-            self.first = 0
-            return codecs.BOM_UTF8 + codecs.utf_8_encode(input, self.errors)[0]
-        else:
-            return codecs.utf_8_encode(input, self.errors)[0]
-
-    def reset(self):
-        codecs.IncrementalEncoder.reset(self)
-        self.first = 1
-
-    def getstate(self):
-        return self.first
-
-    def setstate(self, state):
-        self.first = state
-
-class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
-    def __init__(self, errors='strict'):
-        codecs.BufferedIncrementalDecoder.__init__(self, errors)
-        self.first = True
-
-    def _buffer_decode(self, input, errors, final):
-        if self.first:
-            if len(input) < 3:
-                if codecs.BOM_UTF8.startswith(input):
-                    # not enough data to decide if this really is a BOM
-                    # => try again on the next call
-                    return (u"", 0)
-                else:
-                    self.first = None
-            else:
-                self.first = None
-                if input[:3] == codecs.BOM_UTF8:
-                    (output, consumed) = codecs.utf_8_decode(input[3:], errors, final)
-                    return (output, consumed+3)
-        return codecs.utf_8_decode(input, errors, final)
-
-    def reset(self):
-        codecs.BufferedIncrementalDecoder.reset(self)
-        self.first = True
-
-class StreamWriter(codecs.StreamWriter):
-    def reset(self):
-        codecs.StreamWriter.reset(self)
-        try:
-            del self.encode
-        except AttributeError:
-            pass
-
-    def encode(self, input, errors='strict'):
-        self.encode = codecs.utf_8_encode
-        return encode(input, errors)
-
-class StreamReader(codecs.StreamReader):
-    def reset(self):
-        codecs.StreamReader.reset(self)
-        try:
-            del self.decode
-        except AttributeError:
-            pass
-
-    def decode(self, input, errors='strict'):
-        if len(input) < 3:
-            if codecs.BOM_UTF8.startswith(input):
-                # not enough data to decide if this is a BOM
-                # => try again on the next call
-                return (u"", 0)
-        elif input[:3] == codecs.BOM_UTF8:
-            self.decode = codecs.utf_8_decode
-            (output, consumed) = codecs.utf_8_decode(input[3:],errors)
-            return (output, consumed+3)
-        # (else) no BOM present
-        self.decode = codecs.utf_8_decode
-        return codecs.utf_8_decode(input, errors)
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='utf-8-sig',
-        encode=encode,
-        decode=decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/utf_8_sig.pyc
b
Binary file test/lib/python2.7/encodings/utf_8_sig.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/uu_codec.py
--- a/test/lib/python2.7/encodings/uu_codec.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,130 +0,0 @@
-""" Python 'uu_codec' Codec - UU content transfer encoding
-
-    Unlike most of the other codecs which target Unicode, this codec
-    will return Python string objects for both encode and decode.
-
-    Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were
-    adapted from uu.py which was written by Lance Ellinghouse and
-    modified by Jack Jansen and Fredrik Lundh.
-
-"""
-import codecs, binascii
-
-### Codec APIs
-
-def uu_encode(input,errors='strict',filename='<data>',mode=0666):
-
-    """ Encodes the object input and returns a tuple (output
-        object, length consumed).
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    from cStringIO import StringIO
-    from binascii import b2a_uu
-    # using str() because of cStringIO's Unicode undesired Unicode behavior.
-    infile = StringIO(str(input))
-    outfile = StringIO()
-    read = infile.read
-    write = outfile.write
-
-    # Encode
-    write('begin %o %s\n' % (mode & 0777, filename))
-    chunk = read(45)
-    while chunk:
-        write(b2a_uu(chunk))
-        chunk = read(45)
-    write(' \nend\n')
-
-    return (outfile.getvalue(), len(input))
-
-def uu_decode(input,errors='strict'):
-
-    """ Decodes the object input and returns a tuple (output
-        object, length consumed).
-
-        input must be an object which provides the bf_getreadbuf
-        buffer slot. Python strings, buffer objects and memory
-        mapped files are examples of objects providing this slot.
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-        Note: filename and file mode information in the input data is
-        ignored.
-
-    """
-    assert errors == 'strict'
-    from cStringIO import StringIO
-    from binascii import a2b_uu
-    infile = StringIO(str(input))
-    outfile = StringIO()
-    readline = infile.readline
-    write = outfile.write
-
-    # Find start of encoded data
-    while 1:
-        s = readline()
-        if not s:
-            raise ValueError, 'Missing "begin" line in input data'
-        if s[:5] == 'begin':
-            break
-
-    # Decode
-    while 1:
-        s = readline()
-        if not s or \
-           s == 'end\n':
-            break
-        try:
-            data = a2b_uu(s)
-        except binascii.Error, v:
-            # Workaround for broken uuencoders by /Fredrik Lundh
-            nbytes = (((ord(s[0])-32) & 63) * 4 + 5) // 3
-            data = a2b_uu(s[:nbytes])
-            #sys.stderr.write("Warning: %s\n" % str(v))
-        write(data)
-    if not s:
-        raise ValueError, 'Truncated input data'
-
-    return (outfile.getvalue(), len(input))
-
-class Codec(codecs.Codec):
-
-    def encode(self,input,errors='strict'):
-        return uu_encode(input,errors)
-
-    def decode(self,input,errors='strict'):
-        return uu_decode(input,errors)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def encode(self, input, final=False):
-        return uu_encode(input, self.errors)[0]
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def decode(self, input, final=False):
-        return uu_decode(input, self.errors)[0]
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='uu',
-        encode=uu_encode,
-        decode=uu_decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-        _is_text_encoding=False,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/uu_codec.pyc
b
Binary file test/lib/python2.7/encodings/uu_codec.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/zlib_codec.py
--- a/test/lib/python2.7/encodings/zlib_codec.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,103 +0,0 @@
-""" Python 'zlib_codec' Codec - zlib compression encoding
-
-    Unlike most of the other codecs which target Unicode, this codec
-    will return Python string objects for both encode and decode.
-
-    Written by Marc-Andre Lemburg (mal@lemburg.com).
-
-"""
-import codecs
-import zlib # this codec needs the optional zlib module !
-
-### Codec APIs
-
-def zlib_encode(input,errors='strict'):
-
-    """ Encodes the object input and returns a tuple (output
-        object, length consumed).
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = zlib.compress(input)
-    return (output, len(input))
-
-def zlib_decode(input,errors='strict'):
-
-    """ Decodes the object input and returns a tuple (output
-        object, length consumed).
-
-        input must be an object which provides the bf_getreadbuf
-        buffer slot. Python strings, buffer objects and memory
-        mapped files are examples of objects providing this slot.
-
-        errors defines the error handling to apply. It defaults to
-        'strict' handling which is the only currently supported
-        error handling for this codec.
-
-    """
-    assert errors == 'strict'
-    output = zlib.decompress(input)
-    return (output, len(input))
-
-class Codec(codecs.Codec):
-
-    def encode(self, input, errors='strict'):
-        return zlib_encode(input, errors)
-    def decode(self, input, errors='strict'):
-        return zlib_decode(input, errors)
-
-class IncrementalEncoder(codecs.IncrementalEncoder):
-    def __init__(self, errors='strict'):
-        assert errors == 'strict'
-        self.errors = errors
-        self.compressobj = zlib.compressobj()
-
-    def encode(self, input, final=False):
-        if final:
-            c = self.compressobj.compress(input)
-            return c + self.compressobj.flush()
-        else:
-            return self.compressobj.compress(input)
-
-    def reset(self):
-        self.compressobj = zlib.compressobj()
-
-class IncrementalDecoder(codecs.IncrementalDecoder):
-    def __init__(self, errors='strict'):
-        assert errors == 'strict'
-        self.errors = errors
-        self.decompressobj = zlib.decompressobj()
-
-    def decode(self, input, final=False):
-        if final:
-            c = self.decompressobj.decompress(input)
-            return c + self.decompressobj.flush()
-        else:
-            return self.decompressobj.decompress(input)
-
-    def reset(self):
-        self.decompressobj = zlib.decompressobj()
-
-class StreamWriter(Codec,codecs.StreamWriter):
-    pass
-
-class StreamReader(Codec,codecs.StreamReader):
-    pass
-
-### encodings module API
-
-def getregentry():
-    return codecs.CodecInfo(
-        name='zlib',
-        encode=zlib_encode,
-        decode=zlib_decode,
-        incrementalencoder=IncrementalEncoder,
-        incrementaldecoder=IncrementalDecoder,
-        streamreader=StreamReader,
-        streamwriter=StreamWriter,
-        _is_text_encoding=False,
-    )
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/encodings/zlib_codec.pyc
b
Binary file test/lib/python2.7/encodings/zlib_codec.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/fnmatch.py
--- a/test/lib/python2.7/fnmatch.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,120 +0,0 @@
-"""Filename matching with shell patterns.
-
-fnmatch(FILENAME, PATTERN) matches according to the local convention.
-fnmatchcase(FILENAME, PATTERN) always takes case in account.
-
-The functions operate by translating the pattern into a regular
-expression.  They cache the compiled regular expressions for speed.
-
-The function translate(PATTERN) returns a regular expression
-corresponding to PATTERN.  (It does not compile it.)
-"""
-
-import re
-
-__all__ = ["filter", "fnmatch", "fnmatchcase", "translate"]
-
-_cache = {}
-_MAXCACHE = 100
-
-def _purge():
-    """Clear the pattern cache"""
-    _cache.clear()
-
-def fnmatch(name, pat):
-    """Test whether FILENAME matches PATTERN.
-
-    Patterns are Unix shell style:
-
-    *       matches everything
-    ?       matches any single character
-    [seq]   matches any character in seq
-    [!seq]  matches any char not in seq
-
-    An initial period in FILENAME is not special.
-    Both FILENAME and PATTERN are first case-normalized
-    if the operating system requires it.
-    If you don't want this, use fnmatchcase(FILENAME, PATTERN).
-    """
-
-    import os
-    name = os.path.normcase(name)
-    pat = os.path.normcase(pat)
-    return fnmatchcase(name, pat)
-
-def filter(names, pat):
-    """Return the subset of the list NAMES that match PAT"""
-    import os,posixpath
-    result=[]
-    pat=os.path.normcase(pat)
-    try:
-        re_pat = _cache[pat]
-    except KeyError:
-        res = translate(pat)
-        if len(_cache) >= _MAXCACHE:
-            _cache.clear()
-        _cache[pat] = re_pat = re.compile(res)
-    match = re_pat.match
-    if os.path is posixpath:
-        # normcase on posix is NOP. Optimize it away from the loop.
-        for name in names:
-            if match(name):
-                result.append(name)
-    else:
-        for name in names:
-            if match(os.path.normcase(name)):
-                result.append(name)
-    return result
-
-def fnmatchcase(name, pat):
-    """Test whether FILENAME matches PATTERN, including case.
-
-    This is a version of fnmatch() which doesn't case-normalize
-    its arguments.
-    """
-
-    try:
-        re_pat = _cache[pat]
-    except KeyError:
-        res = translate(pat)
-        if len(_cache) >= _MAXCACHE:
-            _cache.clear()
-        _cache[pat] = re_pat = re.compile(res)
-    return re_pat.match(name) is not None
-
-def translate(pat):
-    """Translate a shell PATTERN to a regular expression.
-
-    There is no way to quote meta-characters.
-    """
-
-    i, n = 0, len(pat)
-    res = ''
-    while i < n:
-        c = pat[i]
-        i = i+1
-        if c == '*':
-            res = res + '.*'
-        elif c == '?':
-            res = res + '.'
-        elif c == '[':
-            j = i
-            if j < n and pat[j] == '!':
-                j = j+1
-            if j < n and pat[j] == ']':
-                j = j+1
-            while j < n and pat[j] != ']':
-                j = j+1
-            if j >= n:
-                res = res + '\\['
-            else:
-                stuff = pat[i:j].replace('\\','\\\\')
-                i = j+1
-                if stuff[0] == '!':
-                    stuff = '^' + stuff[1:]
-                elif stuff[0] == '^':
-                    stuff = '\\' + stuff
-                res = '%s[%s]' % (res, stuff)
-        else:
-            res = res + re.escape(c)
-    return res + '\Z(?ms)'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/fnmatch.pyc
b
Binary file test/lib/python2.7/fnmatch.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/genericpath.py
--- a/test/lib/python2.7/genericpath.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,113 +0,0 @@
-"""
-Path operations common to more than one OS
-Do not use directly.  The OS specific modules import the appropriate
-functions from this module themselves.
-"""
-import os
-import stat
-
-__all__ = ['commonprefix', 'exists', 'getatime', 'getctime', 'getmtime',
-           'getsize', 'isdir', 'isfile']
-
-
-try:
-    _unicode = unicode
-except NameError:
-    # If Python is built without Unicode support, the unicode type
-    # will not exist. Fake one.
-    class _unicode(object):
-        pass
-
-# Does a path exist?
-# This is false for dangling symbolic links on systems that support them.
-def exists(path):
-    """Test whether a path exists.  Returns False for broken symbolic links"""
-    try:
-        os.stat(path)
-    except os.error:
-        return False
-    return True
-
-
-# This follows symbolic links, so both islink() and isdir() can be true
-# for the same path on systems that support symlinks
-def isfile(path):
-    """Test whether a path is a regular file"""
-    try:
-        st = os.stat(path)
-    except os.error:
-        return False
-    return stat.S_ISREG(st.st_mode)
-
-
-# Is a path a directory?
-# This follows symbolic links, so both islink() and isdir()
-# can be true for the same path on systems that support symlinks
-def isdir(s):
-    """Return true if the pathname refers to an existing directory."""
-    try:
-        st = os.stat(s)
-    except os.error:
-        return False
-    return stat.S_ISDIR(st.st_mode)
-
-
-def getsize(filename):
-    """Return the size of a file, reported by os.stat()."""
-    return os.stat(filename).st_size
-
-
-def getmtime(filename):
-    """Return the last modification time of a file, reported by os.stat()."""
-    return os.stat(filename).st_mtime
-
-
-def getatime(filename):
-    """Return the last access time of a file, reported by os.stat()."""
-    return os.stat(filename).st_atime
-
-
-def getctime(filename):
-    """Return the metadata change time of a file, reported by os.stat()."""
-    return os.stat(filename).st_ctime
-
-
-# Return the longest prefix of all list elements.
-def commonprefix(m):
-    "Given a list of pathnames, returns the longest common leading component"
-    if not m: return ''
-    s1 = min(m)
-    s2 = max(m)
-    for i, c in enumerate(s1):
-        if c != s2[i]:
-            return s1[:i]
-    return s1
-
-# Split a path in root and extension.
-# The extension is everything starting at the last dot in the last
-# pathname component; the root is everything before that.
-# It is always true that root + ext == p.
-
-# Generic implementation of splitext, to be parametrized with
-# the separators
-def _splitext(p, sep, altsep, extsep):
-    """Split the extension from a pathname.
-
-    Extension is everything from the last dot to the end, ignoring
-    leading dots.  Returns "(root, ext)"; ext may be empty."""
-
-    sepIndex = p.rfind(sep)
-    if altsep:
-        altsepIndex = p.rfind(altsep)
-        sepIndex = max(sepIndex, altsepIndex)
-
-    dotIndex = p.rfind(extsep)
-    if dotIndex > sepIndex:
-        # skip all leading dots
-        filenameIndex = sepIndex + 1
-        while filenameIndex < dotIndex:
-            if p[filenameIndex] != extsep:
-                return p[:dotIndex], p[dotIndex:]
-            filenameIndex += 1
-
-    return p, ''
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/genericpath.pyc
b
Binary file test/lib/python2.7/genericpath.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/Python-2.7.egg-info
--- a/test/lib/python2.7/lib-dynload/Python-2.7.egg-info Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,31 +0,0 @@
-Metadata-Version: 1.1
-Name: Python
-Version: 2.7.12
-Summary: A high-level object-oriented programming language
-Home-page: http://www.python.org/2.7
-Author: Guido van Rossum and the Python community
-Author-email: python-dev@python.org
-License: PSF license
-Description: Python is an interpreted, interactive, object-oriented programming
-        language. It is often compared to Tcl, Perl, Scheme or Java.
-        
-        Python combines remarkable power with very clear syntax. It has
-        modules, classes, exceptions, very high level dynamic data types, and
-        dynamic typing. There are interfaces to many system calls and
-        libraries, as well as to various windowing systems (X11, Motif, Tk,
-        Mac, MFC). New built-in modules are easily written in C or C++. Python
-        is also usable as an extension language for applications that need a
-        programmable interface.
-        
-        The Python implementation is portable: it runs on many brands of UNIX,
-        on Windows, DOS, OS/2, Mac, Amiga... If your favorite system isn't
-        listed here, it may still be supported, if there's a C compiler for
-        it. Ask around on comp.lang.python -- or just try compiling Python
-        yourself.
-Platform: Many
-Classifier: Development Status :: 6 - Mature
-Classifier: License :: OSI Approved :: Python Software Foundation License
-Classifier: Natural Language :: English
-Classifier: Programming Language :: C
-Classifier: Programming Language :: Python
-Classifier: Topic :: Software Development
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_bsddb.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_bsddb.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_csv.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_csv.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_ctypes_test.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_ctypes_test.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_curses.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_curses.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_curses_panel.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_curses_panel.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_elementtree.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_elementtree.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_hotshot.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_hotshot.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_lsprof.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_lsprof.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_multiprocessing.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_multiprocessing.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/_testcapi.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/_testcapi.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/audioop.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/audioop.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/crypt.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/crypt.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/dbm.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/dbm.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/fpectl.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/fpectl.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/future_builtins.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/future_builtins.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/linuxaudiodev.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/linuxaudiodev.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/mmap.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/mmap.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/nis.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/nis.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/ossaudiodev.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/ossaudiodev.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so
b
Binary file test/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/linecache.py
--- a/test/lib/python2.7/linecache.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,139 +0,0 @@
-"""Cache lines from files.
-
-This is intended to read lines from modules imported -- hence if a filename
-is not found, it will look down the module search path for a file by
-that name.
-"""
-
-import sys
-import os
-
-__all__ = ["getline", "clearcache", "checkcache"]
-
-def getline(filename, lineno, module_globals=None):
-    lines = getlines(filename, module_globals)
-    if 1 <= lineno <= len(lines):
-        return lines[lineno-1]
-    else:
-        return ''
-
-
-# The cache
-
-cache = {} # The cache
-
-
-def clearcache():
-    """Clear the cache entirely."""
-
-    global cache
-    cache = {}
-
-
-def getlines(filename, module_globals=None):
-    """Get the lines for a file from the cache.
-    Update the cache if it doesn't contain an entry for this file already."""
-
-    if filename in cache:
-        return cache[filename][2]
-
-    try:
-        return updatecache(filename, module_globals)
-    except MemoryError:
-        clearcache()
-        return []
-
-
-def checkcache(filename=None):
-    """Discard cache entries that are out of date.
-    (This is not checked upon each call!)"""
-
-    if filename is None:
-        filenames = cache.keys()
-    else:
-        if filename in cache:
-            filenames = [filename]
-        else:
-            return
-
-    for filename in filenames:
-        size, mtime, lines, fullname = cache[filename]
-        if mtime is None:
-            continue   # no-op for files loaded via a __loader__
-        try:
-            stat = os.stat(fullname)
-        except os.error:
-            del cache[filename]
-            continue
-        if size != stat.st_size or mtime != stat.st_mtime:
-            del cache[filename]
-
-
-def updatecache(filename, module_globals=None):
-    """Update a cache entry and return its list of lines.
-    If something's wrong, print a message, discard the cache entry,
-    and return an empty list."""
-
-    if filename in cache:
-        del cache[filename]
-    if not filename or (filename.startswith('<') and filename.endswith('>')):
-        return []
-
-    fullname = filename
-    try:
-        stat = os.stat(fullname)
-    except OSError:
-        basename = filename
-
-        # Try for a __loader__, if available
-        if module_globals and '__loader__' in module_globals:
-            name = module_globals.get('__name__')
-            loader = module_globals['__loader__']
-            get_source = getattr(loader, 'get_source', None)
-
-            if name and get_source:
-                try:
-                    data = get_source(name)
-                except (ImportError, IOError):
-                    pass
-                else:
-                    if data is None:
-                        # No luck, the PEP302 loader cannot find the source
-                        # for this module.
-                        return []
-                    cache[filename] = (
-                        len(data), None,
-                        [line+'\n' for line in data.splitlines()], fullname
-                    )
-                    return cache[filename][2]
-
-        # Try looking through the module search path, which is only useful
-        # when handling a relative filename.
-        if os.path.isabs(filename):
-            return []
-
-        for dirname in sys.path:
-            # When using imputil, sys.path may contain things other than
-            # strings; ignore them when it happens.
-            try:
-                fullname = os.path.join(dirname, basename)
-            except (TypeError, AttributeError):
-                # Not sufficiently string-like to do anything useful with.
-                continue
-            try:
-                stat = os.stat(fullname)
-                break
-            except os.error:
-                pass
-        else:
-            return []
-    try:
-        with open(fullname, 'rU') as fp:
-            lines = fp.readlines()
-    except IOError:
-        return []
-    if lines and not lines[-1].endswith('\n'):
-        lines[-1] += '\n'
-    size, mtime = stat.st_size, stat.st_mtime
-    cache[filename] = size, mtime, lines, fullname
-    return lines
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/linecache.pyc
b
Binary file test/lib/python2.7/linecache.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/locale.py
--- a/test/lib/python2.7/locale.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,2064 +0,0 @@\n-"""Locale support module.\n-\n-The module provides low-level access to the C lib\'s locale APIs and adds high\n-level number formatting APIs as well as a locale aliasing engine to complement\n-these.\n-\n-The aliasing engine includes support for many commonly used locale names and\n-maps them to values suitable for passing to the C lib\'s setlocale() function. It\n-also includes default encodings for all supported locale names.\n-"""\n-\n-import sys\n-import encodings\n-import encodings.aliases\n-import re\n-import operator\n-import functools\n-\n-# keep a copy of the builtin str type, because \'str\' name is overridden\n-# in globals by a function below\n-_str = str\n-\n-try:\n-    _unicode = unicode\n-except NameError:\n-    # If Python is built without Unicode support, the unicode type\n-    # will not exist. Fake one.\n-    class _unicode(object):\n-        pass\n-\n-# Try importing the _locale module.\n-#\n-# If this fails, fall back on a basic \'C\' locale emulation.\n-\n-# Yuck:  LC_MESSAGES is non-standard:  can\'t tell whether it exists before\n-# trying the import.  So __all__ is also fiddled at the end of the file.\n-__all__ = ["getlocale", "getdefaultlocale", "getpreferredencoding", "Error",\n-           "setlocale", "resetlocale", "localeconv", "strcoll", "strxfrm",\n-           "str", "atof", "atoi", "format", "format_string", "currency",\n-           "normalize", "LC_CTYPE", "LC_COLLATE", "LC_TIME", "LC_MONETARY",\n-           "LC_NUMERIC", "LC_ALL", "CHAR_MAX"]\n-\n-try:\n-\n-    from _locale import *\n-\n-except ImportError:\n-\n-    # Locale emulation\n-\n-    CHAR_MAX = 127\n-    LC_ALL = 6\n-    LC_COLLATE = 3\n-    LC_CTYPE = 0\n-    LC_MESSAGES = 5\n-    LC_MONETARY = 4\n-    LC_NUMERIC = 1\n-    LC_TIME = 2\n-    Error = ValueError\n-\n-    def localeconv():\n-        """ localeconv() -> dict.\n-            Returns numeric and monetary locale-specific parameters.\n-        """\n-        # \'C\' locale default values\n-        return {\'grouping\': [127],\n-                \'currency_symbol\': \'\',\n-                \'n_sign_posn\': 127,\n-                \'p_cs_precedes\': 127,\n-                \'n_cs_precedes\': 127,\n-                \'mon_grouping\': [],\n-                \'n_sep_by_space\': 127,\n-                \'decimal_point\': \'.\',\n-                \'negative_sign\': \'\',\n-                \'positive_sign\': \'\',\n-                \'p_sep_by_space\': 127,\n-                \'int_curr_symbol\': \'\',\n-                \'p_sign_posn\': 127,\n-                \'thousands_sep\': \'\',\n-                \'mon_thousands_sep\': \'\',\n-                \'frac_digits\': 127,\n-                \'mon_decimal_point\': \'\',\n-                \'int_frac_digits\': 127}\n-\n-    def setlocale(category, value=None):\n-        """ setlocale(integer,string=None) -> string.\n-            Activates/queries locale processing.\n-        """\n-        if value not in (None, \'\', \'C\'):\n-            raise Error, \'_locale emulation only supports "C" locale\'\n-        return \'C\'\n-\n-    def strcoll(a,b):\n-        """ strcoll(string,string) -> int.\n-            Compares two strings according to the locale.\n-        """\n-        return cmp(a,b)\n-\n-    def strxfrm(s):\n-        """ strxfrm(string) -> string.\n-            Returns a string that behaves for cmp locale-aware.\n-        """\n-        return s\n-\n-\n-_localeconv = localeconv\n-\n-# With this dict, you can override some items of localeconv\'s return value.\n-# This is useful for testing purposes.\n-_override_localeconv = {}\n-\n-@functools.wraps(_localeconv)\n-def localeconv():\n-    d = _localeconv()\n-    if _override_localeconv:\n-        d.update(_override_localeconv)\n-    return d\n-\n-\n-### Number formatting APIs\n-\n-# Author: Martin von Loewis\n-# improved by Georg Brandl\n-\n-# Iterate over grouping intervals\n-def _grouping_intervals(grouping):\n-    last_interval = None\n-    for interval in grouping:\n-        # if grouping is -1, we are done\n-        if interval == CHAR_MAX:\n-            return\n-        # 0: re-use last group ad infinitum\n-        if interval == 0:\n-            if last_interval is No'..b' Spain\n-    0x080a: "es_MX", # Spanish - Mexico\n-    0x0c0a: "es_ES", # Spanish - Spain (Modern)\n-    0x100a: "es_GT", # Spanish - Guatemala\n-    0x140a: "es_CR", # Spanish - Costa Rica\n-    0x180a: "es_PA", # Spanish - Panama\n-    0x1c0a: "es_DO", # Spanish - Dominican Republic\n-    0x200a: "es_VE", # Spanish - Venezuela\n-    0x240a: "es_CO", # Spanish - Colombia\n-    0x280a: "es_PE", # Spanish - Peru\n-    0x2c0a: "es_AR", # Spanish - Argentina\n-    0x300a: "es_EC", # Spanish - Ecuador\n-    0x340a: "es_CL", # Spanish - Chile\n-    0x380a: "es_UR", # Spanish - Uruguay\n-    0x3c0a: "es_PY", # Spanish - Paraguay\n-    0x400a: "es_BO", # Spanish - Bolivia\n-    0x440a: "es_SV", # Spanish - El Salvador\n-    0x480a: "es_HN", # Spanish - Honduras\n-    0x4c0a: "es_NI", # Spanish - Nicaragua\n-    0x500a: "es_PR", # Spanish - Puerto Rico\n-    0x540a: "es_US", # Spanish - United States\n-#    0x0430: "", # Sutu - Not supported\n-    0x0441: "sw_KE", # Swahili\n-    0x041d: "sv_SE", # Swedish - Sweden\n-    0x081d: "sv_FI", # Swedish - Finland\n-    0x045a: "syr_SY",# Syriac\n-    0x0428: "tg_TJ", # Tajik - Cyrillic\n-    0x085f: "tmz_DZ",# Tamazight - Latin\n-    0x0449: "ta_IN", # Tamil\n-    0x0444: "tt_RU", # Tatar\n-    0x044a: "te_IN", # Telugu\n-    0x041e: "th_TH", # Thai\n-    0x0851: "bo_BT", # Tibetan - Bhutan\n-    0x0451: "bo_CN", # Tibetan - PRC\n-    0x041f: "tr_TR", # Turkish\n-    0x0442: "tk_TM", # Turkmen - Cyrillic\n-    0x0480: "ug_CN", # Uighur - Arabic\n-    0x0422: "uk_UA", # Ukrainian\n-    0x042e: "wen_DE",# Upper Sorbian - Germany\n-    0x0420: "ur_PK", # Urdu\n-    0x0820: "ur_IN", # Urdu - India\n-    0x0443: "uz_UZ", # Uzbek - Latin\n-    0x0843: "uz_UZ", # Uzbek - Cyrillic\n-    0x042a: "vi_VN", # Vietnamese\n-    0x0452: "cy_GB", # Welsh\n-    0x0488: "wo_SN", # Wolof - Senegal\n-    0x0434: "xh_ZA", # Xhosa - South Africa\n-    0x0485: "sah_RU",# Yakut - Cyrillic\n-    0x0478: "ii_CN", # Yi - PRC\n-    0x046a: "yo_NG", # Yoruba - Nigeria\n-    0x0435: "zu_ZA", # Zulu\n-}\n-\n-def _print_locale():\n-\n-    """ Test function.\n-    """\n-    categories = {}\n-    def _init_categories(categories=categories):\n-        for k,v in globals().items():\n-            if k[:3] == \'LC_\':\n-                categories[k] = v\n-    _init_categories()\n-    del categories[\'LC_ALL\']\n-\n-    print \'Locale defaults as determined by getdefaultlocale():\'\n-    print \'-\'*72\n-    lang, enc = getdefaultlocale()\n-    print \'Language: \', lang or \'(undefined)\'\n-    print \'Encoding: \', enc or \'(undefined)\'\n-    print\n-\n-    print \'Locale settings on startup:\'\n-    print \'-\'*72\n-    for name,category in categories.items():\n-        print name, \'...\'\n-        lang, enc = getlocale(category)\n-        print \'   Language: \', lang or \'(undefined)\'\n-        print \'   Encoding: \', enc or \'(undefined)\'\n-        print\n-\n-    print\n-    print \'Locale settings after calling resetlocale():\'\n-    print \'-\'*72\n-    resetlocale()\n-    for name,category in categories.items():\n-        print name, \'...\'\n-        lang, enc = getlocale(category)\n-        print \'   Language: \', lang or \'(undefined)\'\n-        print \'   Encoding: \', enc or \'(undefined)\'\n-        print\n-\n-    try:\n-        setlocale(LC_ALL, "")\n-    except:\n-        print \'NOTE:\'\n-        print \'setlocale(LC_ALL, "") does not support the default locale\'\n-        print \'given in the OS environment variables.\'\n-    else:\n-        print\n-        print \'Locale settings after calling setlocale(LC_ALL, ""):\'\n-        print \'-\'*72\n-        for name,category in categories.items():\n-            print name, \'...\'\n-            lang, enc = getlocale(category)\n-            print \'   Language: \', lang or \'(undefined)\'\n-            print \'   Encoding: \', enc or \'(undefined)\'\n-            print\n-\n-###\n-\n-try:\n-    LC_MESSAGES\n-except NameError:\n-    pass\n-else:\n-    __all__.append("LC_MESSAGES")\n-\n-if __name__==\'__main__\':\n-    print \'Locale aliasing:\'\n-    print\n-    _print_locale()\n-    print\n-    print \'Number formatting:\'\n-    print\n-    _test()\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/locale.pyc
b
Binary file test/lib/python2.7/locale.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/ntpath.py
--- a/test/lib/python2.7/ntpath.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,550 +0,0 @@\n-# Module \'ntpath\' -- common operations on WinNT/Win95 pathnames\n-"""Common pathname manipulations, WindowsNT/95 version.\n-\n-Instead of importing this module directly, import os and refer to this\n-module as os.path.\n-"""\n-\n-import os\n-import sys\n-import stat\n-import genericpath\n-import warnings\n-\n-from genericpath import *\n-from genericpath import _unicode\n-\n-__all__ = ["normcase","isabs","join","splitdrive","split","splitext",\n-           "basename","dirname","commonprefix","getsize","getmtime",\n-           "getatime","getctime", "islink","exists","lexists","isdir","isfile",\n-           "ismount","walk","expanduser","expandvars","normpath","abspath",\n-           "splitunc","curdir","pardir","sep","pathsep","defpath","altsep",\n-           "extsep","devnull","realpath","supports_unicode_filenames","relpath"]\n-\n-# strings representing various path-related bits and pieces\n-curdir = \'.\'\n-pardir = \'..\'\n-extsep = \'.\'\n-sep = \'\\\\\'\n-pathsep = \';\'\n-altsep = \'/\'\n-defpath = \'.;C:\\\\bin\'\n-if \'ce\' in sys.builtin_module_names:\n-    defpath = \'\\\\Windows\'\n-elif \'os2\' in sys.builtin_module_names:\n-    # OS/2 w/ VACPP\n-    altsep = \'/\'\n-devnull = \'nul\'\n-\n-# Normalize the case of a pathname and map slashes to backslashes.\n-# Other normalizations (such as optimizing \'../\' away) are not done\n-# (this is done by normpath).\n-\n-def normcase(s):\n-    """Normalize case of pathname.\n-\n-    Makes all characters lowercase and all slashes into backslashes."""\n-    return s.replace("/", "\\\\").lower()\n-\n-\n-# Return whether a path is absolute.\n-# Trivial in Posix, harder on the Mac or MS-DOS.\n-# For DOS it is absolute if it starts with a slash or backslash (current\n-# volume), or if a pathname after the volume letter and colon / UNC resource\n-# starts with a slash or backslash.\n-\n-def isabs(s):\n-    """Test whether a path is absolute"""\n-    s = splitdrive(s)[1]\n-    return s != \'\' and s[:1] in \'/\\\\\'\n-\n-\n-# Join two (or more) paths.\n-def join(path, *paths):\n-    """Join two or more pathname components, inserting "\\\\" as needed."""\n-    result_drive, result_path = splitdrive(path)\n-    for p in paths:\n-        p_drive, p_path = splitdrive(p)\n-        if p_path and p_path[0] in \'\\\\/\':\n-            # Second path is absolute\n-            if p_drive or not result_drive:\n-                result_drive = p_drive\n-            result_path = p_path\n-            continue\n-        elif p_drive and p_drive != result_drive:\n-            if p_drive.lower() != result_drive.lower():\n-                # Different drives => ignore the first path entirely\n-                result_drive = p_drive\n-                result_path = p_path\n-                continue\n-            # Same drive in different case\n-            result_drive = p_drive\n-        # Second path is relative to the first\n-        if result_path and result_path[-1] not in \'\\\\/\':\n-            result_path = result_path + \'\\\\\'\n-        result_path = result_path + p_path\n-    ## add separator between UNC and non-absolute path\n-    if (result_path and result_path[0] not in \'\\\\/\' and\n-        result_drive and result_drive[-1:] != \':\'):\n-        return result_drive + sep + result_path\n-    return result_drive + result_path\n-\n-\n-# Split a path in a drive specification (a drive letter followed by a\n-# colon) and the path specification.\n-# It is always true that drivespec + pathspec == p\n-def splitdrive(p):\n-    """Split a pathname into drive/UNC sharepoint and relative path specifiers.\n-    Returns a 2-tuple (drive_or_unc, path); either part may be empty.\n-\n-    If you assign\n-        result = splitdrive(p)\n-    It is always true that:\n-        result[0] + result[1] == p\n-\n-    If the path contained a drive letter, drive_or_unc will contain everything\n-    up to and including the colon.  e.g. splitdrive("c:/dir") returns ("c:", "/dir")\n-\n-    If the path contained a UNC path, the drive_or_unc will contain the host name\n-    and share up to but not including the fourth directory separator character.\n-    e.g. spl'..b'drive letter - preserve initial backslashes\n-        while path[:1] == "\\\\":\n-            prefix = prefix + backslash\n-            path = path[1:]\n-    else:\n-        # We have a drive letter - collapse initial backslashes\n-        if path.startswith("\\\\"):\n-            prefix = prefix + backslash\n-            path = path.lstrip("\\\\")\n-    comps = path.split("\\\\")\n-    i = 0\n-    while i < len(comps):\n-        if comps[i] in (\'.\', \'\'):\n-            del comps[i]\n-        elif comps[i] == \'..\':\n-            if i > 0 and comps[i-1] != \'..\':\n-                del comps[i-1:i+1]\n-                i -= 1\n-            elif i == 0 and prefix.endswith("\\\\"):\n-                del comps[i]\n-            else:\n-                i += 1\n-        else:\n-            i += 1\n-    # If the path is now empty, substitute \'.\'\n-    if not prefix and not comps:\n-        comps.append(dot)\n-    return prefix + backslash.join(comps)\n-\n-\n-# Return an absolute path.\n-try:\n-    from nt import _getfullpathname\n-\n-except ImportError: # not running on Windows - mock up something sensible\n-    def abspath(path):\n-        """Return the absolute version of a path."""\n-        if not isabs(path):\n-            if isinstance(path, _unicode):\n-                cwd = os.getcwdu()\n-            else:\n-                cwd = os.getcwd()\n-            path = join(cwd, path)\n-        return normpath(path)\n-\n-else:  # use native Windows method on Windows\n-    def abspath(path):\n-        """Return the absolute version of a path."""\n-\n-        if path: # Empty path must return current working directory.\n-            try:\n-                path = _getfullpathname(path)\n-            except WindowsError:\n-                pass # Bad path - return unchanged.\n-        elif isinstance(path, _unicode):\n-            path = os.getcwdu()\n-        else:\n-            path = os.getcwd()\n-        return normpath(path)\n-\n-# realpath is a no-op on systems without islink support\n-realpath = abspath\n-# Win9x family and earlier have no Unicode filename support.\n-supports_unicode_filenames = (hasattr(sys, "getwindowsversion") and\n-                              sys.getwindowsversion()[3] >= 2)\n-\n-def _abspath_split(path):\n-    abs = abspath(normpath(path))\n-    prefix, rest = splitunc(abs)\n-    is_unc = bool(prefix)\n-    if not is_unc:\n-        prefix, rest = splitdrive(abs)\n-    return is_unc, prefix, [x for x in rest.split(sep) if x]\n-\n-def relpath(path, start=curdir):\n-    """Return a relative version of a path"""\n-\n-    if not path:\n-        raise ValueError("no path specified")\n-\n-    start_is_unc, start_prefix, start_list = _abspath_split(start)\n-    path_is_unc, path_prefix, path_list = _abspath_split(path)\n-\n-    if path_is_unc ^ start_is_unc:\n-        raise ValueError("Cannot mix UNC and non-UNC paths (%s and %s)"\n-                                                            % (path, start))\n-    if path_prefix.lower() != start_prefix.lower():\n-        if path_is_unc:\n-            raise ValueError("path is on UNC root %s, start on UNC root %s"\n-                                                % (path_prefix, start_prefix))\n-        else:\n-            raise ValueError("path is on drive %s, start on drive %s"\n-                                                % (path_prefix, start_prefix))\n-    # Work out how much of the filepath is shared by start and path.\n-    i = 0\n-    for e1, e2 in zip(start_list, path_list):\n-        if e1.lower() != e2.lower():\n-            break\n-        i += 1\n-\n-    rel_list = [pardir] * (len(start_list)-i) + path_list[i:]\n-    if not rel_list:\n-        return curdir\n-    return join(*rel_list)\n-\n-try:\n-    # The genericpath.isdir implementation uses os.stat and checks the mode\n-    # attribute to tell whether or not the path is a directory.\n-    # This is overkill on Windows - just pass the path to GetFileAttributes\n-    # and check the attribute from there.\n-    from nt import _isdir as isdir\n-except ImportError:\n-    # Use genericpath.isdir as imported above.\n-    pass\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/orig-prefix.txt
--- a/test/lib/python2.7/orig-prefix.txt Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,1 +0,0 @@
-/usr
\ No newline at end of file
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/os.py
--- a/test/lib/python2.7/os.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,742 +0,0 @@\n-r"""OS routines for NT or Posix depending on what system we\'re on.\n-\n-This exports:\n-  - all functions from posix, nt, os2, or ce, e.g. unlink, stat, etc.\n-  - os.path is one of the modules posixpath, or ntpath\n-  - os.name is \'posix\', \'nt\', \'os2\', \'ce\' or \'riscos\'\n-  - os.curdir is a string representing the current directory (\'.\' or \':\')\n-  - os.pardir is a string representing the parent directory (\'..\' or \'::\')\n-  - os.sep is the (or a most common) pathname separator (\'/\' or \':\' or \'\\\\\')\n-  - os.extsep is the extension separator (\'.\' or \'/\')\n-  - os.altsep is the alternate pathname separator (None or \'/\')\n-  - os.pathsep is the component separator used in $PATH etc\n-  - os.linesep is the line separator in text files (\'\\r\' or \'\\n\' or \'\\r\\n\')\n-  - os.defpath is the default search path for executables\n-  - os.devnull is the file path of the null device (\'/dev/null\', etc.)\n-\n-Programs that import and use \'os\' stand a better chance of being\n-portable between different platforms.  Of course, they must then\n-only use functions that are defined by all platforms (e.g., unlink\n-and opendir), and leave all pathname manipulation to os.path\n-(e.g., split and join).\n-"""\n-\n-#\'\n-\n-import sys, errno\n-\n-_names = sys.builtin_module_names\n-\n-# Note:  more names are added to __all__ later.\n-__all__ = ["altsep", "curdir", "pardir", "sep", "extsep", "pathsep", "linesep",\n-           "defpath", "name", "path", "devnull",\n-           "SEEK_SET", "SEEK_CUR", "SEEK_END"]\n-\n-def _get_exports_list(module):\n-    try:\n-        return list(module.__all__)\n-    except AttributeError:\n-        return [n for n in dir(module) if n[0] != \'_\']\n-\n-if \'posix\' in _names:\n-    name = \'posix\'\n-    linesep = \'\\n\'\n-    from posix import *\n-    try:\n-        from posix import _exit\n-    except ImportError:\n-        pass\n-    import posixpath as path\n-\n-    import posix\n-    __all__.extend(_get_exports_list(posix))\n-    del posix\n-\n-elif \'nt\' in _names:\n-    name = \'nt\'\n-    linesep = \'\\r\\n\'\n-    from nt import *\n-    try:\n-        from nt import _exit\n-    except ImportError:\n-        pass\n-    import ntpath as path\n-\n-    import nt\n-    __all__.extend(_get_exports_list(nt))\n-    del nt\n-\n-elif \'os2\' in _names:\n-    name = \'os2\'\n-    linesep = \'\\r\\n\'\n-    from os2 import *\n-    try:\n-        from os2 import _exit\n-    except ImportError:\n-        pass\n-    if sys.version.find(\'EMX GCC\') == -1:\n-        import ntpath as path\n-    else:\n-        import os2emxpath as path\n-        from _emx_link import link\n-\n-    import os2\n-    __all__.extend(_get_exports_list(os2))\n-    del os2\n-\n-elif \'ce\' in _names:\n-    name = \'ce\'\n-    linesep = \'\\r\\n\'\n-    from ce import *\n-    try:\n-        from ce import _exit\n-    except ImportError:\n-        pass\n-    # We can use the standard Windows path.\n-    import ntpath as path\n-\n-    import ce\n-    __all__.extend(_get_exports_list(ce))\n-    del ce\n-\n-elif \'riscos\' in _names:\n-    name = \'riscos\'\n-    linesep = \'\\n\'\n-    from riscos import *\n-    try:\n-        from riscos import _exit\n-    except ImportError:\n-        pass\n-    import riscospath as path\n-\n-    import riscos\n-    __all__.extend(_get_exports_list(riscos))\n-    del riscos\n-\n-else:\n-    raise ImportError, \'no os specific module found\'\n-\n-sys.modules[\'os.path\'] = path\n-from os.path import (curdir, pardir, sep, pathsep, defpath, extsep, altsep,\n-    devnull)\n-\n-del _names\n-\n-# Python uses fixed values for the SEEK_ constants; they are mapped\n-# to native constants if necessary in posixmodule.c\n-SEEK_SET = 0\n-SEEK_CUR = 1\n-SEEK_END = 2\n-\n-#\'\n-\n-# Super directory utilities.\n-# (Inspired by Eric Raymond; the doc strings are mostly his)\n-\n-def makedirs(name, mode=0777):\n-    """makedirs(path [, mode=0777])\n-\n-    Super-mkdir; create a leaf directory and all intermediate ones.\n-    Works like mkdir, except that any intermediate path segment (not\n-    just the rightmost) will be created if it does not exist.  This is\n-    recursive.\n-\n-    """\n-    head, tail = p'..b'"popen2"):\n-        def popen2(cmd, mode="t", bufsize=-1):\n-            """Execute the shell command \'cmd\' in a sub-process.  On UNIX, \'cmd\'\n-            may be a sequence, in which case arguments will be passed directly to\n-            the program without shell intervention (as with os.spawnv()).  If \'cmd\'\n-            is a string it will be passed to the shell (as with os.system()). If\n-            \'bufsize\' is specified, it sets the buffer size for the I/O pipes.  The\n-            file objects (child_stdin, child_stdout) are returned."""\n-            import warnings\n-            msg = "os.popen2 is deprecated.  Use the subprocess module."\n-            warnings.warn(msg, DeprecationWarning, stacklevel=2)\n-\n-            import subprocess\n-            PIPE = subprocess.PIPE\n-            p = subprocess.Popen(cmd, shell=isinstance(cmd, basestring),\n-                                 bufsize=bufsize, stdin=PIPE, stdout=PIPE,\n-                                 close_fds=True)\n-            return p.stdin, p.stdout\n-        __all__.append("popen2")\n-\n-    if not _exists("popen3"):\n-        def popen3(cmd, mode="t", bufsize=-1):\n-            """Execute the shell command \'cmd\' in a sub-process.  On UNIX, \'cmd\'\n-            may be a sequence, in which case arguments will be passed directly to\n-            the program without shell intervention (as with os.spawnv()).  If \'cmd\'\n-            is a string it will be passed to the shell (as with os.system()). If\n-            \'bufsize\' is specified, it sets the buffer size for the I/O pipes.  The\n-            file objects (child_stdin, child_stdout, child_stderr) are returned."""\n-            import warnings\n-            msg = "os.popen3 is deprecated.  Use the subprocess module."\n-            warnings.warn(msg, DeprecationWarning, stacklevel=2)\n-\n-            import subprocess\n-            PIPE = subprocess.PIPE\n-            p = subprocess.Popen(cmd, shell=isinstance(cmd, basestring),\n-                                 bufsize=bufsize, stdin=PIPE, stdout=PIPE,\n-                                 stderr=PIPE, close_fds=True)\n-            return p.stdin, p.stdout, p.stderr\n-        __all__.append("popen3")\n-\n-    if not _exists("popen4"):\n-        def popen4(cmd, mode="t", bufsize=-1):\n-            """Execute the shell command \'cmd\' in a sub-process.  On UNIX, \'cmd\'\n-            may be a sequence, in which case arguments will be passed directly to\n-            the program without shell intervention (as with os.spawnv()).  If \'cmd\'\n-            is a string it will be passed to the shell (as with os.system()). If\n-            \'bufsize\' is specified, it sets the buffer size for the I/O pipes.  The\n-            file objects (child_stdin, child_stdout_stderr) are returned."""\n-            import warnings\n-            msg = "os.popen4 is deprecated.  Use the subprocess module."\n-            warnings.warn(msg, DeprecationWarning, stacklevel=2)\n-\n-            import subprocess\n-            PIPE = subprocess.PIPE\n-            p = subprocess.Popen(cmd, shell=isinstance(cmd, basestring),\n-                                 bufsize=bufsize, stdin=PIPE, stdout=PIPE,\n-                                 stderr=subprocess.STDOUT, close_fds=True)\n-            return p.stdin, p.stdout\n-        __all__.append("popen4")\n-\n-import copy_reg as _copy_reg\n-\n-def _make_stat_result(tup, dict):\n-    return stat_result(tup, dict)\n-\n-def _pickle_stat_result(sr):\n-    (type, args) = sr.__reduce__()\n-    return (_make_stat_result, args)\n-\n-try:\n-    _copy_reg.pickle(stat_result, _pickle_stat_result, _make_stat_result)\n-except NameError: # stat_result may not exist\n-    pass\n-\n-def _make_statvfs_result(tup, dict):\n-    return statvfs_result(tup, dict)\n-\n-def _pickle_statvfs_result(sr):\n-    (type, args) = sr.__reduce__()\n-    return (_make_statvfs_result, args)\n-\n-try:\n-    _copy_reg.pickle(statvfs_result, _pickle_statvfs_result,\n-                     _make_statvfs_result)\n-except NameError: # statvfs_result may not exist\n-    pass\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/os.pyc
b
Binary file test/lib/python2.7/os.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/posixpath.py
--- a/test/lib/python2.7/posixpath.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,439 +0,0 @@\n-"""Common operations on Posix pathnames.\n-\n-Instead of importing this module directly, import os and refer to\n-this module as os.path.  The "os.path" name is an alias for this\n-module on Posix systems; on other systems (e.g. Mac, Windows),\n-os.path provides the same operations in a manner specific to that\n-platform, and is an alias to another module (e.g. macpath, ntpath).\n-\n-Some of this can actually be useful on non-Posix systems too, e.g.\n-for manipulation of the pathname component of URLs.\n-"""\n-\n-import os\n-import sys\n-import stat\n-import genericpath\n-import warnings\n-from genericpath import *\n-from genericpath import _unicode\n-\n-__all__ = ["normcase","isabs","join","splitdrive","split","splitext",\n-           "basename","dirname","commonprefix","getsize","getmtime",\n-           "getatime","getctime","islink","exists","lexists","isdir","isfile",\n-           "ismount","walk","expanduser","expandvars","normpath","abspath",\n-           "samefile","sameopenfile","samestat",\n-           "curdir","pardir","sep","pathsep","defpath","altsep","extsep",\n-           "devnull","realpath","supports_unicode_filenames","relpath"]\n-\n-# strings representing various path-related bits and pieces\n-curdir = \'.\'\n-pardir = \'..\'\n-extsep = \'.\'\n-sep = \'/\'\n-pathsep = \':\'\n-defpath = \':/bin:/usr/bin\'\n-altsep = None\n-devnull = \'/dev/null\'\n-\n-# Normalize the case of a pathname.  Trivial in Posix, string.lower on Mac.\n-# On MS-DOS this may also turn slashes into backslashes; however, other\n-# normalizations (such as optimizing \'../\' away) are not allowed\n-# (another function should be defined to do that).\n-\n-def normcase(s):\n-    """Normalize case of pathname.  Has no effect under Posix"""\n-    return s\n-\n-\n-# Return whether a path is absolute.\n-# Trivial in Posix, harder on the Mac or MS-DOS.\n-\n-def isabs(s):\n-    """Test whether a path is absolute"""\n-    return s.startswith(\'/\')\n-\n-\n-# Join pathnames.\n-# Ignore the previous parts if a part is absolute.\n-# Insert a \'/\' unless the first part is empty or already ends in \'/\'.\n-\n-def join(a, *p):\n-    """Join two or more pathname components, inserting \'/\' as needed.\n-    If any component is an absolute path, all previous path components\n-    will be discarded.  An empty last part will result in a path that\n-    ends with a separator."""\n-    path = a\n-    for b in p:\n-        if b.startswith(\'/\'):\n-            path = b\n-        elif path == \'\' or path.endswith(\'/\'):\n-            path +=  b\n-        else:\n-            path += \'/\' + b\n-    return path\n-\n-\n-# Split a path in head (everything up to the last \'/\') and tail (the\n-# rest).  If the path ends in \'/\', tail will be empty.  If there is no\n-# \'/\' in the path, head  will be empty.\n-# Trailing \'/\'es are stripped from head unless it is the root.\n-\n-def split(p):\n-    """Split a pathname.  Returns tuple "(head, tail)" where "tail" is\n-    everything after the final slash.  Either part may be empty."""\n-    i = p.rfind(\'/\') + 1\n-    head, tail = p[:i], p[i:]\n-    if head and head != \'/\'*len(head):\n-        head = head.rstrip(\'/\')\n-    return head, tail\n-\n-\n-# Split a path in root and extension.\n-# The extension is everything starting at the last dot in the last\n-# pathname component; the root is everything before that.\n-# It is always true that root + ext == p.\n-\n-def splitext(p):\n-    return genericpath._splitext(p, sep, altsep, extsep)\n-splitext.__doc__ = genericpath._splitext.__doc__\n-\n-# Split a pathname into a drive specification and the rest of the\n-# path.  Useful on DOS/Windows/NT; on Unix, the drive is always empty.\n-\n-def splitdrive(p):\n-    """Split a pathname into drive and path. On Posix, drive is always\n-    empty."""\n-    return \'\', p\n-\n-\n-# Return the tail (basename) part of a path, same as split(path)[1].\n-\n-def basename(p):\n-    """Returns the final component of a pathname"""\n-    i = p.rfind(\'/\') + 1\n-    return p[i:]\n-\n-\n-# Return the head (dirname) part of a path, same as split(path)[0].\n-\n-def dirname(p):\n-    """Re'..b' encoding:\n-                value = value.decode(encoding)\n-            path = path[:i] + value\n-            i = len(path)\n-            path += tail\n-        else:\n-            i = j\n-    return path\n-\n-\n-# Normalize a path, e.g. A//B, A/./B and A/foo/../B all become A/B.\n-# It should be understood that this may change the meaning of the path\n-# if it contains symbolic links!\n-\n-def normpath(path):\n-    """Normalize path, eliminating double slashes, etc."""\n-    # Preserve unicode (if path is unicode)\n-    slash, dot = (u\'/\', u\'.\') if isinstance(path, _unicode) else (\'/\', \'.\')\n-    if path == \'\':\n-        return dot\n-    initial_slashes = path.startswith(\'/\')\n-    # POSIX allows one or two initial slashes, but treats three or more\n-    # as single slash.\n-    if (initial_slashes and\n-        path.startswith(\'//\') and not path.startswith(\'///\')):\n-        initial_slashes = 2\n-    comps = path.split(\'/\')\n-    new_comps = []\n-    for comp in comps:\n-        if comp in (\'\', \'.\'):\n-            continue\n-        if (comp != \'..\' or (not initial_slashes and not new_comps) or\n-             (new_comps and new_comps[-1] == \'..\')):\n-            new_comps.append(comp)\n-        elif new_comps:\n-            new_comps.pop()\n-    comps = new_comps\n-    path = slash.join(comps)\n-    if initial_slashes:\n-        path = slash*initial_slashes + path\n-    return path or dot\n-\n-\n-def abspath(path):\n-    """Return an absolute path."""\n-    if not isabs(path):\n-        if isinstance(path, _unicode):\n-            cwd = os.getcwdu()\n-        else:\n-            cwd = os.getcwd()\n-        path = join(cwd, path)\n-    return normpath(path)\n-\n-\n-# Return a canonical path (i.e. the absolute location of a file on the\n-# filesystem).\n-\n-def realpath(filename):\n-    """Return the canonical path of the specified filename, eliminating any\n-symbolic links encountered in the path."""\n-    path, ok = _joinrealpath(\'\', filename, {})\n-    return abspath(path)\n-\n-# Join two paths, normalizing and eliminating any symbolic links\n-# encountered in the second path.\n-def _joinrealpath(path, rest, seen):\n-    if isabs(rest):\n-        rest = rest[1:]\n-        path = sep\n-\n-    while rest:\n-        name, _, rest = rest.partition(sep)\n-        if not name or name == curdir:\n-            # current dir\n-            continue\n-        if name == pardir:\n-            # parent dir\n-            if path:\n-                path, name = split(path)\n-                if name == pardir:\n-                    path = join(path, pardir, pardir)\n-            else:\n-                path = pardir\n-            continue\n-        newpath = join(path, name)\n-        if not islink(newpath):\n-            path = newpath\n-            continue\n-        # Resolve the symbolic link\n-        if newpath in seen:\n-            # Already seen this path\n-            path = seen[newpath]\n-            if path is not None:\n-                # use cached value\n-                continue\n-            # The symlink is not resolved, so we must have a symlink loop.\n-            # Return already resolved part + rest of the path unchanged.\n-            return join(newpath, rest), False\n-        seen[newpath] = None # not resolved symlink\n-        path, ok = _joinrealpath(path, os.readlink(newpath), seen)\n-        if not ok:\n-            return join(path, rest), False\n-        seen[newpath] = path # resolved symlink\n-\n-    return path, True\n-\n-\n-supports_unicode_filenames = (sys.platform == \'darwin\')\n-\n-def relpath(path, start=curdir):\n-    """Return a relative version of a path"""\n-\n-    if not path:\n-        raise ValueError("no path specified")\n-\n-    start_list = [x for x in abspath(start).split(sep) if x]\n-    path_list = [x for x in abspath(path).split(sep) if x]\n-\n-    # Work out how much of the filepath is shared by start and path.\n-    i = len(commonprefix([start_list, path_list]))\n-\n-    rel_list = [pardir] * (len(start_list)-i) + path_list[i:]\n-    if not rel_list:\n-        return curdir\n-    return join(*rel_list)\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/posixpath.pyc
b
Binary file test/lib/python2.7/posixpath.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/re.py
--- a/test/lib/python2.7/re.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,340 +0,0 @@\n-#\n-# Secret Labs\' Regular Expression Engine\n-#\n-# re-compatible interface for the sre matching engine\n-#\n-# Copyright (c) 1998-2001 by Secret Labs AB.  All rights reserved.\n-#\n-# This version of the SRE library can be redistributed under CNRI\'s\n-# Python 1.6 license.  For any other use, please contact Secret Labs\n-# AB (info@pythonware.com).\n-#\n-# Portions of this engine have been developed in cooperation with\n-# CNRI.  Hewlett-Packard provided funding for 1.6 integration and\n-# other compatibility work.\n-#\n-\n-r"""Support for regular expressions (RE).\n-\n-This module provides regular expression matching operations similar to\n-those found in Perl.  It supports both 8-bit and Unicode strings; both\n-the pattern and the strings being processed can contain null bytes and\n-characters outside the US ASCII range.\n-\n-Regular expressions can contain both special and ordinary characters.\n-Most ordinary characters, like "A", "a", or "0", are the simplest\n-regular expressions; they simply match themselves.  You can\n-concatenate ordinary characters, so last matches the string \'last\'.\n-\n-The special characters are:\n-    "."      Matches any character except a newline.\n-    "^"      Matches the start of the string.\n-    "$"      Matches the end of the string or just before the newline at\n-             the end of the string.\n-    "*"      Matches 0 or more (greedy) repetitions of the preceding RE.\n-             Greedy means that it will match as many repetitions as possible.\n-    "+"      Matches 1 or more (greedy) repetitions of the preceding RE.\n-    "?"      Matches 0 or 1 (greedy) of the preceding RE.\n-    *?,+?,?? Non-greedy versions of the previous three special characters.\n-    {m,n}    Matches from m to n repetitions of the preceding RE.\n-    {m,n}?   Non-greedy version of the above.\n-    "\\\\"     Either escapes special characters or signals a special sequence.\n-    []       Indicates a set of characters.\n-             A "^" as the first character indicates a complementing set.\n-    "|"      A|B, creates an RE that will match either A or B.\n-    (...)    Matches the RE inside the parentheses.\n-             The contents can be retrieved or matched later in the string.\n-    (?iLmsux) Set the I, L, M, S, U, or X flag for the RE (see below).\n-    (?:...)  Non-grouping version of regular parentheses.\n-    (?P<name>...) The substring matched by the group is accessible by name.\n-    (?P=name)     Matches the text matched earlier by the group named name.\n-    (?#...)  A comment; ignored.\n-    (?=...)  Matches if ... matches next, but doesn\'t consume the string.\n-    (?!...)  Matches if ... doesn\'t match next.\n-    (?<=...) Matches if preceded by ... (must be fixed length).\n-    (?<!...) Matches if not preceded by ... (must be fixed length).\n-    (?(id/name)yes|no) Matches yes pattern if the group with id/name matched,\n-                       the (optional) no pattern otherwise.\n-\n-The special sequences consist of "\\\\" and a character from the list\n-below.  If the ordinary character is not on the list, then the\n-resulting RE will match the second character.\n-    \\number  Matches the contents of the group of the same number.\n-    \\A       Matches only at the start of the string.\n-    \\Z       Matches only at the end of the string.\n-    \\b       Matches the empty string, but only at the start or end of a word.\n-    \\B       Matches the empty string, but not at the start or end of a word.\n-    \\d       Matches any decimal digit; equivalent to the set [0-9].\n-    \\D       Matches any non-digit character; equivalent to the set [^0-9].\n-    \\s       Matches any whitespace character; equivalent to [ \\t\\n\\r\\f\\v].\n-    \\S       Matches any non-whitespace character; equiv. to [^ \\t\\n\\r\\f\\v].\n-    \\w       Matches any alphanumeric character; equivalent to [a-zA-Z0-9_].\n-             With LOCALE, it will match the set [0-9_] plus characters defined\n-             as letters for the current locale.\n-    \\W       Matches the complement of \\'..b'ate(pattern):\n-        if c not in alphanum:\n-            if c == "\\000":\n-                s[i] = "\\\\000"\n-            else:\n-                s[i] = "\\\\" + c\n-    return pattern[:0].join(s)\n-\n-# --------------------------------------------------------------------\n-# internals\n-\n-_cache = {}\n-_cache_repl = {}\n-\n-_pattern_type = type(sre_compile.compile("", 0))\n-\n-_MAXCACHE = 100\n-\n-def _compile(*key):\n-    # internal: compile pattern\n-    pattern, flags = key\n-    bypass_cache = flags & DEBUG\n-    if not bypass_cache:\n-        cachekey = (type(key[0]),) + key\n-        try:\n-            p, loc = _cache[cachekey]\n-            if loc is None or loc == _locale.setlocale(_locale.LC_CTYPE):\n-                return p\n-        except KeyError:\n-            pass\n-    if isinstance(pattern, _pattern_type):\n-        if flags:\n-            raise ValueError(\'Cannot process flags argument with a compiled pattern\')\n-        return pattern\n-    if not sre_compile.isstring(pattern):\n-        raise TypeError, "first argument must be string or compiled pattern"\n-    try:\n-        p = sre_compile.compile(pattern, flags)\n-    except error, v:\n-        raise error, v # invalid expression\n-    if not bypass_cache:\n-        if len(_cache) >= _MAXCACHE:\n-            _cache.clear()\n-        if p.flags & LOCALE:\n-            if not _locale:\n-                return p\n-            loc = _locale.setlocale(_locale.LC_CTYPE)\n-        else:\n-            loc = None\n-        _cache[cachekey] = p, loc\n-    return p\n-\n-def _compile_repl(*key):\n-    # internal: compile replacement pattern\n-    p = _cache_repl.get(key)\n-    if p is not None:\n-        return p\n-    repl, pattern = key\n-    try:\n-        p = sre_parse.parse_template(repl, pattern)\n-    except error, v:\n-        raise error, v # invalid expression\n-    if len(_cache_repl) >= _MAXCACHE:\n-        _cache_repl.clear()\n-    _cache_repl[key] = p\n-    return p\n-\n-def _expand(pattern, match, template):\n-    # internal: match.expand implementation hook\n-    template = sre_parse.parse_template(template, pattern)\n-    return sre_parse.expand_template(template, match)\n-\n-def _subx(pattern, template):\n-    # internal: pattern.sub/subn implementation helper\n-    template = _compile_repl(template, pattern)\n-    if not template[0] and len(template[1]) == 1:\n-        # literal replacement\n-        return template[1][0]\n-    def filter(match, template=template):\n-        return sre_parse.expand_template(template, match)\n-    return filter\n-\n-# register myself for pickling\n-\n-import copy_reg\n-\n-def _pickle(p):\n-    return _compile, (p.pattern, p.flags)\n-\n-copy_reg.pickle(_pattern_type, _pickle, _compile)\n-\n-# --------------------------------------------------------------------\n-# experimental stuff (see python-dev discussions for details)\n-\n-class Scanner:\n-    def __init__(self, lexicon, flags=0):\n-        from sre_constants import BRANCH, SUBPATTERN\n-        self.lexicon = lexicon\n-        # combine phrases into a compound pattern\n-        p = []\n-        s = sre_parse.Pattern()\n-        s.flags = flags\n-        for phrase, action in lexicon:\n-            p.append(sre_parse.SubPattern(s, [\n-                (SUBPATTERN, (len(p)+1, sre_parse.parse(phrase, flags))),\n-                ]))\n-        s.groups = len(p)+1\n-        p = sre_parse.SubPattern(s, [(BRANCH, (None, p))])\n-        self.scanner = sre_compile.compile(p)\n-    def scan(self, string):\n-        result = []\n-        append = result.append\n-        match = self.scanner.scanner(string).match\n-        i = 0\n-        while 1:\n-            m = match()\n-            if not m:\n-                break\n-            j = m.end()\n-            if i == j:\n-                break\n-            action = self.lexicon[m.lastindex-1][1]\n-            if hasattr(action, \'__call__\'):\n-                self.match = m\n-                action = action(self, m.group())\n-            if action is not None:\n-                append(action)\n-            i = j\n-        return result, string[i:]\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/re.pyc
b
Binary file test/lib/python2.7/re.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/site.py
--- a/test/lib/python2.7/site.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,758 +0,0 @@\n-"""Append module search paths for third-party packages to sys.path.\n-\n-****************************************************************\n-* This module is automatically imported during initialization. *\n-****************************************************************\n-\n-In earlier versions of Python (up to 1.5a3), scripts or modules that\n-needed to use site-specific modules would place ``import site\'\'\n-somewhere near the top of their code.  Because of the automatic\n-import, this is no longer necessary (but code that does it still\n-works).\n-\n-This will append site-specific paths to the module search path.  On\n-Unix, it starts with sys.prefix and sys.exec_prefix (if different) and\n-appends lib/python<version>/site-packages as well as lib/site-python.\n-It also supports the Debian convention of\n-lib/python<version>/dist-packages.  On other platforms (mainly Mac and\n-Windows), it uses just sys.prefix (and sys.exec_prefix, if different,\n-but this is unlikely).  The resulting directories, if they exist, are\n-appended to sys.path, and also inspected for path configuration files.\n-\n-FOR DEBIAN, this sys.path is augmented with directories in /usr/local.\n-Local addons go into /usr/local/lib/python<version>/site-packages\n-(resp. /usr/local/lib/site-python), Debian addons install into\n-/usr/{lib,share}/python<version>/dist-packages.\n-\n-A path configuration file is a file whose name has the form\n-<package>.pth; its contents are additional directories (one per line)\n-to be added to sys.path.  Non-existing directories (or\n-non-directories) are never added to sys.path; no directory is added to\n-sys.path more than once.  Blank lines and lines beginning with\n-\'#\' are skipped. Lines starting with \'import\' are executed.\n-\n-For example, suppose sys.prefix and sys.exec_prefix are set to\n-/usr/local and there is a directory /usr/local/lib/python2.X/site-packages\n-with three subdirectories, foo, bar and spam, and two path\n-configuration files, foo.pth and bar.pth.  Assume foo.pth contains the\n-following:\n-\n-  # foo package configuration\n-  foo\n-  bar\n-  bletch\n-\n-and bar.pth contains:\n-\n-  # bar package configuration\n-  bar\n-\n-Then the following directories are added to sys.path, in this order:\n-\n-  /usr/local/lib/python2.X/site-packages/bar\n-  /usr/local/lib/python2.X/site-packages/foo\n-\n-Note that bletch is omitted because it doesn\'t exist; bar precedes foo\n-because bar.pth comes alphabetically before foo.pth; and spam is\n-omitted because it is not mentioned in either path configuration file.\n-\n-After these path manipulations, an attempt is made to import a module\n-named sitecustomize, which can perform arbitrary additional\n-site-specific customizations.  If this import fails with an\n-ImportError exception, it is silently ignored.\n-\n-"""\n-\n-import sys\n-import os\n-try:\n-    import __builtin__ as builtins\n-except ImportError:\n-    import builtins\n-try:\n-    set\n-except NameError:\n-    from sets import Set as set\n-\n-# Prefixes for site-packages; add additional prefixes like /usr/local here\n-PREFIXES = [sys.prefix, sys.exec_prefix]\n-# Enable per user site-packages directory\n-# set it to False to disable the feature or True to force the feature\n-ENABLE_USER_SITE = None\n-# for distutils.commands.install\n-USER_SITE = None\n-USER_BASE = None\n-\n-_is_64bit = (getattr(sys, \'maxsize\', None) or getattr(sys, \'maxint\')) > 2**32\n-_is_pypy = hasattr(sys, \'pypy_version_info\')\n-_is_jython = sys.platform[:4] == \'java\'\n-if _is_jython:\n-    ModuleType = type(os)\n-\n-def makepath(*paths):\n-    dir = os.path.join(*paths)\n-    if _is_jython and (dir == \'__classpath__\' or\n-                       dir.startswith(\'__pyclasspath__\')):\n-        return dir, dir\n-    dir = os.path.abspath(dir)\n-    return dir, os.path.normcase(dir)\n-\n-def abs__file__():\n-    """Set all module\' __file__ attribute to an absolute path"""\n-    for m in sys.modules.values():\n-        if ((_is_jython and not isinstance(m, ModuleType)) or\n-            hasattr(m, \'__loader__\')):\n-        '..b'ays mask global packages, never the other way\n-    around.\n-\n-    """\n-    egginsert = getattr(sys, \'__egginsert\', 0)\n-    for i, path in enumerate(sys.path):\n-        if i > egginsert and path.startswith(sys.prefix):\n-            egginsert = i\n-    sys.__egginsert = egginsert + 1\n-\n-def virtual_addsitepackages(known_paths):\n-    force_global_eggs_after_local_site_packages()\n-    return addsitepackages(known_paths, sys_prefix=sys.real_prefix)\n-\n-def fixclasspath():\n-    """Adjust the special classpath sys.path entries for Jython. These\n-    entries should follow the base virtualenv lib directories.\n-    """\n-    paths = []\n-    classpaths = []\n-    for path in sys.path:\n-        if path == \'__classpath__\' or path.startswith(\'__pyclasspath__\'):\n-            classpaths.append(path)\n-        else:\n-            paths.append(path)\n-    sys.path = paths\n-    sys.path.extend(classpaths)\n-\n-def execusercustomize():\n-    """Run custom user specific code, if available."""\n-    try:\n-        import usercustomize\n-    except ImportError:\n-        pass\n-\n-\n-def main():\n-    global ENABLE_USER_SITE\n-    virtual_install_main_packages()\n-    abs__file__()\n-    paths_in_sys = removeduppaths()\n-    if (os.name == "posix" and sys.path and\n-        os.path.basename(sys.path[-1]) == "Modules"):\n-        addbuilddir()\n-    if _is_jython:\n-        fixclasspath()\n-    GLOBAL_SITE_PACKAGES = not os.path.exists(os.path.join(os.path.dirname(__file__), \'no-global-site-packages.txt\'))\n-    if not GLOBAL_SITE_PACKAGES:\n-        ENABLE_USER_SITE = False\n-    if ENABLE_USER_SITE is None:\n-        ENABLE_USER_SITE = check_enableusersite()\n-    paths_in_sys = addsitepackages(paths_in_sys)\n-    paths_in_sys = addusersitepackages(paths_in_sys)\n-    if GLOBAL_SITE_PACKAGES:\n-        paths_in_sys = virtual_addsitepackages(paths_in_sys)\n-    if sys.platform == \'os2emx\':\n-        setBEGINLIBPATH()\n-    setquit()\n-    setcopyright()\n-    sethelper()\n-    aliasmbcs()\n-    setencoding()\n-    execsitecustomize()\n-    if ENABLE_USER_SITE:\n-        execusercustomize()\n-    # Remove sys.setdefaultencoding() so that users cannot change the\n-    # encoding after initialization.  The test for presence is needed when\n-    # this module is run as a script, because this code is executed twice.\n-    if hasattr(sys, "setdefaultencoding"):\n-        del sys.setdefaultencoding\n-\n-main()\n-\n-def _script():\n-    help = """\\\n-    %s [--user-base] [--user-site]\n-\n-    Without arguments print some useful information\n-    With arguments print the value of USER_BASE and/or USER_SITE separated\n-    by \'%s\'.\n-\n-    Exit codes with --user-base or --user-site:\n-      0 - user site directory is enabled\n-      1 - user site directory is disabled by user\n-      2 - uses site directory is disabled by super user\n-          or for security reasons\n-     >2 - unknown error\n-    """\n-    args = sys.argv[1:]\n-    if not args:\n-        print("sys.path = [")\n-        for dir in sys.path:\n-            print("    %r," % (dir,))\n-        print("]")\n-        def exists(path):\n-            if os.path.isdir(path):\n-                return "exists"\n-            else:\n-                return "doesn\'t exist"\n-        print("USER_BASE: %r (%s)" % (USER_BASE, exists(USER_BASE)))\n-        print("USER_SITE: %r (%s)" % (USER_SITE, exists(USER_BASE)))\n-        print("ENABLE_USER_SITE: %r" %  ENABLE_USER_SITE)\n-        sys.exit(0)\n-\n-    buffer = []\n-    if \'--user-base\' in args:\n-        buffer.append(USER_BASE)\n-    if \'--user-site\' in args:\n-        buffer.append(USER_SITE)\n-\n-    if buffer:\n-        print(os.pathsep.join(buffer))\n-        if ENABLE_USER_SITE:\n-            sys.exit(0)\n-        elif ENABLE_USER_SITE is False:\n-            sys.exit(1)\n-        elif ENABLE_USER_SITE is None:\n-            sys.exit(2)\n-        else:\n-            sys.exit(3)\n-    else:\n-        import textwrap\n-        print(textwrap.dedent(help % (sys.argv[0], os.pathsep)))\n-        sys.exit(10)\n-\n-if __name__ == \'__main__\':\n-    _script()\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/site.pyc
b
Binary file test/lib/python2.7/site.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/sre.py
--- a/test/lib/python2.7/sre.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,13 +0,0 @@
-"""This file is only retained for backwards compatibility.
-It will be removed in the future.  sre was moved to re in version 2.5.
-"""
-
-import warnings
-warnings.warn("The sre module is deprecated, please import re.",
-              DeprecationWarning, 2)
-
-from re import *
-from re import __all__
-
-# old pickles expect the _compile() reconstructor in this module
-from re import _compile
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/sre_compile.py
--- a/test/lib/python2.7/sre_compile.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,596 +0,0 @@\n-# -*- coding: utf-8 -*-\n-#\n-# Secret Labs\' Regular Expression Engine\n-#\n-# convert template to internal format\n-#\n-# Copyright (c) 1997-2001 by Secret Labs AB.  All rights reserved.\n-#\n-# See the sre.py file for information on usage and redistribution.\n-#\n-\n-"""Internal support module for sre"""\n-\n-import _sre, sys\n-import sre_parse\n-from sre_constants import *\n-\n-assert _sre.MAGIC == MAGIC, "SRE module mismatch"\n-\n-if _sre.CODESIZE == 2:\n-    MAXCODE = 65535\n-else:\n-    MAXCODE = 0xFFFFFFFFL\n-\n-_LITERAL_CODES = set([LITERAL, NOT_LITERAL])\n-_REPEATING_CODES = set([REPEAT, MIN_REPEAT, MAX_REPEAT])\n-_SUCCESS_CODES = set([SUCCESS, FAILURE])\n-_ASSERT_CODES = set([ASSERT, ASSERT_NOT])\n-\n-# Sets of lowercase characters which have the same uppercase.\n-_equivalences = (\n-    # LATIN SMALL LETTER I, LATIN SMALL LETTER DOTLESS I\n-    (0x69, 0x131), # i\xc4\xb1\n-    # LATIN SMALL LETTER S, LATIN SMALL LETTER LONG S\n-    (0x73, 0x17f), # s\xc5\xbf\n-    # MICRO SIGN, GREEK SMALL LETTER MU\n-    (0xb5, 0x3bc), # \xc2\xb5\xce\xbc\n-    # COMBINING GREEK YPOGEGRAMMENI, GREEK SMALL LETTER IOTA, GREEK PROSGEGRAMMENI\n-    (0x345, 0x3b9, 0x1fbe), # \\u0345\xce\xb9\xe1\xbe\xbe\n-    # GREEK SMALL LETTER BETA, GREEK BETA SYMBOL\n-    (0x3b2, 0x3d0), # \xce\xb2\xcf\x90\n-    # GREEK SMALL LETTER EPSILON, GREEK LUNATE EPSILON SYMBOL\n-    (0x3b5, 0x3f5), # \xce\xb5\xcf\xb5\n-    # GREEK SMALL LETTER THETA, GREEK THETA SYMBOL\n-    (0x3b8, 0x3d1), # \xce\xb8\xcf\x91\n-    # GREEK SMALL LETTER KAPPA, GREEK KAPPA SYMBOL\n-    (0x3ba, 0x3f0), # \xce\xba\xcf\xb0\n-    # GREEK SMALL LETTER PI, GREEK PI SYMBOL\n-    (0x3c0, 0x3d6), # \xcf\x80\xcf\x96\n-    # GREEK SMALL LETTER RHO, GREEK RHO SYMBOL\n-    (0x3c1, 0x3f1), # \xcf\x81\xcf\xb1\n-    # GREEK SMALL LETTER FINAL SIGMA, GREEK SMALL LETTER SIGMA\n-    (0x3c2, 0x3c3), # \xcf\x82\xcf\x83\n-    # GREEK SMALL LETTER PHI, GREEK PHI SYMBOL\n-    (0x3c6, 0x3d5), # \xcf\x86\xcf\x95\n-    # LATIN SMALL LETTER S WITH DOT ABOVE, LATIN SMALL LETTER LONG S WITH DOT ABOVE\n-    (0x1e61, 0x1e9b), # \xe1\xb9\xa1\xe1\xba\x9b\n-)\n-\n-# Maps the lowercase code to lowercase codes which have the same uppercase.\n-_ignorecase_fixes = {i: tuple(j for j in t if i != j)\n-                     for t in _equivalences for i in t}\n-\n-def _compile(code, pattern, flags):\n-    # internal: compile a (sub)pattern\n-    emit = code.append\n-    _len = len\n-    LITERAL_CODES = _LITERAL_CODES\n-    REPEATING_CODES = _REPEATING_CODES\n-    SUCCESS_CODES = _SUCCESS_CODES\n-    ASSERT_CODES = _ASSERT_CODES\n-    if (flags & SRE_FLAG_IGNORECASE and\n-            not (flags & SRE_FLAG_LOCALE) and\n-            flags & SRE_FLAG_UNICODE):\n-        fixes = _ignorecase_fixes\n-    else:\n-        fixes = None\n-    for op, av in pattern:\n-        if op in LITERAL_CODES:\n-            if flags & SRE_FLAG_IGNORECASE:\n-                lo = _sre.getlower(av, flags)\n-                if fixes and lo in fixes:\n-                    emit(OPCODES[IN_IGNORE])\n-                    skip = _len(code); emit(0)\n-                    if op is NOT_LITERAL:\n-                        emit(OPCODES[NEGATE])\n-                    for k in (lo,) + fixes[lo]:\n-                        emit(OPCODES[LITERAL])\n-                        emit(k)\n-                    emit(OPCODES[FAILURE])\n-                    code[skip] = _len(code) - skip\n-                else:\n-                    emit(OPCODES[OP_IGNORE[op]])\n-                    emit(lo)\n-            else:\n-                emit(OPCODES[op])\n-                emit(av)\n-        elif op is IN:\n-            if flags & SRE_FLAG_IGNORECASE:\n-                emit(OPCODES[OP_IGNORE[op]])\n-                def fixup(literal, flags=flags):\n-                    return _sre.getlower(literal, flags)\n-            else:\n-                emit(OPCODES[op])\n-                fixup = None\n-            skip = _len(code); emit(0)\n-            _compile_charset(av, flags, code, fixup, fixes)\n-            code[skip] = _len(code) - skip\n-        elif op is ANY:\n-            if flags & SRE_FLAG_DOTALL:\n-                emit(OPCODES[ANY_ALL])\n-            else:\n-                emit(OPCODES[ANY])\n-        elif op in REPEAT'..b' 1:\n-                op, av = av[1][0]\n-                if op is LITERAL:\n-                    prefixappend(av)\n-                else:\n-                    break\n-            else:\n-                break\n-        # if no prefix, look for charset prefix\n-        if not prefix and pattern.data:\n-            op, av = pattern.data[0]\n-            if op is SUBPATTERN and av[1]:\n-                op, av = av[1][0]\n-                if op is LITERAL:\n-                    charsetappend((op, av))\n-                elif op is BRANCH:\n-                    c = []\n-                    cappend = c.append\n-                    for p in av[1]:\n-                        if not p:\n-                            break\n-                        op, av = p[0]\n-                        if op is LITERAL:\n-                            cappend((op, av))\n-                        else:\n-                            break\n-                    else:\n-                        charset = c\n-            elif op is BRANCH:\n-                c = []\n-                cappend = c.append\n-                for p in av[1]:\n-                    if not p:\n-                        break\n-                    op, av = p[0]\n-                    if op is LITERAL:\n-                        cappend((op, av))\n-                    else:\n-                        break\n-                else:\n-                    charset = c\n-            elif op is IN:\n-                charset = av\n-##     if prefix:\n-##         print "*** PREFIX", prefix, prefix_skip\n-##     if charset:\n-##         print "*** CHARSET", charset\n-    # add an info block\n-    emit = code.append\n-    emit(OPCODES[INFO])\n-    skip = len(code); emit(0)\n-    # literal flag\n-    mask = 0\n-    if prefix:\n-        mask = SRE_INFO_PREFIX\n-        if len(prefix) == prefix_skip == len(pattern.data):\n-            mask = mask + SRE_INFO_LITERAL\n-    elif charset:\n-        mask = mask + SRE_INFO_CHARSET\n-    emit(mask)\n-    # pattern length\n-    if lo < MAXCODE:\n-        emit(lo)\n-    else:\n-        emit(MAXCODE)\n-        prefix = prefix[:MAXCODE]\n-    if hi < MAXCODE:\n-        emit(hi)\n-    else:\n-        emit(0)\n-    # add literal prefix\n-    if prefix:\n-        emit(len(prefix)) # length\n-        emit(prefix_skip) # skip\n-        code.extend(prefix)\n-        # generate overlap table\n-        table = [-1] + ([0]*len(prefix))\n-        for i in xrange(len(prefix)):\n-            table[i+1] = table[i]+1\n-            while table[i+1] > 0 and prefix[i] != prefix[table[i+1]-1]:\n-                table[i+1] = table[table[i+1]-1]+1\n-        code.extend(table[1:]) # don\'t store first entry\n-    elif charset:\n-        _compile_charset(charset, flags, code)\n-    code[skip] = len(code) - skip\n-\n-try:\n-    unicode\n-except NameError:\n-    STRING_TYPES = (type(""),)\n-else:\n-    STRING_TYPES = (type(""), type(unicode("")))\n-\n-def isstring(obj):\n-    for tp in STRING_TYPES:\n-        if isinstance(obj, tp):\n-            return 1\n-    return 0\n-\n-def _code(p, flags):\n-\n-    flags = p.pattern.flags | flags\n-    code = []\n-\n-    # compile info block\n-    _compile_info(code, p, flags)\n-\n-    # compile the pattern\n-    _compile(code, p.data, flags)\n-\n-    code.append(OPCODES[SUCCESS])\n-\n-    return code\n-\n-def compile(p, flags=0):\n-    # internal: convert pattern list to internal format\n-\n-    if isstring(p):\n-        pattern = p\n-        p = sre_parse.parse(p, flags)\n-    else:\n-        pattern = None\n-\n-    code = _code(p, flags)\n-\n-    # print code\n-\n-    # XXX: <fl> get rid of this limitation!\n-    if p.pattern.groups > 100:\n-        raise AssertionError(\n-            "sorry, but this version only supports 100 named groups"\n-            )\n-\n-    # map in either direction\n-    groupindex = p.pattern.groupdict\n-    indexgroup = [None] * p.pattern.groups\n-    for k, i in groupindex.items():\n-        indexgroup[i] = k\n-\n-    return _sre.compile(\n-        pattern, flags | p.pattern.flags, code,\n-        p.pattern.groups-1,\n-        groupindex, indexgroup\n-        )\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/sre_compile.pyc
b
Binary file test/lib/python2.7/sre_compile.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/sre_constants.py
--- a/test/lib/python2.7/sre_constants.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,263 +0,0 @@
-#
-# Secret Labs' Regular Expression Engine
-#
-# various symbols used by the regular expression engine.
-# run this script to update the _sre include files!
-#
-# Copyright (c) 1998-2001 by Secret Labs AB.  All rights reserved.
-#
-# See the sre.py file for information on usage and redistribution.
-#
-
-"""Internal support module for sre"""
-
-# update when constants are added or removed
-
-MAGIC = 20031017
-
-try:
-    from _sre import MAXREPEAT
-except ImportError:
-    import _sre
-    MAXREPEAT = _sre.MAXREPEAT = 65535
-
-# SRE standard exception (access as sre.error)
-# should this really be here?
-
-class error(Exception):
-    pass
-
-# operators
-
-FAILURE = "failure"
-SUCCESS = "success"
-
-ANY = "any"
-ANY_ALL = "any_all"
-ASSERT = "assert"
-ASSERT_NOT = "assert_not"
-AT = "at"
-BIGCHARSET = "bigcharset"
-BRANCH = "branch"
-CALL = "call"
-CATEGORY = "category"
-CHARSET = "charset"
-GROUPREF = "groupref"
-GROUPREF_IGNORE = "groupref_ignore"
-GROUPREF_EXISTS = "groupref_exists"
-IN = "in"
-IN_IGNORE = "in_ignore"
-INFO = "info"
-JUMP = "jump"
-LITERAL = "literal"
-LITERAL_IGNORE = "literal_ignore"
-MARK = "mark"
-MAX_REPEAT = "max_repeat"
-MAX_UNTIL = "max_until"
-MIN_REPEAT = "min_repeat"
-MIN_UNTIL = "min_until"
-NEGATE = "negate"
-NOT_LITERAL = "not_literal"
-NOT_LITERAL_IGNORE = "not_literal_ignore"
-RANGE = "range"
-REPEAT = "repeat"
-REPEAT_ONE = "repeat_one"
-SUBPATTERN = "subpattern"
-MIN_REPEAT_ONE = "min_repeat_one"
-
-# positions
-AT_BEGINNING = "at_beginning"
-AT_BEGINNING_LINE = "at_beginning_line"
-AT_BEGINNING_STRING = "at_beginning_string"
-AT_BOUNDARY = "at_boundary"
-AT_NON_BOUNDARY = "at_non_boundary"
-AT_END = "at_end"
-AT_END_LINE = "at_end_line"
-AT_END_STRING = "at_end_string"
-AT_LOC_BOUNDARY = "at_loc_boundary"
-AT_LOC_NON_BOUNDARY = "at_loc_non_boundary"
-AT_UNI_BOUNDARY = "at_uni_boundary"
-AT_UNI_NON_BOUNDARY = "at_uni_non_boundary"
-
-# categories
-CATEGORY_DIGIT = "category_digit"
-CATEGORY_NOT_DIGIT = "category_not_digit"
-CATEGORY_SPACE = "category_space"
-CATEGORY_NOT_SPACE = "category_not_space"
-CATEGORY_WORD = "category_word"
-CATEGORY_NOT_WORD = "category_not_word"
-CATEGORY_LINEBREAK = "category_linebreak"
-CATEGORY_NOT_LINEBREAK = "category_not_linebreak"
-CATEGORY_LOC_WORD = "category_loc_word"
-CATEGORY_LOC_NOT_WORD = "category_loc_not_word"
-CATEGORY_UNI_DIGIT = "category_uni_digit"
-CATEGORY_UNI_NOT_DIGIT = "category_uni_not_digit"
-CATEGORY_UNI_SPACE = "category_uni_space"
-CATEGORY_UNI_NOT_SPACE = "category_uni_not_space"
-CATEGORY_UNI_WORD = "category_uni_word"
-CATEGORY_UNI_NOT_WORD = "category_uni_not_word"
-CATEGORY_UNI_LINEBREAK = "category_uni_linebreak"
-CATEGORY_UNI_NOT_LINEBREAK = "category_uni_not_linebreak"
-
-OPCODES = [
-
-    # failure=0 success=1 (just because it looks better that way :-)
-    FAILURE, SUCCESS,
-
-    ANY, ANY_ALL,
-    ASSERT, ASSERT_NOT,
-    AT,
-    BRANCH,
-    CALL,
-    CATEGORY,
-    CHARSET, BIGCHARSET,
-    GROUPREF, GROUPREF_EXISTS, GROUPREF_IGNORE,
-    IN, IN_IGNORE,
-    INFO,
-    JUMP,
-    LITERAL, LITERAL_IGNORE,
-    MARK,
-    MAX_UNTIL,
-    MIN_UNTIL,
-    NOT_LITERAL, NOT_LITERAL_IGNORE,
-    NEGATE,
-    RANGE,
-    REPEAT,
-    REPEAT_ONE,
-    SUBPATTERN,
-    MIN_REPEAT_ONE
-
-]
-
-ATCODES = [
-    AT_BEGINNING, AT_BEGINNING_LINE, AT_BEGINNING_STRING, AT_BOUNDARY,
-    AT_NON_BOUNDARY, AT_END, AT_END_LINE, AT_END_STRING,
-    AT_LOC_BOUNDARY, AT_LOC_NON_BOUNDARY, AT_UNI_BOUNDARY,
-    AT_UNI_NON_BOUNDARY
-]
-
-CHCODES = [
-    CATEGORY_DIGIT, CATEGORY_NOT_DIGIT, CATEGORY_SPACE,
-    CATEGORY_NOT_SPACE, CATEGORY_WORD, CATEGORY_NOT_WORD,
-    CATEGORY_LINEBREAK, CATEGORY_NOT_LINEBREAK, CATEGORY_LOC_WORD,
-    CATEGORY_LOC_NOT_WORD, CATEGORY_UNI_DIGIT, CATEGORY_UNI_NOT_DIGIT,
-    CATEGORY_UNI_SPACE, CATEGORY_UNI_NOT_SPACE, CATEGORY_UNI_WORD,
-    CATEGORY_UNI_NOT_WORD, CATEGORY_UNI_LINEBREAK,
-    CATEGORY_UNI_NOT_LINEBREAK
-]
-
-def makedict(list):
-    d = {}
-    i = 0
-    for item in list:
-        d[item] = i
-        i = i + 1
-    return d
-
-OPCODES = makedict(OPCODES)
-ATCODES = makedict(ATCODES)
-CHCODES = makedict(CHCODES)
-
-# replacement operations for "ignore case" mode
-OP_IGNORE = {
-    GROUPREF: GROUPREF_IGNORE,
-    IN: IN_IGNORE,
-    LITERAL: LITERAL_IGNORE,
-    NOT_LITERAL: NOT_LITERAL_IGNORE
-}
-
-AT_MULTILINE = {
-    AT_BEGINNING: AT_BEGINNING_LINE,
-    AT_END: AT_END_LINE
-}
-
-AT_LOCALE = {
-    AT_BOUNDARY: AT_LOC_BOUNDARY,
-    AT_NON_BOUNDARY: AT_LOC_NON_BOUNDARY
-}
-
-AT_UNICODE = {
-    AT_BOUNDARY: AT_UNI_BOUNDARY,
-    AT_NON_BOUNDARY: AT_UNI_NON_BOUNDARY
-}
-
-CH_LOCALE = {
-    CATEGORY_DIGIT: CATEGORY_DIGIT,
-    CATEGORY_NOT_DIGIT: CATEGORY_NOT_DIGIT,
-    CATEGORY_SPACE: CATEGORY_SPACE,
-    CATEGORY_NOT_SPACE: CATEGORY_NOT_SPACE,
-    CATEGORY_WORD: CATEGORY_LOC_WORD,
-    CATEGORY_NOT_WORD: CATEGORY_LOC_NOT_WORD,
-    CATEGORY_LINEBREAK: CATEGORY_LINEBREAK,
-    CATEGORY_NOT_LINEBREAK: CATEGORY_NOT_LINEBREAK
-}
-
-CH_UNICODE = {
-    CATEGORY_DIGIT: CATEGORY_UNI_DIGIT,
-    CATEGORY_NOT_DIGIT: CATEGORY_UNI_NOT_DIGIT,
-    CATEGORY_SPACE: CATEGORY_UNI_SPACE,
-    CATEGORY_NOT_SPACE: CATEGORY_UNI_NOT_SPACE,
-    CATEGORY_WORD: CATEGORY_UNI_WORD,
-    CATEGORY_NOT_WORD: CATEGORY_UNI_NOT_WORD,
-    CATEGORY_LINEBREAK: CATEGORY_UNI_LINEBREAK,
-    CATEGORY_NOT_LINEBREAK: CATEGORY_UNI_NOT_LINEBREAK
-}
-
-# flags
-SRE_FLAG_TEMPLATE = 1 # template mode (disable backtracking)
-SRE_FLAG_IGNORECASE = 2 # case insensitive
-SRE_FLAG_LOCALE = 4 # honour system locale
-SRE_FLAG_MULTILINE = 8 # treat target as multiline string
-SRE_FLAG_DOTALL = 16 # treat target as a single string
-SRE_FLAG_UNICODE = 32 # use unicode locale
-SRE_FLAG_VERBOSE = 64 # ignore whitespace and comments
-SRE_FLAG_DEBUG = 128 # debugging
-
-# flags for INFO primitive
-SRE_INFO_PREFIX = 1 # has prefix
-SRE_INFO_LITERAL = 2 # entire pattern is literal (given by prefix)
-SRE_INFO_CHARSET = 4 # pattern starts with character from given set
-
-if __name__ == "__main__":
-    def dump(f, d, prefix):
-        items = d.items()
-        items.sort(key=lambda a: a[1])
-        for k, v in items:
-            f.write("#define %s_%s %s\n" % (prefix, k.upper(), v))
-    f = open("sre_constants.h", "w")
-    f.write("""\
-/*
- * Secret Labs' Regular Expression Engine
- *
- * regular expression matching engine
- *
- * NOTE: This file is generated by sre_constants.py.  If you need
- * to change anything in here, edit sre_constants.py and run it.
- *
- * Copyright (c) 1997-2001 by Secret Labs AB.  All rights reserved.
- *
- * See the _sre.c file for information on usage and redistribution.
- */
-
-""")
-
-    f.write("#define SRE_MAGIC %d\n" % MAGIC)
-
-    dump(f, OPCODES, "SRE_OP")
-    dump(f, ATCODES, "SRE")
-    dump(f, CHCODES, "SRE")
-
-    f.write("#define SRE_FLAG_TEMPLATE %d\n" % SRE_FLAG_TEMPLATE)
-    f.write("#define SRE_FLAG_IGNORECASE %d\n" % SRE_FLAG_IGNORECASE)
-    f.write("#define SRE_FLAG_LOCALE %d\n" % SRE_FLAG_LOCALE)
-    f.write("#define SRE_FLAG_MULTILINE %d\n" % SRE_FLAG_MULTILINE)
-    f.write("#define SRE_FLAG_DOTALL %d\n" % SRE_FLAG_DOTALL)
-    f.write("#define SRE_FLAG_UNICODE %d\n" % SRE_FLAG_UNICODE)
-    f.write("#define SRE_FLAG_VERBOSE %d\n" % SRE_FLAG_VERBOSE)
-
-    f.write("#define SRE_INFO_PREFIX %d\n" % SRE_INFO_PREFIX)
-    f.write("#define SRE_INFO_LITERAL %d\n" % SRE_INFO_LITERAL)
-    f.write("#define SRE_INFO_CHARSET %d\n" % SRE_INFO_CHARSET)
-
-    f.close()
-    print "done"
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/sre_constants.pyc
b
Binary file test/lib/python2.7/sre_constants.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/sre_parse.py
--- a/test/lib/python2.7/sre_parse.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,834 +0,0 @@\n-#\n-# Secret Labs\' Regular Expression Engine\n-#\n-# convert re-style regular expression to sre pattern\n-#\n-# Copyright (c) 1998-2001 by Secret Labs AB.  All rights reserved.\n-#\n-# See the sre.py file for information on usage and redistribution.\n-#\n-\n-"""Internal support module for sre"""\n-\n-# XXX: show string offset and offending character for all errors\n-\n-import sys\n-\n-from sre_constants import *\n-\n-SPECIAL_CHARS = ".\\\\[{()*+?^$|"\n-REPEAT_CHARS = "*+?{"\n-\n-DIGITS = set("0123456789")\n-\n-OCTDIGITS = set("01234567")\n-HEXDIGITS = set("0123456789abcdefABCDEF")\n-\n-WHITESPACE = set(" \\t\\n\\r\\v\\f")\n-\n-ESCAPES = {\n-    r"\\a": (LITERAL, ord("\\a")),\n-    r"\\b": (LITERAL, ord("\\b")),\n-    r"\\f": (LITERAL, ord("\\f")),\n-    r"\\n": (LITERAL, ord("\\n")),\n-    r"\\r": (LITERAL, ord("\\r")),\n-    r"\\t": (LITERAL, ord("\\t")),\n-    r"\\v": (LITERAL, ord("\\v")),\n-    r"\\\\": (LITERAL, ord("\\\\"))\n-}\n-\n-CATEGORIES = {\n-    r"\\A": (AT, AT_BEGINNING_STRING), # start of string\n-    r"\\b": (AT, AT_BOUNDARY),\n-    r"\\B": (AT, AT_NON_BOUNDARY),\n-    r"\\d": (IN, [(CATEGORY, CATEGORY_DIGIT)]),\n-    r"\\D": (IN, [(CATEGORY, CATEGORY_NOT_DIGIT)]),\n-    r"\\s": (IN, [(CATEGORY, CATEGORY_SPACE)]),\n-    r"\\S": (IN, [(CATEGORY, CATEGORY_NOT_SPACE)]),\n-    r"\\w": (IN, [(CATEGORY, CATEGORY_WORD)]),\n-    r"\\W": (IN, [(CATEGORY, CATEGORY_NOT_WORD)]),\n-    r"\\Z": (AT, AT_END_STRING), # end of string\n-}\n-\n-FLAGS = {\n-    # standard flags\n-    "i": SRE_FLAG_IGNORECASE,\n-    "L": SRE_FLAG_LOCALE,\n-    "m": SRE_FLAG_MULTILINE,\n-    "s": SRE_FLAG_DOTALL,\n-    "x": SRE_FLAG_VERBOSE,\n-    # extensions\n-    "t": SRE_FLAG_TEMPLATE,\n-    "u": SRE_FLAG_UNICODE,\n-}\n-\n-class Pattern:\n-    # master pattern object.  keeps track of global attributes\n-    def __init__(self):\n-        self.flags = 0\n-        self.open = []\n-        self.groups = 1\n-        self.groupdict = {}\n-        self.lookbehind = 0\n-\n-    def opengroup(self, name=None):\n-        gid = self.groups\n-        self.groups = gid + 1\n-        if name is not None:\n-            ogid = self.groupdict.get(name, None)\n-            if ogid is not None:\n-                raise error, ("redefinition of group name %s as group %d; "\n-                              "was group %d" % (repr(name), gid,  ogid))\n-            self.groupdict[name] = gid\n-        self.open.append(gid)\n-        return gid\n-    def closegroup(self, gid):\n-        self.open.remove(gid)\n-    def checkgroup(self, gid):\n-        return gid < self.groups and gid not in self.open\n-\n-class SubPattern:\n-    # a subpattern, in intermediate form\n-    def __init__(self, pattern, data=None):\n-        self.pattern = pattern\n-        if data is None:\n-            data = []\n-        self.data = data\n-        self.width = None\n-    def dump(self, level=0):\n-        seqtypes = (tuple, list)\n-        for op, av in self.data:\n-            print level*"  " + op,\n-            if op == IN:\n-                # member sublanguage\n-                print\n-                for op, a in av:\n-                    print (level+1)*"  " + op, a\n-            elif op == BRANCH:\n-                print\n-                for i, a in enumerate(av[1]):\n-                    if i:\n-                        print level*"  " + "or"\n-                    a.dump(level+1)\n-            elif op == GROUPREF_EXISTS:\n-                condgroup, item_yes, item_no = av\n-                print condgroup\n-                item_yes.dump(level+1)\n-                if item_no:\n-                    print level*"  " + "else"\n-                    item_no.dump(level+1)\n-            elif isinstance(av, seqtypes):\n-                nl = 0\n-                for a in av:\n-                    if isinstance(a, SubPattern):\n-                        if not nl:\n-                            print\n-                        a.dump(level+1)\n-                        nl = 1\n-                    else:\n-                        print a,\n-                        nl = 0\n-                if not nl:\n-                    print\n-            e'..b'()\n-    if tail == ")":\n-        raise error, "unbalanced parenthesis"\n-    elif tail:\n-        raise error, "bogus characters at end of regular expression"\n-\n-    if not (flags & SRE_FLAG_VERBOSE) and p.pattern.flags & SRE_FLAG_VERBOSE:\n-        # the VERBOSE flag was switched on inside the pattern.  to be\n-        # on the safe side, we\'ll parse the whole thing again...\n-        return parse(str, p.pattern.flags)\n-\n-    if flags & SRE_FLAG_DEBUG:\n-        p.dump()\n-\n-    return p\n-\n-def parse_template(source, pattern):\n-    # parse \'re\' replacement string into list of literals and\n-    # group references\n-    s = Tokenizer(source)\n-    sget = s.get\n-    p = []\n-    a = p.append\n-    def literal(literal, p=p, pappend=a):\n-        if p and p[-1][0] is LITERAL:\n-            p[-1] = LITERAL, p[-1][1] + literal\n-        else:\n-            pappend((LITERAL, literal))\n-    sep = source[:0]\n-    if type(sep) is type(""):\n-        makechar = chr\n-    else:\n-        makechar = unichr\n-    while 1:\n-        this = sget()\n-        if this is None:\n-            break # end of replacement string\n-        if this and this[0] == "\\\\":\n-            # group\n-            c = this[1:2]\n-            if c == "g":\n-                name = ""\n-                if s.match("<"):\n-                    while 1:\n-                        char = sget()\n-                        if char is None:\n-                            raise error, "unterminated group name"\n-                        if char == ">":\n-                            break\n-                        name = name + char\n-                if not name:\n-                    raise error, "missing group name"\n-                try:\n-                    index = int(name)\n-                    if index < 0:\n-                        raise error, "negative group number"\n-                except ValueError:\n-                    if not isname(name):\n-                        raise error, "bad character in group name"\n-                    try:\n-                        index = pattern.groupindex[name]\n-                    except KeyError:\n-                        msg = "unknown group name: {0!r}".format(name)\n-                        raise IndexError(msg)\n-                a((MARK, index))\n-            elif c == "0":\n-                if s.next in OCTDIGITS:\n-                    this = this + sget()\n-                    if s.next in OCTDIGITS:\n-                        this = this + sget()\n-                literal(makechar(int(this[1:], 8) & 0xff))\n-            elif c in DIGITS:\n-                isoctal = False\n-                if s.next in DIGITS:\n-                    this = this + sget()\n-                    if (c in OCTDIGITS and this[2] in OCTDIGITS and\n-                        s.next in OCTDIGITS):\n-                        this = this + sget()\n-                        isoctal = True\n-                        literal(makechar(int(this[1:], 8) & 0xff))\n-                if not isoctal:\n-                    a((MARK, int(this[1:])))\n-            else:\n-                try:\n-                    this = makechar(ESCAPES[this][1])\n-                except KeyError:\n-                    pass\n-                literal(this)\n-        else:\n-            literal(this)\n-    # convert template to groups and literals lists\n-    i = 0\n-    groups = []\n-    groupsappend = groups.append\n-    literals = [None] * len(p)\n-    for c, s in p:\n-        if c is MARK:\n-            groupsappend((i, s))\n-            # literal[i] is already None\n-        else:\n-            literals[i] = s\n-        i = i + 1\n-    return groups, literals\n-\n-def expand_template(template, match):\n-    g = match.group\n-    sep = match.string[:0]\n-    groups, literals = template\n-    literals = literals[:]\n-    try:\n-        for index, group in groups:\n-            literals[index] = s = g(group)\n-            if s is None:\n-                raise error, "unmatched group"\n-    except IndexError:\n-        raise error, "invalid group reference"\n-    return sep.join(literals)\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/sre_parse.pyc
b
Binary file test/lib/python2.7/sre_parse.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/stat.py
--- a/test/lib/python2.7/stat.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,96 +0,0 @@
-"""Constants/functions for interpreting results of os.stat() and os.lstat().
-
-Suggested usage: from stat import *
-"""
-
-# Indices for stat struct members in the tuple returned by os.stat()
-
-ST_MODE  = 0
-ST_INO   = 1
-ST_DEV   = 2
-ST_NLINK = 3
-ST_UID   = 4
-ST_GID   = 5
-ST_SIZE  = 6
-ST_ATIME = 7
-ST_MTIME = 8
-ST_CTIME = 9
-
-# Extract bits from the mode
-
-def S_IMODE(mode):
-    return mode & 07777
-
-def S_IFMT(mode):
-    return mode & 0170000
-
-# Constants used as S_IFMT() for various file types
-# (not all are implemented on all systems)
-
-S_IFDIR  = 0040000
-S_IFCHR  = 0020000
-S_IFBLK  = 0060000
-S_IFREG  = 0100000
-S_IFIFO  = 0010000
-S_IFLNK  = 0120000
-S_IFSOCK = 0140000
-
-# Functions to test for each file type
-
-def S_ISDIR(mode):
-    return S_IFMT(mode) == S_IFDIR
-
-def S_ISCHR(mode):
-    return S_IFMT(mode) == S_IFCHR
-
-def S_ISBLK(mode):
-    return S_IFMT(mode) == S_IFBLK
-
-def S_ISREG(mode):
-    return S_IFMT(mode) == S_IFREG
-
-def S_ISFIFO(mode):
-    return S_IFMT(mode) == S_IFIFO
-
-def S_ISLNK(mode):
-    return S_IFMT(mode) == S_IFLNK
-
-def S_ISSOCK(mode):
-    return S_IFMT(mode) == S_IFSOCK
-
-# Names for permission bits
-
-S_ISUID = 04000
-S_ISGID = 02000
-S_ENFMT = S_ISGID
-S_ISVTX = 01000
-S_IREAD = 00400
-S_IWRITE = 00200
-S_IEXEC = 00100
-S_IRWXU = 00700
-S_IRUSR = 00400
-S_IWUSR = 00200
-S_IXUSR = 00100
-S_IRWXG = 00070
-S_IRGRP = 00040
-S_IWGRP = 00020
-S_IXGRP = 00010
-S_IRWXO = 00007
-S_IROTH = 00004
-S_IWOTH = 00002
-S_IXOTH = 00001
-
-# Names for file flags
-
-UF_NODUMP    = 0x00000001
-UF_IMMUTABLE = 0x00000002
-UF_APPEND    = 0x00000004
-UF_OPAQUE    = 0x00000008
-UF_NOUNLINK  = 0x00000010
-UF_COMPRESSED = 0x00000020  # OS X: file is hfs-compressed
-UF_HIDDEN    = 0x00008000   # OS X: file should not be displayed
-SF_ARCHIVED  = 0x00010000
-SF_IMMUTABLE = 0x00020000
-SF_APPEND    = 0x00040000
-SF_NOUNLINK  = 0x00100000
-SF_SNAPSHOT  = 0x00200000
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/stat.pyc
b
Binary file test/lib/python2.7/stat.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/types.py
--- a/test/lib/python2.7/types.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,86 +0,0 @@
-"""Define names for all type symbols known in the standard interpreter.
-
-Types that are part of optional modules (e.g. array) are not listed.
-"""
-import sys
-
-# Iterators in Python aren't a matter of type but of protocol.  A large
-# and changing number of builtin types implement *some* flavor of
-# iterator.  Don't check the type!  Use hasattr to check for both
-# "__iter__" and "next" attributes instead.
-
-NoneType = type(None)
-TypeType = type
-ObjectType = object
-
-IntType = int
-LongType = long
-FloatType = float
-BooleanType = bool
-try:
-    ComplexType = complex
-except NameError:
-    pass
-
-StringType = str
-
-# StringTypes is already outdated.  Instead of writing "type(x) in
-# types.StringTypes", you should use "isinstance(x, basestring)".  But
-# we keep around for compatibility with Python 2.2.
-try:
-    UnicodeType = unicode
-    StringTypes = (StringType, UnicodeType)
-except NameError:
-    StringTypes = (StringType,)
-
-BufferType = buffer
-
-TupleType = tuple
-ListType = list
-DictType = DictionaryType = dict
-
-def _f(): pass
-FunctionType = type(_f)
-LambdaType = type(lambda: None)         # Same as FunctionType
-CodeType = type(_f.func_code)
-
-def _g():
-    yield 1
-GeneratorType = type(_g())
-
-class _C:
-    def _m(self): pass
-ClassType = type(_C)
-UnboundMethodType = type(_C._m)         # Same as MethodType
-_x = _C()
-InstanceType = type(_x)
-MethodType = type(_x._m)
-
-BuiltinFunctionType = type(len)
-BuiltinMethodType = type([].append)     # Same as BuiltinFunctionType
-
-ModuleType = type(sys)
-FileType = file
-XRangeType = xrange
-
-try:
-    raise TypeError
-except TypeError:
-    tb = sys.exc_info()[2]
-    TracebackType = type(tb)
-    FrameType = type(tb.tb_frame)
-    del tb
-
-SliceType = slice
-EllipsisType = type(Ellipsis)
-
-DictProxyType = type(TypeType.__dict__)
-NotImplementedType = type(NotImplemented)
-
-# For Jython, the following two types are identical
-GetSetDescriptorType = type(FunctionType.func_code)
-MemberDescriptorType = type(FunctionType.func_globals)
-
-del sys, _f, _g, _C, _x                           # Not for export
-
-__all__ = list(n for n in globals() if n[:1] != '_')
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/types.pyc
b
Binary file test/lib/python2.7/types.pyc has changed
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/warnings.py
--- a/test/lib/python2.7/warnings.py Thu May 18 19:06:49 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,422 +0,0 @@\n-"""Python part of the warnings subsystem."""\n-\n-# Note: function level imports should *not* be used\n-# in this module as it may cause import lock deadlock.\n-# See bug 683658.\n-import linecache\n-import sys\n-import types\n-\n-__all__ = ["warn", "warn_explicit", "showwarning",\n-           "formatwarning", "filterwarnings", "simplefilter",\n-           "resetwarnings", "catch_warnings"]\n-\n-\n-def warnpy3k(message, category=None, stacklevel=1):\n-    """Issue a deprecation warning for Python 3.x related changes.\n-\n-    Warnings are omitted unless Python is started with the -3 option.\n-    """\n-    if sys.py3kwarning:\n-        if category is None:\n-            category = DeprecationWarning\n-        warn(message, category, stacklevel+1)\n-\n-def _show_warning(message, category, filename, lineno, file=None, line=None):\n-    """Hook to write a warning to a file; replace if you like."""\n-    if file is None:\n-        file = sys.stderr\n-        if file is None:\n-            # sys.stderr is None - warnings get lost\n-            return\n-    try:\n-        file.write(formatwarning(message, category, filename, lineno, line))\n-    except (IOError, UnicodeError):\n-        pass # the file (probably stderr) is invalid - this warning gets lost.\n-# Keep a working version around in case the deprecation of the old API is\n-# triggered.\n-showwarning = _show_warning\n-\n-def formatwarning(message, category, filename, lineno, line=None):\n-    """Function to format a warning the standard way."""\n-    try:\n-        unicodetype = unicode\n-    except NameError:\n-        unicodetype = ()\n-    try:\n-        message = str(message)\n-    except UnicodeEncodeError:\n-        pass\n-    s =  "%s: %s: %s\\n" % (lineno, category.__name__, message)\n-    line = linecache.getline(filename, lineno) if line is None else line\n-    if line:\n-        line = line.strip()\n-        if isinstance(s, unicodetype) and isinstance(line, str):\n-            line = unicode(line, \'latin1\')\n-        s += "  %s\\n" % line\n-    if isinstance(s, unicodetype) and isinstance(filename, str):\n-        enc = sys.getfilesystemencoding()\n-        if enc:\n-            try:\n-                filename = unicode(filename, enc)\n-            except UnicodeDecodeError:\n-                pass\n-    s = "%s:%s" % (filename, s)\n-    return s\n-\n-def filterwarnings(action, message="", category=Warning, module="", lineno=0,\n-                   append=0):\n-    """Insert an entry into the list of warnings filters (at the front).\n-\n-    \'action\' -- one of "error", "ignore", "always", "default", "module",\n-                or "once"\n-    \'message\' -- a regex that the warning message must match\n-    \'category\' -- a class that the warning must be a subclass of\n-    \'module\' -- a regex that the module name must match\n-    \'lineno\' -- an integer line number, 0 matches all warnings\n-    \'append\' -- if true, append to the list of filters\n-    """\n-    import re\n-    assert action in ("error", "ignore", "always", "default", "module",\n-                      "once"), "invalid action: %r" % (action,)\n-    assert isinstance(message, basestring), "message must be a string"\n-    assert isinstance(category, (type, types.ClassType)), \\\n-           "category must be a class"\n-    assert issubclass(category, Warning), "category must be a Warning subclass"\n-    assert isinstance(module, basestring), "module must be a string"\n-    assert isinstance(lineno, int) and lineno >= 0, \\\n-           "lineno must be an int >= 0"\n-    item = (action, re.compile(message, re.I), category,\n-            re.compile(module), lineno)\n-    if append:\n-        filters.append(item)\n-    else:\n-        filters.insert(0, item)\n-\n-def simplefilter(action, category=Warning, lineno=0, append=0):\n-    """Insert a simple entry into the list of warnings filters (at the front).\n-\n-    A simple filter matches all modules and messages.\n-    \'action\' -- one of "error", "ignore", "always", "default", "module",\n-                or "once"\n-    \'category\' -- a clas'..b'"{message : %r, category : %r, filename : %r, lineno : %s, "\n-                    "line : %r}" % (self.message, self._category_name,\n-                                    self.filename, self.lineno, self.line))\n-\n-\n-class catch_warnings(object):\n-\n-    """A context manager that copies and restores the warnings filter upon\n-    exiting the context.\n-\n-    The \'record\' argument specifies whether warnings should be captured by a\n-    custom implementation of warnings.showwarning() and be appended to a list\n-    returned by the context manager. Otherwise None is returned by the context\n-    manager. The objects appended to the list are arguments whose attributes\n-    mirror the arguments to showwarning().\n-\n-    The \'module\' argument is to specify an alternative module to the module\n-    named \'warnings\' and imported under that name. This argument is only useful\n-    when testing the warnings module itself.\n-\n-    """\n-\n-    def __init__(self, record=False, module=None):\n-        """Specify whether to record warnings and if an alternative module\n-        should be used other than sys.modules[\'warnings\'].\n-\n-        For compatibility with Python 3.0, please consider all arguments to be\n-        keyword-only.\n-\n-        """\n-        self._record = record\n-        self._module = sys.modules[\'warnings\'] if module is None else module\n-        self._entered = False\n-\n-    def __repr__(self):\n-        args = []\n-        if self._record:\n-            args.append("record=True")\n-        if self._module is not sys.modules[\'warnings\']:\n-            args.append("module=%r" % self._module)\n-        name = type(self).__name__\n-        return "%s(%s)" % (name, ", ".join(args))\n-\n-    def __enter__(self):\n-        if self._entered:\n-            raise RuntimeError("Cannot enter %r twice" % self)\n-        self._entered = True\n-        self._filters = self._module.filters\n-        self._module.filters = self._filters[:]\n-        self._showwarning = self._module.showwarning\n-        if self._record:\n-            log = []\n-            def showwarning(*args, **kwargs):\n-                log.append(WarningMessage(*args, **kwargs))\n-            self._module.showwarning = showwarning\n-            return log\n-        else:\n-            return None\n-\n-    def __exit__(self, *exc_info):\n-        if not self._entered:\n-            raise RuntimeError("Cannot exit %r without entering first" % self)\n-        self._module.filters = self._filters\n-        self._module.showwarning = self._showwarning\n-\n-\n-# filters contains a sequence of filter 5-tuples\n-# The components of the 5-tuple are:\n-# - an action: error, ignore, always, default, module, or once\n-# - a compiled regex that must match the warning message\n-# - a class representing the warning category\n-# - a compiled regex that must match the module that is being warned\n-# - a line number for the line being warning, or 0 to mean any line\n-# If either if the compiled regexs are None, match anything.\n-_warnings_defaults = False\n-try:\n-    from _warnings import (filters, default_action, once_registry,\n-                            warn, warn_explicit)\n-    defaultaction = default_action\n-    onceregistry = once_registry\n-    _warnings_defaults = True\n-except ImportError:\n-    filters = []\n-    defaultaction = "default"\n-    onceregistry = {}\n-\n-\n-# Module initialization\n-_processoptions(sys.warnoptions)\n-if not _warnings_defaults:\n-    silence = [ImportWarning, PendingDeprecationWarning]\n-    # Don\'t silence DeprecationWarning if -3 or -Q was used.\n-    if not sys.py3kwarning and not sys.flags.division_warning:\n-        silence.append(DeprecationWarning)\n-    for cls in silence:\n-        simplefilter("ignore", category=cls)\n-    bytes_warning = sys.flags.bytes_warning\n-    if bytes_warning > 1:\n-        bytes_action = "error"\n-    elif bytes_warning:\n-        bytes_action = "default"\n-    else:\n-        bytes_action = "ignore"\n-    simplefilter(bytes_action, category=BytesWarning, append=1)\n-del _warnings_defaults\n'
b
diff -r b454a3fba174 -r 32a5addbbae8 test/lib/python2.7/warnings.pyc
b
Binary file test/lib/python2.7/warnings.pyc has changed