@@ -2753,25 +2753,37 @@ import_module_level(PyObject *name, PyObject *globals, PyObject *locals,
27532753}
27542754
27552755PyObject *
2756- PyImport_ImportModuleLevel (char * name , PyObject * globals , PyObject * locals ,
2757- PyObject * fromlist , int level )
2756+ PyImport_ImportModuleLevelObject (PyObject * name , PyObject * globals ,
2757+ PyObject * locals , PyObject * fromlist ,
2758+ int level )
27582759{
2759- PyObject * nameobj , * result ;
2760- nameobj = PyUnicode_FromString (name );
2761- if (nameobj == NULL )
2762- return NULL ;
2760+ PyObject * mod ;
27632761 _PyImport_AcquireLock ();
2764- result = import_module_level (nameobj , globals , locals , fromlist , level );
2765- Py_DECREF (nameobj );
2762+ mod = import_module_level (name , globals , locals , fromlist , level );
27662763 if (_PyImport_ReleaseLock () < 0 ) {
2767- Py_XDECREF (result );
2764+ Py_XDECREF (mod );
27682765 PyErr_SetString (PyExc_RuntimeError ,
27692766 "not holding the import lock" );
27702767 return NULL ;
27712768 }
2772- return result ;
2769+ return mod ;
2770+ }
2771+
2772+ PyObject *
2773+ PyImport_ImportModuleLevel (char * name , PyObject * globals , PyObject * locals ,
2774+ PyObject * fromlist , int level )
2775+ {
2776+ PyObject * nameobj , * mod ;
2777+ nameobj = PyUnicode_FromString (name );
2778+ if (nameobj == NULL )
2779+ return NULL ;
2780+ mod = PyImport_ImportModuleLevelObject (nameobj , globals , locals ,
2781+ fromlist , level );
2782+ Py_DECREF (nameobj );
2783+ return mod ;
27732784}
27742785
2786+
27752787/* Return the package that an import is being performed in. If globals comes
27762788 from the module foo.bar.bat (not itself a package), this returns the
27772789 sys.modules entry for foo.bar. If globals is from a package's __init__.py,
0 commit comments