diff --git a/patch/Python/Python.patch b/patch/Python/Python.patch index 55a4469..64127a6 100644 --- a/patch/Python/Python.patch +++ b/patch/Python/Python.patch @@ -1,6 +1,6 @@ diff -Nru orig/Include/datetime.h modified/Include/datetime.h ---- orig/Include/datetime.h 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Include/datetime.h 2016-07-04 09:46:55.000000000 +0800 +--- orig/Include/datetime.h 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Include/datetime.h 2017-01-27 19:03:44.000000000 +0800 @@ -164,6 +164,12 @@ /* "magic" constant used to partially protect against developer mistakes. */ #define DATETIME_API_MAGIC 0x414548d5 @@ -28,8 +28,8 @@ diff -Nru orig/Include/datetime.h modified/Include/datetime.h #define PyDate_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateType) #define PyDate_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DateType) diff -Nru orig/Lib/ctypes/test/test_as_parameter.py modified/Lib/ctypes/test/test_as_parameter.py ---- orig/Lib/ctypes/test/test_as_parameter.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_as_parameter.py 2016-07-04 09:48:40.000000000 +0800 +--- orig/Lib/ctypes/test/test_as_parameter.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_as_parameter.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,9 +1,11 @@ +import os import unittest @@ -56,8 +56,8 @@ diff -Nru orig/Lib/ctypes/test/test_as_parameter.py modified/Lib/ctypes/test/tes def wrap(self, param): return param diff -Nru orig/Lib/ctypes/test/test_bitfields.py modified/Lib/ctypes/test/test_bitfields.py ---- orig/Lib/ctypes/test/test_bitfields.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_bitfields.py 2016-07-04 09:49:49.000000000 +0800 +--- orig/Lib/ctypes/test/test_bitfields.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_bitfields.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,11 +1,12 @@ from ctypes import * from ctypes.test import need_symbol @@ -96,8 +96,8 @@ diff -Nru orig/Lib/ctypes/test/test_bitfields.py modified/Lib/ctypes/test/test_b def test_longlong(self): diff -Nru orig/Lib/ctypes/test/test_buffers.py modified/Lib/ctypes/test/test_buffers.py ---- orig/Lib/ctypes/test/test_buffers.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_buffers.py 2016-07-04 09:49:57.000000000 +0800 +--- orig/Lib/ctypes/test/test_buffers.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_buffers.py 2017-01-27 19:03:44.000000000 +0800 @@ -2,6 +2,7 @@ from ctypes.test import need_symbol import unittest @@ -107,10 +107,11 @@ diff -Nru orig/Lib/ctypes/test/test_buffers.py modified/Lib/ctypes/test/test_buf def test_buffer(self): diff -Nru orig/Lib/ctypes/test/test_callbacks.py modified/Lib/ctypes/test/test_callbacks.py ---- orig/Lib/ctypes/test/test_callbacks.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_callbacks.py 2016-07-04 09:51:32.000000000 +0800 -@@ -1,8 +1,10 @@ +--- orig/Lib/ctypes/test/test_callbacks.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_callbacks.py 2017-01-27 19:05:32.000000000 +0800 +@@ -1,9 +1,11 @@ +import os + import functools import unittest from ctypes import * from ctypes.test import need_symbol @@ -120,7 +121,7 @@ diff -Nru orig/Lib/ctypes/test/test_callbacks.py modified/Lib/ctypes/test/test_c class Callbacks(unittest.TestCase): functype = CFUNCTYPE -@@ -163,7 +165,7 @@ +@@ -164,7 +166,7 @@ def test_integrate(self): # Derived from some then non-working code, posted by David Foster @@ -129,7 +130,7 @@ diff -Nru orig/Lib/ctypes/test/test_callbacks.py modified/Lib/ctypes/test/test_c # The function prototype called by 'integrate': double func(double); CALLBACK = CFUNCTYPE(c_double, c_double) -@@ -207,14 +209,14 @@ +@@ -208,14 +210,14 @@ def EnumWindowsCallbackFunc(hwnd, lParam): global windowCount windowCount += 1 @@ -146,7 +147,7 @@ diff -Nru orig/Lib/ctypes/test/test_callbacks.py modified/Lib/ctypes/test/test_c CALLBACK = CFUNCTYPE(c_int, c_int, c_int, c_int, c_int, c_int) # All this function does is call the callback with its args squared func = dll._testfunc_cbk_reg_int -@@ -230,7 +232,7 @@ +@@ -231,7 +233,7 @@ def test_callback_register_double(self): # Issue #8275: buggy handling of callback args under Win64 # NOTE: should be run on release builds as well @@ -156,8 +157,8 @@ diff -Nru orig/Lib/ctypes/test/test_callbacks.py modified/Lib/ctypes/test/test_c c_double, c_double) # All this function does is call the callback with its args squared diff -Nru orig/Lib/ctypes/test/test_cfuncs.py modified/Lib/ctypes/test/test_cfuncs.py ---- orig/Lib/ctypes/test/test_cfuncs.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_cfuncs.py 2016-07-04 09:52:28.000000000 +0800 +--- orig/Lib/ctypes/test/test_cfuncs.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_cfuncs.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,17 +1,20 @@ # A lot of failures in these tests on Mac OS X. # Byte order related? @@ -203,8 +204,8 @@ diff -Nru orig/Lib/ctypes/test/test_cfuncs.py modified/Lib/ctypes/test/test_cfun if __name__ == '__main__': unittest.main() diff -Nru orig/Lib/ctypes/test/test_checkretval.py modified/Lib/ctypes/test/test_checkretval.py ---- orig/Lib/ctypes/test/test_checkretval.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_checkretval.py 2016-07-04 09:52:51.000000000 +0800 +--- orig/Lib/ctypes/test/test_checkretval.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_checkretval.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,20 +1,23 @@ +import os import unittest @@ -231,8 +232,8 @@ diff -Nru orig/Lib/ctypes/test/test_checkretval.py modified/Lib/ctypes/test/test dll._testfunc_p_p.restype = CHECKED diff -Nru orig/Lib/ctypes/test/test_funcptr.py modified/Lib/ctypes/test/test_funcptr.py ---- orig/Lib/ctypes/test/test_funcptr.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_funcptr.py 2016-07-04 09:53:55.000000000 +0800 +--- orig/Lib/ctypes/test/test_funcptr.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_funcptr.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,4 +1,5 @@ -import os, unittest +import os @@ -251,8 +252,8 @@ diff -Nru orig/Lib/ctypes/test/test_funcptr.py modified/Lib/ctypes/test/test_fun class CFuncPtrTestCase(unittest.TestCase): def test_basic(self): diff -Nru orig/Lib/ctypes/test/test_functions.py modified/Lib/ctypes/test/test_functions.py ---- orig/Lib/ctypes/test/test_functions.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_functions.py 2016-07-04 09:55:07.000000000 +0800 +--- orig/Lib/ctypes/test/test_functions.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_functions.py 2017-01-27 19:03:44.000000000 +0800 @@ -7,7 +7,9 @@ from ctypes import * @@ -296,8 +297,8 @@ diff -Nru orig/Lib/ctypes/test/test_functions.py modified/Lib/ctypes/test/test_f try: class X(object, _Pointer): diff -Nru orig/Lib/ctypes/test/test_libc.py modified/Lib/ctypes/test/test_libc.py ---- orig/Lib/ctypes/test/test_libc.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_libc.py 2016-07-04 09:55:27.000000000 +0800 +--- orig/Lib/ctypes/test/test_libc.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_libc.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,9 +1,11 @@ +import os import unittest @@ -312,8 +313,8 @@ diff -Nru orig/Lib/ctypes/test/test_libc.py modified/Lib/ctypes/test/test_libc.p class LibTest(unittest.TestCase): def test_sqrt(self): diff -Nru orig/Lib/ctypes/test/test_parameters.py modified/Lib/ctypes/test/test_parameters.py ---- orig/Lib/ctypes/test/test_parameters.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_parameters.py 2016-07-06 13:27:52.000000000 +0800 +--- orig/Lib/ctypes/test/test_parameters.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_parameters.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,6 +1,10 @@ -import unittest, sys +import os @@ -336,8 +337,8 @@ diff -Nru orig/Lib/ctypes/test/test_parameters.py modified/Lib/ctypes/test/test_ # TypeError: has no from_param method self.assertRaises(TypeError, setattr, func, "argtypes", (object,)) diff -Nru orig/Lib/ctypes/test/test_pickling.py modified/Lib/ctypes/test/test_pickling.py ---- orig/Lib/ctypes/test/test_pickling.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_pickling.py 2016-07-04 09:55:58.000000000 +0800 +--- orig/Lib/ctypes/test/test_pickling.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_pickling.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,8 +1,11 @@ -import unittest import pickle @@ -353,8 +354,8 @@ diff -Nru orig/Lib/ctypes/test/test_pickling.py modified/Lib/ctypes/test/test_pi class X(Structure): _fields_ = [("a", c_int), ("b", c_double)] diff -Nru orig/Lib/ctypes/test/test_pointers.py modified/Lib/ctypes/test/test_pointers.py ---- orig/Lib/ctypes/test/test_pointers.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_pointers.py 2016-07-04 09:55:58.000000000 +0800 +--- orig/Lib/ctypes/test/test_pointers.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_pointers.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,4 +1,6 @@ -import unittest, sys +import os @@ -408,8 +409,8 @@ diff -Nru orig/Lib/ctypes/test/test_pointers.py modified/Lib/ctypes/test/test_po func.restype = c_char_p argv = (c_char_p * 2)() diff -Nru orig/Lib/ctypes/test/test_prototypes.py modified/Lib/ctypes/test/test_prototypes.py ---- orig/Lib/ctypes/test/test_prototypes.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_prototypes.py 2016-07-04 09:55:58.000000000 +0800 +--- orig/Lib/ctypes/test/test_prototypes.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_prototypes.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,6 +1,7 @@ +import os +import unittest @@ -431,8 +432,8 @@ diff -Nru orig/Lib/ctypes/test/test_prototypes.py modified/Lib/ctypes/test/test_ # Return machine address `a` as a (possibly long) non-negative integer. # Starting with Python 2.5, id(anything) is always non-negative, and diff -Nru orig/Lib/ctypes/test/test_refcounts.py modified/Lib/ctypes/test/test_refcounts.py ---- orig/Lib/ctypes/test/test_refcounts.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_refcounts.py 2016-07-04 10:24:17.000000000 +0800 +--- orig/Lib/ctypes/test/test_refcounts.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_refcounts.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,12 +1,14 @@ -import unittest import ctypes @@ -459,8 +460,8 @@ diff -Nru orig/Lib/ctypes/test/test_refcounts.py modified/Lib/ctypes/test/test_r from sys import getrefcount as grc def func(*args): diff -Nru orig/Lib/ctypes/test/test_returnfuncptrs.py modified/Lib/ctypes/test/test_returnfuncptrs.py ---- orig/Lib/ctypes/test/test_returnfuncptrs.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_returnfuncptrs.py 2016-07-04 09:55:58.000000000 +0800 +--- orig/Lib/ctypes/test/test_returnfuncptrs.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_returnfuncptrs.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,15 +1,16 @@ +import os import unittest @@ -515,8 +516,8 @@ diff -Nru orig/Lib/ctypes/test/test_returnfuncptrs.py modified/Lib/ctypes/test/t self.assertEqual(strchr(b"abcdef", b"x"), None) self.assertRaises(ArgumentError, strchr, b"abcdef", 3.0) diff -Nru orig/Lib/ctypes/test/test_slicing.py modified/Lib/ctypes/test/test_slicing.py ---- orig/Lib/ctypes/test/test_slicing.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_slicing.py 2016-07-04 09:59:12.000000000 +0800 +--- orig/Lib/ctypes/test/test_slicing.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_slicing.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,3 +1,4 @@ +import os import unittest @@ -550,8 +551,8 @@ diff -Nru orig/Lib/ctypes/test/test_slicing.py modified/Lib/ctypes/test/test_sli dll.my_wcsdup.argtypes = POINTER(c_wchar), dll.my_free.restype = None diff -Nru orig/Lib/ctypes/test/test_stringptr.py modified/Lib/ctypes/test/test_stringptr.py ---- orig/Lib/ctypes/test/test_stringptr.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_stringptr.py 2016-07-06 13:28:06.000000000 +0800 +--- orig/Lib/ctypes/test/test_stringptr.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_stringptr.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,9 +1,11 @@ +import os import unittest @@ -571,8 +572,8 @@ diff -Nru orig/Lib/ctypes/test/test_stringptr.py modified/Lib/ctypes/test/test_s unittest.main() + diff -Nru orig/Lib/ctypes/test/test_unicode.py modified/Lib/ctypes/test/test_unicode.py ---- orig/Lib/ctypes/test/test_unicode.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_unicode.py 2016-07-04 10:24:27.000000000 +0800 +--- orig/Lib/ctypes/test/test_unicode.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_unicode.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,14 +1,16 @@ # coding: latin-1 +import os @@ -607,8 +608,8 @@ diff -Nru orig/Lib/ctypes/test/test_unicode.py modified/Lib/ctypes/test/test_uni def setUp(self): func = self.func diff -Nru orig/Lib/ctypes/test/test_values.py modified/Lib/ctypes/test/test_values.py ---- orig/Lib/ctypes/test/test_values.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_values.py 2016-07-04 10:24:27.000000000 +0800 +--- orig/Lib/ctypes/test/test_values.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_values.py 2017-01-27 19:03:44.000000000 +0800 @@ -2,16 +2,17 @@ A testcase which accesses *values* in a dll. """ @@ -642,8 +643,8 @@ diff -Nru orig/Lib/ctypes/test/test_values.py modified/Lib/ctypes/test/test_valu """This test only works when python itself is a dll/shared library""" diff -Nru orig/Lib/ctypes/test/test_win32.py modified/Lib/ctypes/test/test_win32.py ---- orig/Lib/ctypes/test/test_win32.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/test/test_win32.py 2016-07-06 13:28:12.000000000 +0800 +--- orig/Lib/ctypes/test/test_win32.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/test/test_win32.py 2017-01-27 19:03:44.000000000 +0800 @@ -2,11 +2,14 @@ from ctypes import * @@ -678,9 +679,9 @@ diff -Nru orig/Lib/ctypes/test/test_win32.py modified/Lib/ctypes/test/test_win32 pt = POINT(15, 25) left = c_long.in_dll(dll, 'left') diff -Nru orig/Lib/ctypes/util.py modified/Lib/ctypes/util.py ---- orig/Lib/ctypes/util.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/ctypes/util.py 2016-07-06 16:18:24.000000000 +0800 -@@ -68,7 +68,7 @@ +--- orig/Lib/ctypes/util.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/ctypes/util.py 2017-01-27 19:03:44.000000000 +0800 +@@ -70,7 +70,7 @@ def find_library(name): return name @@ -690,8 +691,8 @@ diff -Nru orig/Lib/ctypes/util.py modified/Lib/ctypes/util.py def find_library(name): possible = ['lib%s.dylib' % name, diff -Nru orig/Lib/distutils/tests/test_build_ext.py modified/Lib/distutils/tests/test_build_ext.py ---- orig/Lib/distutils/tests/test_build_ext.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/distutils/tests/test_build_ext.py 2016-07-04 09:55:58.000000000 +0800 +--- orig/Lib/distutils/tests/test_build_ext.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/distutils/tests/test_build_ext.py 2017-01-27 19:03:44.000000000 +0800 @@ -41,6 +41,7 @@ # with xx module in TEMP super(BuildExtTestCase, self).tearDown() @@ -700,7 +701,7 @@ diff -Nru orig/Lib/distutils/tests/test_build_ext.py modified/Lib/distutils/test def test_build_ext(self): global ALREADY_TESTED support.copy_xxmodule_c(self.tmp_dir) -@@ -260,6 +261,7 @@ +@@ -267,6 +268,7 @@ cmd.run() self.assertEqual(cmd.compiler, 'unix') @@ -709,8 +710,8 @@ diff -Nru orig/Lib/distutils/tests/test_build_ext.py modified/Lib/distutils/test tmp_dir = self.mkdtemp() c_file = os.path.join(tmp_dir, 'foo.c') diff -Nru orig/Lib/distutils/tests/test_config_cmd.py modified/Lib/distutils/tests/test_config_cmd.py ---- orig/Lib/distutils/tests/test_config_cmd.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/distutils/tests/test_config_cmd.py 2016-07-04 09:55:58.000000000 +0800 +--- orig/Lib/distutils/tests/test_config_cmd.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/distutils/tests/test_config_cmd.py 2017-01-27 19:03:44.000000000 +0800 @@ -38,6 +38,7 @@ self.assertEqual(len(self._logs), numlines+1) @@ -720,8 +721,8 @@ diff -Nru orig/Lib/distutils/tests/test_config_cmd.py modified/Lib/distutils/tes pkg_dir, dist = self.create_dist() cmd = config(dist) diff -Nru orig/Lib/distutils/tests/test_install.py modified/Lib/distutils/tests/test_install.py ---- orig/Lib/distutils/tests/test_install.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/distutils/tests/test_install.py 2016-07-04 10:24:39.000000000 +0800 +--- orig/Lib/distutils/tests/test_install.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/distutils/tests/test_install.py 2017-01-27 19:03:44.000000000 +0800 @@ -196,6 +196,7 @@ 'UNKNOWN-0.0.0-py%s.%s.egg-info' % sys.version_info[:2]] self.assertEqual(found, expected) @@ -731,8 +732,8 @@ diff -Nru orig/Lib/distutils/tests/test_install.py modified/Lib/distutils/tests/ install_dir = self.mkdtemp() project_dir, dist = self.create_dist(ext_modules=[ diff -Nru orig/Lib/distutils/tests/test_install_lib.py modified/Lib/distutils/tests/test_install_lib.py ---- orig/Lib/distutils/tests/test_install_lib.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/distutils/tests/test_install_lib.py 2016-07-04 10:25:16.000000000 +0800 +--- orig/Lib/distutils/tests/test_install_lib.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/distutils/tests/test_install_lib.py 2017-01-27 19:03:44.000000000 +0800 @@ -43,6 +43,7 @@ return pkg_dir @@ -742,8 +743,8 @@ diff -Nru orig/Lib/distutils/tests/test_install_lib.py modified/Lib/distutils/te pkg_dir = self._setup_byte_compile() if sys.flags.optimize < 1: diff -Nru orig/Lib/distutils/tests/test_spawn.py modified/Lib/distutils/tests/test_spawn.py ---- orig/Lib/distutils/tests/test_spawn.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/distutils/tests/test_spawn.py 2016-07-04 10:24:39.000000000 +0800 +--- orig/Lib/distutils/tests/test_spawn.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/distutils/tests/test_spawn.py 2017-01-27 19:03:44.000000000 +0800 @@ -22,9 +22,7 @@ res = _nt_quote_args(args) self.assertEqual(res, wanted) @@ -764,8 +765,8 @@ diff -Nru orig/Lib/distutils/tests/test_spawn.py modified/Lib/distutils/tests/te return unittest.makeSuite(SpawnTestCase) diff -Nru orig/Lib/distutils/tests/test_sysconfig.py modified/Lib/distutils/tests/test_sysconfig.py ---- orig/Lib/distutils/tests/test_sysconfig.py 2016-06-26 05:49:30.000000000 +0800 -+++ modified/Lib/distutils/tests/test_sysconfig.py 2016-07-04 10:24:39.000000000 +0800 +--- orig/Lib/distutils/tests/test_sysconfig.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/distutils/tests/test_sysconfig.py 2017-01-27 19:03:44.000000000 +0800 @@ -102,6 +102,7 @@ self.assertEqual(global_sysconfig.get_config_var('LDSHARED'), sysconfig.get_config_var('LDSHARED')) self.assertEqual(global_sysconfig.get_config_var('CC'), sysconfig.get_config_var('CC')) @@ -775,8 +776,8 @@ diff -Nru orig/Lib/distutils/tests/test_sysconfig.py modified/Lib/distutils/test # Issue #21923: test that a Distribution compiler # instance can be called without an explicit call to diff -Nru orig/Lib/json/tests/test_tool.py modified/Lib/json/tests/test_tool.py ---- orig/Lib/json/tests/test_tool.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/json/tests/test_tool.py 2016-07-06 13:27:45.000000000 +0800 +--- orig/Lib/json/tests/test_tool.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/json/tests/test_tool.py 2017-01-27 19:03:44.000000000 +0800 @@ -6,6 +6,7 @@ from test import test_support from test.script_helper import assert_python_ok @@ -795,7 +796,7 @@ diff -Nru orig/Lib/json/tests/test_tool.py modified/Lib/json/tests/test_tool.py (sys.executable, '-m', 'json.tool'), diff -Nru orig/Lib/plat-ios/IN.py modified/Lib/plat-ios/IN.py --- orig/Lib/plat-ios/IN.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Lib/plat-ios/IN.py 2016-07-06 15:02:09.000000000 +0800 ++++ modified/Lib/plat-ios/IN.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,14529 @@ +# Generated by h2py from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/include/netinet/in.h + @@ -15328,14 +15329,14 @@ diff -Nru orig/Lib/plat-ios/IN.py modified/Lib/plat-ios/IN.py +IPV6CTL_MAXID = 51 diff -Nru orig/Lib/plat-ios/regen modified/Lib/plat-ios/regen --- orig/Lib/plat-ios/regen 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Lib/plat-ios/regen 2016-07-04 10:29:15.000000000 +0800 ++++ modified/Lib/plat-ios/regen 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,3 @@ +#! /bin/sh +set -v +include=`xcrun --sdk iphoneos --show-sdk-path`/usr/include python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' `xcrun --sdk iphoneos --show-sdk-path`/usr/include/netinet/in.h diff -Nru orig/Lib/plat-tvos/IN.py modified/Lib/plat-tvos/IN.py --- orig/Lib/plat-tvos/IN.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Lib/plat-tvos/IN.py 2016-07-06 15:13:08.000000000 +0800 ++++ modified/Lib/plat-tvos/IN.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,14529 @@ +# Generated by h2py from /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.2.sdk/usr/include/netinet/in.h + @@ -29868,14 +29869,14 @@ diff -Nru orig/Lib/plat-tvos/IN.py modified/Lib/plat-tvos/IN.py +IPV6CTL_MAXID = 51 diff -Nru orig/Lib/plat-tvos/regen modified/Lib/plat-tvos/regen --- orig/Lib/plat-tvos/regen 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Lib/plat-tvos/regen 2016-07-06 15:13:06.000000000 +0800 ++++ modified/Lib/plat-tvos/regen 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,3 @@ +#! /bin/sh +set -v +include=`xcrun --sdk appletvos --show-sdk-path`/usr/include python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' `xcrun --sdk appletvos --show-sdk-path`/usr/include/netinet/in.h diff -Nru orig/Lib/plat-watchos/IN.py modified/Lib/plat-watchos/IN.py --- orig/Lib/plat-watchos/IN.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Lib/plat-watchos/IN.py 2016-07-06 15:12:48.000000000 +0800 ++++ modified/Lib/plat-watchos/IN.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,14529 @@ +# Generated by h2py from /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS2.2.sdk/usr/include/netinet/in.h + @@ -44408,14 +44409,14 @@ diff -Nru orig/Lib/plat-watchos/IN.py modified/Lib/plat-watchos/IN.py +IPV6CTL_MAXID = 51 diff -Nru orig/Lib/plat-watchos/regen modified/Lib/plat-watchos/regen --- orig/Lib/plat-watchos/regen 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Lib/plat-watchos/regen 2016-07-06 15:12:46.000000000 +0800 ++++ modified/Lib/plat-watchos/regen 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,3 @@ +#! /bin/sh +set -v +include=`xcrun --sdk watchos --show-sdk-path`/usr/include python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' `xcrun --sdk watchos --show-sdk-path`/usr/include/netinet/in.h diff -Nru orig/Lib/platform.py modified/Lib/platform.py ---- orig/Lib/platform.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/platform.py 2016-07-06 16:16:54.000000000 +0800 +--- orig/Lib/platform.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/platform.py 2017-01-27 19:03:44.000000000 +0800 @@ -125,7 +125,7 @@ except AttributeError: # os.devnull was added in Python 2.4, so emulate it for earlier @@ -44425,7 +44426,7 @@ diff -Nru orig/Lib/platform.py modified/Lib/platform.py # Use the old CP/M NUL as device name DEV_NULL = 'NUL' else: -@@ -954,7 +954,7 @@ +@@ -956,7 +956,7 @@ """ Interface to the system's uname command. """ @@ -44434,7 +44435,7 @@ diff -Nru orig/Lib/platform.py modified/Lib/platform.py # XXX Others too ? return default try: -@@ -998,7 +998,7 @@ +@@ -1000,7 +1000,7 @@ import subprocess @@ -44444,8 +44445,8 @@ diff -Nru orig/Lib/platform.py modified/Lib/platform.py return default target = _follow_symlinks(target) diff -Nru orig/Lib/site.py modified/Lib/site.py ---- orig/Lib/site.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/site.py 2016-07-06 16:16:53.000000000 +0800 +--- orig/Lib/site.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/site.py 2017-01-27 19:03:44.000000000 +0800 @@ -251,6 +251,9 @@ if get_config_var('PYTHONFRAMEWORK'): USER_SITE = get_path('purelib', 'osx_framework_user') @@ -44457,12 +44458,13 @@ diff -Nru orig/Lib/site.py modified/Lib/site.py USER_SITE = get_path('purelib', '%s_user' % os.name) return USER_SITE diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py ---- orig/Lib/subprocess.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/subprocess.py 2016-07-06 16:16:53.000000000 +0800 -@@ -411,1223 +411,1228 @@ +--- orig/Lib/subprocess.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/subprocess.py 2017-01-27 19:14:06.000000000 +0800 +@@ -55,1260 +55,1265 @@ + def __str__(self): return "Command '%s' returned non-zero exit status %d" % (self.cmd, self.returncode) - +- -if mswindows: - import threading - import msvcrt @@ -44521,6 +44523,10 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py PIPE = -1 STDOUT = -2 ++if sys.platform in ('ios', 'tvos', 'watchos'): ++ # iOS/tvOS/watchOS don't support subprocesses; however, some modules still import ++ # subprocess, so it's helpful to retain the symbols in the namespace. ++ __all__ = ["PIPE", "STDOUT", "CalledProcessError"] -def _eintr_retry_call(func, *args): - while True: @@ -44685,33 +44691,7 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - result.extend(bs_buf) - bs_buf = [] - result.append(c) -+if sys.platform in ('ios', 'tvos', 'watchos'): -+ # iOS/tvOS/watchOS don't support subprocesses; however, some modules still import -+ # subprocess, so it's helpful to retain the symbols in the namespace. -+ __all__ = ["PIPE", "STDOUT", "CalledProcessError"] - -- # Add remaining backslashes, if any. -- if bs_buf: -- result.extend(bs_buf) -- -- if needquote: -- result.extend(bs_buf) -- result.append('"') -- -- return ''.join(result) -- -- --class Popen(object): -- _child_created = False # Set here since __del__ checks it +else: - -- def __init__(self, args, bufsize=0, executable=None, -- stdin=None, stdout=None, stderr=None, -- preexec_fn=None, close_fds=False, shell=False, -- cwd=None, env=None, universal_newlines=False, -- startupinfo=None, creationflags=0): -- """Create new Popen instance.""" -- _cleanup() + if mswindows: + import threading + import msvcrt @@ -44734,11 +44714,18 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + # we can write up to _PIPE_BUF bytes without risk of blocking. + # POSIX defines PIPE_BUF as >= 512. + _PIPE_BUF = getattr(select, 'PIPE_BUF', 512) + +- # Add remaining backslashes, if any. +- if bs_buf: +- result.extend(bs_buf) + +- if needquote: +- result.extend(bs_buf) +- result.append('"') + __all__ = ["Popen", "PIPE", "STDOUT", "call", "check_call", + "check_output", "CalledProcessError"] -- if not isinstance(bufsize, (int, long)): -- raise TypeError("bufsize must be an integer") +- return ''.join(result) + if mswindows: + from _subprocess import (CREATE_NEW_CONSOLE, CREATE_NEW_PROCESS_GROUP, + STD_INPUT_HANDLE, STD_OUTPUT_HANDLE, @@ -44767,29 +44754,9 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + # It's harmless that it was already removed, so ignore. + pass -- if mswindows: -- if preexec_fn is not None: -- raise ValueError("preexec_fn is not supported on Windows " -- "platforms") -- if close_fds and (stdin is not None or stdout is not None or -- stderr is not None): -- raise ValueError("close_fds is not supported on Windows " -- "platforms if you redirect stdin/stdout/stderr") -- else: -- # POSIX -- if startupinfo is not None: -- raise ValueError("startupinfo is only supported on Windows " -- "platforms") -- if creationflags != 0: -- raise ValueError("creationflags is only supported on Windows " -- "platforms") -- -- self.stdin = None -- self.stdout = None -- self.stderr = None -- self.pid = None -- self.returncode = None -- self.universal_newlines = universal_newlines + +-class Popen(object): +- """ Execute a child program in a new process. + def _eintr_retry_call(func, *args): + while True: + try: @@ -44953,21 +44920,146 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + result.extend(bs_buf) + bs_buf = [] + result.append(c) -+ + +- For a complete description of the arguments see the Python documentation. + # Add remaining backslashes, if any. + if bs_buf: + result.extend(bs_buf) -+ + +- Arguments: +- args: A string, or a sequence of program arguments. + if needquote: + result.extend(bs_buf) + result.append('"') -+ + +- bufsize: supplied as the buffering argument to the open() function when +- creating the stdin/stdout/stderr pipe file objects + return ''.join(result) -+ -+ + +- executable: A replacement program to execute. + +- stdin, stdout and stderr: These specify the executed programs' standard +- input, standard output and standard error file handles, respectively. + class Popen(object): ++ """ Execute a child program in a new process. + +- preexec_fn: (POSIX only) An object to be called in the child process +- just before the child is executed. ++ For a complete description of the arguments see the Python documentation. + +- close_fds: Controls closing or inheriting of file descriptors. ++ Arguments: ++ args: A string, or a sequence of program arguments. + +- shell: If true, the command will be executed through the shell. ++ bufsize: supplied as the buffering argument to the open() function when ++ creating the stdin/stdout/stderr pipe file objects + +- cwd: Sets the current directory before the child is executed. ++ executable: A replacement program to execute. + +- env: Defines the environment variables for the new process. ++ stdin, stdout and stderr: These specify the executed programs' standard ++ input, standard output and standard error file handles, respectively. + +- universal_newlines: If true, use universal line endings for file +- objects stdin, stdout and stderr. ++ preexec_fn: (POSIX only) An object to be called in the child process ++ just before the child is executed. + +- startupinfo and creationflags (Windows only) ++ close_fds: Controls closing or inheriting of file descriptors. + +- Attributes: +- stdin, stdout, stderr, pid, returncode +- """ +- _child_created = False # Set here since __del__ checks it ++ shell: If true, the command will be executed through the shell. + +- def __init__(self, args, bufsize=0, executable=None, +- stdin=None, stdout=None, stderr=None, +- preexec_fn=None, close_fds=False, shell=False, +- cwd=None, env=None, universal_newlines=False, +- startupinfo=None, creationflags=0): +- """Create new Popen instance.""" +- _cleanup() ++ cwd: Sets the current directory before the child is executed. + +- if not isinstance(bufsize, (int, long)): +- raise TypeError("bufsize must be an integer") ++ env: Defines the environment variables for the new process. + +- if mswindows: +- if preexec_fn is not None: +- raise ValueError("preexec_fn is not supported on Windows " +- "platforms") +- if close_fds and (stdin is not None or stdout is not None or +- stderr is not None): +- raise ValueError("close_fds is not supported on Windows " +- "platforms if you redirect stdin/stdout/stderr") +- else: +- # POSIX +- if startupinfo is not None: +- raise ValueError("startupinfo is only supported on Windows " +- "platforms") +- if creationflags != 0: +- raise ValueError("creationflags is only supported on Windows " +- "platforms") +- +- self.stdin = None +- self.stdout = None +- self.stderr = None +- self.pid = None +- self.returncode = None +- self.universal_newlines = universal_newlines ++ universal_newlines: If true, use universal line endings for file ++ objects stdin, stdout and stderr. + +- # Input and output objects. The general principle is like +- # this: +- # +- # Parent Child +- # ------ ----- +- # p2cwrite ---stdin---> p2cread +- # c2pread <--stdout--- c2pwrite +- # errread <--stderr--- errwrite +- # +- # On POSIX, the child objects are file descriptors. On +- # Windows, these are Windows file handles. The parent objects +- # are file descriptors on both platforms. The parent objects +- # are None when not using PIPEs. The child objects are None +- # when not redirecting. +- +- (p2cread, p2cwrite, +- c2pread, c2pwrite, +- errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr) ++ startupinfo and creationflags (Windows only) + +- try: +- self._execute_child(args, executable, preexec_fn, close_fds, +- cwd, env, universal_newlines, +- startupinfo, creationflags, shell, to_close, +- p2cread, p2cwrite, +- c2pread, c2pwrite, +- errread, errwrite) +- except Exception: +- # Preserve original exception in case os.close raises. +- exc_type, exc_value, exc_trace = sys.exc_info() ++ Attributes: ++ stdin, stdout, stderr, pid, returncode ++ """ + _child_created = False # Set here since __del__ checks it -+ + +- for fd in to_close: +- try: +- if mswindows: +- fd.Close() +- else: +- os.close(fd) +- except EnvironmentError: +- pass +- +- raise exc_type, exc_value, exc_trace + def __init__(self, args, bufsize=0, executable=None, + stdin=None, stdout=None, stderr=None, + preexec_fn=None, close_fds=False, shell=False, @@ -44975,10 +45067,22 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + startupinfo=None, creationflags=0): + """Create new Popen instance.""" + _cleanup() -+ + +- if mswindows: +- if p2cwrite is not None: +- p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) +- if c2pread is not None: +- c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) +- if errread is not None: +- errread = msvcrt.open_osfhandle(errread.Detach(), 0) + if not isinstance(bufsize, (int, long)): + raise TypeError("bufsize must be an integer") -+ + +- if p2cwrite is not None: +- self.stdin = os.fdopen(p2cwrite, 'wb', bufsize) +- if c2pread is not None: +- if universal_newlines: +- self.stdout = os.fdopen(c2pread, 'rU', bufsize) + if mswindows: + if preexec_fn is not None: + raise ValueError("preexec_fn is not supported on Windows " @@ -44987,7 +45091,13 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + stderr is not None): + raise ValueError("close_fds is not supported on Windows " + "platforms if you redirect stdin/stdout/stderr") -+ else: + else: +- self.stdout = os.fdopen(c2pread, 'rb', bufsize) +- if errread is not None: +- if universal_newlines: +- self.stderr = os.fdopen(errread, 'rU', bufsize) +- else: +- self.stderr = os.fdopen(errread, 'rb', bufsize) + # POSIX + if startupinfo is not None: + raise ValueError("startupinfo is only supported on Windows " @@ -45022,24 +45132,6 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + c2pread, c2pwrite, + errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr) -- # Input and output objects. The general principle is like -- # this: -- # -- # Parent Child -- # ------ ----- -- # p2cwrite ---stdin---> p2cread -- # c2pread <--stdout--- c2pwrite -- # errread <--stderr--- errwrite -- # -- # On POSIX, the child objects are file descriptors. On -- # Windows, these are Windows file handles. The parent objects -- # are file descriptors on both platforms. The parent objects -- # are None when not using PIPEs. The child objects are None -- # when not redirecting. -- -- (p2cread, p2cwrite, -- c2pread, c2pwrite, -- errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr) + try: + self._execute_child(args, executable, preexec_fn, close_fds, + cwd, env, universal_newlines, @@ -45051,71 +45143,6 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + # Preserve original exception in case os.close raises. + exc_type, exc_value, exc_trace = sys.exc_info() -- try: -- self._execute_child(args, executable, preexec_fn, close_fds, -- cwd, env, universal_newlines, -- startupinfo, creationflags, shell, to_close, -- p2cread, p2cwrite, -- c2pread, c2pwrite, -- errread, errwrite) -- except Exception: -- # Preserve original exception in case os.close raises. -- exc_type, exc_value, exc_trace = sys.exc_info() -+ for fd in to_close: -+ try: -+ if mswindows: -+ fd.Close() -+ else: -+ os.close(fd) -+ except EnvironmentError: -+ pass - -- for fd in to_close: -- try: -- if mswindows: -- fd.Close() -- else: -- os.close(fd) -- except EnvironmentError: -- pass -+ raise exc_type, exc_value, exc_trace - -- raise exc_type, exc_value, exc_trace -+ if mswindows: -+ if p2cwrite is not None: -+ p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) -+ if c2pread is not None: -+ c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) -+ if errread is not None: -+ errread = msvcrt.open_osfhandle(errread.Detach(), 0) - -- if mswindows: - if p2cwrite is not None: -- p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) -+ self.stdin = os.fdopen(p2cwrite, 'wb', bufsize) - if c2pread is not None: -- c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) -+ if universal_newlines: -+ self.stdout = os.fdopen(c2pread, 'rU', bufsize) -+ else: -+ self.stdout = os.fdopen(c2pread, 'rb', bufsize) - if errread is not None: -- errread = msvcrt.open_osfhandle(errread.Detach(), 0) -- -- if p2cwrite is not None: -- self.stdin = os.fdopen(p2cwrite, 'wb', bufsize) -- if c2pread is not None: -- if universal_newlines: -- self.stdout = os.fdopen(c2pread, 'rU', bufsize) -- else: -- self.stdout = os.fdopen(c2pread, 'rb', bufsize) -- if errread is not None: -- if universal_newlines: -- self.stderr = os.fdopen(errread, 'rU', bufsize) -- else: -- self.stderr = os.fdopen(errread, 'rb', bufsize) -- -- - def _translate_newlines(self, data): - data = data.replace("\r\n", "\n") - data = data.replace("\r", "\n") @@ -45152,7 +45179,8 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - stderr = None - if self.stdin: - if input: -- try: ++ for fd in to_close: + try: - self.stdin.write(input) - except IOError as e: - if e.errno != errno.EPIPE and e.errno != errno.EINVAL: @@ -45166,72 +45194,21 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - self.stderr.close() - self.wait() - return (stdout, stderr) -+ if universal_newlines: -+ self.stderr = os.fdopen(errread, 'rU', bufsize) -+ else: -+ self.stderr = os.fdopen(errread, 'rb', bufsize) -+ -+ -+ def _translate_newlines(self, data): -+ data = data.replace("\r\n", "\n") -+ data = data.replace("\r", "\n") -+ return data -+ -+ -+ def __del__(self, _maxint=sys.maxint): -+ # If __init__ hasn't had a chance to execute (e.g. if it -+ # was passed an undeclared keyword argument), we don't -+ # have a _child_created attribute at all. -+ if not self._child_created: -+ # We didn't get to successfully create a child process. -+ return -+ # In case the child hasn't been waited on, check if it's done. -+ self._internal_poll(_deadstate=_maxint) -+ if self.returncode is None and _active is not None: -+ # Child is still running, keep us alive until we can wait on it. -+ _active.append(self) -+ -+ -+ def communicate(self, input=None): -+ """Interact with process: Send data to stdin. Read data from -+ stdout and stderr, until end-of-file is reached. Wait for -+ process to terminate. The optional input argument should be a -+ string to be sent to the child process, or None, if no data -+ should be sent to the child. -+ -+ communicate() returns a tuple (stdout, stderr).""" -+ -+ # Optimization: If we are only using one pipe, or no pipe at -+ # all, using select() or threads is unnecessary. -+ if [self.stdin, self.stdout, self.stderr].count(None) >= 2: -+ stdout = None -+ stderr = None -+ if self.stdin: -+ if input: -+ try: -+ self.stdin.write(input) -+ except IOError as e: -+ if e.errno != errno.EPIPE and e.errno != errno.EINVAL: -+ raise -+ self.stdin.close() -+ elif self.stdout: -+ stdout = _eintr_retry_call(self.stdout.read) -+ self.stdout.close() -+ elif self.stderr: -+ stderr = _eintr_retry_call(self.stderr.read) -+ self.stderr.close() -+ self.wait() -+ return (stdout, stderr) - +- - return self._communicate(input) -+ return self._communicate(input) - - +- +- - def poll(self): +- """Check if child process has terminated. Set and return returncode +- attribute.""" - return self._internal_poll() -+ def poll(self): -+ return self._internal_poll() - +- ++ if mswindows: ++ fd.Close() ++ else: ++ os.close(fd) ++ except EnvironmentError: ++ pass - if mswindows: - # @@ -45323,93 +45300,8 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - # Eeek - file-not-found - possibly an embedding - # situation - see if we can locate it in sys.exec_prefix - w9xpopen = os.path.join(os.path.dirname(sys.exec_prefix), -+ if mswindows: -+ # -+ # Windows methods -+ # -+ def _get_handles(self, stdin, stdout, stderr): -+ """Construct and return tuple with IO objects: -+ p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite -+ """ -+ to_close = set() -+ if stdin is None and stdout is None and stderr is None: -+ return (None, None, None, None, None, None), to_close -+ -+ p2cread, p2cwrite = None, None -+ c2pread, c2pwrite = None, None -+ errread, errwrite = None, None -+ -+ if stdin is None: -+ p2cread = _subprocess.GetStdHandle(_subprocess.STD_INPUT_HANDLE) -+ if p2cread is None: -+ p2cread, _ = _subprocess.CreatePipe(None, 0) -+ elif stdin == PIPE: -+ p2cread, p2cwrite = _subprocess.CreatePipe(None, 0) -+ elif isinstance(stdin, int): -+ p2cread = msvcrt.get_osfhandle(stdin) -+ else: -+ # Assuming file-like object -+ p2cread = msvcrt.get_osfhandle(stdin.fileno()) -+ p2cread = self._make_inheritable(p2cread) -+ # We just duplicated the handle, it has to be closed at the end -+ to_close.add(p2cread) -+ if stdin == PIPE: -+ to_close.add(p2cwrite) -+ -+ if stdout is None: -+ c2pwrite = _subprocess.GetStdHandle(_subprocess.STD_OUTPUT_HANDLE) -+ if c2pwrite is None: -+ _, c2pwrite = _subprocess.CreatePipe(None, 0) -+ elif stdout == PIPE: -+ c2pread, c2pwrite = _subprocess.CreatePipe(None, 0) -+ elif isinstance(stdout, int): -+ c2pwrite = msvcrt.get_osfhandle(stdout) -+ else: -+ # Assuming file-like object -+ c2pwrite = msvcrt.get_osfhandle(stdout.fileno()) -+ c2pwrite = self._make_inheritable(c2pwrite) -+ # We just duplicated the handle, it has to be closed at the end -+ to_close.add(c2pwrite) -+ if stdout == PIPE: -+ to_close.add(c2pread) -+ -+ if stderr is None: -+ errwrite = _subprocess.GetStdHandle(_subprocess.STD_ERROR_HANDLE) -+ if errwrite is None: -+ _, errwrite = _subprocess.CreatePipe(None, 0) -+ elif stderr == PIPE: -+ errread, errwrite = _subprocess.CreatePipe(None, 0) -+ elif stderr == STDOUT: -+ errwrite = c2pwrite -+ elif isinstance(stderr, int): -+ errwrite = msvcrt.get_osfhandle(stderr) -+ else: -+ # Assuming file-like object -+ errwrite = msvcrt.get_osfhandle(stderr.fileno()) -+ errwrite = self._make_inheritable(errwrite) -+ # We just duplicated the handle, it has to be closed at the end -+ to_close.add(errwrite) -+ if stderr == PIPE: -+ to_close.add(errread) -+ -+ return (p2cread, p2cwrite, -+ c2pread, c2pwrite, -+ errread, errwrite), to_close -+ -+ -+ def _make_inheritable(self, handle): -+ """Return a duplicate of handle, which is inheritable""" -+ return _subprocess.DuplicateHandle(_subprocess.GetCurrentProcess(), -+ handle, _subprocess.GetCurrentProcess(), 0, 1, -+ _subprocess.DUPLICATE_SAME_ACCESS) -+ -+ -+ def _find_w9xpopen(self): -+ """Find and return absolut path to w9xpopen.exe""" -+ w9xpopen = os.path.join( -+ os.path.dirname(_subprocess.GetModuleFileName(0)), - "w9xpopen.exe") - if not os.path.exists(w9xpopen): +- "w9xpopen.exe") +- if not os.path.exists(w9xpopen): - raise RuntimeError("Cannot locate w9xpopen.exe, which is " - "needed for Popen to work with your " - "shell or platform.") @@ -45460,7 +45352,8 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - def _close_in_parent(fd): - fd.Close() - to_close.remove(fd) -- ++ raise exc_type, exc_value, exc_trace + - # Start the process - try: - hp, ht, pid, tid = _subprocess.CreateProcess(executable, args, @@ -45512,8 +45405,79 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0: - self.returncode = _GetExitCodeProcess(self._handle) - return self.returncode -- -- ++ if mswindows: ++ if p2cwrite is not None: ++ p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) ++ if c2pread is not None: ++ c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) ++ if errread is not None: ++ errread = msvcrt.open_osfhandle(errread.Detach(), 0) + ++ if p2cwrite is not None: ++ self.stdin = os.fdopen(p2cwrite, 'wb', bufsize) ++ if c2pread is not None: ++ if universal_newlines: ++ self.stdout = os.fdopen(c2pread, 'rU', bufsize) ++ else: ++ self.stdout = os.fdopen(c2pread, 'rb', bufsize) ++ if errread is not None: ++ if universal_newlines: ++ self.stderr = os.fdopen(errread, 'rU', bufsize) ++ else: ++ self.stderr = os.fdopen(errread, 'rb', bufsize) ++ ++ ++ def _translate_newlines(self, data): ++ data = data.replace("\r\n", "\n") ++ data = data.replace("\r", "\n") ++ return data ++ ++ ++ def __del__(self, _maxint=sys.maxint): ++ # If __init__ hasn't had a chance to execute (e.g. if it ++ # was passed an undeclared keyword argument), we don't ++ # have a _child_created attribute at all. ++ if not self._child_created: ++ # We didn't get to successfully create a child process. ++ return ++ # In case the child hasn't been waited on, check if it's done. ++ self._internal_poll(_deadstate=_maxint) ++ if self.returncode is None and _active is not None: ++ # Child is still running, keep us alive until we can wait on it. ++ _active.append(self) ++ ++ ++ def communicate(self, input=None): ++ """Interact with process: Send data to stdin. Read data from ++ stdout and stderr, until end-of-file is reached. Wait for ++ process to terminate. The optional input argument should be a ++ string to be sent to the child process, or None, if no data ++ should be sent to the child. ++ ++ communicate() returns a tuple (stdout, stderr).""" ++ ++ # Optimization: If we are only using one pipe, or no pipe at ++ # all, using select() or threads is unnecessary. ++ if [self.stdin, self.stdout, self.stderr].count(None) >= 2: ++ stdout = None ++ stderr = None ++ if self.stdin: ++ if input: ++ try: ++ self.stdin.write(input) ++ except IOError as e: ++ if e.errno != errno.EPIPE and e.errno != errno.EINVAL: ++ raise ++ self.stdin.close() ++ elif self.stdout: ++ stdout = _eintr_retry_call(self.stdout.read) ++ self.stdout.close() ++ elif self.stderr: ++ stderr = _eintr_retry_call(self.stderr.read) ++ self.stderr.close() ++ self.wait() ++ return (stdout, stderr) + - def wait(self): - """Wait for child process to terminate. Returns returncode - attribute.""" @@ -45544,6 +45508,168 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - args=(self.stderr, stderr)) - stderr_thread.setDaemon(True) - stderr_thread.start() ++ return self._communicate(input) + +- if self.stdin: +- if input is not None: +- try: +- self.stdin.write(input) +- except IOError as e: +- if e.errno == errno.EPIPE: +- # communicate() should ignore broken pipe error +- pass +- elif (e.errno == errno.EINVAL +- and self.poll() is not None): +- # Issue #19612: stdin.write() fails with EINVAL +- # if the process already exited before the write +- pass +- else: +- raise +- self.stdin.close() + +- if self.stdout: +- stdout_thread.join() +- if self.stderr: +- stderr_thread.join() +- +- # All data exchanged. Translate lists into strings. +- if stdout is not None: +- stdout = stdout[0] +- if stderr is not None: +- stderr = stderr[0] +- +- # Translate newlines, if requested. We cannot let the file +- # object do the translation: It is based on stdio, which is +- # impossible to combine with select (unless forcing no +- # buffering). +- if self.universal_newlines and hasattr(file, 'newlines'): +- if stdout: +- stdout = self._translate_newlines(stdout) +- if stderr: +- stderr = self._translate_newlines(stderr) +- +- self.wait() +- return (stdout, stderr) +- +- def send_signal(self, sig): +- """Send a signal to the process +- """ +- if sig == signal.SIGTERM: +- self.terminate() +- elif sig == signal.CTRL_C_EVENT: +- os.kill(self.pid, signal.CTRL_C_EVENT) +- elif sig == signal.CTRL_BREAK_EVENT: +- os.kill(self.pid, signal.CTRL_BREAK_EVENT) +- else: +- raise ValueError("Unsupported signal: {}".format(sig)) ++ def poll(self): ++ """Check if child process has terminated. Set and return returncode ++ attribute.""" ++ return self._internal_poll() + +- def terminate(self): +- """Terminates the process +- """ +- try: +- _subprocess.TerminateProcess(self._handle, 1) +- except OSError as e: +- # ERROR_ACCESS_DENIED (winerror 5) is received when the +- # process already died. +- if e.winerror != 5: +- raise +- rc = _subprocess.GetExitCodeProcess(self._handle) +- if rc == _subprocess.STILL_ACTIVE: +- raise +- self.returncode = rc + +- kill = terminate ++ if mswindows: ++ # ++ # Windows methods ++ # ++ def _get_handles(self, stdin, stdout, stderr): ++ """Construct and return tuple with IO objects: ++ p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite ++ """ ++ to_close = set() ++ if stdin is None and stdout is None and stderr is None: ++ return (None, None, None, None, None, None), to_close ++ ++ p2cread, p2cwrite = None, None ++ c2pread, c2pwrite = None, None ++ errread, errwrite = None, None ++ ++ if stdin is None: ++ p2cread = _subprocess.GetStdHandle(_subprocess.STD_INPUT_HANDLE) ++ if p2cread is None: ++ p2cread, _ = _subprocess.CreatePipe(None, 0) ++ elif stdin == PIPE: ++ p2cread, p2cwrite = _subprocess.CreatePipe(None, 0) ++ elif isinstance(stdin, int): ++ p2cread = msvcrt.get_osfhandle(stdin) ++ else: ++ # Assuming file-like object ++ p2cread = msvcrt.get_osfhandle(stdin.fileno()) ++ p2cread = self._make_inheritable(p2cread) ++ # We just duplicated the handle, it has to be closed at the end ++ to_close.add(p2cread) ++ if stdin == PIPE: ++ to_close.add(p2cwrite) ++ ++ if stdout is None: ++ c2pwrite = _subprocess.GetStdHandle(_subprocess.STD_OUTPUT_HANDLE) ++ if c2pwrite is None: ++ _, c2pwrite = _subprocess.CreatePipe(None, 0) ++ elif stdout == PIPE: ++ c2pread, c2pwrite = _subprocess.CreatePipe(None, 0) ++ elif isinstance(stdout, int): ++ c2pwrite = msvcrt.get_osfhandle(stdout) ++ else: ++ # Assuming file-like object ++ c2pwrite = msvcrt.get_osfhandle(stdout.fileno()) ++ c2pwrite = self._make_inheritable(c2pwrite) ++ # We just duplicated the handle, it has to be closed at the end ++ to_close.add(c2pwrite) ++ if stdout == PIPE: ++ to_close.add(c2pread) ++ ++ if stderr is None: ++ errwrite = _subprocess.GetStdHandle(_subprocess.STD_ERROR_HANDLE) ++ if errwrite is None: ++ _, errwrite = _subprocess.CreatePipe(None, 0) ++ elif stderr == PIPE: ++ errread, errwrite = _subprocess.CreatePipe(None, 0) ++ elif stderr == STDOUT: ++ errwrite = c2pwrite ++ elif isinstance(stderr, int): ++ errwrite = msvcrt.get_osfhandle(stderr) ++ else: ++ # Assuming file-like object ++ errwrite = msvcrt.get_osfhandle(stderr.fileno()) ++ errwrite = self._make_inheritable(errwrite) ++ # We just duplicated the handle, it has to be closed at the end ++ to_close.add(errwrite) ++ if stderr == PIPE: ++ to_close.add(errread) ++ ++ return (p2cread, p2cwrite, ++ c2pread, c2pwrite, ++ errread, errwrite), to_close ++ ++ ++ def _make_inheritable(self, handle): ++ """Return a duplicate of handle, which is inheritable""" ++ return _subprocess.DuplicateHandle(_subprocess.GetCurrentProcess(), ++ handle, _subprocess.GetCurrentProcess(), 0, 1, ++ _subprocess.DUPLICATE_SAME_ACCESS) ++ ++ ++ def _find_w9xpopen(self): ++ """Find and return absolut path to w9xpopen.exe""" ++ w9xpopen = os.path.join( ++ os.path.dirname(_subprocess.GetModuleFileName(0)), ++ "w9xpopen.exe") ++ if not os.path.exists(w9xpopen): + # Eeek - file-not-found - possibly an embedding + # situation - see if we can locate it in sys.exec_prefix + w9xpopen = os.path.join(os.path.dirname(sys.exec_prefix), @@ -45600,76 +45726,6 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + fd.Close() + to_close.remove(fd) -- if self.stdin: -- if input is not None: -- try: -- self.stdin.write(input) -- except IOError as e: -- if e.errno == errno.EPIPE: -- # communicate() should ignore broken pipe error -- pass -- elif (e.errno == errno.EINVAL -- and self.poll() is not None): -- # Issue #19612: stdin.write() fails with EINVAL -- # if the process already exited before the write -- pass -- else: -- raise -- self.stdin.close() -- -- if self.stdout: -- stdout_thread.join() -- if self.stderr: -- stderr_thread.join() -- -- # All data exchanged. Translate lists into strings. -- if stdout is not None: -- stdout = stdout[0] -- if stderr is not None: -- stderr = stderr[0] -- -- # Translate newlines, if requested. We cannot let the file -- # object do the translation: It is based on stdio, which is -- # impossible to combine with select (unless forcing no -- # buffering). -- if self.universal_newlines and hasattr(file, 'newlines'): -- if stdout: -- stdout = self._translate_newlines(stdout) -- if stderr: -- stderr = self._translate_newlines(stderr) -- -- self.wait() -- return (stdout, stderr) -- -- def send_signal(self, sig): -- """Send a signal to the process -- """ -- if sig == signal.SIGTERM: -- self.terminate() -- elif sig == signal.CTRL_C_EVENT: -- os.kill(self.pid, signal.CTRL_C_EVENT) -- elif sig == signal.CTRL_BREAK_EVENT: -- os.kill(self.pid, signal.CTRL_BREAK_EVENT) -- else: -- raise ValueError("Unsupported signal: {}".format(sig)) -- -- def terminate(self): -- """Terminates the process -- """ -- try: -- _subprocess.TerminateProcess(self._handle, 1) -- except OSError as e: -- # ERROR_ACCESS_DENIED (winerror 5) is received when the -- # process already died. -- if e.winerror != 5: -- raise -- rc = _subprocess.GetExitCodeProcess(self._handle) -- if rc == _subprocess.STILL_ACTIVE: -- raise -- self.returncode = rc -- -- kill = terminate -- - else: - # - # POSIX methods @@ -46129,8 +46185,47 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py - # preexec_fn(), which may open FDs. - if close_fds: - self._close_fds(but=errpipe_write) +- +- if env is None: +- os.execvp(executable, args) +- else: +- os.execvpe(executable, args, env) +- + self.pid = os.fork() -+ except: + except: +- exc_type, exc_value, tb = sys.exc_info() +- # Save the traceback and attach it to the exception object +- exc_lines = traceback.format_exception(exc_type, +- exc_value, +- tb) +- exc_value.child_traceback = ''.join(exc_lines) +- os.write(errpipe_write, pickle.dumps(exc_value)) +- +- # This exitcode won't be reported to applications, so it +- # really doesn't matter what we return. +- os._exit(255) +- +- # Parent +- if gc_was_enabled: +- gc.enable() +- finally: +- # be sure the FD is closed no matter what +- os.close(errpipe_write) +- +- # Wait for exec to fail or succeed; possibly raising exception +- data = _eintr_retry_call(os.read, errpipe_read, 1048576) +- pickle_bits = [] +- while data: +- pickle_bits.append(data) +- data = _eintr_retry_call(os.read, errpipe_read, 1048576) +- data = "".join(pickle_bits) +- finally: +- if p2cread is not None and p2cwrite is not None: +- _close_in_parent(p2cread) +- if c2pwrite is not None and c2pread is not None: +- _close_in_parent(c2pwrite) +- if errwrite is not None and errread is not None: +- _close_in_parent(errwrite) + if gc_was_enabled: + gc.enable() + raise @@ -46205,10 +46300,8 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + # really doesn't matter what we return. + os._exit(255) -- if env is None: -- os.execvp(executable, args) -- else: -- os.execvpe(executable, args, env) +- # be sure the FD is closed no matter what +- os.close(errpipe_read) + # Parent + if gc_was_enabled: + gc.enable() @@ -46216,22 +46309,14 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + # be sure the FD is closed no matter what + os.close(errpipe_write) -- except: -- exc_type, exc_value, tb = sys.exc_info() -- # Save the traceback and attach it to the exception object -- exc_lines = traceback.format_exception(exc_type, -- exc_value, -- tb) -- exc_value.child_traceback = ''.join(exc_lines) -- os.write(errpipe_write, pickle.dumps(exc_value)) -- -- # This exitcode won't be reported to applications, so it -- # really doesn't matter what we return. -- os._exit(255) -- -- # Parent -- if gc_was_enabled: -- gc.enable() +- if data != "": +- try: +- _eintr_retry_call(os.waitpid, self.pid, 0) +- except OSError as e: +- if e.errno != errno.ECHILD: +- raise +- child_exception = pickle.loads(data) +- raise child_exception + # Wait for exec to fail or succeed; possibly raising exception + data = _eintr_retry_call(os.read, errpipe_read, 1048576) + pickle_bits = [] @@ -46239,32 +46324,29 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + pickle_bits.append(data) + data = _eintr_retry_call(os.read, errpipe_read, 1048576) + data = "".join(pickle_bits) - finally: ++ finally: + if p2cread is not None and p2cwrite is not None: + _close_in_parent(p2cread) + if c2pwrite is not None and c2pread is not None: + _close_in_parent(c2pwrite) + if errwrite is not None and errread is not None: + _close_in_parent(errwrite) -+ - # be sure the FD is closed no matter what -- os.close(errpipe_write) + ++ # be sure the FD is closed no matter what + os.close(errpipe_read) -- # Wait for exec to fail or succeed; possibly raising exception -- data = _eintr_retry_call(os.read, errpipe_read, 1048576) -- pickle_bits = [] -- while data: -- pickle_bits.append(data) -- data = _eintr_retry_call(os.read, errpipe_read, 1048576) -- data = "".join(pickle_bits) -- finally: -- if p2cread is not None and p2cwrite is not None: -- _close_in_parent(p2cread) -- if c2pwrite is not None and c2pread is not None: -- _close_in_parent(c2pwrite) -- if errwrite is not None and errread is not None: -- _close_in_parent(errwrite) +- def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED, +- _WTERMSIG=os.WTERMSIG, _WIFEXITED=os.WIFEXITED, +- _WEXITSTATUS=os.WEXITSTATUS): +- # This method is called (indirectly) by __del__, so it cannot +- # refer to anything outside of its local scope. +- if _WIFSIGNALED(sts): +- self.returncode = -_WTERMSIG(sts) +- elif _WIFEXITED(sts): +- self.returncode = _WEXITSTATUS(sts) +- else: +- # Should never happen +- raise RuntimeError("Unknown child exit status!") + if data != "": + try: + _eintr_retry_call(os.waitpid, self.pid, 0) @@ -46274,17 +46356,11 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + child_exception = pickle.loads(data) + raise child_exception -- # be sure the FD is closed no matter what -- os.close(errpipe_read) -- if data != "": -- try: -- _eintr_retry_call(os.waitpid, self.pid, 0) -- except OSError as e: -- if e.errno != errno.ECHILD: -- raise -- child_exception = pickle.loads(data) -- raise child_exception +- def _internal_poll(self, _deadstate=None, _waitpid=os.waitpid, +- _WNOHANG=os.WNOHANG, _os_error=os.error, _ECHILD=errno.ECHILD): +- """Check if child process has terminated. Returns returncode +- attribute. + def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED, + _WTERMSIG=os.WTERMSIG, _WIFEXITED=os.WIFEXITED, + _WEXITSTATUS=os.WEXITSTATUS): @@ -46304,22 +46380,15 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + """Check if child process has terminated. Returns returncode + attribute. +- This method is called by __del__, so it cannot reference anything +- outside of the local scope (nor can any methods it calls). + This method is called by __del__, so it cannot reference anything + outside of the local scope (nor can any methods it calls). -- def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED, -- _WTERMSIG=os.WTERMSIG, _WIFEXITED=os.WIFEXITED, -- _WEXITSTATUS=os.WEXITSTATUS): -- # This method is called (indirectly) by __del__, so it cannot -- # refer to anything outside of its local scope. -- if _WIFSIGNALED(sts): -- self.returncode = -_WTERMSIG(sts) -- elif _WIFEXITED(sts): -- self.returncode = _WEXITSTATUS(sts) -- else: -- # Should never happen -- raise RuntimeError("Unknown child exit status!") -- +- """ +- if self.returncode is None: +- try: +- pid, sts = _waitpid(self.pid, _WNOHANG) + """ + if self.returncode is None: + try: @@ -46355,17 +46424,30 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + sts = 0 + # Check the pid and loop as waitpid has been known to return + # 0 even without WNOHANG in odd situations. issue14396. -+ if pid == self.pid: -+ self._handle_exitstatus(sts) + if pid == self.pid: + self._handle_exitstatus(sts) +- except _os_error as e: +- if _deadstate is not None: +- self.returncode = _deadstate +- if e.errno == _ECHILD: +- # This happens if SIGCLD is set to be ignored or +- # waiting for child processes has otherwise been +- # disabled for our process. This child is dead, we +- # can't get the status. +- # http://bugs.python.org/issue15756 +- self.returncode = 0 +- return self.returncode + return self.returncode -- def _internal_poll(self, _deadstate=None, _waitpid=os.waitpid, -- _WNOHANG=os.WNOHANG, _os_error=os.error, _ECHILD=errno.ECHILD): -- """Check if child process has terminated. Returns returncode -- attribute. -- This method is called by __del__, so it cannot reference anything -- outside of the local scope (nor can any methods it calls). +- def wait(self): +- """Wait for child process to terminate. Returns returncode +- attribute.""" +- while self.returncode is None: +- try: +- pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0) +- except OSError as e: +- if e.errno != errno.ECHILD: + def _communicate(self, input): + if self.stdin: + # Flush stdio buffer. This might block, if the user has @@ -46425,34 +46507,7 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py + if self.stderr: + register_and_append(self.stderr, select_POLLIN_POLLPRI) + fd2output[self.stderr.fileno()] = stderr = [] - -- """ -- if self.returncode is None: -- try: -- pid, sts = _waitpid(self.pid, _WNOHANG) -- if pid == self.pid: -- self._handle_exitstatus(sts) -- except _os_error as e: -- if _deadstate is not None: -- self.returncode = _deadstate -- if e.errno == _ECHILD: -- # This happens if SIGCLD is set to be ignored or -- # waiting for child processes has otherwise been -- # disabled for our process. This child is dead, we -- # can't get the status. -- # http://bugs.python.org/issue15756 -- self.returncode = 0 -- return self.returncode -- -- -- def wait(self): -- """Wait for child process to terminate. Returns returncode -- attribute.""" -- while self.returncode is None: -- try: -- pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0) -- except OSError as e: -- if e.errno != errno.ECHILD: ++ + input_offset = 0 + while fd2file: + try: @@ -46837,8 +46892,8 @@ diff -Nru orig/Lib/subprocess.py modified/Lib/subprocess.py if __name__ == "__main__": diff -Nru orig/Lib/sysconfig.py modified/Lib/sysconfig.py ---- orig/Lib/sysconfig.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/sysconfig.py 2016-07-06 17:08:40.000000000 +0800 +--- orig/Lib/sysconfig.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/sysconfig.py 2017-01-27 19:03:44.000000000 +0800 @@ -82,6 +82,33 @@ 'scripts': '{userbase}/bin', 'data' : '{userbase}', @@ -46896,8 +46951,8 @@ diff -Nru orig/Lib/sysconfig.py modified/Lib/sysconfig.py diff -Nru orig/Lib/test/regrtest.py modified/Lib/test/regrtest.py ---- orig/Lib/test/regrtest.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/regrtest.py 2016-07-05 13:09:26.000000000 +0800 +--- orig/Lib/test/regrtest.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/regrtest.py 2017-01-28 00:02:03.000000000 +0800 @@ -227,7 +227,14 @@ 'decimal', 'cpu', 'subprocess', 'urlfetch', 'gui', 'xpickle') @@ -46948,7 +47003,7 @@ diff -Nru orig/Lib/test/regrtest.py modified/Lib/test/regrtest.py STDTESTS = [ -@@ -1577,35 +1584,36 @@ +@@ -1645,35 +1652,36 @@ assert self.isvalid() return self.expected @@ -47003,10 +47058,10 @@ diff -Nru orig/Lib/test/regrtest.py modified/Lib/test/regrtest.py + assert __file__ == os.path.abspath(sys.argv[0]) + + result = main_in_temp_cwd() -+ sys.exit(retval) ++ sys.exit(result) diff -Nru orig/Lib/test/script_helper.py modified/Lib/test/script_helper.py ---- orig/Lib/test/script_helper.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/script_helper.py 2016-07-06 11:50:26.000000000 +0800 +--- orig/Lib/test/script_helper.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/script_helper.py 2017-01-27 19:03:44.000000000 +0800 @@ -3,13 +3,14 @@ import sys @@ -47128,8 +47183,8 @@ diff -Nru orig/Lib/test/script_helper.py modified/Lib/test/script_helper.py source, depth=1, compiled=False): unlink = [] diff -Nru orig/Lib/test/test_ascii_formatd.py modified/Lib/test/test_ascii_formatd.py ---- orig/Lib/test/test_ascii_formatd.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_ascii_formatd.py 2016-07-06 16:16:51.000000000 +0800 +--- orig/Lib/test/test_ascii_formatd.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_ascii_formatd.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,19 +1,22 @@ # PyOS_ascii_formatd is deprecated and not called from anywhere in # Python itself. So this module is the only place it gets tested. @@ -47156,8 +47211,8 @@ diff -Nru orig/Lib/test/test_ascii_formatd.py modified/Lib/test/test_ascii_forma buf = create_string_buffer(' ' * 100) diff -Nru orig/Lib/test/test_capi.py modified/Lib/test/test_capi.py ---- orig/Lib/test/test_capi.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_capi.py 2016-07-06 11:50:40.000000000 +0800 +--- orig/Lib/test/test_capi.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_capi.py 2017-01-27 19:03:44.000000000 +0800 @@ -5,6 +5,7 @@ import sys import time @@ -47183,8 +47238,8 @@ diff -Nru orig/Lib/test/test_capi.py modified/Lib/test/test_capi.py def pendingcalls_submit(self, l, n): diff -Nru orig/Lib/test/test_commands.py modified/Lib/test/test_commands.py ---- orig/Lib/test/test_commands.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_commands.py 2016-07-06 11:50:45.000000000 +0800 +--- orig/Lib/test/test_commands.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_commands.py 2017-01-27 19:03:44.000000000 +0800 @@ -2,6 +2,7 @@ Tests for commands module Nick Mathewson @@ -47210,8 +47265,8 @@ diff -Nru orig/Lib/test/test_commands.py modified/Lib/test/test_commands.py # This pattern should match 'ls -ld /.' on any posix # system, however perversely configured. Even on systems diff -Nru orig/Lib/test/test_dl.py modified/Lib/test/test_dl.py ---- orig/Lib/test/test_dl.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_dl.py 2016-07-06 16:16:50.000000000 +0800 +--- orig/Lib/test/test_dl.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_dl.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,7 +1,13 @@ """Test dlmodule.c Roger E. Masse revised strategy by Barry Warsaw @@ -47227,8 +47282,8 @@ diff -Nru orig/Lib/test/test_dl.py modified/Lib/test/test_dl.py dl = import_module('dl', deprecated=True) diff -Nru orig/Lib/test/test_fcntl.py modified/Lib/test/test_fcntl.py ---- orig/Lib/test/test_fcntl.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_fcntl.py 2016-07-06 16:16:50.000000000 +0800 +--- orig/Lib/test/test_fcntl.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_fcntl.py 2017-01-27 19:03:44.000000000 +0800 @@ -28,7 +28,7 @@ start_len = "qq" @@ -47255,8 +47310,8 @@ diff -Nru orig/Lib/test/test_fcntl.py modified/Lib/test/test_fcntl.py def setUp(self): diff -Nru orig/Lib/test/test_file2k.py modified/Lib/test/test_file2k.py ---- orig/Lib/test/test_file2k.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_file2k.py 2016-07-06 11:50:54.000000000 +0800 +--- orig/Lib/test/test_file2k.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_file2k.py 2017-01-27 19:03:44.000000000 +0800 @@ -654,6 +654,7 @@ @@ -47274,8 +47329,8 @@ diff -Nru orig/Lib/test/test_file2k.py modified/Lib/test/test_file2k.py import subprocess diff -Nru orig/Lib/test/test_file_eintr.py modified/Lib/test/test_file_eintr.py ---- orig/Lib/test/test_file_eintr.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_file_eintr.py 2016-07-04 10:59:49.000000000 +0800 +--- orig/Lib/test/test_file_eintr.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_file_eintr.py 2017-01-27 19:03:44.000000000 +0800 @@ -71,6 +71,7 @@ self.fail('Error from IO process %s:\nSTDOUT:\n%sSTDERR:\n%s\n' % (why, stdout.decode(), stderr.decode())) @@ -47285,9 +47340,9 @@ diff -Nru orig/Lib/test/test_file_eintr.py modified/Lib/test/test_file_eintr.py """Generic buffered read method test harness to validate EINTR behavior. diff -Nru orig/Lib/test/test_gdb.py modified/Lib/test/test_gdb.py ---- orig/Lib/test/test_gdb.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_gdb.py 2016-07-04 11:01:48.000000000 +0800 -@@ -19,6 +19,7 @@ +--- orig/Lib/test/test_gdb.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_gdb.py 2017-01-27 19:03:44.000000000 +0800 +@@ -20,6 +20,7 @@ except ImportError: thread = None @@ -47295,7 +47350,7 @@ diff -Nru orig/Lib/test/test_gdb.py modified/Lib/test/test_gdb.py def get_gdb_version(): try: proc = subprocess.Popen(["gdb", "-nx", "--version"], -@@ -29,6 +30,8 @@ +@@ -31,6 +32,8 @@ # This is what "no gdb" looks like. There may, however, be other # errors that manifest this way too. raise unittest.SkipTest("Couldn't find gdb on the path") @@ -47305,8 +47360,8 @@ diff -Nru orig/Lib/test/test_gdb.py modified/Lib/test/test_gdb.py # Regex to parse: # 'GNU gdb (GDB; SUSE Linux Enterprise 12) 7.7\n' -> 7.7 diff -Nru orig/Lib/test/test_hash.py modified/Lib/test/test_hash.py ---- orig/Lib/test/test_hash.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_hash.py 2016-07-06 11:51:03.000000000 +0800 +--- orig/Lib/test/test_hash.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_hash.py 2017-01-27 19:03:44.000000000 +0800 @@ -150,6 +150,7 @@ def get_hash_command(self, repr_): return 'print(hash(%s))' % repr_ @@ -47354,8 +47409,8 @@ diff -Nru orig/Lib/test/test_hash.py modified/Lib/test/test_hash.py def get_hash_command(self, repr_): return 'import datetime; print(hash(%s))' % repr_ diff -Nru orig/Lib/test/test_httpservers.py modified/Lib/test/test_httpservers.py ---- orig/Lib/test/test_httpservers.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_httpservers.py 2016-07-04 11:04:52.000000000 +0800 +--- orig/Lib/test/test_httpservers.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_httpservers.py 2017-01-27 19:03:44.000000000 +0800 @@ -12,6 +12,7 @@ import shutil import urllib @@ -47398,8 +47453,8 @@ diff -Nru orig/Lib/test/test_httpservers.py modified/Lib/test/test_httpservers.p """ Test url parsing """ def setUp(self): diff -Nru orig/Lib/test/test_import.py modified/Lib/test/test_import.py ---- orig/Lib/test/test_import.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_import.py 2016-07-06 11:51:07.000000000 +0800 +--- orig/Lib/test/test_import.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_import.py 2017-01-27 19:03:44.000000000 +0800 @@ -16,6 +16,11 @@ from test import symlink_support from test import script_helper @@ -47421,9 +47476,9 @@ diff -Nru orig/Lib/test/test_import.py modified/Lib/test/test_import.py # A modification timestamp larger than 2**32 should not be a problem # when importing a module (issue #11235). diff -Nru orig/Lib/test/test_io.py modified/Lib/test/test_io.py ---- orig/Lib/test/test_io.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_io.py 2016-07-06 16:16:49.000000000 +0800 -@@ -399,7 +399,7 @@ +--- orig/Lib/test/test_io.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_io.py 2017-01-27 19:03:44.000000000 +0800 +@@ -408,7 +408,7 @@ # On Windows and Mac OSX this test comsumes large resources; It takes # a long time to build the >2GB file and takes >2GB of disk space # therefore the resource must be enabled to run this test. @@ -47432,7 +47487,7 @@ diff -Nru orig/Lib/test/test_io.py modified/Lib/test/test_io.py support.requires( 'largefile', 'test requires %s bytes and a long time to run' % self.LARGE) -@@ -686,6 +686,7 @@ +@@ -695,6 +695,7 @@ support.gc_collect() self.assertIsNone(wr(), wr) @@ -47441,8 +47496,8 @@ diff -Nru orig/Lib/test/test_io.py modified/Lib/test/test_io.py test_array_writes = unittest.skip( "len(array.array) returns number of elements rather than bytelength" diff -Nru orig/Lib/test/test_lib2to3.py modified/Lib/test/test_lib2to3.py ---- orig/Lib/test/test_lib2to3.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_lib2to3.py 2016-07-06 11:51:10.000000000 +0800 +--- orig/Lib/test/test_lib2to3.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_lib2to3.py 2017-01-27 19:03:44.000000000 +0800 @@ -2,6 +2,7 @@ # because of running from lib2to3.tests import (test_fixers, test_pytree, test_util, test_refactor, @@ -47460,23 +47515,20 @@ diff -Nru orig/Lib/test/test_lib2to3.py modified/Lib/test/test_lib2to3.py run_unittest(suite()) diff -Nru orig/Lib/test/test_marshal.py modified/Lib/test/test_marshal.py ---- orig/Lib/test/test_marshal.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_marshal.py 2016-07-06 16:16:49.000000000 +0800 -@@ -234,7 +234,10 @@ - # Create a deeply nested structure. - head = last = [] +--- orig/Lib/test/test_marshal.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_marshal.py 2017-01-27 19:07:13.000000000 +0800 +@@ -236,6 +236,8 @@ # The max stack depth should match the value in Python/marshal.c. -- MAX_MARSHAL_STACK_DEPTH = 2000 -+ if sys.platform in ('ios', 'tvos', 'watchos'): + if os.name == 'nt' and hasattr(sys, 'gettotalrefcount'): + MAX_MARSHAL_STACK_DEPTH = 1000 ++ elif sys.platform in ('ios', 'tvos', 'watchos'): + MAX_MARSHAL_STACK_DEPTH = 1500 -+ else: -+ MAX_MARSHAL_STACK_DEPTH = 2000 + else: + MAX_MARSHAL_STACK_DEPTH = 2000 for i in range(MAX_MARSHAL_STACK_DEPTH - 2): - last.append([0]) - last = last[-1] diff -Nru orig/Lib/test/test_mmap.py modified/Lib/test/test_mmap.py ---- orig/Lib/test/test_mmap.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_mmap.py 2016-07-06 16:16:48.000000000 +0800 +--- orig/Lib/test/test_mmap.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_mmap.py 2017-01-27 19:03:44.000000000 +0800 @@ -232,7 +232,7 @@ self.assertRaises(ValueError, mmap.mmap, f.fileno(), mapsize, access=4) f.close() @@ -47486,7 +47538,7 @@ diff -Nru orig/Lib/test/test_mmap.py modified/Lib/test/test_mmap.py # Try incompatible flags, prot and access parameters. f = open(TESTFN, "r+b") self.assertRaises(ValueError, mmap.mmap, f.fileno(), mapsize, -@@ -662,7 +662,7 @@ +@@ -676,7 +676,7 @@ unlink(TESTFN) def _make_test_file(self, num_zeroes, tail): @@ -47496,8 +47548,8 @@ diff -Nru orig/Lib/test/test_mmap.py modified/Lib/test/test_mmap.py 'test requires %s bytes and a long time to run' % str(0x180000000)) f = open(TESTFN, 'w+b') diff -Nru orig/Lib/test/test_os.py modified/Lib/test/test_os.py ---- orig/Lib/test/test_os.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_os.py 2016-07-06 11:51:14.000000000 +0800 +--- orig/Lib/test/test_os.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_os.py 2017-01-27 19:03:44.000000000 +0800 @@ -361,6 +361,7 @@ os.environ.update(self.__save) @@ -47547,8 +47599,8 @@ diff -Nru orig/Lib/test/test_os.py modified/Lib/test/test_os.py # Needs to accept -1. We run this in a subprocess to avoid # altering the test runner's process state (issue8045). diff -Nru orig/Lib/test/test_pdb.py modified/Lib/test/test_pdb.py ---- orig/Lib/test/test_pdb.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_pdb.py 2016-07-06 11:51:18.000000000 +0800 +--- orig/Lib/test/test_pdb.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_pdb.py 2017-01-27 19:03:44.000000000 +0800 @@ -15,6 +15,7 @@ class PdbTestCase(unittest.TestCase): @@ -47566,8 +47618,8 @@ diff -Nru orig/Lib/test/test_pdb.py modified/Lib/test/test_pdb.py """ In issue 7750, it was found that if the filename has a sequence that diff -Nru orig/Lib/test/test_pep277.py modified/Lib/test/test_pep277.py ---- orig/Lib/test/test_pep277.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_pep277.py 2016-07-06 16:16:48.000000000 +0800 +--- orig/Lib/test/test_pep277.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_pep277.py 2017-01-27 19:03:44.000000000 +0800 @@ -24,7 +24,7 @@ # these normal forms. For example, HFS Plus uses a variant of Normal Form D # in which U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through @@ -47607,8 +47659,8 @@ diff -Nru orig/Lib/test/test_pep277.py modified/Lib/test/test_pep277.py sf0 = set(self.files) f1 = os.listdir(test_support.TESTFN) diff -Nru orig/Lib/test/test_pipes.py modified/Lib/test/test_pipes.py ---- orig/Lib/test/test_pipes.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_pipes.py 2016-07-06 16:16:47.000000000 +0800 +--- orig/Lib/test/test_pipes.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_pipes.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,17 +1,21 @@ import pipes import os @@ -47632,8 +47684,8 @@ diff -Nru orig/Lib/test/test_pipes.py modified/Lib/test/test_pipes.py def tearDown(self): for f in (TESTFN, TESTFN2): diff -Nru orig/Lib/test/test_platform.py modified/Lib/test/test_platform.py ---- orig/Lib/test/test_platform.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_platform.py 2016-07-06 16:16:47.000000000 +0800 +--- orig/Lib/test/test_platform.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_platform.py 2017-01-27 19:03:44.000000000 +0800 @@ -6,11 +6,13 @@ from test import test_support @@ -47666,8 +47718,8 @@ diff -Nru orig/Lib/test/test_platform.py modified/Lib/test/test_platform.py def test_mac_ver_with_fork(self): # Issue7895: platform.mac_ver() crashes when using fork without exec diff -Nru orig/Lib/test/test_poll.py modified/Lib/test/test_poll.py ---- orig/Lib/test/test_poll.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_poll.py 2016-07-06 11:51:22.000000000 +0800 +--- orig/Lib/test/test_poll.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_poll.py 2017-01-27 19:03:44.000000000 +0800 @@ -3,6 +3,7 @@ import os import random @@ -47693,8 +47745,8 @@ diff -Nru orig/Lib/test/test_poll.py modified/Lib/test/test_poll.py cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done' p = os.popen(cmd, 'r') diff -Nru orig/Lib/test/test_popen.py modified/Lib/test/test_popen.py ---- orig/Lib/test/test_popen.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_popen.py 2016-07-04 11:22:13.000000000 +0800 +--- orig/Lib/test/test_popen.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_popen.py 2017-01-27 19:03:44.000000000 +0800 @@ -5,7 +5,9 @@ import unittest @@ -47730,8 +47782,8 @@ diff -Nru orig/Lib/test/test_popen.py modified/Lib/test/test_popen.py test_support.run_unittest(PopenTest) diff -Nru orig/Lib/test/test_popen2.py modified/Lib/test/test_popen2.py ---- orig/Lib/test/test_popen2.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_popen2.py 2016-07-06 11:51:30.000000000 +0800 +--- orig/Lib/test/test_popen2.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_popen2.py 2017-01-27 19:03:44.000000000 +0800 @@ -29,6 +29,7 @@ from os import fork del fork @@ -47741,8 +47793,8 @@ diff -Nru orig/Lib/test/test_popen2.py modified/Lib/test/test_popen2.py cmd = "cat" if os.name == "nt": diff -Nru orig/Lib/test/test_posix.py modified/Lib/test/test_posix.py ---- orig/Lib/test/test_posix.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_posix.py 2016-07-06 13:10:25.000000000 +0800 +--- orig/Lib/test/test_posix.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_posix.py 2017-01-27 19:03:44.000000000 +0800 @@ -13,7 +13,7 @@ import pwd import shutil @@ -47797,8 +47849,8 @@ diff -Nru orig/Lib/test/test_posix.py modified/Lib/test/test_posix.py with os.popen('id -G 2>/dev/null') as idg: groups = idg.read().strip() diff -Nru orig/Lib/test/test_pty.py modified/Lib/test/test_pty.py ---- orig/Lib/test/test_pty.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_pty.py 2016-07-04 11:11:43.000000000 +0800 +--- orig/Lib/test/test_pty.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_pty.py 2017-01-27 19:03:44.000000000 +0800 @@ -110,7 +110,7 @@ os.close(slave_fd) os.close(master_fd) @@ -47809,8 +47861,8 @@ diff -Nru orig/Lib/test/test_pty.py modified/Lib/test/test_pty.py debug("calling pty.fork()") pid, master_fd = pty.fork() diff -Nru orig/Lib/test/test_quopri.py modified/Lib/test/test_quopri.py ---- orig/Lib/test/test_quopri.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_quopri.py 2016-07-04 11:11:43.000000000 +0800 +--- orig/Lib/test/test_quopri.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_quopri.py 2017-01-27 19:03:44.000000000 +0800 @@ -174,6 +174,7 @@ for p, e in self.HSTRINGS: self.assertTrue(quopri.decodestring(e, header=True) == p) @@ -47828,8 +47880,8 @@ diff -Nru orig/Lib/test/test_quopri.py modified/Lib/test/test_quopri.py (p, e) = self.STRINGS[-1] process = subprocess.Popen([sys.executable, "-mquopri", "-d"], diff -Nru orig/Lib/test/test_select.py modified/Lib/test/test_select.py ---- orig/Lib/test/test_select.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_select.py 2016-07-06 11:51:32.000000000 +0800 +--- orig/Lib/test/test_select.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_select.py 2017-01-27 19:03:44.000000000 +0800 @@ -1,6 +1,7 @@ from test import test_support import unittest @@ -47847,8 +47899,8 @@ diff -Nru orig/Lib/test/test_select.py modified/Lib/test/test_select.py cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done' p = os.popen(cmd, 'r') diff -Nru orig/Lib/test/test_signal.py modified/Lib/test/test_signal.py ---- orig/Lib/test/test_signal.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_signal.py 2016-07-06 11:51:37.000000000 +0800 +--- orig/Lib/test/test_signal.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_signal.py 2017-01-27 19:03:44.000000000 +0800 @@ -143,6 +143,7 @@ @unittest.skipIf(sys.platform=='freebsd6', 'inter process signals not reliable (do not mix well with threading) ' @@ -47866,8 +47918,8 @@ diff -Nru orig/Lib/test/test_signal.py modified/Lib/test/test_signal.py """Perform a read during which a signal will arrive. Return True if the read is interrupted by the signal and raises an exception. Return False diff -Nru orig/Lib/test/test_site.py modified/Lib/test/test_site.py ---- orig/Lib/test/test_site.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_site.py 2016-07-04 11:11:43.000000000 +0800 +--- orig/Lib/test/test_site.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_site.py 2017-01-27 19:03:44.000000000 +0800 @@ -34,6 +34,7 @@ % (site.USER_SITE, exc)) @@ -47885,8 +47937,8 @@ diff -Nru orig/Lib/test/test_site.py modified/Lib/test/test_site.py usersite = site.USER_SITE self.assertIn(usersite, sys.path) diff -Nru orig/Lib/test/test_socket.py modified/Lib/test/test_socket.py ---- orig/Lib/test/test_socket.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_socket.py 2016-07-06 16:16:46.000000000 +0800 +--- orig/Lib/test/test_socket.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_socket.py 2017-01-27 19:03:44.000000000 +0800 @@ -423,7 +423,7 @@ if (sys.platform.startswith('linux') or sys.platform.startswith('freebsd') or @@ -47897,8 +47949,8 @@ diff -Nru orig/Lib/test/test_socket.py modified/Lib/test/test_socket.py # assumption breaking non-standard port/protocol entry services = ('daytime', 'qotd', 'domain') diff -Nru orig/Lib/test/test_socketserver.py modified/Lib/test/test_socketserver.py ---- orig/Lib/test/test_socketserver.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_socketserver.py 2016-07-06 16:16:45.000000000 +0800 +--- orig/Lib/test/test_socketserver.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_socketserver.py 2017-01-27 19:03:44.000000000 +0800 @@ -8,7 +8,7 @@ import select import signal @@ -47955,8 +48007,8 @@ diff -Nru orig/Lib/test/test_socketserver.py modified/Lib/test/test_socketserver self.run_server(SocketServer.ThreadingUnixDatagramServer, SocketServer.DatagramRequestHandler, diff -Nru orig/Lib/test/test_subprocess.py modified/Lib/test/test_subprocess.py ---- orig/Lib/test/test_subprocess.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_subprocess.py 2016-07-04 11:11:43.000000000 +0800 +--- orig/Lib/test/test_subprocess.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_subprocess.py 2017-01-27 19:03:44.000000000 +0800 @@ -21,6 +21,9 @@ mswindows = (sys.platform == "win32") @@ -47968,8 +48020,8 @@ diff -Nru orig/Lib/test/test_subprocess.py modified/Lib/test/test_subprocess.py # Depends on the following external programs: Python # diff -Nru orig/Lib/test/test_sundry.py modified/Lib/test/test_sundry.py ---- orig/Lib/test/test_sundry.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_sundry.py 2016-07-04 11:34:34.000000000 +0800 +--- orig/Lib/test/test_sundry.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_sundry.py 2017-01-27 19:03:44.000000000 +0800 @@ -17,7 +17,8 @@ import distutils.bcppcompiler @@ -47981,8 +48033,8 @@ diff -Nru orig/Lib/test/test_sundry.py modified/Lib/test/test_sundry.py import distutils.filelist if sys.platform.startswith('win'): diff -Nru orig/Lib/test/test_sys.py modified/Lib/test/test_sys.py ---- orig/Lib/test/test_sys.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_sys.py 2016-07-06 11:50:21.000000000 +0800 +--- orig/Lib/test/test_sys.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_sys.py 2017-01-27 19:03:44.000000000 +0800 @@ -6,8 +6,10 @@ import operator import os @@ -48011,8 +48063,8 @@ diff -Nru orig/Lib/test/test_sys.py modified/Lib/test/test_sys.py # sys.executable should be absolute self.assertEqual(os.path.abspath(sys.executable), sys.executable) diff -Nru orig/Lib/test/test_sysconfig.py modified/Lib/test/test_sysconfig.py ---- orig/Lib/test/test_sysconfig.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_sysconfig.py 2016-07-06 17:07:50.000000000 +0800 +--- orig/Lib/test/test_sysconfig.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_sysconfig.py 2017-01-27 19:03:44.000000000 +0800 @@ -16,6 +16,7 @@ get_scheme_names, get_config_var) import _osx_support @@ -48042,8 +48094,8 @@ diff -Nru orig/Lib/test/test_sysconfig.py modified/Lib/test/test_sysconfig.py # Issue 7880 symlink = get_attribute(os, "symlink") diff -Nru orig/Lib/test/test_tcl.py modified/Lib/test/test_tcl.py ---- orig/Lib/test/test_tcl.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_tcl.py 2016-07-06 11:50:18.000000000 +0800 +--- orig/Lib/test/test_tcl.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_tcl.py 2017-01-27 19:03:44.000000000 +0800 @@ -3,7 +3,7 @@ import sys import os @@ -48063,8 +48115,8 @@ diff -Nru orig/Lib/test/test_tcl.py modified/Lib/test/test_tcl.py if e.winerror == 5: self.skipTest('Not permitted to start the child process') diff -Nru orig/Lib/test/test_thread.py modified/Lib/test/test_thread.py ---- orig/Lib/test/test_thread.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_thread.py 2016-07-04 11:39:30.000000000 +0800 +--- orig/Lib/test/test_thread.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_thread.py 2017-01-27 19:03:44.000000000 +0800 @@ -222,6 +222,7 @@ @unittest.skipIf(sys.platform.startswith('win'), @@ -48074,8 +48126,8 @@ diff -Nru orig/Lib/test/test_thread.py modified/Lib/test/test_thread.py def test_forkinthread(self): def thread1(): diff -Nru orig/Lib/test/test_threading.py modified/Lib/test/test_threading.py ---- orig/Lib/test/test_threading.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_threading.py 2016-07-06 16:16:40.000000000 +0800 +--- orig/Lib/test/test_threading.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_threading.py 2017-01-27 19:03:44.000000000 +0800 @@ -163,6 +163,8 @@ # PyThreadState_SetAsyncExc() is a CPython-only gimmick, not (currently) @@ -48127,10 +48179,10 @@ diff -Nru orig/Lib/test/test_threading.py modified/Lib/test/test_threading.py p = subprocess.Popen([sys.executable, "-c", script], stdout=subprocess.PIPE) diff -Nru orig/Lib/test/test_unicode.py modified/Lib/test/test_unicode.py ---- orig/Lib/test/test_unicode.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_unicode.py 2016-07-06 16:16:40.000000000 +0800 -@@ -1666,6 +1666,8 @@ - self.assertEqual("{}".format(u), '__unicode__ overridden') +--- orig/Lib/test/test_unicode.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_unicode.py 2017-01-27 19:03:44.000000000 +0800 +@@ -1673,6 +1673,8 @@ + class CAPITest(unittest.TestCase): # Test PyUnicode_FromFormat() + @unittest.skipIf(sys.platform in ('ios', 'tvos', 'watchos'), @@ -48139,8 +48191,8 @@ diff -Nru orig/Lib/test/test_unicode.py modified/Lib/test/test_unicode.py test_support.import_module('ctypes') from ctypes import ( diff -Nru orig/Lib/test/test_unicodedata.py modified/Lib/test/test_unicodedata.py ---- orig/Lib/test/test_unicodedata.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_unicodedata.py 2016-07-04 11:38:27.000000000 +0800 +--- orig/Lib/test/test_unicodedata.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_unicodedata.py 2017-01-27 19:03:44.000000000 +0800 @@ -217,8 +217,10 @@ self.assertEqual(eaw(u'\u2010'), 'A') self.assertEqual(eaw(u'\U00020000'), 'W') @@ -48153,8 +48205,8 @@ diff -Nru orig/Lib/test/test_unicodedata.py modified/Lib/test/test_unicodedata.p # Issue 4367 # Decoding \N escapes requires the unicodedata module. If it can't be diff -Nru orig/Lib/test/test_urllib2net.py modified/Lib/test/test_urllib2net.py ---- orig/Lib/test/test_urllib2net.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_urllib2net.py 2016-07-06 11:49:46.000000000 +0800 +--- orig/Lib/test/test_urllib2net.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_urllib2net.py 2017-01-27 19:03:44.000000000 +0800 @@ -6,6 +6,10 @@ import urllib2 import os @@ -48175,8 +48227,8 @@ diff -Nru orig/Lib/test/test_urllib2net.py modified/Lib/test/test_urllib2net.py urlwith_frag = "http://www.pythontest.net/index.html#frag" with test_support.transient_internet(urlwith_frag): diff -Nru orig/Lib/test/test_uuid.py modified/Lib/test/test_uuid.py ---- orig/Lib/test/test_uuid.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_uuid.py 2016-07-06 11:49:42.000000000 +0800 +--- orig/Lib/test/test_uuid.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_uuid.py 2017-01-27 19:03:44.000000000 +0800 @@ -2,6 +2,7 @@ from test import test_support import io @@ -48210,9 +48262,9 @@ diff -Nru orig/Lib/test/test_uuid.py modified/Lib/test/test_uuid.py node = uuid._ifconfig_getnode() self.check_node(node, 'ifconfig', True) diff -Nru orig/Lib/test/test_warnings.py modified/Lib/test/test_warnings.py ---- orig/Lib/test/test_warnings.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_warnings.py 2016-07-06 11:49:38.000000000 +0800 -@@ -791,6 +791,7 @@ +--- orig/Lib/test/test_warnings.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_warnings.py 2017-01-27 19:03:44.000000000 +0800 +@@ -803,6 +803,7 @@ module = py_warnings @@ -48221,8 +48273,8 @@ diff -Nru orig/Lib/test/test_warnings.py modified/Lib/test/test_warnings.py def test_single_warning(self): diff -Nru orig/Lib/test/test_xpickle.py modified/Lib/test/test_xpickle.py ---- orig/Lib/test/test_xpickle.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_xpickle.py 2016-07-06 16:16:39.000000000 +0800 +--- orig/Lib/test/test_xpickle.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_xpickle.py 2017-01-27 19:03:44.000000000 +0800 @@ -56,6 +56,8 @@ # Ignore fast return cPickle.loads(buf) @@ -48241,9 +48293,9 @@ diff -Nru orig/Lib/test/test_xpickle.py modified/Lib/test/test_xpickle.py """Bounce a pickled object through another version of Python. diff -Nru orig/Lib/test/test_zipfile.py modified/Lib/test/test_zipfile.py ---- orig/Lib/test/test_zipfile.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/test/test_zipfile.py 2016-07-04 11:42:57.000000000 +0800 -@@ -786,6 +786,7 @@ +--- orig/Lib/test/test_zipfile.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/test/test_zipfile.py 2017-01-27 19:03:44.000000000 +0800 +@@ -831,6 +831,7 @@ self.skipTest('requires write access to the installed location') unlink(filename) @@ -48252,8 +48304,8 @@ diff -Nru orig/Lib/test/test_zipfile.py modified/Lib/test/test_zipfile.py self.requiresWriteAccess(os.path.dirname(__file__)) with zipfile.PyZipFile(TemporaryFile(), "w") as zipfp: diff -Nru orig/Lib/unittest/test/test_break.py modified/Lib/unittest/test/test_break.py ---- orig/Lib/unittest/test/test_break.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/unittest/test/test_break.py 2016-07-04 11:42:57.000000000 +0800 +--- orig/Lib/unittest/test/test_break.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/unittest/test/test_break.py 2017-01-27 19:03:44.000000000 +0800 @@ -11,7 +11,7 @@ @@ -48264,8 +48316,8 @@ diff -Nru orig/Lib/unittest/test/test_break.py modified/Lib/unittest/test/test_b "if threads have been used") class TestBreak(unittest.TestCase): diff -Nru orig/Lib/webbrowser.py modified/Lib/webbrowser.py ---- orig/Lib/webbrowser.py 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Lib/webbrowser.py 2016-07-06 16:16:52.000000000 +0800 +--- orig/Lib/webbrowser.py 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Lib/webbrowser.py 2017-01-27 19:03:44.000000000 +0800 @@ -637,7 +637,6 @@ rc = osapipe.close() return not rc @@ -48274,7 +48326,7 @@ diff -Nru orig/Lib/webbrowser.py modified/Lib/webbrowser.py # Don't clear _tryorder or _browsers since OS X can use above Unix support # (but we prefer using the OS X specific stuff) register("safari", None, MacOSXOSAScript('safari'), -1) -@@ -646,6 +645,59 @@ +@@ -647,6 +646,59 @@ # @@ -48336,7 +48388,7 @@ diff -Nru orig/Lib/webbrowser.py modified/Lib/webbrowser.py diff -Nru orig/Modules/Setup.embedded modified/Modules/Setup.embedded --- orig/Modules/Setup.embedded 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.embedded 2016-07-06 12:04:46.000000000 +0800 ++++ modified/Modules/Setup.embedded 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,121 @@ +##################################################################### +# Static compilation instructions for all binary modules. @@ -48461,7 +48513,7 @@ diff -Nru orig/Modules/Setup.embedded modified/Modules/Setup.embedded +#spwd spwdmodule.c diff -Nru orig/Modules/Setup.iOS-aarch64 modified/Modules/Setup.iOS-aarch64 --- orig/Modules/Setup.iOS-aarch64 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.iOS-aarch64 2016-07-04 13:25:05.000000000 +0800 ++++ modified/Modules/Setup.iOS-aarch64 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ + +##################################################################### @@ -48482,7 +48534,7 @@ diff -Nru orig/Modules/Setup.iOS-aarch64 modified/Modules/Setup.iOS-aarch64 + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/Setup.iOS-arm modified/Modules/Setup.iOS-arm --- orig/Modules/Setup.iOS-arm 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.iOS-arm 2016-07-04 13:25:08.000000000 +0800 ++++ modified/Modules/Setup.iOS-arm 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,18 @@ + +##################################################################### @@ -48504,7 +48556,7 @@ diff -Nru orig/Modules/Setup.iOS-arm modified/Modules/Setup.iOS-arm + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/Setup.iOS-i386 modified/Modules/Setup.iOS-i386 --- orig/Modules/Setup.iOS-i386 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.iOS-i386 2016-07-04 13:25:10.000000000 +0800 ++++ modified/Modules/Setup.iOS-i386 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ + +##################################################################### @@ -48525,7 +48577,7 @@ diff -Nru orig/Modules/Setup.iOS-i386 modified/Modules/Setup.iOS-i386 + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/Setup.iOS-x86_64 modified/Modules/Setup.iOS-x86_64 --- orig/Modules/Setup.iOS-x86_64 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.iOS-x86_64 2016-07-04 13:25:13.000000000 +0800 ++++ modified/Modules/Setup.iOS-x86_64 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ + +##################################################################### @@ -48546,7 +48598,7 @@ diff -Nru orig/Modules/Setup.iOS-x86_64 modified/Modules/Setup.iOS-x86_64 + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/Setup.tvOS-aarch64 modified/Modules/Setup.tvOS-aarch64 --- orig/Modules/Setup.tvOS-aarch64 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.tvOS-aarch64 2016-07-06 15:08:54.000000000 +0800 ++++ modified/Modules/Setup.tvOS-aarch64 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ + +##################################################################### @@ -48567,7 +48619,7 @@ diff -Nru orig/Modules/Setup.tvOS-aarch64 modified/Modules/Setup.tvOS-aarch64 + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/Setup.tvOS-x86_64 modified/Modules/Setup.tvOS-x86_64 --- orig/Modules/Setup.tvOS-x86_64 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.tvOS-x86_64 2016-07-06 15:08:30.000000000 +0800 ++++ modified/Modules/Setup.tvOS-x86_64 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ + +##################################################################### @@ -48588,7 +48640,7 @@ diff -Nru orig/Modules/Setup.tvOS-x86_64 modified/Modules/Setup.tvOS-x86_64 + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/Setup.watchOS-arm modified/Modules/Setup.watchOS-arm --- orig/Modules/Setup.watchOS-arm 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.watchOS-arm 2016-07-06 15:10:52.000000000 +0800 ++++ modified/Modules/Setup.watchOS-arm 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,18 @@ + +##################################################################### @@ -48610,7 +48662,7 @@ diff -Nru orig/Modules/Setup.watchOS-arm modified/Modules/Setup.watchOS-arm + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/Setup.watchOS-i386 modified/Modules/Setup.watchOS-i386 --- orig/Modules/Setup.watchOS-i386 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/Setup.watchOS-i386 2016-07-06 15:10:41.000000000 +0800 ++++ modified/Modules/Setup.watchOS-i386 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ + +##################################################################### @@ -48631,7 +48683,7 @@ diff -Nru orig/Modules/Setup.watchOS-i386 modified/Modules/Setup.watchOS-i386 + -I$(srcdir)/Modules/_ctypes/libffi_ios/include diff -Nru orig/Modules/_ctypes/libffi_ios/LICENSE modified/Modules/_ctypes/libffi_ios/LICENSE --- orig/Modules/_ctypes/libffi_ios/LICENSE 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/LICENSE 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/LICENSE 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,21 @@ +libffi - Copyright (c) 1996-2014 Anthony Green, Red Hat, Inc and others. +See source files for details. @@ -48656,7 +48708,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/LICENSE modified/Modules/_ctypes/libff +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff -Nru orig/Modules/_ctypes/libffi_ios/README modified/Modules/_ctypes/libffi_ios/README --- orig/Modules/_ctypes/libffi_ios/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/README 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,450 @@ +Status +====== @@ -49110,7 +49162,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/README modified/Modules/_ctypes/libffi +libffi-discuss@sourceware.org. diff -Nru orig/Modules/_ctypes/libffi_ios/README.python modified/Modules/_ctypes/libffi_ios/README.python --- orig/Modules/_ctypes/libffi_ios/README.python 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/README.python 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/README.python 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,14 @@ +This directory contains the generated source code for running libffi +on iOS platforms (physical and simulator). It contains support for @@ -49128,7 +49180,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/README.python modified/Modules/_ctypes +and patched verion of libffi 4. diff -Nru orig/Modules/_ctypes/libffi_ios/aarch64/ffi_arm64.c modified/Modules/_ctypes/libffi_ios/aarch64/ffi_arm64.c --- orig/Modules/_ctypes/libffi_ios/aarch64/ffi_arm64.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/aarch64/ffi_arm64.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/aarch64/ffi_arm64.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,934 @@ +#ifdef __arm64__ + @@ -50067,7 +50119,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/aarch64/ffi_arm64.c modified/Modules/_ \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/aarch64/internal.h modified/Modules/_ctypes/libffi_ios/aarch64/internal.h --- orig/Modules/_ctypes/libffi_ios/aarch64/internal.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/aarch64/internal.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/aarch64/internal.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,67 @@ +/* +Permission is hereby granted, free of charge, to any person obtaining @@ -50138,7 +50190,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/aarch64/internal.h modified/Modules/_c +#define CALL_CONTEXT_SIZE (N_V_ARG_REG * 16 + N_X_ARG_REG * 8) diff -Nru orig/Modules/_ctypes/libffi_ios/aarch64/sysv_arm64.S modified/Modules/_ctypes/libffi_ios/aarch64/sysv_arm64.S --- orig/Modules/_ctypes/libffi_ios/aarch64/sysv_arm64.S 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/aarch64/sysv_arm64.S 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/aarch64/sysv_arm64.S 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,443 @@ +#ifdef __arm64__ + @@ -50586,7 +50638,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/aarch64/sysv_arm64.S modified/Modules/ \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/arm/ffi_armv7.c modified/Modules/_ctypes/libffi_ios/arm/ffi_armv7.c --- orig/Modules/_ctypes/libffi_ios/arm/ffi_armv7.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/arm/ffi_armv7.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/arm/ffi_armv7.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,813 @@ +#ifdef __arm__ + @@ -51404,7 +51456,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/arm/ffi_armv7.c modified/Modules/_ctyp \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/arm/internal.h modified/Modules/_ctypes/libffi_ios/arm/internal.h --- orig/Modules/_ctypes/libffi_ios/arm/internal.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/arm/internal.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/arm/internal.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,7 @@ +#define ARM_TYPE_VFP_S 0 +#define ARM_TYPE_VFP_D 1 @@ -51415,7 +51467,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/arm/internal.h modified/Modules/_ctype +#define ARM_TYPE_STRUCT 6 diff -Nru orig/Modules/_ctypes/libffi_ios/arm/sysv_armv7.S modified/Modules/_ctypes/libffi_ios/arm/sysv_armv7.S --- orig/Modules/_ctypes/libffi_ios/arm/sysv_armv7.S 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/arm/sysv_armv7.S 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/arm/sysv_armv7.S 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,388 @@ +#ifdef __arm__ + @@ -51808,7 +51860,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/arm/sysv_armv7.S modified/Modules/_cty \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/arm/trampoline_armv7.S modified/Modules/_ctypes/libffi_ios/arm/trampoline_armv7.S --- orig/Modules/_ctypes/libffi_ios/arm/trampoline_armv7.S 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/arm/trampoline_armv7.S 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/arm/trampoline_armv7.S 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,5 @@ +#ifdef __arm__ + @@ -51818,7 +51870,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/arm/trampoline_armv7.S modified/Module \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/closures.c modified/Modules/_ctypes/libffi_ios/closures.c --- orig/Modules/_ctypes/libffi_ios/closures.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/closures.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/closures.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,925 @@ +/* ----------------------------------------------------------------------- + closures.c - Copyright (c) 2007, 2009, 2010 Red Hat, Inc. @@ -52747,7 +52799,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/closures.c modified/Modules/_ctypes/li +#endif /* FFI_CLOSURES */ diff -Nru orig/Modules/_ctypes/libffi_ios/debug.c modified/Modules/_ctypes/libffi_ios/debug.c --- orig/Modules/_ctypes/libffi_ios/debug.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/debug.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/debug.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,64 @@ +/* ----------------------------------------------------------------------- + debug.c - Copyright (c) 1996 Red Hat, Inc. @@ -52815,7 +52867,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/debug.c modified/Modules/_ctypes/libff +} diff -Nru orig/Modules/_ctypes/libffi_ios/dlmalloc.c modified/Modules/_ctypes/libffi_ios/dlmalloc.c --- orig/Modules/_ctypes/libffi_ios/dlmalloc.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/dlmalloc.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/dlmalloc.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,5161 @@ +/* + This is a version (aka dlmalloc) of malloc/free/realloc written by @@ -57980,7 +58032,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/dlmalloc.c modified/Modules/_ctypes/li +*/ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi.h modified/Modules/_ctypes/libffi_ios/include/ffi.h --- orig/Modules/_ctypes/libffi_ios/include/ffi.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffi.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffi.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,24 @@ +#ifdef __arm64__ + @@ -58008,7 +58060,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi.h modified/Modules/_ctypes +#endif diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_arm64.h modified/Modules/_ctypes/libffi_ios/include/ffi_arm64.h --- orig/Modules/_ctypes/libffi_ios/include/ffi_arm64.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffi_arm64.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffi_arm64.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,508 @@ +#ifdef __arm64__ + @@ -58521,7 +58573,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_arm64.h modified/Modules/_ \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_armv7.h modified/Modules/_ctypes/libffi_ios/include/ffi_armv7.h --- orig/Modules/_ctypes/libffi_ios/include/ffi_armv7.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffi_armv7.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffi_armv7.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,508 @@ +#ifdef __arm__ + @@ -59034,7 +59086,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_armv7.h modified/Modules/_ \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_cfi.h modified/Modules/_ctypes/libffi_ios/include/ffi_cfi.h --- orig/Modules/_ctypes/libffi_ios/include/ffi_cfi.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffi_cfi.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffi_cfi.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,55 @@ +/* ----------------------------------------------------------------------- + ffi_cfi.h - Copyright (c) 2014 Red Hat, Inc. @@ -59093,7 +59145,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_cfi.h modified/Modules/_ct +#endif /* FFI_CFI_H */ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_common.h modified/Modules/_ctypes/libffi_ios/include/ffi_common.h --- orig/Modules/_ctypes/libffi_ios/include/ffi_common.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffi_common.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffi_common.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,132 @@ +/* ----------------------------------------------------------------------- + ffi_common.h - Copyright (C) 2011, 2012, 2013 Anthony Green @@ -59229,7 +59281,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_common.h modified/Modules/ +#endif diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_i386.h modified/Modules/_ctypes/libffi_ios/include/ffi_i386.h --- orig/Modules/_ctypes/libffi_ios/include/ffi_i386.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffi_i386.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffi_i386.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,508 @@ +#ifdef __i386__ + @@ -59742,7 +59794,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_i386.h modified/Modules/_c \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_x86_64.h modified/Modules/_ctypes/libffi_ios/include/ffi_x86_64.h --- orig/Modules/_ctypes/libffi_ios/include/ffi_x86_64.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffi_x86_64.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffi_x86_64.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,508 @@ +#ifdef __x86_64__ + @@ -60255,7 +60307,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffi_x86_64.h modified/Modules/ \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig.h modified/Modules/_ctypes/libffi_ios/include/fficonfig.h --- orig/Modules/_ctypes/libffi_ios/include/fficonfig.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/fficonfig.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/fficonfig.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,24 @@ +#ifdef __arm64__ + @@ -60283,7 +60335,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig.h modified/Modules/_ +#endif diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_arm64.h modified/Modules/_ctypes/libffi_ios/include/fficonfig_arm64.h --- orig/Modules/_ctypes/libffi_ios/include/fficonfig_arm64.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_arm64.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_arm64.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,214 @@ +#ifdef __arm64__ + @@ -60502,7 +60554,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_arm64.h modified/Mod \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_armv7.h modified/Modules/_ctypes/libffi_ios/include/fficonfig_armv7.h --- orig/Modules/_ctypes/libffi_ios/include/fficonfig_armv7.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_armv7.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_armv7.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,214 @@ +#ifdef __arm__ + @@ -60721,7 +60773,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_armv7.h modified/Mod \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_i386.h modified/Modules/_ctypes/libffi_ios/include/fficonfig_i386.h --- orig/Modules/_ctypes/libffi_ios/include/fficonfig_i386.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_i386.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_i386.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,214 @@ +#ifdef __i386__ + @@ -60940,7 +60992,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_i386.h modified/Modu \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_x86_64.h modified/Modules/_ctypes/libffi_ios/include/fficonfig_x86_64.h --- orig/Modules/_ctypes/libffi_ios/include/fficonfig_x86_64.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_x86_64.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/fficonfig_x86_64.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,214 @@ +#ifdef __x86_64__ + @@ -61159,7 +61211,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/fficonfig_x86_64.h modified/Mo \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget.h modified/Modules/_ctypes/libffi_ios/include/ffitarget.h --- orig/Modules/_ctypes/libffi_ios/include/ffitarget.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffitarget.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffitarget.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,24 @@ +#ifdef __arm64__ + @@ -61187,7 +61239,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget.h modified/Modules/_ +#endif diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_arm64.h modified/Modules/_ctypes/libffi_ios/include/ffitarget_arm64.h --- orig/Modules/_ctypes/libffi_ios/include/ffitarget_arm64.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_arm64.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_arm64.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,85 @@ +#ifdef __arm64__ + @@ -61277,7 +61329,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_arm64.h modified/Mod \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_armv7.h modified/Modules/_ctypes/libffi_ios/include/ffitarget_armv7.h --- orig/Modules/_ctypes/libffi_ios/include/ffitarget_armv7.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_armv7.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_armv7.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,87 @@ +#ifdef __arm__ + @@ -61369,7 +61421,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_armv7.h modified/Mod \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_i386.h modified/Modules/_ctypes/libffi_ios/include/ffitarget_i386.h --- orig/Modules/_ctypes/libffi_ios/include/ffitarget_i386.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_i386.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_i386.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,144 @@ +#ifdef __i386__ + @@ -61518,7 +61570,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_i386.h modified/Modu \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_x86_64.h modified/Modules/_ctypes/libffi_ios/include/ffitarget_x86_64.h --- orig/Modules/_ctypes/libffi_ios/include/ffitarget_x86_64.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_x86_64.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/include/ffitarget_x86_64.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,144 @@ +#ifdef __x86_64__ + @@ -61667,7 +61719,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/include/ffitarget_x86_64.h modified/Mo \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/java_raw_api.c modified/Modules/_ctypes/libffi_ios/java_raw_api.c --- orig/Modules/_ctypes/libffi_ios/java_raw_api.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/java_raw_api.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/java_raw_api.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,374 @@ +/* ----------------------------------------------------------------------- + java_raw_api.c - Copyright (c) 1999, 2007, 2008 Red Hat, Inc. @@ -62045,7 +62097,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/java_raw_api.c modified/Modules/_ctype +#endif /* !NO_JAVA_RAW_API */ diff -Nru orig/Modules/_ctypes/libffi_ios/prep_cif.c modified/Modules/_ctypes/libffi_ios/prep_cif.c --- orig/Modules/_ctypes/libffi_ios/prep_cif.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/prep_cif.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/prep_cif.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,242 @@ +/* ----------------------------------------------------------------------- + prep_cif.c - Copyright (c) 2011, 2012 Anthony Green @@ -62291,7 +62343,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/prep_cif.c modified/Modules/_ctypes/li +#endif diff -Nru orig/Modules/_ctypes/libffi_ios/raw_api.c modified/Modules/_ctypes/libffi_ios/raw_api.c --- orig/Modules/_ctypes/libffi_ios/raw_api.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/raw_api.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/raw_api.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,267 @@ +/* ----------------------------------------------------------------------- + raw_api.c - Copyright (c) 1999, 2008 Red Hat, Inc. @@ -62562,7 +62614,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/raw_api.c modified/Modules/_ctypes/lib +#endif /* !FFI_NO_RAW_API */ diff -Nru orig/Modules/_ctypes/libffi_ios/types.c modified/Modules/_ctypes/libffi_ios/types.c --- orig/Modules/_ctypes/libffi_ios/types.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/types.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/types.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,106 @@ +/* ----------------------------------------------------------------------- + types.c - Copyright (c) 1996, 1998 Red Hat, Inc. @@ -62672,7 +62724,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/types.c modified/Modules/_ctypes/libff +#endif diff -Nru orig/Modules/_ctypes/libffi_ios/x86/ffi64_x86_64.c modified/Modules/_ctypes/libffi_ios/x86/ffi64_x86_64.c --- orig/Modules/_ctypes/libffi_ios/x86/ffi64_x86_64.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/x86/ffi64_x86_64.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/x86/ffi64_x86_64.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,829 @@ +#ifdef __x86_64__ + @@ -63506,7 +63558,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/x86/ffi64_x86_64.c modified/Modules/_c \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/x86/ffi_i386.c modified/Modules/_ctypes/libffi_ios/x86/ffi_i386.c --- orig/Modules/_ctypes/libffi_ios/x86/ffi_i386.c 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/x86/ffi_i386.c 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/x86/ffi_i386.c 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,734 @@ +#ifdef __i386__ + @@ -64245,7 +64297,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/x86/ffi_i386.c modified/Modules/_ctype \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/x86/internal.h modified/Modules/_ctypes/libffi_ios/x86/internal.h --- orig/Modules/_ctypes/libffi_ios/x86/internal.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/x86/internal.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/x86/internal.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,29 @@ +#define X86_RET_FLOAT 0 +#define X86_RET_DOUBLE 1 @@ -64278,7 +64330,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/x86/internal.h modified/Modules/_ctype +#endif diff -Nru orig/Modules/_ctypes/libffi_ios/x86/internal64.h modified/Modules/_ctypes/libffi_ios/x86/internal64.h --- orig/Modules/_ctypes/libffi_ios/x86/internal64.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/x86/internal64.h 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/x86/internal64.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,22 @@ +#define UNIX64_RET_VOID 0 +#define UNIX64_RET_UINT8 1 @@ -64304,7 +64356,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/x86/internal64.h modified/Modules/_cty +#define UNIX64_SIZE_SHIFT 12 diff -Nru orig/Modules/_ctypes/libffi_ios/x86/sysv_i386.S modified/Modules/_ctypes/libffi_ios/x86/sysv_i386.S --- orig/Modules/_ctypes/libffi_ios/x86/sysv_i386.S 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/x86/sysv_i386.S 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/x86/sysv_i386.S 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,1045 @@ +#ifdef __i386__ + @@ -65354,7 +65406,7 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/x86/sysv_i386.S modified/Modules/_ctyp \ No newline at end of file diff -Nru orig/Modules/_ctypes/libffi_ios/x86/unix64_x86_64.S modified/Modules/_ctypes/libffi_ios/x86/unix64_x86_64.S --- orig/Modules/_ctypes/libffi_ios/x86/unix64_x86_64.S 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Modules/_ctypes/libffi_ios/x86/unix64_x86_64.S 2016-07-04 11:42:57.000000000 +0800 ++++ modified/Modules/_ctypes/libffi_ios/x86/unix64_x86_64.S 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,551 @@ +#ifdef __x86_64__ + @@ -65909,8 +65961,8 @@ diff -Nru orig/Modules/_ctypes/libffi_ios/x86/unix64_x86_64.S modified/Modules/_ +#endif \ No newline at end of file diff -Nru orig/Modules/makesetup modified/Modules/makesetup ---- orig/Modules/makesetup 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Modules/makesetup 2016-07-04 11:46:18.000000000 +0800 +--- orig/Modules/makesetup 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Modules/makesetup 2017-01-27 19:03:44.000000000 +0800 @@ -128,7 +128,7 @@ # Output DEFS in reverse order so first definition overrides @@ -65952,8 +66004,8 @@ diff -Nru orig/Modules/makesetup modified/Modules/makesetup *) continue;; esac diff -Nru orig/Modules/mathmodule.c modified/Modules/mathmodule.c ---- orig/Modules/mathmodule.c 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Modules/mathmodule.c 2016-07-04 11:46:18.000000000 +0800 +--- orig/Modules/mathmodule.c 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Modules/mathmodule.c 2017-01-27 19:03:44.000000000 +0800 @@ -60,6 +60,10 @@ extern double copysign(double, double); #endif @@ -65983,8 +66035,8 @@ diff -Nru orig/Modules/mathmodule.c modified/Modules/mathmodule.c PyFPE_START_PROTECT("in math_hypot", return 0); r = hypot(x, y); diff -Nru orig/Modules/posixmodule.c modified/Modules/posixmodule.c ---- orig/Modules/posixmodule.c 2016-06-26 05:49:31.000000000 +0800 -+++ modified/Modules/posixmodule.c 2016-07-06 11:33:56.000000000 +0800 +--- orig/Modules/posixmodule.c 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Modules/posixmodule.c 2017-01-27 19:03:44.000000000 +0800 @@ -21,6 +21,8 @@ # pragma weak statvfs # pragma weak fstatvfs @@ -66047,7 +66099,7 @@ diff -Nru orig/Modules/posixmodule.c modified/Modules/posixmodule.c #if defined(PYOS_OS2) rc = DosQueryExtLIBPATH(buffer, BEGIN_LIBPATH); if (rc == NO_ERROR) { /* (not a type, envname is NOT 'BEGIN_LIBPATH') */ -@@ -2853,7 +2879,12 @@ +@@ -2841,7 +2867,12 @@ if (!PyArg_ParseTuple(args, "s:system", &command)) return NULL; Py_BEGIN_ALLOW_THREADS @@ -66061,8 +66113,8 @@ diff -Nru orig/Modules/posixmodule.c modified/Modules/posixmodule.c return PyInt_FromLong(sts); } diff -Nru orig/Modules/pwdmodule.c modified/Modules/pwdmodule.c ---- orig/Modules/pwdmodule.c 2016-07-04 13:19:38.000000000 +0800 -+++ modified/Modules/pwdmodule.c 2016-07-04 13:20:52.000000000 +0800 +--- orig/Modules/pwdmodule.c 2017-01-27 19:03:00.000000000 +0800 ++++ modified/Modules/pwdmodule.c 2017-01-27 19:03:44.000000000 +0800 @@ -1,6 +1,10 @@ /* UNIX password file access module */ @@ -66127,9 +66179,9 @@ diff -Nru orig/Modules/pwdmodule.c modified/Modules/pwdmodule.c {"getpwuid", pwd_getpwuid, METH_VARARGS, pwd_getpwuid__doc__}, {"getpwnam", pwd_getpwnam, METH_VARARGS, pwd_getpwnam__doc__}, diff -Nru orig/Python/marshal.c modified/Python/marshal.c ---- orig/Python/marshal.c 2016-06-26 05:49:32.000000000 +0800 -+++ modified/Python/marshal.c 2016-07-04 11:51:43.000000000 +0800 -@@ -11,13 +11,23 @@ +--- orig/Python/marshal.c 2017-01-27 19:03:01.000000000 +0800 ++++ modified/Python/marshal.c 2017-01-27 19:08:52.000000000 +0800 +@@ -11,17 +11,26 @@ #include "code.h" #include "marshal.h" @@ -66139,24 +66191,27 @@ diff -Nru orig/Python/marshal.c modified/Python/marshal.c + #define ABS(x) ((x) < 0 ? -(x) : (x)) -+ /* High water mark to determine when the marshalled object is dangerously deep * and risks coring the interpreter. When the object stack gets this deep, * raise an exception instead of continuing. -+ * iOS requires a reduced value. + * On Windows debug builds, reduce this value. ++ * iOS requires a reduced value also. */ + #if defined(MS_WINDOWS) && defined(_DEBUG) + #define MAX_MARSHAL_STACK_DEPTH 1000 + #else -#define MAX_MARSHAL_STACK_DEPTH 2000 -+#if TARGET_OS_IPHONE -+# define MAX_MARSHAL_STACK_DEPTH 1500 -+#else -+# define MAX_MARSHAL_STACK_DEPTH 2000 -+#endif /* TARGET_OS_IPHONE */ ++# if TARGET_OS_IPHONE ++# define MAX_MARSHAL_STACK_DEPTH 1500 ++# else ++# define MAX_MARSHAL_STACK_DEPTH 2000 ++# endif /* TARGET_OS_IPHONE */ + #endif #define TYPE_NULL '0' - #define TYPE_NONE 'N' diff -Nru orig/Tools/iOS-test/app/iOS-test/main.py modified/Tools/iOS-test/app/iOS-test/main.py --- orig/Tools/iOS-test/app/iOS-test/main.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/app/iOS-test/main.py 2016-07-05 13:03:10.000000000 +0800 ++++ modified/Tools/iOS-test/app/iOS-test/main.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,14 @@ +from __future__ import print_function + @@ -66174,13 +66229,13 @@ diff -Nru orig/Tools/iOS-test/app/iOS-test/main.py modified/Tools/iOS-test/app/i + diff -Nru orig/Tools/iOS-test/app_packages/README modified/Tools/iOS-test/app_packages/README --- orig/Tools/iOS-test/app_packages/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/app_packages/README 2016-07-04 11:50:21.000000000 +0800 ++++ modified/Tools/iOS-test/app_packages/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +This directory exists so that 3rd party packages can be installed here. \ No newline at end of file diff -Nru orig/Tools/iOS-test/iOS-test/Images.xcassets/AppIcon.appiconset/Contents.json modified/Tools/iOS-test/iOS-test/Images.xcassets/AppIcon.appiconset/Contents.json --- orig/Tools/iOS-test/iOS-test/Images.xcassets/AppIcon.appiconset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/iOS-test/Images.xcassets/AppIcon.appiconset/Contents.json 2016-07-04 11:50:21.000000000 +0800 ++++ modified/Tools/iOS-test/iOS-test/Images.xcassets/AppIcon.appiconset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,58 @@ +{ + "images" : [ @@ -66243,7 +66298,7 @@ diff -Nru orig/Tools/iOS-test/iOS-test/Images.xcassets/AppIcon.appiconset/Conten \ No newline at end of file diff -Nru orig/Tools/iOS-test/iOS-test/Images.xcassets/LaunchImage.launchimage/Contents.json modified/Tools/iOS-test/iOS-test/Images.xcassets/LaunchImage.launchimage/Contents.json --- orig/Tools/iOS-test/iOS-test/Images.xcassets/LaunchImage.launchimage/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/iOS-test/Images.xcassets/LaunchImage.launchimage/Contents.json 2016-07-04 11:50:21.000000000 +0800 ++++ modified/Tools/iOS-test/iOS-test/Images.xcassets/LaunchImage.launchimage/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,51 @@ +{ + "images" : [ @@ -66299,12 +66354,12 @@ diff -Nru orig/Tools/iOS-test/iOS-test/Images.xcassets/LaunchImage.launchimage/C \ No newline at end of file diff -Nru orig/Tools/iOS-test/iOS-test/en.lproj/InfoPlist.strings modified/Tools/iOS-test/iOS-test/en.lproj/InfoPlist.strings --- orig/Tools/iOS-test/iOS-test/en.lproj/InfoPlist.strings 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/iOS-test/en.lproj/InfoPlist.strings 2016-07-04 11:50:21.000000000 +0800 ++++ modified/Tools/iOS-test/iOS-test/en.lproj/InfoPlist.strings 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +/* Localized versions of Info.plist keys */ diff -Nru orig/Tools/iOS-test/iOS-test/iOS-test-Info.plist modified/Tools/iOS-test/iOS-test/iOS-test-Info.plist --- orig/Tools/iOS-test/iOS-test/iOS-test-Info.plist 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/iOS-test/iOS-test-Info.plist 2016-07-04 11:50:21.000000000 +0800 ++++ modified/Tools/iOS-test/iOS-test/iOS-test-Info.plist 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,45 @@ + + @@ -66353,7 +66408,7 @@ diff -Nru orig/Tools/iOS-test/iOS-test/iOS-test-Info.plist modified/Tools/iOS-te + diff -Nru orig/Tools/iOS-test/iOS-test/iOS-test-Prefix.pch modified/Tools/iOS-test/iOS-test/iOS-test-Prefix.pch --- orig/Tools/iOS-test/iOS-test/iOS-test-Prefix.pch 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/iOS-test/iOS-test-Prefix.pch 2016-07-04 11:50:21.000000000 +0800 ++++ modified/Tools/iOS-test/iOS-test/iOS-test-Prefix.pch 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,16 @@ +// +// Prefix header @@ -66374,7 +66429,7 @@ diff -Nru orig/Tools/iOS-test/iOS-test/iOS-test-Prefix.pch modified/Tools/iOS-te \ No newline at end of file diff -Nru orig/Tools/iOS-test/iOS-test/main.m modified/Tools/iOS-test/iOS-test/main.m --- orig/Tools/iOS-test/iOS-test/main.m 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/iOS-test/main.m 2016-07-06 17:09:36.000000000 +0800 ++++ modified/Tools/iOS-test/iOS-test/main.m 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,136 @@ +// +// main.m @@ -66515,7 +66570,7 @@ diff -Nru orig/Tools/iOS-test/iOS-test/main.m modified/Tools/iOS-test/iOS-test/m \ No newline at end of file diff -Nru orig/Tools/iOS-test/iOS-test.xcodeproj/project.pbxproj modified/Tools/iOS-test/iOS-test.xcodeproj/project.pbxproj --- orig/Tools/iOS-test/iOS-test.xcodeproj/project.pbxproj 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/iOS-test/iOS-test.xcodeproj/project.pbxproj 2016-07-06 10:56:08.000000000 +0800 ++++ modified/Tools/iOS-test/iOS-test.xcodeproj/project.pbxproj 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,369 @@ +// !$*UTF8*$! +{ @@ -66886,10 +66941,9 @@ diff -Nru orig/Tools/iOS-test/iOS-test.xcodeproj/project.pbxproj modified/Tools/ + }; + rootObject = 60796EDA19190F4100A9926B /* Project object */; +} -Binary files orig/Tools/tvOS-test/.DS_Store and modified/Tools/tvOS-test/.DS_Store differ diff -Nru orig/Tools/tvOS-test/app/README modified/Tools/tvOS-test/app/README --- orig/Tools/tvOS-test/app/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/app/README 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/app/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,3 @@ +Your application code should be placed in this directory. + @@ -66897,7 +66951,7 @@ diff -Nru orig/Tools/tvOS-test/app/README modified/Tools/tvOS-test/app/README \ No newline at end of file diff -Nru orig/Tools/tvOS-test/app/tvOS-test/main.py modified/Tools/tvOS-test/app/tvOS-test/main.py --- orig/Tools/tvOS-test/app/tvOS-test/main.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/app/tvOS-test/main.py 2016-07-06 22:34:35.000000000 +0800 ++++ modified/Tools/tvOS-test/app/tvOS-test/main.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,14 @@ +from __future__ import print_function + @@ -66915,14 +66969,12 @@ diff -Nru orig/Tools/tvOS-test/app/tvOS-test/main.py modified/Tools/tvOS-test/ap + diff -Nru orig/Tools/tvOS-test/app_packages/README modified/Tools/tvOS-test/app_packages/README --- orig/Tools/tvOS-test/app_packages/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/app_packages/README 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/app_packages/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +This directory exists so that 3rd party packages can be installed here. -Binary files orig/Tools/tvOS-test/tvOS-test/.DS_Store and modified/Tools/tvOS-test/tvOS-test/.DS_Store differ -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/.DS_Store and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/.DS_Store differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,13 @@ +{ + "images" : [ @@ -66938,10 +66990,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/large.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/large.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,6 @@ +{ + "info" : { @@ -66952,7 +67003,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im \ No newline at end of file diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ +{ + "layers" : [ @@ -66973,7 +67024,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im +} diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,13 @@ +{ + "images" : [ @@ -66989,10 +67040,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/large.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/large.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,6 @@ +{ + "info" : { @@ -67003,7 +67053,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im \ No newline at end of file diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,13 @@ +{ + "images" : [ @@ -67019,10 +67069,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/large.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/large.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,6 @@ +{ + "info" : { @@ -67033,7 +67082,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im \ No newline at end of file diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,13 @@ +{ + "images" : [ @@ -67049,10 +67098,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/small.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/small.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,6 @@ +{ + "info" : { @@ -67063,7 +67111,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im \ No newline at end of file diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,17 @@ +{ + "layers" : [ @@ -67084,7 +67132,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im +} diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,13 @@ +{ + "images" : [ @@ -67100,10 +67148,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/small.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/small.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,6 @@ +{ + "info" : { @@ -67114,7 +67161,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im \ No newline at end of file diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,13 @@ +{ + "images" : [ @@ -67130,10 +67177,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/small.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/small.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,6 @@ +{ + "info" : { @@ -67144,7 +67190,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im \ No newline at end of file diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,26 @@ +{ + "assets" : [ @@ -67173,10 +67219,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/.DS_Store and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/.DS_Store differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,13 @@ +{ + "images" : [ @@ -67192,10 +67237,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Im + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/shelf.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/shelf.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,6 @@ +{ + "info" : { @@ -67206,7 +67250,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/Contents.json modified/ \ No newline at end of file diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage/Contents.json modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage/Contents.json --- orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage/Contents.json 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,16 @@ +{ + "images" : [ @@ -67225,10 +67269,9 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage + } +} \ No newline at end of file -Binary files orig/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage/launch.png and modified/Tools/tvOS-test/tvOS-test/Assets.xcassets/LaunchImage.launchimage/launch.png differ diff -Nru orig/Tools/tvOS-test/tvOS-test/Base.lproj/Main.storyboard modified/Tools/tvOS-test/tvOS-test/Base.lproj/Main.storyboard --- orig/Tools/tvOS-test/tvOS-test/Base.lproj/Main.storyboard 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Base.lproj/Main.storyboard 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Base.lproj/Main.storyboard 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,25 @@ + + @@ -67257,7 +67300,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Base.lproj/Main.storyboard modified/Too + diff -Nru orig/Tools/tvOS-test/tvOS-test/Info.plist modified/Tools/tvOS-test/tvOS-test/Info.plist --- orig/Tools/tvOS-test/tvOS-test/Info.plist 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/Info.plist 2016-07-06 22:20:13.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/Info.plist 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,32 @@ + + @@ -67293,7 +67336,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/Info.plist modified/Tools/tvOS-test/tvO + diff -Nru orig/Tools/tvOS-test/tvOS-test/main.m modified/Tools/tvOS-test/tvOS-test/main.m --- orig/Tools/tvOS-test/tvOS-test/main.m 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test/main.m 2016-07-06 22:22:39.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test/main.m 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,136 @@ +// +// main.m @@ -67433,7 +67476,7 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test/main.m modified/Tools/tvOS-test/tvOS-te +} diff -Nru orig/Tools/tvOS-test/tvOS-test.xcodeproj/project.pbxproj modified/Tools/tvOS-test/tvOS-test.xcodeproj/project.pbxproj --- orig/Tools/tvOS-test/tvOS-test.xcodeproj/project.pbxproj 1970-01-01 08:00:00.000000000 +0800 -+++ modified/Tools/tvOS-test/tvOS-test.xcodeproj/project.pbxproj 2016-07-06 22:29:04.000000000 +0800 ++++ modified/Tools/tvOS-test/tvOS-test.xcodeproj/project.pbxproj 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,356 @@ +// !$*UTF8*$! +{ @@ -67792,11 +67835,11 @@ diff -Nru orig/Tools/tvOS-test/tvOS-test.xcodeproj/project.pbxproj modified/Tool + rootObject = 6023B2A11C28BA7A006F2562 /* Project object */; +} diff -Nru orig/config.sub modified/config.sub ---- orig/config.sub 2016-06-26 05:49:32.000000000 +0800 -+++ modified/config.sub 2016-07-06 16:22:05.000000000 +0800 -@@ -1512,6 +1512,12 @@ +--- orig/config.sub 2017-01-27 19:03:00.000000000 +0800 ++++ modified/config.sub 2017-01-27 19:03:44.000000000 +0800 +@@ -1543,6 +1543,12 @@ ;; - -nacl*) + -ios) ;; + -ios*) + ;; @@ -67808,9 +67851,9 @@ diff -Nru orig/config.sub modified/config.sub ;; *) diff -Nru orig/configure modified/configure ---- orig/configure 2016-06-26 05:49:32.000000000 +0800 -+++ modified/configure 2016-07-06 16:05:43.000000000 +0800 -@@ -3219,6 +3219,15 @@ +--- orig/configure 2017-01-27 19:03:00.000000000 +0800 ++++ modified/configure 2017-01-27 19:03:44.000000000 +0800 +@@ -3245,6 +3245,15 @@ *-*-cygwin*) ac_sys_system=Cygwin ;; @@ -67826,7 +67869,7 @@ diff -Nru orig/configure modified/configure *) # for now, limit cross builds to known configurations MACHDEP="unknown" -@@ -3262,6 +3271,15 @@ +@@ -3288,6 +3297,15 @@ _host_cpu=$host_cpu esac ;; @@ -67842,7 +67885,7 @@ diff -Nru orig/configure modified/configure *-*-cygwin*) _host_cpu= ;; -@@ -3341,6 +3359,13 @@ +@@ -3367,6 +3385,13 @@ define_xopen_source=no;; Darwin/1[0-9].*) define_xopen_source=no;; @@ -67856,7 +67899,7 @@ diff -Nru orig/configure modified/configure # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined # or has another value. By not (re)defining it, the defaults come in place. -@@ -16319,7 +16344,17 @@ +@@ -16469,7 +16494,17 @@ echo "creating Modules/Setup.local" if test ! -f Modules/Setup.local then @@ -67876,9 +67919,9 @@ diff -Nru orig/configure modified/configure echo "creating Makefile" diff -Nru orig/configure.ac modified/configure.ac ---- orig/configure.ac 2016-06-26 05:49:32.000000000 +0800 -+++ modified/configure.ac 2016-07-06 16:06:02.000000000 +0800 -@@ -50,7 +50,7 @@ +--- orig/configure.ac 2017-01-27 19:03:00.000000000 +0800 ++++ modified/configure.ac 2017-01-27 19:03:44.000000000 +0800 +@@ -53,7 +53,7 @@ dnl Last slash shouldn't be stripped if prefix=/ if test "$prefix" != "/"; then prefix=`echo "$prefix" | sed -e 's/\/$//g'` @@ -67887,7 +67930,7 @@ diff -Nru orig/configure.ac modified/configure.ac dnl This is for stuff that absolutely must end up in pyconfig.h. dnl Please use pyport.h instead, if possible. -@@ -135,7 +135,7 @@ +@@ -138,7 +138,7 @@ fi ;; esac @@ -67896,7 +67939,7 @@ diff -Nru orig/configure.ac modified/configure.ac ],[ UNIVERSALSDK= enable_universalsdk= -@@ -193,7 +193,7 @@ +@@ -196,7 +196,7 @@ AS_HELP_STRING([--enable-framework@<:@=INSTALLDIR@:>@], [Build (MacOSX|Darwin) framework]), [ case $enableval in @@ -67905,7 +67948,7 @@ diff -Nru orig/configure.ac modified/configure.ac enableval=/Library/Frameworks esac case $enableval in -@@ -248,7 +248,7 @@ +@@ -251,7 +251,7 @@ FRAMEWORKINSTALLAPPSPREFIX="${MDIR}/Applications" if test "${prefix}" = "NONE"; then @@ -67914,7 +67957,7 @@ diff -Nru orig/configure.ac modified/configure.ac # --prefix option, but wants to install # the framework in a non-default location, # ensure that the compatibility links get -@@ -323,6 +323,15 @@ +@@ -326,6 +326,15 @@ *-*-cygwin*) ac_sys_system=Cygwin ;; @@ -67930,7 +67973,7 @@ diff -Nru orig/configure.ac modified/configure.ac *) # for now, limit cross builds to known configurations MACHDEP="unknown" -@@ -366,6 +375,15 @@ +@@ -369,6 +378,15 @@ _host_cpu=$host_cpu esac ;; @@ -67946,7 +67989,7 @@ diff -Nru orig/configure.ac modified/configure.ac *-*-cygwin*) _host_cpu= ;; -@@ -376,7 +394,7 @@ +@@ -379,7 +397,7 @@ esac _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}" fi @@ -67955,7 +67998,7 @@ diff -Nru orig/configure.ac modified/configure.ac # Some systems cannot stand _XOPEN_SOURCE being defined at all; they # disable features if it is defined, without any means to access these # features as extensions. For these systems, we skip the definition of -@@ -393,7 +411,7 @@ +@@ -396,7 +414,7 @@ # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. # In addition, Stefan Krah confirms that issue #1244610 exists through # OpenBSD 4.6, but is fixed in 4.7. @@ -67964,7 +68007,7 @@ diff -Nru orig/configure.ac modified/configure.ac define_xopen_source=no # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is # also defined. This can be overridden by defining _BSD_SOURCE -@@ -431,17 +449,24 @@ +@@ -434,17 +452,24 @@ # with _XOPEN_SOURCE and __BSD_VISIBLE does not re-enable them. FreeBSD/4.*) define_xopen_source=no;; @@ -67991,7 +68034,7 @@ diff -Nru orig/configure.ac modified/configure.ac # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined # or has another value. By not (re)defining it, the defaults come in place. -@@ -462,7 +487,7 @@ +@@ -465,7 +490,7 @@ if test $define_xopen_source = yes then @@ -68000,7 +68043,7 @@ diff -Nru orig/configure.ac modified/configure.ac Define to the level of X/Open that your system supports) # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires -@@ -473,7 +498,7 @@ +@@ -476,7 +501,7 @@ Define to activate Unix95-and-earlier features) AC_DEFINE(_POSIX_C_SOURCE, 200112L, Define to activate features from IEEE Stds 1003.1-2001) @@ -68009,7 +68052,7 @@ diff -Nru orig/configure.ac modified/configure.ac fi # -@@ -504,11 +529,11 @@ +@@ -507,11 +532,11 @@ if test -z "$EXTRAPLATDIR" then case $MACHDEP in @@ -68023,7 +68066,7 @@ diff -Nru orig/configure.ac modified/configure.ac EXTRAPLATDIR="" EXTRAMACHDEPPATH="" ;; -@@ -646,7 +671,7 @@ +@@ -649,7 +674,7 @@ AS_HELP_STRING([--with-cxx-main=], [compile main() and link python executable with C++ compiler]), [ @@ -68032,7 +68075,7 @@ diff -Nru orig/configure.ac modified/configure.ac case $withval in no) with_cxx_main=no MAINCC='$(CC)';; -@@ -773,7 +798,7 @@ +@@ -776,7 +801,7 @@ # systems without shared libraries, LDLIBRARY is the same as LIBRARY # (defined in the Makefiles). On Cygwin LDLIBRARY is the import library, # DLLLIBRARY is the shared (i.e., DLL) library. @@ -68041,7 +68084,7 @@ diff -Nru orig/configure.ac modified/configure.ac # RUNSHARED is used to run shared python without installed libraries # # INSTSONAME is the name of the shared library that will be use to install -@@ -795,7 +820,7 @@ +@@ -798,7 +823,7 @@ # If CXX is set, and if it is needed to link a main function that was # compiled with CXX, LINKCC is CXX instead. Always using CXX is undesirable: # python might then depend on the C++ runtime @@ -68050,7 +68093,7 @@ diff -Nru orig/configure.ac modified/configure.ac # linking. AC_SUBST(LINKCC) AC_MSG_CHECKING(LINKCC) -@@ -842,7 +867,7 @@ +@@ -845,7 +870,7 @@ AS_HELP_STRING([--enable-shared], [disable/enable building shared python library])) if test -z "$enable_shared" @@ -68059,7 +68102,7 @@ diff -Nru orig/configure.ac modified/configure.ac case $ac_sys_system in CYGWIN* | atheos*) enable_shared="yes";; -@@ -887,7 +912,7 @@ +@@ -890,7 +915,7 @@ BLDLIBRARY='' else BLDLIBRARY='$(LDLIBRARY)' @@ -68068,7 +68111,7 @@ diff -Nru orig/configure.ac modified/configure.ac # Other platforms follow if test $enable_shared = "yes"; then -@@ -1038,14 +1063,14 @@ +@@ -1027,14 +1052,14 @@ # Check for --with-pydebug AC_MSG_CHECKING(for --with-pydebug) @@ -68088,7 +68131,7 @@ diff -Nru orig/configure.ac modified/configure.ac Py_DEBUG='true' else AC_MSG_RESULT(no); Py_DEBUG='false' fi], -@@ -1160,7 +1185,7 @@ +@@ -1149,7 +1174,7 @@ AC_MSG_CHECKING(which compiler should be used) case "${UNIVERSALSDK}" in */MacOSX10.4u.sdk) @@ -68097,7 +68140,7 @@ diff -Nru orig/configure.ac modified/configure.ac # compiler is gcc, otherwise the user will get very # confusing error messages when building on OSX 10.6 CC=gcc-4.0 -@@ -1183,9 +1208,9 @@ +@@ -1172,9 +1197,9 @@ cur_target=10.3 if test ${enable_universalsdk}; then if test "${UNIVERSAL_ARCHS}" = "all"; then @@ -68110,7 +68153,7 @@ diff -Nru orig/configure.ac modified/configure.ac # 4-way builds make sense. cur_target='10.5' -@@ -1208,8 +1233,8 @@ +@@ -1197,8 +1222,8 @@ fi fi CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}} @@ -68121,7 +68164,7 @@ diff -Nru orig/configure.ac modified/configure.ac # environment with a value that is the same as what we'll use # in the Makefile to ensure that we'll get the same compiler # environment during configure and build time. -@@ -1251,7 +1276,7 @@ +@@ -1240,7 +1265,7 @@ CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}" @@ -68130,7 +68173,7 @@ diff -Nru orig/configure.ac modified/configure.ac then CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" -@@ -1490,7 +1515,7 @@ +@@ -1556,7 +1581,7 @@ AC_MSG_RESULT($ac_cv_pthread_is_default) @@ -68139,7 +68182,7 @@ diff -Nru orig/configure.ac modified/configure.ac then ac_cv_kpthread=no else -@@ -1589,14 +1614,14 @@ +@@ -1655,14 +1680,14 @@ if test "$ac_cv_kpthread" = "yes" then @@ -68156,7 +68199,7 @@ diff -Nru orig/configure.ac modified/configure.ac CXX="$CXX -pthread" ac_cv_cxx_thread=yes fi -@@ -1715,11 +1740,11 @@ +@@ -1781,11 +1806,11 @@ # These may affect some typedefs case $ac_sys_system/$ac_sys_release in AIX*) @@ -68170,7 +68213,7 @@ diff -Nru orig/configure.ac modified/configure.ac [This must be defined on some systems to enable large file support.]) AC_DEFINE(_FILE_OFFSET_BITS, 64, [This must be set to 64 on some systems to enable large file support.]) -@@ -1781,7 +1806,7 @@ +@@ -1847,7 +1872,7 @@ AC_MSG_CHECKING(for long long support) have_long_long=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[long long x; x = (long long)0;]])],[ @@ -68179,7 +68222,7 @@ diff -Nru orig/configure.ac modified/configure.ac have_long_long=yes ],[]) AC_MSG_RESULT($have_long_long) -@@ -1803,7 +1828,7 @@ +@@ -1869,7 +1894,7 @@ AC_MSG_CHECKING(for _Bool support) have_c99_bool=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[_Bool x; x = (_Bool)0;]])],[ @@ -68188,7 +68231,7 @@ diff -Nru orig/configure.ac modified/configure.ac have_c99_bool=yes ],[]) AC_MSG_RESULT($have_c99_bool) -@@ -1811,8 +1836,8 @@ +@@ -1877,8 +1902,8 @@ AC_CHECK_SIZEOF(_Bool, 1) fi @@ -68199,7 +68242,7 @@ diff -Nru orig/configure.ac modified/configure.ac [], [#ifdef HAVE_STDINT_H #include #endif -@@ -1831,7 +1856,7 @@ +@@ -1897,7 +1922,7 @@ then if test "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \ "$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then @@ -68208,7 +68251,7 @@ diff -Nru orig/configure.ac modified/configure.ac [Defined to enable large file support when an off_t is bigger than a long and long long is available and at least as big as an off_t. You may need to add some flags for configuration and compilation to enable this mode. -@@ -1882,7 +1907,7 @@ +@@ -1948,7 +1973,7 @@ AS_HELP_STRING([--enable-toolbox-glue], [disable/enable MacOSX glue code for extensions])) if test -z "$enable_toolbox_glue" @@ -68217,7 +68260,7 @@ diff -Nru orig/configure.ac modified/configure.ac case $ac_sys_system/$ac_sys_release in Darwin/*) enable_toolbox_glue="yes";; -@@ -1907,7 +1932,7 @@ +@@ -1973,7 +1998,7 @@ AC_SUBST(OTHER_LIBTOOL_OPT) case $ac_sys_system/$ac_sys_release in @@ -68226,7 +68269,7 @@ diff -Nru orig/configure.ac modified/configure.ac OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000" ;; Darwin/*) -@@ -1918,7 +1943,7 @@ +@@ -1984,7 +2009,7 @@ AC_SUBST(LIBTOOL_CRUFT) case $ac_sys_system/$ac_sys_release in @@ -68235,7 +68278,7 @@ diff -Nru orig/configure.ac modified/configure.ac LIBTOOL_CRUFT="-framework System -lcc_dynamic" if test "${enable_universalsdk}"; then : -@@ -1932,7 +1957,7 @@ +@@ -1998,7 +2023,7 @@ if test ${gcc_version} '<' 4.0 then LIBTOOL_CRUFT="-lcc_dynamic" @@ -68244,7 +68287,7 @@ diff -Nru orig/configure.ac modified/configure.ac LIBTOOL_CRUFT="" fi AC_RUN_IFELSE([AC_LANG_SOURCE([[ -@@ -1946,14 +1971,14 @@ +@@ -2012,14 +2037,14 @@ } } ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes]) @@ -68264,7 +68307,7 @@ diff -Nru orig/configure.ac modified/configure.ac ;; *) AC_MSG_ERROR([Unexpected output of 'arch' on OSX]) -@@ -1961,11 +1986,11 @@ +@@ -2027,11 +2052,11 @@ esac else case `/usr/bin/arch` in @@ -68280,7 +68323,7 @@ diff -Nru orig/configure.ac modified/configure.ac ;; *) AC_MSG_ERROR([Unexpected output of 'arch' on OSX]) -@@ -1984,9 +2009,9 @@ +@@ -2050,9 +2075,9 @@ if test "$enable_framework" then BASECFLAGS="$BASECFLAGS -fno-common -dynamic" @@ -68292,7 +68335,7 @@ diff -Nru orig/configure.ac modified/configure.ac [Define if you want to produce an OpenStep/Rhapsody framework (shared library plus accessory files).]) AC_MSG_RESULT(yes) -@@ -2001,7 +2026,7 @@ +@@ -2067,7 +2092,7 @@ AC_MSG_CHECKING(for dyld) case $ac_sys_system/$ac_sys_release in Darwin/*) @@ -68301,7 +68344,7 @@ diff -Nru orig/configure.ac modified/configure.ac [Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic linker (dyld) instead of the old-style (NextStep) dynamic linker (rld). Dyld is necessary to support frameworks.]) -@@ -2067,7 +2092,7 @@ +@@ -2133,7 +2158,7 @@ ;; IRIX/5*) LDSHARED="ld -shared";; IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; @@ -68310,7 +68353,7 @@ diff -Nru orig/configure.ac modified/configure.ac if test "$GCC" = "yes" ; then LDSHARED='$(CC) -shared' LDCXXSHARED='$(CXX) -shared' -@@ -2251,7 +2276,7 @@ +@@ -2317,7 +2342,7 @@ BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";; Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; # -u libsys_s pulls in all symbols in libsys @@ -68319,7 +68362,7 @@ diff -Nru orig/configure.ac modified/configure.ac # -u _PyMac_Error is needed to pull in the mac toolbox glue, # which is # not used by the core itself but which needs to be in the core so -@@ -2269,7 +2294,7 @@ +@@ -2335,7 +2360,7 @@ OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";; SCO_SV*) LINKFORSHARED="-Wl,-Bexport";; ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";; @@ -68328,7 +68371,7 @@ diff -Nru orig/configure.ac modified/configure.ac if [[ "`$CC -dM -E - @\..*) DYNLOADFILE="dynload_next.o";; @@ -68406,7 +68449,7 @@ diff -Nru orig/configure.ac modified/configure.ac *) # use dynload_shlib.c and dlopen() if we have it; otherwise stub # out any dynamic loading -@@ -3206,12 +3233,12 @@ +@@ -3269,12 +3296,12 @@ dnl to revert to a more traditional unix behaviour and make it possible to dnl override the system libz with a local static library of libz. Temporarily dnl add that flag to our CFLAGS as well to ensure that we check the version @@ -68422,7 +68465,7 @@ diff -Nru orig/configure.ac modified/configure.ac _CUR_CFLAGS="${CFLAGS}" _CUR_LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS} -Wl,-search_paths_first" -@@ -3222,7 +3249,7 @@ +@@ -3285,7 +3312,7 @@ AC_CHECK_LIB(z, inflateCopy, AC_DEFINE(HAVE_ZLIB_COPY, 1, [Define if the zlib library has inflateCopy])) case $ac_sys_system/$ac_sys_release in @@ -68431,7 +68474,7 @@ diff -Nru orig/configure.ac modified/configure.ac CFLAGS="${_CUR_CFLAGS}" LDFLAGS="${_CUR_LDFLAGS}" ;; -@@ -3276,14 +3303,14 @@ +@@ -3339,14 +3366,14 @@ # check for openpty and forkpty @@ -68449,7 +68492,7 @@ diff -Nru orig/configure.ac modified/configure.ac [AC_DEFINE(HAVE_FORKPTY) LIBS="$LIBS -lutil"], AC_CHECK_LIB(bsd,forkpty, [AC_DEFINE(HAVE_FORKPTY) LIBS="$LIBS -lbsd"]) ) -@@ -3296,7 +3323,7 @@ +@@ -3359,7 +3386,7 @@ AC_CHECK_FUNCS(fseek64 fseeko fstatvfs ftell64 ftello statvfs) AC_REPLACE_FUNCS(dup2 getcwd strdup) @@ -68458,7 +68501,7 @@ diff -Nru orig/configure.ac modified/configure.ac AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[getpgrp(0);]])], [AC_DEFINE(GETPGRP_HAVE_ARG, 1, [Define if getpgrp() must be called as getpgrp(0).])], []) -@@ -3306,7 +3333,7 @@ +@@ -3369,7 +3396,7 @@ [AC_DEFINE(SETPGRP_HAVE_ARG, 1, [Define if setpgrp() must be called as setpgrp(0, 0).])], []) ) @@ -68467,7 +68510,7 @@ diff -Nru orig/configure.ac modified/configure.ac AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[gettimeofday((struct timeval*)0,(struct timezone*)0);]])], [], -@@ -3336,7 +3363,7 @@ +@@ -3399,7 +3426,7 @@ ]) # On OSF/1 V5.1, getaddrinfo is available, but a define @@ -68476,7 +68519,7 @@ diff -Nru orig/configure.ac modified/configure.ac AC_MSG_CHECKING(for getaddrinfo) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include -@@ -3496,7 +3523,7 @@ +@@ -3561,7 +3588,7 @@ ]], [[;]])],[ AC_DEFINE(SYS_SELECT_WITH_SYS_TIME, 1, [Define if you can safely include both and @@ -68485,7 +68528,7 @@ diff -Nru orig/configure.ac modified/configure.ac was_it_defined=yes ],[]) AC_MSG_RESULT($was_it_defined) -@@ -3547,8 +3574,8 @@ +@@ -3612,8 +3639,8 @@ have_prototypes=no AC_MSG_CHECKING(for prototypes) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int foo(int x) { return 0; }]], [[return foo(10);]])], @@ -68496,7 +68539,7 @@ diff -Nru orig/configure.ac modified/configure.ac have_prototypes=yes], [] ) -@@ -3569,7 +3596,7 @@ +@@ -3634,7 +3661,7 @@ ]], [[return foo(10, "", 3.14);]])],[ AC_DEFINE(HAVE_STDARG_PROTOTYPES, 1, [Define if your compiler supports variable length function prototypes @@ -68505,7 +68548,7 @@ diff -Nru orig/configure.ac modified/configure.ac works=yes ],[]) AC_MSG_RESULT($works) -@@ -3604,7 +3631,7 @@ +@@ -3669,7 +3696,7 @@ #include #endif ]], [[va_list list1, list2; list1 = list2;]])],[],[ @@ -68514,7 +68557,7 @@ diff -Nru orig/configure.ac modified/configure.ac va_list_is_array=yes ]) AC_MSG_RESULT($va_list_is_array) -@@ -3699,9 +3726,9 @@ +@@ -3764,9 +3791,9 @@ AS_HELP_STRING([--with-fpectl], [enable SIGFPE catching]), [ if test "$withval" != no @@ -68526,7 +68569,7 @@ diff -Nru orig/configure.ac modified/configure.ac AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi], -@@ -4016,8 +4043,8 @@ +@@ -4081,8 +4108,8 @@ # check for wchar.h AC_CHECK_HEADER(wchar.h, [ @@ -68537,7 +68580,7 @@ diff -Nru orig/configure.ac modified/configure.ac wchar_h="yes" ], wchar_h="no" -@@ -4060,10 +4087,10 @@ +@@ -4125,10 +4152,10 @@ [ac_cv_wchar_t_signed=yes])]) AC_MSG_RESULT($ac_cv_wchar_t_signed) fi @@ -68550,7 +68593,7 @@ diff -Nru orig/configure.ac modified/configure.ac AS_HELP_STRING([--enable-unicode@<:@=ucs@<:@24@:>@@:>@], [Enable Unicode strings (default is ucs2)]), [], [enable_unicode=yes]) -@@ -4312,7 +4339,7 @@ +@@ -4377,7 +4404,7 @@ [Define if poll() sets errno on invalid file descriptors.]) fi @@ -68559,7 +68602,7 @@ diff -Nru orig/configure.ac modified/configure.ac # (which is not required by ISO C or UNIX spec) and/or if we support # tzname[] AC_STRUCT_TIMEZONE -@@ -4338,7 +4365,7 @@ +@@ -4403,7 +4430,7 @@ tm->tm_zone does not exist since it is the alternative way of getting timezone info. @@ -68568,7 +68611,7 @@ diff -Nru orig/configure.ac modified/configure.ac after New Year's Day. */ -@@ -4351,7 +4378,7 @@ +@@ -4416,7 +4443,7 @@ exit(1); #if HAVE_TZNAME /* For UTC, tzname[1] is sometimes "", sometimes " " */ @@ -68577,7 +68620,7 @@ diff -Nru orig/configure.ac modified/configure.ac (tzname[1][0] != 0 && tzname[1][0] != ' ')) exit(1); #endif -@@ -4469,7 +4496,7 @@ +@@ -4534,7 +4561,7 @@ if test "$ac_cv_window_has_flags" = yes then @@ -68586,7 +68629,7 @@ diff -Nru orig/configure.ac modified/configure.ac [Define if WINDOW in curses.h offers a field _flags.]) fi -@@ -4672,7 +4699,7 @@ +@@ -4737,7 +4764,7 @@ fi done @@ -68595,7 +68638,7 @@ diff -Nru orig/configure.ac modified/configure.ac # Check for --with-computed-gotos AC_MSG_CHECKING(for --with-computed-gotos) AC_ARG_WITH(computed-gotos, -@@ -4680,15 +4707,15 @@ +@@ -4745,15 +4772,15 @@ [Use computed gotos in evaluation loop (enabled by default on supported compilers)]), [ if test "$withval" = yes @@ -68615,7 +68658,7 @@ diff -Nru orig/configure.ac modified/configure.ac AC_MSG_RESULT(no) fi ], -@@ -4753,7 +4780,17 @@ +@@ -4818,7 +4845,17 @@ echo "creating Modules/Setup.local" if test ! -f Modules/Setup.local then @@ -68636,7 +68679,7 @@ diff -Nru orig/configure.ac modified/configure.ac echo "creating Makefile" diff -Nru orig/iOS/Makefile modified/iOS/Makefile --- orig/iOS/Makefile 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/Makefile 2016-07-06 16:22:21.000000000 +0800 ++++ modified/iOS/Makefile 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,248 @@ +# This is a "Meta-makefile" for building an iOS-compatible Python.framework. +# It invokes the base makefile multiple times, once for each hardware platform @@ -68888,7 +68931,7 @@ diff -Nru orig/iOS/Makefile modified/iOS/Makefile + cd $(FRAMEWORK_DIR) && ln -fs Versions/Current/Python diff -Nru orig/iOS/README modified/iOS/README --- orig/iOS/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/README 2016-07-06 16:43:21.000000000 +0800 ++++ modified/iOS/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,165 @@ +==================== +Python on iOS README @@ -69057,20 +69100,20 @@ diff -Nru orig/iOS/README modified/iOS/README +.. _PyObjC: https://pythonhosted.org/pyobjc/ diff -Nru orig/iOS/XCode-sample/app/sample/main.py modified/iOS/XCode-sample/app/sample/main.py --- orig/iOS/XCode-sample/app/sample/main.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/app/sample/main.py 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/app/sample/main.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,3 @@ + +if __name__ == '__main__': + print("Hello, World.") diff -Nru orig/iOS/XCode-sample/app_packages/README modified/iOS/XCode-sample/app_packages/README --- orig/iOS/XCode-sample/app_packages/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/app_packages/README 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/app_packages/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +This directory exists so that 3rd party packages can be installed here. \ No newline at end of file diff -Nru orig/iOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json modified/iOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json --- orig/iOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,53 @@ +{ + "images" : [ @@ -69128,7 +69171,7 @@ diff -Nru orig/iOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Conten \ No newline at end of file diff -Nru orig/iOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json modified/iOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json --- orig/iOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,51 @@ +{ + "images" : [ @@ -69184,12 +69227,12 @@ diff -Nru orig/iOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/C \ No newline at end of file diff -Nru orig/iOS/XCode-sample/sample/en.lproj/InfoPlist.strings modified/iOS/XCode-sample/sample/en.lproj/InfoPlist.strings --- orig/iOS/XCode-sample/sample/en.lproj/InfoPlist.strings 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/sample/en.lproj/InfoPlist.strings 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/sample/en.lproj/InfoPlist.strings 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +/* Localized versions of Info.plist keys */ diff -Nru orig/iOS/XCode-sample/sample/main.m modified/iOS/XCode-sample/sample/main.m --- orig/iOS/XCode-sample/sample/main.m 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/sample/main.m 2016-07-06 14:27:53.000000000 +0800 ++++ modified/iOS/XCode-sample/sample/main.m 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,111 @@ +// +// main.m @@ -69305,7 +69348,7 @@ diff -Nru orig/iOS/XCode-sample/sample/main.m modified/iOS/XCode-sample/sample/m \ No newline at end of file diff -Nru orig/iOS/XCode-sample/sample/sample-Info.plist modified/iOS/XCode-sample/sample/sample-Info.plist --- orig/iOS/XCode-sample/sample/sample-Info.plist 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/sample/sample-Info.plist 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/sample/sample-Info.plist 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,45 @@ + + @@ -69355,7 +69398,7 @@ diff -Nru orig/iOS/XCode-sample/sample/sample-Info.plist modified/iOS/XCode-samp \ No newline at end of file diff -Nru orig/iOS/XCode-sample/sample/sample-Prefix.pch modified/iOS/XCode-sample/sample/sample-Prefix.pch --- orig/iOS/XCode-sample/sample/sample-Prefix.pch 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/sample/sample-Prefix.pch 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/sample/sample-Prefix.pch 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,16 @@ +// +// Prefix header @@ -69376,7 +69419,7 @@ diff -Nru orig/iOS/XCode-sample/sample/sample-Prefix.pch modified/iOS/XCode-samp \ No newline at end of file diff -Nru orig/iOS/XCode-sample/sample.xcodeproj/project.pbxproj modified/iOS/XCode-sample/sample.xcodeproj/project.pbxproj --- orig/iOS/XCode-sample/sample.xcodeproj/project.pbxproj 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/XCode-sample/sample.xcodeproj/project.pbxproj 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/XCode-sample/sample.xcodeproj/project.pbxproj 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,353 @@ +// !$*UTF8*$! +{ @@ -69733,7 +69776,7 @@ diff -Nru orig/iOS/XCode-sample/sample.xcodeproj/project.pbxproj modified/iOS/XC +} diff -Nru orig/iOS/include/pyconfig.h modified/iOS/include/pyconfig.h --- orig/iOS/include/pyconfig.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/iOS/include/pyconfig.h 2016-07-04 11:50:21.000000000 +0800 ++++ modified/iOS/include/pyconfig.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,15 @@ +#ifdef __arm__ +#include "pyconfig-armv7.h" @@ -69751,10 +69794,9 @@ diff -Nru orig/iOS/include/pyconfig.h modified/iOS/include/pyconfig.h +#include "pyconfig-x86_64.h" +#endif \ No newline at end of file -Binary files orig/tvOS/.DS_Store and modified/tvOS/.DS_Store differ diff -Nru orig/tvOS/Makefile modified/tvOS/Makefile --- orig/tvOS/Makefile 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/Makefile 2016-07-06 22:32:26.000000000 +0800 ++++ modified/tvOS/Makefile 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,169 @@ +# This is a "Meta-makefile" for building an tvOS-compatible Python.framework. +# It invokes the base makefile multiple times, once for each hardware platform @@ -69927,7 +69969,7 @@ diff -Nru orig/tvOS/Makefile modified/tvOS/Makefile + cd $(FRAMEWORK_DIR) && ln -fs Versions/Current/Python diff -Nru orig/tvOS/README modified/tvOS/README --- orig/tvOS/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/README 2016-07-06 16:19:05.000000000 +0800 ++++ modified/tvOS/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,161 @@ +===================== +Python on tvOS README @@ -70090,23 +70132,22 @@ diff -Nru orig/tvOS/README modified/tvOS/README +.. _Rubicon ObjC: http://pybee.org/rubicon +.. _Pyobjus: http://pyobjus.readthedocs.org/ +.. _PyObjC: https://pythonhosted.org/pyobjc/ -Binary files orig/tvOS/XCode-sample/.DS_Store and modified/tvOS/XCode-sample/.DS_Store differ diff -Nru orig/tvOS/XCode-sample/app/sample/main.py modified/tvOS/XCode-sample/app/sample/main.py --- orig/tvOS/XCode-sample/app/sample/main.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/app/sample/main.py 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/app/sample/main.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,3 @@ + +if __name__ == '__main__': + print("Hello, World.") diff -Nru orig/tvOS/XCode-sample/app_packages/README modified/tvOS/XCode-sample/app_packages/README --- orig/tvOS/XCode-sample/app_packages/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/app_packages/README 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/app_packages/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +This directory exists so that 3rd party packages can be installed here. \ No newline at end of file diff -Nru orig/tvOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json modified/tvOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json --- orig/tvOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,53 @@ +{ + "images" : [ @@ -70164,7 +70205,7 @@ diff -Nru orig/tvOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Conte \ No newline at end of file diff -Nru orig/tvOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json modified/tvOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json --- orig/tvOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,51 @@ +{ + "images" : [ @@ -70220,12 +70261,12 @@ diff -Nru orig/tvOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/ \ No newline at end of file diff -Nru orig/tvOS/XCode-sample/sample/en.lproj/InfoPlist.strings modified/tvOS/XCode-sample/sample/en.lproj/InfoPlist.strings --- orig/tvOS/XCode-sample/sample/en.lproj/InfoPlist.strings 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/sample/en.lproj/InfoPlist.strings 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/sample/en.lproj/InfoPlist.strings 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +/* Localized versions of Info.plist keys */ diff -Nru orig/tvOS/XCode-sample/sample/main.m modified/tvOS/XCode-sample/sample/main.m --- orig/tvOS/XCode-sample/sample/main.m 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/sample/main.m 2016-07-07 15:12:51.000000000 +0800 ++++ modified/tvOS/XCode-sample/sample/main.m 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,111 @@ +// +// main.m @@ -70341,7 +70382,7 @@ diff -Nru orig/tvOS/XCode-sample/sample/main.m modified/tvOS/XCode-sample/sample \ No newline at end of file diff -Nru orig/tvOS/XCode-sample/sample/sample-Info.plist modified/tvOS/XCode-sample/sample/sample-Info.plist --- orig/tvOS/XCode-sample/sample/sample-Info.plist 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/sample/sample-Info.plist 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/sample/sample-Info.plist 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,45 @@ + + @@ -70391,7 +70432,7 @@ diff -Nru orig/tvOS/XCode-sample/sample/sample-Info.plist modified/tvOS/XCode-sa \ No newline at end of file diff -Nru orig/tvOS/XCode-sample/sample/sample-Prefix.pch modified/tvOS/XCode-sample/sample/sample-Prefix.pch --- orig/tvOS/XCode-sample/sample/sample-Prefix.pch 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/sample/sample-Prefix.pch 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/sample/sample-Prefix.pch 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,16 @@ +// +// Prefix header @@ -70412,7 +70453,7 @@ diff -Nru orig/tvOS/XCode-sample/sample/sample-Prefix.pch modified/tvOS/XCode-sa \ No newline at end of file diff -Nru orig/tvOS/XCode-sample/sample.xcodeproj/project.pbxproj modified/tvOS/XCode-sample/sample.xcodeproj/project.pbxproj --- orig/tvOS/XCode-sample/sample.xcodeproj/project.pbxproj 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/XCode-sample/sample.xcodeproj/project.pbxproj 2016-07-06 14:42:24.000000000 +0800 ++++ modified/tvOS/XCode-sample/sample.xcodeproj/project.pbxproj 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,353 @@ +// !$*UTF8*$! +{ @@ -70769,7 +70810,7 @@ diff -Nru orig/tvOS/XCode-sample/sample.xcodeproj/project.pbxproj modified/tvOS/ +} diff -Nru orig/tvOS/include/pyconfig.h modified/tvOS/include/pyconfig.h --- orig/tvOS/include/pyconfig.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/tvOS/include/pyconfig.h 2016-07-06 15:32:16.000000000 +0800 ++++ modified/tvOS/include/pyconfig.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,7 @@ +#ifdef __arm64__ +#include "pyconfig-arm64.h" @@ -70779,10 +70820,9 @@ diff -Nru orig/tvOS/include/pyconfig.h modified/tvOS/include/pyconfig.h +#include "pyconfig-x86_64.h" +#endif \ No newline at end of file -Binary files orig/watchOS/.DS_Store and modified/watchOS/.DS_Store differ diff -Nru orig/watchOS/Makefile modified/watchOS/Makefile --- orig/watchOS/Makefile 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/Makefile 2016-07-06 22:32:24.000000000 +0800 ++++ modified/watchOS/Makefile 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,169 @@ +# This is a "Meta-makefile" for building an watchOS-compatible Python.framework. +# It invokes the base makefile multiple times, once for each hardware platform @@ -70955,7 +70995,7 @@ diff -Nru orig/watchOS/Makefile modified/watchOS/Makefile + cd $(FRAMEWORK_DIR) && ln -fs Versions/Current/Python diff -Nru orig/watchOS/README modified/watchOS/README --- orig/watchOS/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/README 2016-07-06 16:17:30.000000000 +0800 ++++ modified/watchOS/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,161 @@ +======================== +Python on watchOS README @@ -71118,23 +71158,22 @@ diff -Nru orig/watchOS/README modified/watchOS/README +.. _Rubicon ObjC: http://pybee.org/rubicon +.. _Pyobjus: http://pyobjus.readthedocs.org/ +.. _PyObjC: https://pythonhosted.org/pyobjc/ -Binary files orig/watchOS/XCode-sample/.DS_Store and modified/watchOS/XCode-sample/.DS_Store differ diff -Nru orig/watchOS/XCode-sample/app/sample/main.py modified/watchOS/XCode-sample/app/sample/main.py --- orig/watchOS/XCode-sample/app/sample/main.py 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/app/sample/main.py 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/app/sample/main.py 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,3 @@ + +if __name__ == '__main__': + print("Hello, World.") diff -Nru orig/watchOS/XCode-sample/app_packages/README modified/watchOS/XCode-sample/app_packages/README --- orig/watchOS/XCode-sample/app_packages/README 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/app_packages/README 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/app_packages/README 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +This directory exists so that 3rd party packages can be installed here. \ No newline at end of file diff -Nru orig/watchOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json modified/watchOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json --- orig/watchOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,53 @@ +{ + "images" : [ @@ -71192,7 +71231,7 @@ diff -Nru orig/watchOS/XCode-sample/sample/Images.xcassets/AppIcon.appiconset/Co \ No newline at end of file diff -Nru orig/watchOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json modified/watchOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json --- orig/watchOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchimage/Contents.json 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,51 @@ +{ + "images" : [ @@ -71248,12 +71287,12 @@ diff -Nru orig/watchOS/XCode-sample/sample/Images.xcassets/LaunchImage.launchima \ No newline at end of file diff -Nru orig/watchOS/XCode-sample/sample/en.lproj/InfoPlist.strings modified/watchOS/XCode-sample/sample/en.lproj/InfoPlist.strings --- orig/watchOS/XCode-sample/sample/en.lproj/InfoPlist.strings 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/sample/en.lproj/InfoPlist.strings 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/sample/en.lproj/InfoPlist.strings 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1 @@ +/* Localized versions of Info.plist keys */ diff -Nru orig/watchOS/XCode-sample/sample/main.m modified/watchOS/XCode-sample/sample/main.m --- orig/watchOS/XCode-sample/sample/main.m 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/sample/main.m 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/sample/main.m 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,111 @@ +// +// main.m @@ -71369,7 +71408,7 @@ diff -Nru orig/watchOS/XCode-sample/sample/main.m modified/watchOS/XCode-sample/ \ No newline at end of file diff -Nru orig/watchOS/XCode-sample/sample/sample-Info.plist modified/watchOS/XCode-sample/sample/sample-Info.plist --- orig/watchOS/XCode-sample/sample/sample-Info.plist 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/sample/sample-Info.plist 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/sample/sample-Info.plist 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,45 @@ + + @@ -71419,7 +71458,7 @@ diff -Nru orig/watchOS/XCode-sample/sample/sample-Info.plist modified/watchOS/XC \ No newline at end of file diff -Nru orig/watchOS/XCode-sample/sample/sample-Prefix.pch modified/watchOS/XCode-sample/sample/sample-Prefix.pch --- orig/watchOS/XCode-sample/sample/sample-Prefix.pch 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/sample/sample-Prefix.pch 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/sample/sample-Prefix.pch 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,16 @@ +// +// Prefix header @@ -71440,7 +71479,7 @@ diff -Nru orig/watchOS/XCode-sample/sample/sample-Prefix.pch modified/watchOS/XC \ No newline at end of file diff -Nru orig/watchOS/XCode-sample/sample.xcodeproj/project.pbxproj modified/watchOS/XCode-sample/sample.xcodeproj/project.pbxproj --- orig/watchOS/XCode-sample/sample.xcodeproj/project.pbxproj 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/XCode-sample/sample.xcodeproj/project.pbxproj 2016-07-06 15:24:57.000000000 +0800 ++++ modified/watchOS/XCode-sample/sample.xcodeproj/project.pbxproj 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,353 @@ +// !$*UTF8*$! +{ @@ -71797,7 +71836,7 @@ diff -Nru orig/watchOS/XCode-sample/sample.xcodeproj/project.pbxproj modified/wa +} diff -Nru orig/watchOS/include/pyconfig.h modified/watchOS/include/pyconfig.h --- orig/watchOS/include/pyconfig.h 1970-01-01 08:00:00.000000000 +0800 -+++ modified/watchOS/include/pyconfig.h 2016-07-06 15:32:25.000000000 +0800 ++++ modified/watchOS/include/pyconfig.h 2017-01-27 19:03:44.000000000 +0800 @@ -0,0 +1,7 @@ +#ifdef __arm__ +#include "pyconfig-armv7k.h"