[Python-checkins] cpython: Handle importing pkg.mod by executing

Brett Cannon brett at python.org
Sun Apr 15 04:03:43 CEST 2012


That commit message should have said "Handle importing pkg.mod -- by
executing ``__import__('mod', {'__packaging__': 'pkg'}, level=1)`` --
properly (and thus not segfaulting)."

Although honestly I'm not sure if the semantics make sense since this is
the equivalent of ``import .mod`` from within pkg and I'm not sure what
they should return: pkg or pkg.mod (currently it's the latter)? Not sure I
even really care since it's such a messed up way of specifying it and you
should be using importlib.import_module() anyway which lacks these issues).

On Sat, Apr 14, 2012 at 21:50, brett.cannon <python-checkins at python.org>wrote:

> http://hg.python.org/cpython/rev/9e8cbf07068a
> changeset:   76312:9e8cbf07068a
> user:        Brett Cannon <brett at python.org>
> date:        Sat Apr 14 21:50:00 2012 -0400
> summary:
>  Handle importing pkg.mod by executing
> __import__('mod', {'__packaging__': 'pkg', level=1) w/o properly (and
> thus not segfaulting).
>
> files:
>  Lib/importlib/_bootstrap.py                         |    2 +-
>  Lib/importlib/test/import_/test_relative_imports.py |    9 +
>  Python/import.c                                     |   21 +-
>  Python/importlib.h                                  |  497 +++++----
>  4 files changed, 276 insertions(+), 253 deletions(-)
>
>
> diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
> --- a/Lib/importlib/_bootstrap.py
> +++ b/Lib/importlib/_bootstrap.py
> @@ -1083,7 +1083,7 @@
>             return module
>         else:
>             cut_off = len(name) - len(name.partition('.')[0])
> -            return sys.modules[module.__name__[:-cut_off]]
> +            return
> sys.modules[module.__name__[:len(module.__name__)-cut_off]]
>     else:
>         return _handle_fromlist(module, fromlist, _gcd_import)
>
> diff --git a/Lib/importlib/test/import_/test_relative_imports.py
> b/Lib/importlib/test/import_/test_relative_imports.py
> --- a/Lib/importlib/test/import_/test_relative_imports.py
> +++ b/Lib/importlib/test/import_/test_relative_imports.py
> @@ -193,6 +193,15 @@
>             self.assertEqual(module.__name__, '__runpy_pkg__.uncle.cousin')
>         self.relative_import_test(create, globals_, callback)
>
> +    def test_import_relative_import_no_fromlist(self):
> +        # Import a relative module w/ no fromlist.
> +        create = ['crash.__init__', 'crash.mod']
> +        globals_ = [{'__package__': 'crash', '__name__': 'crash'}]
> +        def callback(global_):
> +            import_util.import_('crash')
> +            mod = import_util.import_('mod', global_, {}, [], 1)
> +            self.assertEqual(mod.__name__, 'crash.mod')
> +        self.relative_import_test(create, globals_, callback)
>
>
>  def test_main():
> diff --git a/Python/import.c b/Python/import.c
> --- a/Python/import.c
> +++ b/Python/import.c
> @@ -3016,20 +3016,33 @@
>             Py_DECREF(partition);
>
>             if (level == 0) {
> -                final_mod = PyDict_GetItemWithError(interp->modules,
> front);
> +                final_mod = PyDict_GetItem(interp->modules, front);
>                 Py_DECREF(front);
> -                Py_XINCREF(final_mod);
> +                if (final_mod == NULL) {
> +                    PyErr_Format(PyExc_KeyError,
> +                                 "%R not in sys.modules as expected",
> front);
> +                }
> +                else {
> +                    Py_INCREF(final_mod);
> +                }
>             }
>             else {
>                 Py_ssize_t cut_off = PyUnicode_GetLength(name) -
>                                         PyUnicode_GetLength(front);
>                 Py_ssize_t abs_name_len = PyUnicode_GetLength(abs_name);
> -                PyObject *to_return = PyUnicode_Substring(name, 0,
> +                PyObject *to_return = PyUnicode_Substring(abs_name, 0,
>                                                         abs_name_len -
> cut_off);
>
>                 final_mod = PyDict_GetItem(interp->modules, to_return);
> -                Py_INCREF(final_mod);
>                 Py_DECREF(to_return);
> +                if (final_mod == NULL) {
> +                    PyErr_Format(PyExc_KeyError,
> +                                 "%R not in sys.modules as expected",
> +                                 to_return);
> +                }
> +                else {
> +                    Py_INCREF(final_mod);
> +                }
>             }
>         }
>         else {
> diff --git a/Python/importlib.h b/Python/importlib.h
> --- a/Python/importlib.h
> +++ b/Python/importlib.h
> @@ -2826,262 +2826,263 @@
>     0,115,12,0,0,0,0,7,15,1,12,1,10,1,12,1,
>     25,1,117,17,0,0,0,95,99,97,108,99,95,95,95,112,
>     97,99,107,97,103,101,95,95,99,5,0,0,0,0,0,0,
> -    0,8,0,0,0,4,0,0,0,67,0,0,0,115,192,0,
> +    0,8,0,0,0,5,0,0,0,67,0,0,0,115,204,0,
>     0,0,124,4,0,100,1,0,107,2,0,114,27,0,116,0,
>     0,124,0,0,131,1,0,125,5,0,110,30,0,116,1,0,
>     124,1,0,131,1,0,125,6,0,116,0,0,124,0,0,124,
> -    6,0,124,4,0,131,3,0,125,5,0,124,3,0,115,172,
> +    6,0,124,4,0,131,3,0,125,5,0,124,3,0,115,184,
>     0,124,4,0,100,1,0,107,2,0,114,99,0,116,2,0,
>     106,3,0,124,0,0,106,4,0,100,2,0,131,1,0,100,
>     1,0,25,25,83,124,0,0,115,109,0,124,5,0,83,116,
>     5,0,124,0,0,131,1,0,116,5,0,124,0,0,106,4,
>     0,100,2,0,131,1,0,100,1,0,25,131,1,0,24,125,
>     7,0,116,2,0,106,3,0,124,5,0,106,6,0,100,3,
> -    0,124,7,0,11,133,2,0,25,25,83,110,16,0,116,7,
> -    0,124,5,0,124,3,0,116,0,0,131,3,0,83,100,3,
> -    0,83,40,4,0,0,0,117,214,1,0,0,73,109,112,111,
> -    114,116,32,97,32,109,111,100,117,108,101,46,10,10,32,32,
> -    32,32,84,104,101,32,39,103,108,111,98,97,108,115,39,32,
> -    97,114,103,117,109,101,110,116,32,105,115,32,117,115,101,100,
> -    32,116,111,32,105,110,102,101,114,32,119,104,101,114,101,32,
> -    116,104,101,32,105,109,112,111,114,116,32,105,115,32,111,99,
> -    99,117,114,105,110,103,32,102,114,111,109,10,32,32,32,32,
> -    116,111,32,104,97,110,100,108,101,32,114,101,108,97,116,105,
> -    118,101,32,105,109,112,111,114,116,115,46,32,84,104,101,32,
> -    39,108,111,99,97,108,115,39,32,97,114,103,117,109,101,110,
> -    116,32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,
> -    101,10,32,32,32,32,39,102,114,111,109,108,105,115,116,39,
> -    32,97,114,103,117,109,101,110,116,32,115,112,101,99,105,102,
> -    105,101,115,32,119,104,97,116,32,115,104,111,117,108,100,32,
> -    101,120,105,115,116,32,97,115,32,97,116,116,114,105,98,117,
> -    116,101,115,32,111,110,32,116,104,101,32,109,111,100,117,108,
> -    101,10,32,32,32,32,98,101,105,110,103,32,105,109,112,111,
> -    114,116,101,100,32,40,101,46,103,46,32,96,96,102,114,111,
> -    109,32,109,111,100,117,108,101,32,105,109,112,111,114,116,32,
> -    60,102,114,111,109,108,105,115,116,62,96,96,41,46,32,32,
> -    84,104,101,32,39,108,101,118,101,108,39,10,32,32,32,32,
> -    97,114,103,117,109,101,110,116,32,114,101,112,114,101,115,101,
> -    110,116,115,32,116,104,101,32,112,97,99,107,97,103,101,32,
> -    108,111,99,97,116,105,111,110,32,116,111,32,105,109,112,111,
> -    114,116,32,102,114,111,109,32,105,110,32,97,32,114,101,108,
> -    97,116,105,118,101,10,32,32,32,32,105,109,112,111,114,116,
> -    32,40,101,46,103,46,32,96,96,102,114,111,109,32,46,46,
> -    112,107,103,32,105,109,112,111,114,116,32,109,111,100,96,96,
> -    32,119,111,117,108,100,32,104,97,118,101,32,97,32,39,108,
> -    101,118,101,108,39,32,111,102,32,50,41,46,10,10,32,32,
> -    32,32,105,0,0,0,0,117,1,0,0,0,46,78,40,8,
> -    0,0,0,117,11,0,0,0,95,103,99,100,95,105,109,112,
> -    111,114,116,117,17,0,0,0,95,99,97,108,99,95,95,95,
> -    112,97,99,107,97,103,101,95,95,117,3,0,0,0,115,121,
> -    115,117,7,0,0,0,109,111,100,117,108,101,115,117,9,0,
> -    0,0,112,97,114,116,105,116,105,111,110,117,3,0,0,0,
> -    108,101,110,117,8,0,0,0,95,95,110,97,109,101,95,95,
> -    117,16,0,0,0,95,104,97,110,100,108,101,95,102,114,111,
> -    109,108,105,115,116,40,8,0,0,0,117,4,0,0,0,110,
> -    97,109,101,117,7,0,0,0,103,108,111,98,97,108,115,117,
> -    6,0,0,0,108,111,99,97,108,115,117,8,0,0,0,102,
> -    114,111,109,108,105,115,116,117,5,0,0,0,108,101,118,101,
> -    108,117,6,0,0,0,109,111,100,117,108,101,117,7,0,0,
> -    0,112,97,99,107,97,103,101,117,7,0,0,0,99,117,116,
> -    95,111,102,102,40,0,0,0,0,40,0,0,0,0,117,29,
> -    0,0,0,60,102,114,111,122,101,110,32,105,109,112,111,114,
> -    116,108,105,98,46,95,98,111,111,116,115,116,114,97,112,62,
> -    117,10,0,0,0,95,95,105,109,112,111,114,116,95,95,37,
> -    4,0,0,115,24,0,0,0,0,11,12,1,15,2,12,1,
> -    18,1,6,3,12,1,24,1,6,1,4,2,35,1,28,2,
> -    117,10,0,0,0,95,95,105,109,112,111,114,116,95,95,99,
> -    2,0,0,0,0,0,0,0,9,0,0,0,12,0,0,0,
> -    67,0,0,0,115,109,1,0,0,124,1,0,97,0,0,124,
> -    0,0,97,1,0,120,47,0,116,0,0,116,1,0,102,2,
> -    0,68,93,33,0,125,2,0,116,2,0,124,2,0,100,1,
> -    0,131,2,0,115,25,0,116,3,0,124,2,0,95,4,0,
> -    113,25,0,113,25,0,87,116,1,0,106,5,0,116,6,0,
> -    25,125,3,0,120,76,0,100,17,0,68,93,68,0,125,4,
> -    0,124,4,0,116,1,0,106,5,0,107,7,0,114,121,0,
> -    116,3,0,106,7,0,124,4,0,131,1,0,125,5,0,110,
> -    13,0,116,1,0,106,5,0,124,4,0,25,125,5,0,116,
> -    8,0,124,3,0,124,4,0,124,5,0,131,3,0,1,113,
> -    82,0,87,120,153,0,100,18,0,100,19,0,100,20,0,103,
> -    3,0,68,93,124,0,92,2,0,125,6,0,125,7,0,124,
> -    6,0,116,1,0,106,5,0,107,6,0,114,214,0,116,1,
> -    0,106,5,0,124,6,0,25,125,8,0,80,113,170,0,121,
> -    56,0,116,3,0,106,7,0,124,6,0,131,1,0,125,8,
> -    0,124,6,0,100,10,0,107,2,0,114,12,1,100,11,0,
> -    116,1,0,106,9,0,107,6,0,114,12,1,100,7,0,125,
> -    7,0,110,0,0,80,87,113,170,0,4,116,10,0,107,10,
> -    0,114,37,1,1,1,1,119,170,0,89,113,170,0,88,113,
> -    170,0,87,116,10,0,100,12,0,131,1,0,130,1,0,116,
> -    8,0,124,3,0,100,13,0,124,8,0,131,3,0,1,116,
> -    8,0,124,3,0,100,14,0,124,7,0,131,3,0,1,116,
> -    8,0,124,3,0,100,15,0,116,11,0,131,0,0,131,3,
> -    0,1,100,16,0,83,40,21,0,0,0,117,249,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,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,117,10,0,0,0,95,95,
> -    108,111,97,100,101,114,95,95,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,117,5,0,0,0,112,111,115,105,
> -    120,117,1,0,0,0,47,117,2,0,0,0,110,116,117,1,
> -    0,0,0,92,117,3,0,0,0,111,115,50,117,7,0,0,
> -    0,69,77,88,32,71,67,67,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,117,3,0,0,0,
> -    95,111,115,117,8,0,0,0,112,97,116,104,95,115,101,112,
> -    117,11,0,0,0,95,114,101,108,97,120,95,99,97,115,101,
> -    78,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,2,0,0,0,117,5,0,0,0,112,
> -    111,115,105,120,117,1,0,0,0,47,40,2,0,0,0,117,
> -    2,0,0,0,110,116,117,1,0,0,0,92,40,2,0,0,
> -    0,117,3,0,0,0,111,115,50,117,1,0,0,0,92,40,
> -    12,0,0,0,117,3,0,0,0,105,109,112,117,3,0,0,
> -    0,115,121,115,117,7,0,0,0,104,97,115,97,116,116,114,
> -    117,15,0,0,0,66,117,105,108,116,105,110,73,109,112,111,
> -    114,116,101,114,117,10,0,0,0,95,95,108,111,97,100,101,
> -    114,95,95,117,7,0,0,0,109,111,100,117,108,101,115,117,
> -    8,0,0,0,95,95,110,97,109,101,95,95,117,11,0,0,
> -    0,108,111,97,100,95,109,111,100,117,108,101,117,7,0,0,
> -    0,115,101,116,97,116,116,114,117,7,0,0,0,118,101,114,
> -    115,105,111,110,117,11,0,0,0,73,109,112,111,114,116,69,
> -    114,114,111,114,117,16,0,0,0,95,109,97,107,101,95,114,
> -    101,108,97,120,95,99,97,115,101,40,9,0,0,0,117,10,
> -    0,0,0,115,121,115,95,109,111,100,117,108,101,117,10,0,
> -    0,0,105,109,112,95,109,111,100,117,108,101,117,6,0,0,
> -    0,109,111,100,117,108,101,117,11,0,0,0,115,101,108,102,
> -    95,109,111,100,117,108,101,117,12,0,0,0,98,117,105,108,
> -    116,105,110,95,110,97,109,101,117,14,0,0,0,98,117,105,
> -    108,116,105,110,95,109,111,100,117,108,101,117,10,0,0,0,
> -    98,117,105,108,116,105,110,95,111,115,117,8,0,0,0,112,
> -    97,116,104,95,115,101,112,117,9,0,0,0,111,115,95,109,
> -    111,100,117,108,101,40,0,0,0,0,40,0,0,0,0,117,
> -    29,0,0,0,60,102,114,111,122,101,110,32,105,109,112,111,
> -    114,116,108,105,98,46,95,98,111,111,116,115,116,114,97,112,
> -    62,117,6,0,0,0,95,115,101,116,117,112,67,4,0,0,
> -    115,52,0,0,0,0,9,6,1,6,2,19,1,15,1,16,
> -    2,13,1,13,1,15,1,18,2,13,1,20,2,28,1,15,
> -    1,13,1,4,2,3,1,15,2,27,1,9,1,5,1,13,
> -    1,12,2,12,1,16,1,16,2,117,6,0,0,0,95,115,
> -    101,116,117,112,99,2,0,0,0,0,0,0,0,3,0,0,
> -    0,3,0,0,0,67,0,0,0,115,44,0,0,0,116,0,
> -    0,124,0,0,124,1,0,131,2,0,1,116,1,0,106,2,
> -    0,125,2,0,116,2,0,116,1,0,95,2,0,124,2,0,
> -    116,1,0,95,3,0,100,1,0,83,40,2,0,0,0,117,
> -    201,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,10,10,32,32,32,32,73,116,32,105,
> -    115,32,97,115,115,117,109,101,100,32,116,104,97,116,32,105,
> -    109,112,32,97,110,100,32,115,121,115,32,104,97,118,101,32,
> -    98,101,101,110,32,105,109,112,111,114,116,101,100,32,97,110,
> -    100,32,105,110,106,101,99,116,101,100,32,105,110,116,111,32,
> -    116,104,101,10,32,32,32,32,103,108,111,98,97,108,32,110,
> -    97,109,101,115,112,97,99,101,32,102,111,114,32,116,104,101,
> -    32,109,111,100,117,108,101,32,112,114,105,111,114,32,116,111,
> -    32,99,97,108,108,105,110,103,32,116,104,105,115,32,102,117,
> -    110,99,116,105,111,110,46,10,10,32,32,32,32,78,40,4,
> -    0,0,0,117,6,0,0,0,95,115,101,116,117,112,117,8,
> -    0,0,0,98,117,105,108,116,105,110,115,117,10,0,0,0,
> -    95,95,105,109,112,111,114,116,95,95,117,19,0,0,0,95,
> -    95,111,114,105,103,105,110,97,108,95,105,109,112,111,114,116,
> -    95,95,40,3,0,0,0,117,10,0,0,0,115,121,115,95,
> -    109,111,100,117,108,101,117,10,0,0,0,105,109,112,95,109,
> -    111,100,117,108,101,117,11,0,0,0,111,114,105,103,95,105,
> -    109,112,111,114,116,40,0,0,0,0,40,0,0,0,0,117,
> -    29,0,0,0,60,102,114,111,122,101,110,32,105,109,112,111,
> -    114,116,108,105,98,46,95,98,111,111,116,115,116,114,97,112,
> -    62,117,8,0,0,0,95,105,110,115,116,97,108,108,112,4,
> -    0,0,115,8,0,0,0,0,7,13,1,9,1,9,1,117,
> -    8,0,0,0,95,105,110,115,116,97,108,108,78,40,3,0,
> -    0,0,117,3,0,0,0,119,105,110,117,6,0,0,0,99,
> -    121,103,119,105,110,117,6,0,0,0,100,97,114,119,105,110,
> -    40,55,0,0,0,117,7,0,0,0,95,95,100,111,99,95,
> -    95,117,26,0,0,0,67,65,83,69,95,73,78,83,69,78,
> -    83,73,84,73,86,69,95,80,76,65,84,70,79,82,77,83,
> +    0,116,5,0,124,5,0,106,6,0,131,1,0,124,7,0,
> +    24,133,2,0,25,25,83,110,16,0,116,7,0,124,5,0,
> +    124,3,0,116,0,0,131,3,0,83,100,3,0,83,40,4,
> +    0,0,0,117,214,1,0,0,73,109,112,111,114,116,32,97,
> +    32,109,111,100,117,108,101,46,10,10,32,32,32,32,84,104,
> +    101,32,39,103,108,111,98,97,108,115,39,32,97,114,103,117,
> +    109,101,110,116,32,105,115,32,117,115,101,100,32,116,111,32,
> +    105,110,102,101,114,32,119,104,101,114,101,32,116,104,101,32,
> +    105,109,112,111,114,116,32,105,115,32,111,99,99,117,114,105,
> +    110,103,32,102,114,111,109,10,32,32,32,32,116,111,32,104,
> +    97,110,100,108,101,32,114,101,108,97,116,105,118,101,32,105,
> +    109,112,111,114,116,115,46,32,84,104,101,32,39,108,111,99,
> +    97,108,115,39,32,97,114,103,117,109,101,110,116,32,105,115,
> +    32,105,103,110,111,114,101,100,46,32,84,104,101,10,32,32,
> +    32,32,39,102,114,111,109,108,105,115,116,39,32,97,114,103,
> +    117,109,101,110,116,32,115,112,101,99,105,102,105,101,115,32,
> +    119,104,97,116,32,115,104,111,117,108,100,32,101,120,105,115,
> +    116,32,97,115,32,97,116,116,114,105,98,117,116,101,115,32,
> +    111,110,32,116,104,101,32,109,111,100,117,108,101,10,32,32,
> +    32,32,98,101,105,110,103,32,105,109,112,111,114,116,101,100,
> +    32,40,101,46,103,46,32,96,96,102,114,111,109,32,109,111,
> +    100,117,108,101,32,105,109,112,111,114,116,32,60,102,114,111,
> +    109,108,105,115,116,62,96,96,41,46,32,32,84,104,101,32,
> +    39,108,101,118,101,108,39,10,32,32,32,32,97,114,103,117,
> +    109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,32,
> +    116,104,101,32,112,97,99,107,97,103,101,32,108,111,99,97,
> +    116,105,111,110,32,116,111,32,105,109,112,111,114,116,32,102,
> +    114,111,109,32,105,110,32,97,32,114,101,108,97,116,105,118,
> +    101,10,32,32,32,32,105,109,112,111,114,116,32,40,101,46,
> +    103,46,32,96,96,102,114,111,109,32,46,46,112,107,103,32,
> +    105,109,112,111,114,116,32,109,111,100,96,96,32,119,111,117,
> +    108,100,32,104,97,118,101,32,97,32,39,108,101,118,101,108,
> +    39,32,111,102,32,50,41,46,10,10,32,32,32,32,105,0,
> +    0,0,0,117,1,0,0,0,46,78,40,8,0,0,0,117,
> +    11,0,0,0,95,103,99,100,95,105,109,112,111,114,116,117,
> +    17,0,0,0,95,99,97,108,99,95,95,95,112,97,99,107,
> +    97,103,101,95,95,117,3,0,0,0,115,121,115,117,7,0,
> +    0,0,109,111,100,117,108,101,115,117,9,0,0,0,112,97,
> +    114,116,105,116,105,111,110,117,3,0,0,0,108,101,110,117,
> +    8,0,0,0,95,95,110,97,109,101,95,95,117,16,0,0,
> +    0,95,104,97,110,100,108,101,95,102,114,111,109,108,105,115,
> +    116,40,8,0,0,0,117,4,0,0,0,110,97,109,101,117,
> +    7,0,0,0,103,108,111,98,97,108,115,117,6,0,0,0,
> +    108,111,99,97,108,115,117,8,0,0,0,102,114,111,109,108,
> +    105,115,116,117,5,0,0,0,108,101,118,101,108,117,6,0,
> +    0,0,109,111,100,117,108,101,117,7,0,0,0,112,97,99,
> +    107,97,103,101,117,7,0,0,0,99,117,116,95,111,102,102,
> +    40,0,0,0,0,40,0,0,0,0,117,29,0,0,0,60,
> +    102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,98,
> +    46,95,98,111,111,116,115,116,114,97,112,62,117,10,0,0,
> +    0,95,95,105,109,112,111,114,116,95,95,37,4,0,0,115,
> +    24,0,0,0,0,11,12,1,15,2,12,1,18,1,6,3,
> +    12,1,24,1,6,1,4,2,35,1,40,2,117,10,0,0,
> +    0,95,95,105,109,112,111,114,116,95,95,99,2,0,0,0,
> +    0,0,0,0,9,0,0,0,12,0,0,0,67,0,0,0,
> +    115,109,1,0,0,124,1,0,97,0,0,124,0,0,97,1,
> +    0,120,47,0,116,0,0,116,1,0,102,2,0,68,93,33,
> +    0,125,2,0,116,2,0,124,2,0,100,1,0,131,2,0,
> +    115,25,0,116,3,0,124,2,0,95,4,0,113,25,0,113,
> +    25,0,87,116,1,0,106,5,0,116,6,0,25,125,3,0,
> +    120,76,0,100,17,0,68,93,68,0,125,4,0,124,4,0,
> +    116,1,0,106,5,0,107,7,0,114,121,0,116,3,0,106,
> +    7,0,124,4,0,131,1,0,125,5,0,110,13,0,116,1,
> +    0,106,5,0,124,4,0,25,125,5,0,116,8,0,124,3,
> +    0,124,4,0,124,5,0,131,3,0,1,113,82,0,87,120,
> +    153,0,100,18,0,100,19,0,100,20,0,103,3,0,68,93,
> +    124,0,92,2,0,125,6,0,125,7,0,124,6,0,116,1,
> +    0,106,5,0,107,6,0,114,214,0,116,1,0,106,5,0,
> +    124,6,0,25,125,8,0,80,113,170,0,121,56,0,116,3,
> +    0,106,7,0,124,6,0,131,1,0,125,8,0,124,6,0,
> +    100,10,0,107,2,0,114,12,1,100,11,0,116,1,0,106,
> +    9,0,107,6,0,114,12,1,100,7,0,125,7,0,110,0,
> +    0,80,87,113,170,0,4,116,10,0,107,10,0,114,37,1,
> +    1,1,1,119,170,0,89,113,170,0,88,113,170,0,87,116,
> +    10,0,100,12,0,131,1,0,130,1,0,116,8,0,124,3,
> +    0,100,13,0,124,8,0,131,3,0,1,116,8,0,124,3,
> +    0,100,14,0,124,7,0,131,3,0,1,116,8,0,124,3,
> +    0,100,15,0,116,11,0,131,0,0,131,3,0,1,100,16,
> +    0,83,40,21,0,0,0,117,249,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,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,117,10,0,0,0,95,95,108,111,97,100,
> +    101,114,95,95,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,117,5,0,0,0,112,111,115,105,120,117,1,0,
> +    0,0,47,117,2,0,0,0,110,116,117,1,0,0,0,92,
> +    117,3,0,0,0,111,115,50,117,7,0,0,0,69,77,88,
> +    32,71,67,67,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,117,3,0,0,0,95,111,115,117,
> +    8,0,0,0,112,97,116,104,95,115,101,112,117,11,0,0,
> +    0,95,114,101,108,97,120,95,99,97,115,101,78,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,2,0,0,0,117,5,0,0,0,112,111,115,105,120,
> +    117,1,0,0,0,47,40,2,0,0,0,117,2,0,0,0,
> +    110,116,117,1,0,0,0,92,40,2,0,0,0,117,3,0,
> +    0,0,111,115,50,117,1,0,0,0,92,40,12,0,0,0,
> +    117,3,0,0,0,105,109,112,117,3,0,0,0,115,121,115,
> +    117,7,0,0,0,104,97,115,97,116,116,114,117,15,0,0,
> +    0,66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,
> +    117,10,0,0,0,95,95,108,111,97,100,101,114,95,95,117,
> +    7,0,0,0,109,111,100,117,108,101,115,117,8,0,0,0,
> +    95,95,110,97,109,101,95,95,117,11,0,0,0,108,111,97,
> +    100,95,109,111,100,117,108,101,117,7,0,0,0,115,101,116,
> +    97,116,116,114,117,7,0,0,0,118,101,114,115,105,111,110,
> +    117,11,0,0,0,73,109,112,111,114,116,69,114,114,111,114,
>     117,16,0,0,0,95,109,97,107,101,95,114,101,108,97,120,
> -    95,99,97,115,101,117,7,0,0,0,95,119,95,108,111,110,
> -    103,117,7,0,0,0,95,114,95,108,111,110,103,117,10,0,
> -    0,0,95,112,97,116,104,95,106,111,105,110,117,12,0,0,
> -    0,95,112,97,116,104,95,101,120,105,115,116,115,117,18,0,
> -    0,0,95,112,97,116,104,95,105,115,95,109,111,100,101,95,
> -    116,121,112,101,117,12,0,0,0,95,112,97,116,104,95,105,
> -    115,102,105,108,101,117,11,0,0,0,95,112,97,116,104,95,
> -    105,115,100,105,114,117,17,0,0,0,95,112,97,116,104,95,
> -    119,105,116,104,111,117,116,95,101,120,116,117,14,0,0,0,
> -    95,112,97,116,104,95,97,98,115,111,108,117,116,101,117,13,
> -    0,0,0,95,119,114,105,116,101,95,97,116,111,109,105,99,
> -    117,5,0,0,0,95,119,114,97,112,117,4,0,0,0,116,
> -    121,112,101,117,8,0,0,0,95,95,99,111,100,101,95,95,
> -    117,9,0,0,0,99,111,100,101,95,116,121,112,101,117,15,
> -    0,0,0,118,101,114,98,111,115,101,95,109,101,115,115,97,
> -    103,101,117,11,0,0,0,115,101,116,95,112,97,99,107,97,
> -    103,101,117,10,0,0,0,115,101,116,95,108,111,97,100,101,
> -    114,117,17,0,0,0,109,111,100,117,108,101,95,102,111,114,
> -    95,108,111,97,100,101,114,117,11,0,0,0,95,99,104,101,
> -    99,107,95,110,97,109,101,117,17,0,0,0,95,114,101,113,
> -    117,105,114,101,115,95,98,117,105,108,116,105,110,117,16,0,
> -    0,0,95,114,101,113,117,105,114,101,115,95,102,114,111,122,
> -    101,110,117,12,0,0,0,95,115,117,102,102,105,120,95,108,
> -    105,115,116,117,15,0,0,0,66,117,105,108,116,105,110,73,
> -    109,112,111,114,116,101,114,117,14,0,0,0,70,114,111,122,
> -    101,110,73,109,112,111,114,116,101,114,117,13,0,0,0,95,
> -    76,111,97,100,101,114,66,97,115,105,99,115,117,12,0,0,
> -    0,83,111,117,114,99,101,76,111,97,100,101,114,117,11,0,
> -    0,0,95,70,105,108,101,76,111,97,100,101,114,117,17,0,
> -    0,0,95,83,111,117,114,99,101,70,105,108,101,76,111,97,
> -    100,101,114,117,21,0,0,0,95,83,111,117,114,99,101,108,
> -    101,115,115,70,105,108,101,76,111,97,100,101,114,117,20,0,
> -    0,0,95,69,120,116,101,110,115,105,111,110,70,105,108,101,
> -    76,111,97,100,101,114,117,10,0,0,0,80,97,116,104,70,
> -    105,110,100,101,114,117,11,0,0,0,95,70,105,108,101,70,
> -    105,110,100,101,114,117,20,0,0,0,95,83,111,117,114,99,
> -    101,70,105,110,100,101,114,68,101,116,97,105,108,115,117,24,
> -    0,0,0,95,83,111,117,114,99,101,108,101,115,115,70,105,
> -    110,100,101,114,68,101,116,97,105,108,115,117,23,0,0,0,
> -    95,69,120,116,101,110,115,105,111,110,70,105,110,100,101,114,
> -    68,101,116,97,105,108,115,117,15,0,0,0,95,102,105,108,
> -    101,95,112,97,116,104,95,104,111,111,107,117,18,0,0,0,
> -    95,68,69,70,65,85,76,84,95,80,65,84,72,95,72,79,
> -    79,75,117,18,0,0,0,95,68,101,102,97,117,108,116,80,
> -    97,116,104,70,105,110,100,101,114,117,18,0,0,0,95,73,
> -    109,112,111,114,116,76,111,99,107,67,111,110,116,101,120,116,
> -    117,13,0,0,0,95,114,101,115,111,108,118,101,95,110,97,
> -    109,101,117,12,0,0,0,95,102,105,110,100,95,109,111,100,
> -    117,108,101,117,13,0,0,0,95,115,97,110,105,116,121,95,
> -    99,104,101,99,107,117,19,0,0,0,95,73,77,80,76,73,
> -    67,73,84,95,77,69,84,65,95,80,65,84,72,117,8,0,
> -    0,0,95,69,82,82,95,77,83,71,117,14,0,0,0,95,
> -    102,105,110,100,95,97,110,100,95,108,111,97,100,117,4,0,
> -    0,0,78,111,110,101,117,11,0,0,0,95,103,99,100,95,
> -    105,109,112,111,114,116,117,16,0,0,0,95,104,97,110,100,
> -    108,101,95,102,114,111,109,108,105,115,116,117,17,0,0,0,
> -    95,99,97,108,99,95,95,95,112,97,99,107,97,103,101,95,
> -    95,117,10,0,0,0,95,95,105,109,112,111,114,116,95,95,
> -    117,6,0,0,0,95,115,101,116,117,112,117,8,0,0,0,
> -    95,105,110,115,116,97,108,108,40,0,0,0,0,40,0,0,
> -    0,0,40,0,0,0,0,117,29,0,0,0,60,102,114,111,
> -    122,101,110,32,105,109,112,111,114,116,108,105,98,46,95,98,
> -    111,111,116,115,116,114,97,112,62,117,8,0,0,0,60,109,
> -    111,100,117,108,101,62,8,0,0,0,115,102,0,0,0,6,
> -    14,6,3,12,13,12,16,12,15,12,6,12,10,12,10,12,
> -    6,12,7,12,9,12,13,12,21,12,8,15,4,12,8,12,
> -    13,12,11,12,32,12,16,12,11,12,11,12,8,19,53,19,
> -    47,19,77,22,114,19,22,25,38,25,24,19,45,19,68,19,
> -    77,19,8,19,9,19,11,12,10,6,2,22,21,19,13,12,
> -    9,12,15,12,17,15,2,6,2,12,41,18,25,12,23,12,
> -    15,24,30,12,45,
> +    95,99,97,115,101,40,9,0,0,0,117,10,0,0,0,115,
> +    121,115,95,109,111,100,117,108,101,117,10,0,0,0,105,109,
> +    112,95,109,111,100,117,108,101,117,6,0,0,0,109,111,100,
> +    117,108,101,117,11,0,0,0,115,101,108,102,95,109,111,100,
> +    117,108,101,117,12,0,0,0,98,117,105,108,116,105,110,95,
> +    110,97,109,101,117,14,0,0,0,98,117,105,108,116,105,110,
> +    95,109,111,100,117,108,101,117,10,0,0,0,98,117,105,108,
> +    116,105,110,95,111,115,117,8,0,0,0,112,97,116,104,95,
> +    115,101,112,117,9,0,0,0,111,115,95,109,111,100,117,108,
> +    101,40,0,0,0,0,40,0,0,0,0,117,29,0,0,0,
> +    60,102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,
> +    98,46,95,98,111,111,116,115,116,114,97,112,62,117,6,0,
> +    0,0,95,115,101,116,117,112,67,4,0,0,115,52,0,0,
> +    0,0,9,6,1,6,2,19,1,15,1,16,2,13,1,13,
> +    1,15,1,18,2,13,1,20,2,28,1,15,1,13,1,4,
> +    2,3,1,15,2,27,1,9,1,5,1,13,1,12,2,12,
> +    1,16,1,16,2,117,6,0,0,0,95,115,101,116,117,112,
> +    99,2,0,0,0,0,0,0,0,3,0,0,0,3,0,0,
> +    0,67,0,0,0,115,44,0,0,0,116,0,0,124,0,0,
> +    124,1,0,131,2,0,1,116,1,0,106,2,0,125,2,0,
> +    116,2,0,116,1,0,95,2,0,124,2,0,116,1,0,95,
> +    3,0,100,1,0,83,40,2,0,0,0,117,201,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,10,10,32,32,32,32,73,116,32,105,115,32,97,115,
> +    115,117,109,101,100,32,116,104,97,116,32,105,109,112,32,97,
> +    110,100,32,115,121,115,32,104,97,118,101,32,98,101,101,110,
> +    32,105,109,112,111,114,116,101,100,32,97,110,100,32,105,110,
> +    106,101,99,116,101,100,32,105,110,116,111,32,116,104,101,10,
> +    32,32,32,32,103,108,111,98,97,108,32,110,97,109,101,115,
> +    112,97,99,101,32,102,111,114,32,116,104,101,32,109,111,100,
> +    117,108,101,32,112,114,105,111,114,32,116,111,32,99,97,108,
> +    108,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,
> +    111,110,46,10,10,32,32,32,32,78,40,4,0,0,0,117,
> +    6,0,0,0,95,115,101,116,117,112,117,8,0,0,0,98,
> +    117,105,108,116,105,110,115,117,10,0,0,0,95,95,105,109,
> +    112,111,114,116,95,95,117,19,0,0,0,95,95,111,114,105,
> +    103,105,110,97,108,95,105,109,112,111,114,116,95,95,40,3,
> +    0,0,0,117,10,0,0,0,115,121,115,95,109,111,100,117,
> +    108,101,117,10,0,0,0,105,109,112,95,109,111,100,117,108,
> +    101,117,11,0,0,0,111,114,105,103,95,105,109,112,111,114,
> +    116,40,0,0,0,0,40,0,0,0,0,117,29,0,0,0,
> +    60,102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,
> +    98,46,95,98,111,111,116,115,116,114,97,112,62,117,8,0,
> +    0,0,95,105,110,115,116,97,108,108,112,4,0,0,115,8,
> +    0,0,0,0,7,13,1,9,1,9,1,117,8,0,0,0,
> +    95,105,110,115,116,97,108,108,78,40,3,0,0,0,117,3,
> +    0,0,0,119,105,110,117,6,0,0,0,99,121,103,119,105,
> +    110,117,6,0,0,0,100,97,114,119,105,110,40,55,0,0,
> +    0,117,7,0,0,0,95,95,100,111,99,95,95,117,26,0,
> +    0,0,67,65,83,69,95,73,78,83,69,78,83,73,84,73,
> +    86,69,95,80,76,65,84,70,79,82,77,83,117,16,0,0,
> +    0,95,109,97,107,101,95,114,101,108,97,120,95,99,97,115,
> +    101,117,7,0,0,0,95,119,95,108,111,110,103,117,7,0,
> +    0,0,95,114,95,108,111,110,103,117,10,0,0,0,95,112,
> +    97,116,104,95,106,111,105,110,117,12,0,0,0,95,112,97,
> +    116,104,95,101,120,105,115,116,115,117,18,0,0,0,95,112,
> +    97,116,104,95,105,115,95,109,111,100,101,95,116,121,112,101,
> +    117,12,0,0,0,95,112,97,116,104,95,105,115,102,105,108,
> +    101,117,11,0,0,0,95,112,97,116,104,95,105,115,100,105,
> +    114,117,17,0,0,0,95,112,97,116,104,95,119,105,116,104,
> +    111,117,116,95,101,120,116,117,14,0,0,0,95,112,97,116,
> +    104,95,97,98,115,111,108,117,116,101,117,13,0,0,0,95,
> +    119,114,105,116,101,95,97,116,111,109,105,99,117,5,0,0,
> +    0,95,119,114,97,112,117,4,0,0,0,116,121,112,101,117,
> +    8,0,0,0,95,95,99,111,100,101,95,95,117,9,0,0,
> +    0,99,111,100,101,95,116,121,112,101,117,15,0,0,0,118,
> +    101,114,98,111,115,101,95,109,101,115,115,97,103,101,117,11,
> +    0,0,0,115,101,116,95,112,97,99,107,97,103,101,117,10,
> +    0,0,0,115,101,116,95,108,111,97,100,101,114,117,17,0,
> +    0,0,109,111,100,117,108,101,95,102,111,114,95,108,111,97,
> +    100,101,114,117,11,0,0,0,95,99,104,101,99,107,95,110,
> +    97,109,101,117,17,0,0,0,95,114,101,113,117,105,114,101,
> +    115,95,98,117,105,108,116,105,110,117,16,0,0,0,95,114,
> +    101,113,117,105,114,101,115,95,102,114,111,122,101,110,117,12,
> +    0,0,0,95,115,117,102,102,105,120,95,108,105,115,116,117,
> +    15,0,0,0,66,117,105,108,116,105,110,73,109,112,111,114,
> +    116,101,114,117,14,0,0,0,70,114,111,122,101,110,73,109,
> +    112,111,114,116,101,114,117,13,0,0,0,95,76,111,97,100,
> +    101,114,66,97,115,105,99,115,117,12,0,0,0,83,111,117,
> +    114,99,101,76,111,97,100,101,114,117,11,0,0,0,95,70,
> +    105,108,101,76,111,97,100,101,114,117,17,0,0,0,95,83,
> +    111,117,114,99,101,70,105,108,101,76,111,97,100,101,114,117,
> +    21,0,0,0,95,83,111,117,114,99,101,108,101,115,115,70,
> +    105,108,101,76,111,97,100,101,114,117,20,0,0,0,95,69,
> +    120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,
> +    101,114,117,10,0,0,0,80,97,116,104,70,105,110,100,101,
> +    114,117,11,0,0,0,95,70,105,108,101,70,105,110,100,101,
> +    114,117,20,0,0,0,95,83,111,117,114,99,101,70,105,110,
> +    100,101,114,68,101,116,97,105,108,115,117,24,0,0,0,95,
> +    83,111,117,114,99,101,108,101,115,115,70,105,110,100,101,114,
> +    68,101,116,97,105,108,115,117,23,0,0,0,95,69,120,116,
> +    101,110,115,105,111,110,70,105,110,100,101,114,68,101,116,97,
> +    105,108,115,117,15,0,0,0,95,102,105,108,101,95,112,97,
> +    116,104,95,104,111,111,107,117,18,0,0,0,95,68,69,70,
> +    65,85,76,84,95,80,65,84,72,95,72,79,79,75,117,18,
> +    0,0,0,95,68,101,102,97,117,108,116,80,97,116,104,70,
> +    105,110,100,101,114,117,18,0,0,0,95,73,109,112,111,114,
> +    116,76,111,99,107,67,111,110,116,101,120,116,117,13,0,0,
> +    0,95,114,101,115,111,108,118,101,95,110,97,109,101,117,12,
> +    0,0,0,95,102,105,110,100,95,109,111,100,117,108,101,117,
> +    13,0,0,0,95,115,97,110,105,116,121,95,99,104,101,99,
> +    107,117,19,0,0,0,95,73,77,80,76,73,67,73,84,95,
> +    77,69,84,65,95,80,65,84,72,117,8,0,0,0,95,69,
> +    82,82,95,77,83,71,117,14,0,0,0,95,102,105,110,100,
> +    95,97,110,100,95,108,111,97,100,117,4,0,0,0,78,111,
> +    110,101,117,11,0,0,0,95,103,99,100,95,105,109,112,111,
> +    114,116,117,16,0,0,0,95,104,97,110,100,108,101,95,102,
> +    114,111,109,108,105,115,116,117,17,0,0,0,95,99,97,108,
> +    99,95,95,95,112,97,99,107,97,103,101,95,95,117,10,0,
> +    0,0,95,95,105,109,112,111,114,116,95,95,117,6,0,0,
> +    0,95,115,101,116,117,112,117,8,0,0,0,95,105,110,115,
> +    116,97,108,108,40,0,0,0,0,40,0,0,0,0,40,0,
> +    0,0,0,117,29,0,0,0,60,102,114,111,122,101,110,32,
> +    105,109,112,111,114,116,108,105,98,46,95,98,111,111,116,115,
> +    116,114,97,112,62,117,8,0,0,0,60,109,111,100,117,108,
> +    101,62,8,0,0,0,115,102,0,0,0,6,14,6,3,12,
> +    13,12,16,12,15,12,6,12,10,12,10,12,6,12,7,12,
> +    9,12,13,12,21,12,8,15,4,12,8,12,13,12,11,12,
> +    32,12,16,12,11,12,11,12,8,19,53,19,47,19,77,22,
> +    114,19,22,25,38,25,24,19,45,19,68,19,77,19,8,19,
> +    9,19,11,12,10,6,2,22,21,19,13,12,9,12,15,12,
> +    17,15,2,6,2,12,41,18,25,12,23,12,15,24,30,12,
> +    45,
>  };
>
> --
> Repository URL: http://hg.python.org/cpython
>
> _______________________________________________
> Python-checkins mailing list
> Python-checkins at python.org
> http://mail.python.org/mailman/listinfo/python-checkins
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-checkins/attachments/20120414/bcec6f82/attachment-0001.html>


More information about the Python-checkins mailing list