changeset: 96302:32ee7b9d58c9 parent: 96300:ff8b603ee51e parent: 96301:55e6f3f94b99 user: Nick Coghlan date: Tue May 26 21:57:16 2015 +1000 files: Misc/NEWS description: Merge fix for issue #24285 from 3.5 diff -r ff8b603ee51e -r 32ee7b9d58c9 Lib/test/test_importlib/extension/test_loader.py --- a/Lib/test/test_importlib/extension/test_loader.py Tue May 26 01:47:58 2015 -0700 +++ b/Lib/test/test_importlib/extension/test_loader.py Tue May 26 21:57:16 2015 +1000 @@ -170,6 +170,13 @@ loader.exec_module(module) return module + def test_load_submodule(self): + '''Test loading a simulated submodule''' + module = self.load_module_by_name('pkg.' + self.name) + self.assertIsInstance(module, types.ModuleType) + self.assertEqual(module.__name__, 'pkg.' + self.name) + self.assertEqual(module.str_const, 'something different') + def test_load_twice(self): '''Test that 2 loads result in 2 module objects''' module1 = self.load_module_by_name(self.name) diff -r ff8b603ee51e -r 32ee7b9d58c9 Misc/NEWS --- a/Misc/NEWS Tue May 26 01:47:58 2015 -0700 +++ b/Misc/NEWS Tue May 26 21:57:16 2015 +1000 @@ -22,6 +22,9 @@ Core and Builtins ----------------- +- Issue #24285: Fixed regression that prevented importing extension modules + from inside packages. Patch by Petr Viktorin. + Library ------- @@ -36,7 +39,8 @@ - Issue #24276: Fixed optimization of property descriptor getter. -- Issue #24268: PEP 489: Multi-phase extension module initialization +- Issue #24268: PEP 489: Multi-phase extension module initialization. + Patch by Petr Viktorin. - Issue #23955: Add pyvenv.cfg option to suppress registry/environment lookup for generating sys.path on Windows. diff -r ff8b603ee51e -r 32ee7b9d58c9 Python/importdl.c --- a/Python/importdl.c Tue May 26 01:47:58 2015 -0700 +++ b/Python/importdl.c Tue May 26 21:57:16 2015 +1000 @@ -45,7 +45,7 @@ if (lastdot < -1) { return NULL; } else if (lastdot >= 0) { - tmp = PyUnicode_Substring(name, lastdot, name_len); + tmp = PyUnicode_Substring(name, lastdot + 1, name_len); if (tmp == NULL) return NULL; name = tmp;