List of commits:
Subject Hash Author Date (UTC)
bpo-30024: Circular imports involving absolute imports with binding (#1264) f93234bb8a87855f295d441524e519481ce6ab13 Serhiy Storchaka 2017-05-09 19:31:05
bpo-30273: update distutils.sysconfig for venv's created from Python (#1515) dbdea629e2e0e4bd8845aa55041e0a0ca4172cf3 Jeremy Kloth 2017-05-09 15:24:13
bpo-30258: regrtest: Fix run_tests_multiprocess() (#1479) 74683fc6247c522ae955a6e7308b8ff51def35d8 Victor Stinner 2017-05-09 09:34:01
bpo-29990: Fix range checking in GB18030 decoder (#1495) 9da408d15bdef624a5632182cb4edf98001fa82f Xiang Zhang 2017-05-09 03:38:32
bpo-30289: remove Misc/python-config.sh when make distclean (#1498) fa5abac1e6cd74979557d5a6f960a55f40a10b0e Xiang Zhang 2017-05-09 02:32:13
bpo-29979: Rewrite cgi.parse_multipart to make it consistent with FieldStorage (#991) cc3fa204d357be5fafc10eb8c2a80fe0bca998f1 Pierre Quentel 2017-05-08 12:08:34
Fix a trivial typo in global section (#1497) f34c6850203a2406c4950af7a9c8a134145df4ea Jim Fasarakis-Hilliard 2017-05-08 11:36:29
Closes bpo-30168: indent methods in Logger Class (#1295) 55ace65eba587fe3cf3759a43cccf85214651971 Jim Fasarakis-Hilliard 2017-05-07 18:40:18
Revert bpo-26293 for zipfile breakage. See also bpo-29094. (#1484) 3763ea865cee5bbabcce11cd577811135e0fc747 Serhiy Storchaka 2017-05-06 11:46:01
bpo-30218: support path-like objects in shutil.unpack_archive() (GH-1367) a12df7b7d40dbf47825917c8fa03d2c09b5a382c Jelle Zijlstra 2017-05-05 21:27:12
bpo-29243: Fix Makefile with respect to --enable-optimizations (#1478) a1054c3b0037d4c2a5492e79fc193f36245366c7 torsava 2017-05-05 15:35:50
bpo-29920: Document cgitb.text() and cgitb.html() functions (GH-849) c07b3a15be5e0a68a73b4c532861ed8de6932bd2 masklinn 2017-05-05 08:15:12
bpo-30279: Remove unused Python/thread_foobar.h (#1473) fdaeea620f8c78da89cddba4ab010c64535800e0 Masayuki Yamamoto 2017-05-05 08:04:13
bpo-30264: ExpatParser closes the source on error (#1451) ef9c0e732fc50aefbdd7c5a80e04e14b31684e66 Victor Stinner 2017-05-05 07:46:47
bpo-30277: Replace _sre.getlower() with _sre.ascii_tolower() and _sre.unicode_tolower(). (#1468) 7186cc29be352bed6f1110873283d073fd0643e4 Serhiy Storchaka 2017-05-05 07:42:46
bpo-30243: Fixed the possibility of a crash in _json. (#1420) 76a3e51a403bc84ed536921866c86dd7d07aaa7e Serhiy Storchaka 2017-05-05 07:08:49
bpo-30215: Make re.compile() locale agnostic. (#1361) 898ff03e1e7925ecde3da66327d3cdc7e07625ba Serhiy Storchaka 2017-05-05 05:53:40
Make code coverage less strict (GH-1438) 647c3d381e67490e82cdbbe6c96e46d5e1628ce2 Brett Cannon 2017-05-04 21:58:54
bpo-30273: Update sysconfig (#1464) b109a1d3360fc4bb87b9887264e3634632d392ca Victor Stinner 2017-05-04 21:29:09
bpo-30185: avoid KeyboardInterrupt tracebacks in forkserver (#1319) 6dd4d734ed207ba16b017e38f8909de7ef187e29 Antoine Pitrou 2017-05-04 14:44:53
Commit f93234bb8a87855f295d441524e519481ce6ab13 - bpo-30024: Circular imports involving absolute imports with binding (#1264)
a submodule to a name are now supported.
Author: Serhiy Storchaka
Author date (UTC): 2017-05-09 19:31
Committer name: GitHub
Committer date (UTC): 2017-05-09 19:31
Parent(s): dbdea629e2e0e4bd8845aa55041e0a0ca4172cf3
Signing key:
Tree: df779655af5c9119aee4440fdb428b210bb09f92
File Lines added Lines deleted
Doc/whatsnew/3.7.rst 4 0
Lib/test/test_import/__init__.py 6 0
Lib/test/test_import/data/circular_imports/binding.py 1 0
Lib/test/test_import/data/circular_imports/binding2.py 1 0
Misc/NEWS 3 0
Python/compile.c 2 2
File Doc/whatsnew/3.7.rst changed (mode: 100644) (index b2dc995dce..3de8bc5c93)
... ... Other Language Changes
85 85 * :exc:`ImportError` now displays module name and module ``__file__`` path when * :exc:`ImportError` now displays module name and module ``__file__`` path when
86 86 ``from ... import ...`` fails. (Contributed by Matthias Bussonnier in :issue:`29546`.) ``from ... import ...`` fails. (Contributed by Matthias Bussonnier in :issue:`29546`.)
87 87
88 * Circular imports involving absolute imports with binding a submodule to
89 a name are now supported.
90 (Contributed by Serhiy Storchaka in :issue:`30024`.)
91
88 92
89 93 New Modules New Modules
90 94 =========== ===========
File Lib/test/test_import/__init__.py changed (mode: 100644) (index d4b4445929..be17d6b774)
... ... class CircularImportTests(unittest.TestCase):
1168 1168 from test.test_import.data.circular_imports.subpkg import util from test.test_import.data.circular_imports.subpkg import util
1169 1169 self.assertIs(util.util, rebinding.util) self.assertIs(util.util, rebinding.util)
1170 1170
1171 def test_binding(self):
1172 try:
1173 import test.test_import.data.circular_imports.binding
1174 except ImportError:
1175 self.fail('circular import with binding a submodule to a name failed')
1176
1171 1177
1172 1178 if __name__ == '__main__': if __name__ == '__main__':
1173 1179 # Test needs to be a package, so we can do relative imports. # Test needs to be a package, so we can do relative imports.
File Lib/test/test_import/data/circular_imports/binding.py added (mode: 100644) (index 0000000000..1fbf929abb)
1 import test.test_import.data.circular_imports.binding2 as binding2
File Lib/test/test_import/data/circular_imports/binding2.py added (mode: 100644) (index 0000000000..3d6693769d)
1 import test.test_import.data.circular_imports.binding as binding
File Misc/NEWS changed (mode: 100644) (index b9348880b4..1828b01065)
... ... What's New in Python 3.7.0 alpha 1?
10 10 Core and Builtins Core and Builtins
11 11 ----------------- -----------------
12 12
13 - bpo-30024: Circular imports involving absolute imports with binding
14 a submodule to a name are now supported.
15
13 16 - bpo-12414: sys.getsizeof() on a code object now returns the sizes - bpo-12414: sys.getsizeof() on a code object now returns the sizes
14 17 which includes the code struct and sizes of objects which it references. which includes the code struct and sizes of objects which it references.
15 18 Patch by Dong-hee Na. Patch by Dong-hee Na.
File Python/compile.c changed (mode: 100644) (index b630863afc..dad7404a85)
... ... compiler_import_as(struct compiler *c, identifier name, identifier asname)
2546 2546 merely needs to bind the result to a name. merely needs to bind the result to a name.
2547 2547
2548 2548 If there is a dot in name, we need to split it and emit a If there is a dot in name, we need to split it and emit a
2549 LOAD_ATTR for each name.
2549 IMPORT_FROM for each name.
2550 2550 */ */
2551 2551 Py_ssize_t dot = PyUnicode_FindChar(name, '.', 0, Py_ssize_t dot = PyUnicode_FindChar(name, '.', 0,
2552 2552 PyUnicode_GET_LENGTH(name), 1); PyUnicode_GET_LENGTH(name), 1);
 
... ... compiler_import_as(struct compiler *c, identifier name, identifier asname)
2566 2566 PyUnicode_GET_LENGTH(name)); PyUnicode_GET_LENGTH(name));
2567 2567 if (!attr) if (!attr)
2568 2568 return 0; return 0;
2569 ADDOP_O(c, LOAD_ATTR, attr, names);
2569 ADDOP_O(c, IMPORT_FROM, attr, names);
2570 2570 Py_DECREF(attr); Py_DECREF(attr);
2571 2571 pos = dot + 1; pos = dot + 1;
2572 2572 } }
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/benf_wspdigital/cpython

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/benf_wspdigital/cpython

Clone this repository using git:
git clone git://git.rocketgit.com/user/benf_wspdigital/cpython

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main