cpython: e39a8f8ceb9f (original) (raw)
--- a/Doc/c-api/module.rst +++ b/Doc/c-api/module.rst @@ -35,13 +35,20 @@ There are only a few functions special t single: name (module attribute) single: doc (module attribute) single: file (module attribute)
single: __package__ (module attribute)[](#l1.7)
single: __loader__ (module attribute)[](#l1.8)
Return a new module object with the :attr:__name__
attribute set to name.
- Only the module's :attr:
__doc__
and :attr:__name__
attributes are filled in; - the caller is responsible for providing a :attr:
__file__
attribute.
- The module's :attr:
__name__
, :attr:__doc__
, :attr:__package__
, and - :attr:
__loader__
attributes are filled in (all but :attr:__name__
are set - to
None
); the caller is responsible for providing a :attr:__file__
- attribute. .. versionadded:: 3.3
- .. versionchanged:: 3.4
:attr:`__package__` and :attr:`__loader__` are set to ``None``.[](#l1.21)
+ .. c:function:: PyObject* PyModule_New(const char *name)
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -827,7 +827,7 @@ an :term:importer
.
decorator as it subsumes this functionality.
.. versionchanged:: 3.4
Set ``__loader__`` if set to ``None`` as well if the attribute does not[](#l2.7)
Set ``__loader__`` if set to ``None``, as if the attribute does not[](#l2.8) exist.[](#l2.9)
--- a/Doc/reference/import.rst +++ b/Doc/reference/import.rst @@ -423,8 +423,8 @@ Here are the exact rules used:
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -231,3 +231,8 @@ that may require changes to your code.
:exc:NotImplementedError
blindly. This will only affect code calling
:func:super
and falling through all the way to the ABCs. For compatibility,
catch both :exc:NotImplementedError
or the appropriate exception as needed.
+
+* The module type now initializes the :attr:__package__
and :attr:__loader__
- attributes to
None
by default. To determine if these attributes were set - in a backwards-compatible fashion, use e.g.
getattr(module, '__loader__', None) is not None
. \ No newline at end of file
--- a/Lib/ctypes/test/init.py +++ b/Lib/ctypes/test/init.py @@ -37,7 +37,7 @@ def requires(resource, msg=None): def find_package_modules(package, mask): import fnmatch
- if (package.loader is not None and hasattr(package.loader, '_files')): path = package.name.replace(".", os.path.sep) mask = os.path.join(path, mask)
--- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -215,7 +215,7 @@ def _load_testfile(filename, package, mo if module_relative: package = _normalize_module(package, 3) filename = _module_relative_path(package, filename)
if hasattr(package, '__loader__'):[](#l6.7)
if getattr(package, '__loader__', None) is not None:[](#l6.8) if hasattr(package.__loader__, 'get_data'):[](#l6.9) file_contents = package.__loader__.get_data(filename)[](#l6.10) file_contents = file_contents.decode(encoding)[](#l6.11)
--- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -1726,7 +1726,7 @@ def _setup(sys_module, _imp_module): module_type = type(sys) for name, module in sys.modules.items(): if isinstance(module, module_type):
if not hasattr(module, '__loader__'):[](#l7.7)
if getattr(module, '__loader__', None) is None:[](#l7.8) if name in sys.builtin_module_names:[](#l7.9) module.__loader__ = BuiltinImporter[](#l7.10) elif _imp.is_frozen(name):[](#l7.11)
--- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -476,7 +476,7 @@ def getsourcefile(object): if os.path.exists(filename): return filename # only return a non-existent filename if the module has a PEP 302 loader
- if getattr(getmodule(object, filename), 'loader', None) is not None:
return filename
if filename in linecache.cache: or it is in the linecache
--- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -2250,7 +2250,9 @@ order (MRO) for bases """ minstance = M("m") minstance.b = 2 minstance.a = 1
names = [x for x in dir(minstance) if x not in ["__name__", "__doc__"]][](#l9.7)
default_attributes = ['__name__', '__doc__', '__package__',[](#l9.8)
'__loader__'][](#l9.9)
names = [x for x in dir(minstance) if x not in default_attributes][](#l9.10) self.assertEqual(names, ['a', 'b'])[](#l9.11)
--- a/Lib/test/test_importlib/test_api.py +++ b/Lib/test/test_importlib/test_api.py @@ -197,14 +197,12 @@ class StartupTests(unittest.TestCase): # Issue #17098: all modules should have loader defined. for name, module in sys.modules.items(): if isinstance(module, types.ModuleType):
if name in sys.builtin_module_names:[](#l10.7)
self.assertIn(module.__loader__,[](#l10.8)
(importlib.machinery.BuiltinImporter,[](#l10.9)
importlib._bootstrap.BuiltinImporter))[](#l10.10)
elif imp.is_frozen(name):[](#l10.11)
self.assertIn(module.__loader__,[](#l10.12)
(importlib.machinery.FrozenImporter,[](#l10.13)
importlib._bootstrap.FrozenImporter))[](#l10.14)
self.assertTrue(hasattr(module, '__loader__'),[](#l10.15)
'{!r} lacks a __loader__ attribute'.format(name))[](#l10.16)
if importlib.machinery.BuiltinImporter.find_module(name):[](#l10.17)
self.assertIsNot(module.__loader__, None)[](#l10.18)
elif importlib.machinery.FrozenImporter.find_module(name):[](#l10.19)
self.assertIsNot(module.__loader__, None)[](#l10.20)
--- a/Lib/test/test_module.py +++ b/Lib/test/test_module.py @@ -33,7 +33,10 @@ class ModuleTests(unittest.TestCase): foo = ModuleType("foo") self.assertEqual(foo.name, "foo") self.assertEqual(foo.doc, None)
self.assertEqual(foo.__dict__, {"__name__": "foo", "__doc__": None})[](#l11.7)
self.assertIs(foo.__loader__, None)[](#l11.8)
self.assertIs(foo.__package__, None)[](#l11.9)
self.assertEqual(foo.__dict__, {"__name__": "foo", "__doc__": None,[](#l11.10)
"__loader__": None, "__package__": None})[](#l11.11)
def test_ascii_docstring(self): # ASCII docstring @@ -41,7 +44,8 @@ class ModuleTests(unittest.TestCase): self.assertEqual(foo.name, "foo") self.assertEqual(foo.doc, "foodoc") self.assertEqual(foo.dict,
{"__name__": "foo", "__doc__": "foodoc"})[](#l11.19)
{"__name__": "foo", "__doc__": "foodoc",[](#l11.20)
"__loader__": None, "__package__": None})[](#l11.21)
def test_unicode_docstring(self): # Unicode docstring @@ -49,7 +53,8 @@ class ModuleTests(unittest.TestCase): self.assertEqual(foo.name, "foo") self.assertEqual(foo.doc, "foodoc\u1234") self.assertEqual(foo.dict,
{"__name__": "foo", "__doc__": "foodoc\u1234"})[](#l11.29)
{"__name__": "foo", "__doc__": "foodoc\u1234",[](#l11.30)
"__loader__": None, "__package__": None})[](#l11.31)
def test_reinit(self): # Reinitialization should not replace the dict @@ -61,7 +66,8 @@ class ModuleTests(unittest.TestCase): self.assertEqual(foo.doc, "foodoc") self.assertEqual(foo.bar, 42) self.assertEqual(foo.dict,
{"__name__": "foo", "__doc__": "foodoc", "bar": 42})[](#l11.39)
{"__name__": "foo", "__doc__": "foodoc", "bar": 42,[](#l11.40)
"__loader__": None, "__package__": None})[](#l11.41) self.assertTrue(foo.__dict__ is d)[](#l11.42)
@unittest.expectedFailure @@ -110,13 +116,19 @@ a = A(destroyed)""" m.file = '/tmp/foo.py' self.assertEqual(repr(m), "<module '?' from '/tmp/foo.py'>")
- def test_module_repr_with_loader_as_None(self):
m = ModuleType('foo')[](#l11.50)
assert m.__loader__ is None[](#l11.51)
self.assertEqual(repr(m), "<module 'foo'>")[](#l11.52)
+ def test_module_repr_with_bare_loader_but_no_name(self): m = ModuleType('foo') del m.name # Yes, a class not an instance. m.loader = BareLoader
loader_repr = repr(BareLoader)[](#l11.59) self.assertEqual([](#l11.60)
repr(m), "<module '?' (<class 'test.test_module.BareLoader'>)>")[](#l11.61)
repr(m), "<module '?' ({})>".format(loader_repr))[](#l11.62)
def test_module_repr_with_full_loader_but_no_name(self): # m.loader.module_repr() will fail because the module has no @@ -126,15 +138,17 @@ a = A(destroyed)""" del m.name # Yes, a class not an instance. m.loader = FullLoader
loader_repr = repr(FullLoader)[](#l11.70) self.assertEqual([](#l11.71)
repr(m), "<module '?' (<class 'test.test_module.FullLoader'>)>")[](#l11.72)
repr(m), "<module '?' ({})>".format(loader_repr))[](#l11.73)
def test_module_repr_with_bare_loader(self): m = ModuleType('foo') # Yes, a class not an instance. m.loader = BareLoader
module_repr = repr(BareLoader)[](#l11.79) self.assertEqual([](#l11.80)
repr(m), "<module 'foo' (<class 'test.test_module.BareLoader'>)>")[](#l11.81)
repr(m), "<module 'foo' ({})>".format(module_repr))[](#l11.82)
def test_module_repr_with_full_loader(self): m = ModuleType('foo')
--- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ What's New in Python 3.4.0 Alpha 1? Core and Builtins ----------------- +- Issue #17115,17116: Module initialization now includes setting package and
--- a/Objects/moduleobject.c +++ b/Objects/moduleobject.c @@ -26,6 +26,27 @@ static PyTypeObject moduledef_type = { }; +static int +module_init_dict(PyObject *md_dict, PyObject *name, PyObject *doc) +{
- if (PyDict_SetItemString(md_dict, "name", name) != 0)
return -1;[](#l13.16)
- if (PyDict_SetItemString(md_dict, "doc", doc) != 0)
return -1;[](#l13.18)
- if (PyDict_SetItemString(md_dict, "package", Py_None) != 0)
return -1;[](#l13.20)
- if (PyDict_SetItemString(md_dict, "loader", Py_None) != 0)
return -1;[](#l13.22)
+} + + PyObject * PyModule_NewObject(PyObject *name) { @@ -36,13 +57,7 @@ PyModule_NewObject(PyObject *name) m->md_def = NULL; m->md_state = NULL; m->md_dict = PyDict_New();
- if (m->md_dict == NULL)
goto fail;[](#l13.36)
- if (PyDict_SetItemString(m->md_dict, "name", name) != 0)
goto fail;[](#l13.38)
- if (PyDict_SetItemString(m->md_dict, "doc", Py_None) != 0)
goto fail;[](#l13.40)
- if (PyDict_SetItemString(m->md_dict, "package", Py_None) != 0)
- if (module_init_dict(m->md_dict, name, NULL) != 0) goto fail; PyObject_GC_Track(m); return (PyObject *)m; @@ -347,9 +362,7 @@ module_init(PyModuleObject *m, PyObject return -1; m->md_dict = dict; }
- if (PyDict_SetItemString(dict, "name", name) < 0)
return -1;[](#l13.51)
- if (PyDict_SetItemString(dict, "doc", doc) < 0)
@@ -380,7 +393,7 @@ module_repr(PyModuleObject *m) if (m->md_dict != NULL) { loader = PyDict_GetItemString(m->md_dict, "loader"); }
- if (loader != NULL && loader != Py_None) { repr = PyObject_CallMethod(loader, "module_repr", "(O)", (PyObject *)m, NULL); if (repr == NULL) {
@@ -404,10 +417,10 @@ module_repr(PyModuleObject *m) filename = PyModule_GetFilenameObject((PyObject *)m); if (filename == NULL) { PyErr_Clear();
/* There's no m.__file__, so if there was an __loader__, use that in[](#l13.70)
/* There's no m.__file__, so if there was a __loader__, use that in[](#l13.71) * the repr, otherwise, the only thing you can use is m.__name__[](#l13.72) */[](#l13.73)
if (loader == NULL) {[](#l13.74)
if (loader == NULL || loader == Py_None) {[](#l13.75) repr = PyUnicode_FromFormat("<module %R>", name);[](#l13.76) }[](#l13.77) else {[](#l13.78)
--- a/Python/importlib.h +++ b/Python/importlib.h @@ -3354,189 +3354,190 @@ const unsigned char _Py_M__importlib[] = 115,26,0,0,0,0,11,12,1,15,2,24,1,12,1,18, 1,6,3,12,1,23,1,6,1,4,4,35,3,40,2,114, 77,1,0,0,99,2,0,0,0,0,0,0,0,16,0,0,
- 0,13,0,0,0,67,0,0,0,115,237,2,0,0,124,1, 0,97,0,0,124,0,0,97,1,0,116,1,0,106,2,0, 106,3,0,114,33,0,116,4,0,97,5,0,110,6,0,116, 6,0,97,5,0,116,7,0,116,1,0,131,1,0,125,2,
- 0,120,128,0,116,1,0,106,8,0,106,9,0,131,0,0,
- 68,93,111,0,92,2,0,125,3,0,125,4,0,116,10,0, 124,4,0,124,2,0,131,2,0,114,67,0,116,11,0,124,
- 4,0,100,1,0,131,2,0,115,169,0,124,3,0,116,1,
- 0,106,12,0,107,6,0,114,136,0,116,13,0,124,4,0,
- 95,14,0,113,166,0,116,0,0,106,15,0,124,3,0,131,
- 1,0,114,166,0,116,16,0,124,4,0,95,14,0,113,166,
- 0,113,169,0,113,67,0,113,67,0,87,116,1,0,106,8,
- 0,116,17,0,25,125,5,0,120,76,0,100,27,0,68,93,
- 68,0,125,6,0,124,6,0,116,1,0,106,8,0,107,7,
- 0,114,232,0,116,13,0,106,18,0,124,6,0,131,1,0,
- 125,7,0,110,13,0,116,1,0,106,8,0,124,6,0,25,
- 125,7,0,116,19,0,124,5,0,124,6,0,124,7,0,131,
- 3,0,1,113,193,0,87,100,6,0,100,7,0,103,1,0,
- 102,2,0,100,8,0,100,9,0,100,7,0,103,2,0,102,
- 2,0,102,2,0,125,8,0,120,149,0,124,8,0,68,93,
- 129,0,92,2,0,125,9,0,125,10,0,116,20,0,100,10,
- 0,100,11,0,132,0,0,124,10,0,68,131,1,0,131,1,
- 0,115,92,1,116,21,0,130,1,0,124,10,0,100,12,0,
- 25,125,11,0,124,9,0,116,1,0,106,8,0,107,6,0,
- 114,134,1,116,1,0,106,8,0,124,9,0,25,125,12,0,
- 80,113,49,1,121,20,0,116,13,0,106,18,0,124,9,0,
- 131,1,0,125,12,0,80,87,113,49,1,4,116,22,0,107,
- 10,0,114,177,1,1,1,1,119,49,1,89,113,49,1,88,
- 113,49,1,87,116,22,0,100,13,0,131,1,0,130,1,0,
- 121,19,0,116,13,0,106,18,0,100,14,0,131,1,0,125,
- 13,0,87,110,24,0,4,116,22,0,107,10,0,114,239,1,
- 1,1,1,100,15,0,125,13,0,89,110,1,0,88,116,13,
- 0,106,18,0,100,16,0,131,1,0,125,14,0,124,9,0,
- 100,8,0,107,2,0,114,45,2,116,13,0,106,18,0,100,
- 17,0,131,1,0,125,15,0,116,19,0,124,5,0,100,18,
- 0,124,15,0,131,3,0,1,110,0,0,116,19,0,124,5,
- 0,100,19,0,124,12,0,131,3,0,1,116,19,0,124,5,
- 0,100,14,0,124,13,0,131,3,0,1,116,19,0,124,5,
- 0,100,16,0,124,14,0,131,3,0,1,116,19,0,124,5,
- 0,100,20,0,124,11,0,131,3,0,1,116,19,0,124,5,
- 0,100,21,0,100,22,0,106,23,0,124,10,0,131,1,0,
- 131,3,0,1,116,19,0,124,5,0,100,23,0,116,24,0,
- 131,0,0,131,3,0,1,116,25,0,106,26,0,116,0,0,
- 106,27,0,131,0,0,131,1,0,1,124,9,0,100,8,0,
- 107,2,0,114,224,2,116,28,0,106,29,0,100,24,0,131,
- 1,0,1,100,25,0,116,25,0,107,6,0,114,224,2,100,
- 26,0,116,30,0,95,31,0,113,224,2,110,0,0,100,15,
- 0,83,40,28,0,0,0,117,250,0,0,0,83,101,116,117,
- 112,32,105,109,112,111,114,116,108,105,98,32,98,121,32,105,
- 109,112,111,114,116,105,110,103,32,110,101,101,100,101,100,32,
- 98,117,105,108,116,45,105,110,32,109,111,100,117,108,101,115,
- 32,97,110,100,32,105,110,106,101,99,116,105,110,103,32,116,
- 104,101,109,10,32,32,32,32,105,110,116,111,32,116,104,101,
- 32,103,108,111,98,97,108,32,110,97,109,101,115,112,97,99,
- 101,46,10,10,32,32,32,32,65,115,32,115,121,115,32,105,
- 115,32,110,101,101,100,101,100,32,102,111,114,32,115,121,115,
- 46,109,111,100,117,108,101,115,32,97,99,99,101,115,115,32,
- 97,110,100,32,95,105,109,112,32,105,115,32,110,101,101,100,
- 101,100,32,116,111,32,108,111,97,100,32,98,117,105,108,116,
- 45,105,110,10,32,32,32,32,109,111,100,117,108,101,115,44,
- 32,116,104,111,115,101,32,116,119,111,32,109,111,100,117,108,
- 101,115,32,109,117,115,116,32,98,101,32,101,120,112,108,105,
- 99,105,116,108,121,32,112,97,115,115,101,100,32,105,110,46,
- 10,10,32,32,32,32,114,149,0,0,0,114,48,0,0,0,
- 114,170,0,0,0,244,8,0,0,0,98,117,105,108,116,105,
- 110,115,114,186,0,0,0,116,5,0,0,0,112,111,115,105,
- 120,245,1,0,0,0,47,244,2,0,0,0,110,116,245,1,
- 0,0,0,92,99,1,0,0,0,0,0,0,0,2,0,0,
- 0,3,0,0,0,115,0,0,0,115,33,0,0,0,124,0,
- 0,93,23,0,125,1,0,116,0,0,124,1,0,131,1,0,
- 100,0,0,107,2,0,86,1,113,3,0,100,1,0,83,40,
- 2,0,0,0,114,29,0,0,0,78,40,1,0,0,0,114,
- 31,0,0,0,40,2,0,0,0,114,22,0,0,0,114,118,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,2,1,0,0,210,6,0,0,115,2,0,0,0,
- 6,0,117,25,0,0,0,95,115,101,116,117,112,46,60,108,
- 111,99,97,108,115,62,46,60,103,101,110,101,120,112,114,62,
- 114,71,0,0,0,117,30,0,0,0,105,109,112,111,114,116,
- 108,105,98,32,114,101,113,117,105,114,101,115,32,112,111,115,
- 105,120,32,111,114,32,110,116,114,72,0,0,0,78,114,95,
- 0,0,0,116,6,0,0,0,119,105,110,114,101,103,114,206,
- 0,0,0,114,3,0,0,0,114,25,0,0,0,114,21,0,
- 0,0,114,30,0,0,0,114,6,0,0,0,117,4,0,0,
- 0,46,112,121,119,117,6,0,0,0,95,100,46,112,121,100,
- 84,40,4,0,0,0,117,3,0,0,0,95,105,111,117,9,
- 0,0,0,95,119,97,114,110,105,110,103,115,117,8,0,0,
- 0,98,117,105,108,116,105,110,115,117,7,0,0,0,109,97,
- 114,115,104,97,108,40,32,0,0,0,114,97,0,0,0,114,
- 7,0,0,0,114,105,0,0,0,114,106,0,0,0,114,108,
- 0,0,0,114,75,1,0,0,114,107,0,0,0,114,65,0,
- 0,0,114,152,0,0,0,244,5,0,0,0,105,116,101,109,
- 115,114,187,0,0,0,114,59,0,0,0,114,163,0,0,0,
- 114,194,0,0,0,114,149,0,0,0,114,166,0,0,0,114,
- 202,0,0,0,114,56,0,0,0,114,198,0,0,0,114,60,
- 0,0,0,244,3,0,0,0,97,108,108,114,89,0,0,0,
- 114,154,0,0,0,114,26,0,0,0,114,11,0,0,0,114,
- 4,1,0,0,114,192,0,0,0,114,74,1,0,0,114,122,
- 0,0,0,114,251,0,0,0,114,205,0,0,0,114,209,0,
- 0,0,40,16,0,0,0,244,10,0,0,0,115,121,115,95,
- 109,111,100,117,108,101,244,11,0,0,0,95,105,109,112,95,
- 109,111,100,117,108,101,116,11,0,0,0,109,111,100,117,108,
- 101,95,116,121,112,101,114,66,0,0,0,114,145,0,0,0,
- 116,11,0,0,0,115,101,108,102,95,109,111,100,117,108,101,
- 116,12,0,0,0,98,117,105,108,116,105,110,95,110,97,109,
- 101,116,14,0,0,0,98,117,105,108,116,105,110,95,109,111,
- 100,117,108,101,116,10,0,0,0,111,115,95,100,101,116,97,
- 105,108,115,116,10,0,0,0,98,117,105,108,116,105,110,95,
- 111,115,114,21,0,0,0,114,25,0,0,0,116,9,0,0,
- 0,111,115,95,109,111,100,117,108,101,116,13,0,0,0,116,
- 104,114,101,97,100,95,109,111,100,117,108,101,116,14,0,0,
- 0,119,101,97,107,114,101,102,95,109,111,100,117,108,101,116,
- 13,0,0,0,119,105,110,114,101,103,95,109,111,100,117,108,
- 101,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 244,6,0,0,0,95,115,101,116,117,112,173,6,0,0,115,
- 102,0,0,0,0,9,6,1,6,2,12,1,9,2,6,2,
- 12,1,28,1,15,1,15,1,15,1,12,1,15,1,22,2,
- 13,1,13,1,15,1,18,2,13,1,20,2,33,1,19,2,
- 31,1,10,1,15,1,13,1,4,2,3,1,15,1,5,1,
- 13,1,12,2,12,2,3,1,19,1,13,2,11,1,15,2,
- 12,1,15,1,19,2,16,1,16,1,16,1,16,1,25,2,
- 19,1,19,1,12,1,13,1,12,1,114,86,1,0,0,99,
- 2,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,
- 67,0,0,0,115,136,0,0,0,116,0,0,124,0,0,124,
- 1,0,131,2,0,1,116,1,0,131,0,0,125,2,0,116,
- 2,0,106,3,0,106,4,0,116,5,0,106,6,0,124,2,
- 0,140,0,0,103,1,0,131,1,0,1,116,2,0,106,7,
- 0,106,8,0,116,9,0,131,1,0,1,116,2,0,106,7,
- 0,106,8,0,116,10,0,131,1,0,1,116,11,0,106,12,
- 0,100,1,0,107,2,0,114,116,0,116,2,0,106,7,0,
- 106,8,0,116,13,0,131,1,0,1,110,0,0,116,2,0,
- 106,7,0,106,8,0,116,14,0,131,1,0,1,100,2,0,
- 83,40,3,0,0,0,117,50,0,0,0,73,110,115,116,97,
- 108,108,32,105,109,112,111,114,116,108,105,98,32,97,115,32,
- 116,104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,
- 111,110,32,111,102,32,105,109,112,111,114,116,46,114,80,1,
- 0,0,78,40,15,0,0,0,114,86,1,0,0,114,215,0,
- 0,0,114,7,0,0,0,114,26,1,0,0,114,192,0,0,
- 0,114,33,1,0,0,114,47,1,0,0,114,55,1,0,0,
- 114,251,0,0,0,114,194,0,0,0,114,202,0,0,0,114,
- 3,0,0,0,114,56,0,0,0,114,205,0,0,0,114,21,
- 1,0,0,40,3,0,0,0,114,84,1,0,0,114,85,1,
- 0,0,116,17,0,0,0,115,117,112,112,111,114,116,101,100,
- 95,108,111,97,100,101,114,115,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,244,8,0,0,0,95,105,110,115,
- 116,97,108,108,249,6,0,0,115,16,0,0,0,0,2,13,
- 1,9,1,28,1,16,1,16,1,15,1,19,1,114,87,1,
- 0,0,40,3,0,0,0,117,3,0,0,0,119,105,110,114,
- 1,0,0,0,114,2,0,0,0,40,77,0,0,0,114,58,
- 0,0,0,114,10,0,0,0,114,11,0,0,0,114,17,0,
- 0,0,114,19,0,0,0,114,28,0,0,0,114,38,0,0,
- 0,114,43,0,0,0,114,44,0,0,0,114,45,0,0,0,
- 114,54,0,0,0,114,64,0,0,0,114,65,0,0,0,244,
- 8,0,0,0,95,95,99,111,100,101,95,95,114,188,0,0,
- 0,114,67,0,0,0,114,92,0,0,0,114,81,0,0,0,
- 114,88,0,0,0,114,68,0,0,0,114,70,0,0,0,114,
- 91,0,0,0,114,96,0,0,0,114,99,0,0,0,114,102,
- 0,0,0,114,15,0,0,0,114,181,0,0,0,114,14,0,
- 0,0,114,18,0,0,0,116,17,0,0,0,95,82,65,87,
- 95,77,65,71,73,67,95,78,85,77,66,69,82,114,113,0,
- 0,0,114,122,0,0,0,114,107,0,0,0,114,108,0,0,
- 0,114,120,0,0,0,114,123,0,0,0,114,131,0,0,0,
- 114,133,0,0,0,114,141,0,0,0,114,148,0,0,0,114,
- 151,0,0,0,114,159,0,0,0,114,162,0,0,0,114,165,
- 0,0,0,114,168,0,0,0,114,176,0,0,0,114,185,0,
- 0,0,114,190,0,0,0,114,193,0,0,0,114,194,0,0,
- 0,114,202,0,0,0,114,205,0,0,0,114,218,0,0,0,
- 114,224,0,0,0,114,244,0,0,0,114,248,0,0,0,114,
- 254,0,0,0,114,4,1,0,0,114,255,0,0,0,114,5,
- 1,0,0,114,20,1,0,0,114,21,1,0,0,114,33,1,
- 0,0,114,48,1,0,0,114,54,1,0,0,114,56,1,0,
- 0,114,59,1,0,0,114,60,1,0,0,114,63,1,0,0,
- 114,64,1,0,0,114,65,1,0,0,114,71,1,0,0,114,
- 73,1,0,0,114,215,0,0,0,114,77,1,0,0,114,86,
- 1,0,0,114,87,1,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,244,8,0,0,
- 0,60,109,111,100,117,108,101,62,8,0,0,0,115,140,0,
- 0,0,6,21,6,3,12,13,12,10,12,9,12,6,12,12,
- 12,10,12,6,12,7,15,22,12,8,15,3,12,12,6,2,
- 6,3,22,4,19,68,19,23,12,19,12,20,12,109,22,1,
- 18,2,6,2,9,2,9,1,9,2,15,27,12,23,12,21,
- 12,12,18,8,12,13,12,11,12,55,12,18,12,11,12,11,
- 12,13,21,55,21,12,18,12,19,57,19,54,19,50,19,34,
- 22,132,19,29,25,43,25,19,6,3,19,45,19,55,19,18,
- 19,91,19,128,19,13,12,9,12,17,12,17,6,2,12,50,
- 12,13,18,24,12,34,12,15,12,11,24,36,12,76,
- 4,0,100,1,0,100,2,0,131,3,0,100,2,0,107,8,
- 0,114,178,0,124,3,0,116,1,0,106,12,0,107,6,0,
- 114,145,0,116,13,0,124,4,0,95,14,0,113,175,0,116,
- 0,0,106,15,0,124,3,0,131,1,0,114,175,0,116,16,
- 0,124,4,0,95,14,0,113,175,0,113,178,0,113,67,0,
- 113,67,0,87,116,1,0,106,8,0,116,17,0,25,125,5,
- 0,120,76,0,100,27,0,68,93,68,0,125,6,0,124,6,
- 0,116,1,0,106,8,0,107,7,0,114,241,0,116,13,0,
- 106,18,0,124,6,0,131,1,0,125,7,0,110,13,0,116,
- 1,0,106,8,0,124,6,0,25,125,7,0,116,19,0,124,
- 5,0,124,6,0,124,7,0,131,3,0,1,113,202,0,87,
- 100,7,0,100,8,0,103,1,0,102,2,0,100,9,0,100,
- 10,0,100,8,0,103,2,0,102,2,0,102,2,0,125,8,
- 0,120,149,0,124,8,0,68,93,129,0,92,2,0,125,9,
- 0,125,10,0,116,20,0,100,11,0,100,12,0,132,0,0,
- 124,10,0,68,131,1,0,131,1,0,115,101,1,116,21,0,
- 130,1,0,124,10,0,100,13,0,25,125,11,0,124,9,0,
- 116,1,0,106,8,0,107,6,0,114,143,1,116,1,0,106,
- 8,0,124,9,0,25,125,12,0,80,113,58,1,121,20,0,
- 116,13,0,106,18,0,124,9,0,131,1,0,125,12,0,80,
- 87,113,58,1,4,116,22,0,107,10,0,114,186,1,1,1,
- 1,119,58,1,89,113,58,1,88,113,58,1,87,116,22,0,
- 100,14,0,131,1,0,130,1,0,121,19,0,116,13,0,106,
- 18,0,100,15,0,131,1,0,125,13,0,87,110,24,0,4,
- 116,22,0,107,10,0,114,248,1,1,1,1,100,2,0,125,
- 13,0,89,110,1,0,88,116,13,0,106,18,0,100,16,0,
- 131,1,0,125,14,0,124,9,0,100,9,0,107,2,0,114,
- 54,2,116,13,0,106,18,0,100,17,0,131,1,0,125,15,
- 0,116,19,0,124,5,0,100,18,0,124,15,0,131,3,0,
- 1,110,0,0,116,19,0,124,5,0,100,19,0,124,12,0,
- 131,3,0,1,116,19,0,124,5,0,100,15,0,124,13,0,
- 131,3,0,1,116,19,0,124,5,0,100,16,0,124,14,0,
- 131,3,0,1,116,19,0,124,5,0,100,20,0,124,11,0,
- 131,3,0,1,116,19,0,124,5,0,100,21,0,100,22,0,
- 106,23,0,124,10,0,131,1,0,131,3,0,1,116,19,0,
- 124,5,0,100,23,0,116,24,0,131,0,0,131,3,0,1,
- 116,25,0,106,26,0,116,0,0,106,27,0,131,0,0,131,
- 1,0,1,124,9,0,100,9,0,107,2,0,114,233,2,116,
- 28,0,106,29,0,100,24,0,131,1,0,1,100,25,0,116,
- 25,0,107,6,0,114,233,2,100,26,0,116,30,0,95,31,
- 0,113,233,2,110,0,0,100,2,0,83,40,28,0,0,0,
- 117,250,0,0,0,83,101,116,117,112,32,105,109,112,111,114,
- 116,108,105,98,32,98,121,32,105,109,112,111,114,116,105,110,
- 103,32,110,101,101,100,101,100,32,98,117,105,108,116,45,105,
- 110,32,109,111,100,117,108,101,115,32,97,110,100,32,105,110,
- 106,101,99,116,105,110,103,32,116,104,101,109,10,32,32,32,
- 32,105,110,116,111,32,116,104,101,32,103,108,111,98,97,108,
- 32,110,97,109,101,115,112,97,99,101,46,10,10,32,32,32,
- 32,65,115,32,115,121,115,32,105,115,32,110,101,101,100,101,
- 100,32,102,111,114,32,115,121,115,46,109,111,100,117,108,101,
- 115,32,97,99,99,101,115,115,32,97,110,100,32,95,105,109,
- 112,32,105,115,32,110,101,101,100,101,100,32,116,111,32,108,
- 111,97,100,32,98,117,105,108,116,45,105,110,10,32,32,32,
- 32,109,111,100,117,108,101,115,44,32,116,104,111,115,101,32,
- 116,119,111,32,109,111,100,117,108,101,115,32,109,117,115,116,
- 32,98,101,32,101,120,112,108,105,99,105,116,108,121,32,112,
- 97,115,115,101,100,32,105,110,46,10,10,32,32,32,32,114,
- 149,0,0,0,78,114,48,0,0,0,114,170,0,0,0,244,
- 8,0,0,0,98,117,105,108,116,105,110,115,114,186,0,0,
- 0,116,5,0,0,0,112,111,115,105,120,245,1,0,0,0,
- 47,244,2,0,0,0,110,116,245,1,0,0,0,92,99,1,
- 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,115,
- 0,0,0,115,33,0,0,0,124,0,0,93,23,0,125,1,
- 0,116,0,0,124,1,0,131,1,0,100,0,0,107,2,0,
- 86,1,113,3,0,100,1,0,83,40,2,0,0,0,114,29,
- 0,0,0,78,40,1,0,0,0,114,31,0,0,0,40,2,
- 0,0,0,114,22,0,0,0,114,118,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,114,2,1,0,
- 0,210,6,0,0,115,2,0,0,0,6,0,117,25,0,0,
- 0,95,115,101,116,117,112,46,60,108,111,99,97,108,115,62,
- 46,60,103,101,110,101,120,112,114,62,114,71,0,0,0,117,
- 30,0,0,0,105,109,112,111,114,116,108,105,98,32,114,101,
- 113,117,105,114,101,115,32,112,111,115,105,120,32,111,114,32,
- 110,116,114,72,0,0,0,114,95,0,0,0,116,6,0,0,
- 0,119,105,110,114,101,103,114,206,0,0,0,114,3,0,0,
- 0,114,25,0,0,0,114,21,0,0,0,114,30,0,0,0,
- 114,6,0,0,0,117,4,0,0,0,46,112,121,119,117,6,
- 0,0,0,95,100,46,112,121,100,84,40,4,0,0,0,117,
- 3,0,0,0,95,105,111,117,9,0,0,0,95,119,97,114,
- 110,105,110,103,115,117,8,0,0,0,98,117,105,108,116,105,
- 110,115,117,7,0,0,0,109,97,114,115,104,97,108,40,32,
- 0,0,0,114,97,0,0,0,114,7,0,0,0,114,105,0,
- 0,0,114,106,0,0,0,114,108,0,0,0,114,75,1,0,
- 0,114,107,0,0,0,114,65,0,0,0,114,152,0,0,0,
- 244,5,0,0,0,105,116,101,109,115,114,187,0,0,0,114,
- 61,0,0,0,114,163,0,0,0,114,194,0,0,0,114,149,
- 0,0,0,114,166,0,0,0,114,202,0,0,0,114,56,0,
- 0,0,114,198,0,0,0,114,60,0,0,0,244,3,0,0,
- 0,97,108,108,114,89,0,0,0,114,154,0,0,0,114,26,
- 0,0,0,114,11,0,0,0,114,4,1,0,0,114,192,0,
- 0,0,114,74,1,0,0,114,122,0,0,0,114,251,0,0,
- 0,114,205,0,0,0,114,209,0,0,0,40,16,0,0,0,
- 244,10,0,0,0,115,121,115,95,109,111,100,117,108,101,244,
- 11,0,0,0,95,105,109,112,95,109,111,100,117,108,101,116,
- 11,0,0,0,109,111,100,117,108,101,95,116,121,112,101,114,
- 66,0,0,0,114,145,0,0,0,116,11,0,0,0,115,101,
- 108,102,95,109,111,100,117,108,101,116,12,0,0,0,98,117,
- 105,108,116,105,110,95,110,97,109,101,116,14,0,0,0,98,
- 117,105,108,116,105,110,95,109,111,100,117,108,101,116,10,0,
- 0,0,111,115,95,100,101,116,97,105,108,115,116,10,0,0,
- 0,98,117,105,108,116,105,110,95,111,115,114,21,0,0,0,
- 114,25,0,0,0,116,9,0,0,0,111,115,95,109,111,100,
- 117,108,101,116,13,0,0,0,116,104,114,101,97,100,95,109,
- 111,100,117,108,101,116,14,0,0,0,119,101,97,107,114,101,
- 102,95,109,111,100,117,108,101,116,13,0,0,0,119,105,110,
- 114,101,103,95,109,111,100,117,108,101,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,244,6,0,0,0,95,115,
- 101,116,117,112,173,6,0,0,115,102,0,0,0,0,9,6,
- 1,6,2,12,1,9,2,6,2,12,1,28,1,15,1,24,
- 1,15,1,12,1,15,1,22,2,13,1,13,1,15,1,18,
- 2,13,1,20,2,33,1,19,2,31,1,10,1,15,1,13,
- 1,4,2,3,1,15,1,5,1,13,1,12,2,12,2,3,
- 1,19,1,13,2,11,1,15,2,12,1,15,1,19,2,16,
- 1,16,1,16,1,16,1,25,2,19,1,19,1,12,1,13,
- 1,12,1,114,86,1,0,0,99,2,0,0,0,0,0,0,
- 0,3,0,0,0,3,0,0,0,67,0,0,0,115,136,0,
- 0,0,116,0,0,124,0,0,124,1,0,131,2,0,1,116,
- 1,0,131,0,0,125,2,0,116,2,0,106,3,0,106,4,
- 0,116,5,0,106,6,0,124,2,0,140,0,0,103,1,0,
- 131,1,0,1,116,2,0,106,7,0,106,8,0,116,9,0,
- 131,1,0,1,116,2,0,106,7,0,106,8,0,116,10,0,
- 131,1,0,1,116,11,0,106,12,0,100,1,0,107,2,0,
- 114,116,0,116,2,0,106,7,0,106,8,0,116,13,0,131,
- 1,0,1,110,0,0,116,2,0,106,7,0,106,8,0,116,
- 14,0,131,1,0,1,100,2,0,83,40,3,0,0,0,117,
- 50,0,0,0,73,110,115,116,97,108,108,32,105,109,112,111,
- 114,116,108,105,98,32,97,115,32,116,104,101,32,105,109,112,
- 108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,105,
- 109,112,111,114,116,46,114,80,1,0,0,78,40,15,0,0,
- 0,114,86,1,0,0,114,215,0,0,0,114,7,0,0,0,
- 114,26,1,0,0,114,192,0,0,0,114,33,1,0,0,114,
- 47,1,0,0,114,55,1,0,0,114,251,0,0,0,114,194,
- 0,0,0,114,202,0,0,0,114,3,0,0,0,114,56,0,
- 0,0,114,205,0,0,0,114,21,1,0,0,40,3,0,0,
- 0,114,84,1,0,0,114,85,1,0,0,116,17,0,0,0,
- 115,117,112,112,111,114,116,101,100,95,108,111,97,100,101,114,
- 115,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 244,8,0,0,0,95,105,110,115,116,97,108,108,249,6,0,
- 0,115,16,0,0,0,0,2,13,1,9,1,28,1,16,1,
- 16,1,15,1,19,1,114,87,1,0,0,40,3,0,0,0,
- 117,3,0,0,0,119,105,110,114,1,0,0,0,114,2,0,
- 0,0,40,77,0,0,0,114,58,0,0,0,114,10,0,0,
- 0,114,11,0,0,0,114,17,0,0,0,114,19,0,0,0,
- 114,28,0,0,0,114,38,0,0,0,114,43,0,0,0,114,
- 44,0,0,0,114,45,0,0,0,114,54,0,0,0,114,64,
- 0,0,0,114,65,0,0,0,244,8,0,0,0,95,95,99,
- 111,100,101,95,95,114,188,0,0,0,114,67,0,0,0,114,
- 92,0,0,0,114,81,0,0,0,114,88,0,0,0,114,68,
- 0,0,0,114,70,0,0,0,114,91,0,0,0,114,96,0,
- 0,0,114,99,0,0,0,114,102,0,0,0,114,15,0,0,
- 0,114,181,0,0,0,114,14,0,0,0,114,18,0,0,0,
- 116,17,0,0,0,95,82,65,87,95,77,65,71,73,67,95,
- 78,85,77,66,69,82,114,113,0,0,0,114,122,0,0,0,
- 114,107,0,0,0,114,108,0,0,0,114,120,0,0,0,114,
- 123,0,0,0,114,131,0,0,0,114,133,0,0,0,114,141,
- 0,0,0,114,148,0,0,0,114,151,0,0,0,114,159,0,
- 0,0,114,162,0,0,0,114,165,0,0,0,114,168,0,0,
- 0,114,176,0,0,0,114,185,0,0,0,114,190,0,0,0,
- 114,193,0,0,0,114,194,0,0,0,114,202,0,0,0,114,
- 205,0,0,0,114,218,0,0,0,114,224,0,0,0,114,244,
- 0,0,0,114,248,0,0,0,114,254,0,0,0,114,4,1,
- 0,0,114,255,0,0,0,114,5,1,0,0,114,20,1,0,
- 0,114,21,1,0,0,114,33,1,0,0,114,48,1,0,0,
- 114,54,1,0,0,114,56,1,0,0,114,59,1,0,0,114,
- 60,1,0,0,114,63,1,0,0,114,64,1,0,0,114,65,
- 1,0,0,114,71,1,0,0,114,73,1,0,0,114,215,0,
- 0,0,114,77,1,0,0,114,86,1,0,0,114,87,1,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,244,8,0,0,0,60,109,111,100,117,108,
- 101,62,8,0,0,0,115,140,0,0,0,6,21,6,3,12,
- 13,12,10,12,9,12,6,12,12,12,10,12,6,12,7,15,
- 22,12,8,15,3,12,12,6,2,6,3,22,4,19,68,19,
- 23,12,19,12,20,12,109,22,1,18,2,6,2,9,2,9,
- 1,9,2,15,27,12,23,12,21,12,12,18,8,12,13,12,
- 11,12,55,12,18,12,11,12,11,12,13,21,55,21,12,18,
- 12,19,57,19,54,19,50,19,34,22,132,19,29,25,43,25,
- 19,6,3,19,45,19,55,19,18,19,91,19,128,19,13,12,
- 9,12,17,12,17,6,2,12,50,12,13,18,24,12,34,12,
- 15,12,11,24,36,12,76,
--- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -866,7 +866,8 @@ initmain(PyInterpreterState *interp) * be set if main gets further initialized later in the startup * process. */