[Python-checkins] r84424 - in python/branches/import_unicode: Include/import.h Modules/signalmodule.c Python/import.c Python/importdl.c Python/pythonrun.c
victor.stinner
python-checkins at python.org
Thu Sep 2 00:14:29 CEST 2010
Author: victor.stinner
Date: Thu Sep 2 00:14:29 2010
New Revision: 84424
Log:
Create _PyImport_FindBuiltinExtension() and _PyImport_FixupBuiltinExtension()
* Remove _PyImport_FindExtension() and _PyImport_FixupExtension()
* Rename _PyImport_FindExtensionUnicode() to _PyImport_FindExtension()
* Rename _PyImport_FixupExtensionUnicode() to_PyImport_FixupExtension()
Modified:
python/branches/import_unicode/Include/import.h
python/branches/import_unicode/Modules/signalmodule.c
python/branches/import_unicode/Python/import.c
python/branches/import_unicode/Python/importdl.c
python/branches/import_unicode/Python/pythonrun.c
Modified: python/branches/import_unicode/Include/import.h
==============================================================================
--- python/branches/import_unicode/Include/import.h (original)
+++ python/branches/import_unicode/Include/import.h Thu Sep 2 00:14:29 2010
@@ -50,10 +50,10 @@
PyAPI_FUNC(int) _PyImport_IsScript(struct filedescr *);
PyAPI_FUNC(void) _PyImport_ReInitLock(void);
-PyAPI_FUNC(PyObject *)_PyImport_FindExtension(char *, char *);
-PyAPI_FUNC(PyObject *)_PyImport_FindExtensionUnicode(char *, PyObject *);
-PyAPI_FUNC(int)_PyImport_FixupExtension(PyObject*, char *, char *);
-PyAPI_FUNC(int)_PyImport_FixupExtensionUnicode(PyObject*, char *, PyObject *);
+PyAPI_FUNC(PyObject *)_PyImport_FindBuiltinExtension(char *);
+PyAPI_FUNC(PyObject *)_PyImport_FindExtension(char *, PyObject *);
+PyAPI_FUNC(int)_PyImport_FixupBuiltinExtension(PyObject*, char *);
+PyAPI_FUNC(int)_PyImport_FixupExtension(PyObject*, char *, PyObject *);
struct _inittab {
char *name;
Modified: python/branches/import_unicode/Modules/signalmodule.c
==============================================================================
--- python/branches/import_unicode/Modules/signalmodule.c (original)
+++ python/branches/import_unicode/Modules/signalmodule.c Thu Sep 2 00:14:29 2010
@@ -932,7 +932,7 @@
{
PyObject *m = PyInit_signal();
if (m) {
- _PyImport_FixupExtension(m, "signal", "signal");
+ _PyImport_FixupBuiltinExtension(m, "signal");
Py_DECREF(m);
}
}
Modified: python/branches/import_unicode/Python/import.c
==============================================================================
--- python/branches/import_unicode/Python/import.c (original)
+++ python/branches/import_unicode/Python/import.c Thu Sep 2 00:14:29 2010
@@ -585,7 +585,7 @@
*/
int
-_PyImport_FixupExtensionUnicode(PyObject *mod, char *name, PyObject *filename)
+_PyImport_FixupExtension(PyObject *mod, char *name, PyObject *filename)
{
PyObject *modules, *dict;
struct PyModuleDef *def;
@@ -625,32 +625,30 @@
if (def->m_base.m_copy == NULL)
return -1;
}
- PyDict_SetItem(extensions, filename, (PyObject*)def);
+ if (filename != NULL)
+ PyDict_SetItem(extensions, filename, (PyObject*)def);
+ else
+ PyDict_SetItemString(extensions, name, (PyObject*)def);
return 0;
}
int
-_PyImport_FixupExtension(PyObject *mod, char *name, char *filename)
+_PyImport_FixupBuiltinExtension(PyObject *mod, char *name)
{
- PyObject *fileobj;
- int result;
- fileobj = PyUnicode_FromString(filename);
- if (fileobj == NULL)
- return -1;
- result = _PyImport_FixupExtensionUnicode(mod, name, fileobj);
- Py_DECREF(fileobj);
- return result;
+ return _PyImport_FixupExtension(mod, name, NULL);
}
-
PyObject *
-_PyImport_FindExtensionUnicode(char *name, PyObject *filename)
+_PyImport_FindExtension(char *name, PyObject *filename)
{
PyObject *mod, *mdict;
PyModuleDef* def;
if (extensions == NULL)
return NULL;
- def = (PyModuleDef*)PyDict_GetItem(extensions, filename);
+ if (filename != NULL)
+ def = (PyModuleDef*)PyDict_GetItem(extensions, filename);
+ else
+ def = (PyModuleDef*)PyDict_GetItemString(extensions, name);
if (def == NULL)
return NULL;
if (def->m_size == -1) {
@@ -680,23 +678,22 @@
Py_DECREF(mod);
return NULL;
}
- if (Py_VerboseFlag)
- PySys_FormatStderr("import %s # previously loaded (%U)\n",
- name, filename);
+ if (Py_VerboseFlag) {
+ if (filename != NULL)
+ PySys_FormatStderr("import %s # previously loaded (%U)\n",
+ name, filename);
+ else
+ PySys_FormatStderr("import %s\n", name);
+ }
return mod;
}
PyObject *
-_PyImport_FindExtension(char *name, char *filename)
+_PyImport_FindBuiltinExtension(char *name)
{
- PyObject *fileobj, *mod;
- fileobj = PyUnicode_DecodeFSDefault(filename);
- mod = _PyImport_FindExtensionUnicode(name, fileobj);
- Py_DECREF(fileobj);
- return mod;
+ return _PyImport_FindExtension(name, NULL);
}
-
/* Get the module object corresponding to a module name.
First check the modules dictionary if there's one there,
if not, create a new one and insert it in the modules dictionary.
@@ -2446,7 +2443,7 @@
PyObject *path;
path = PyUnicode_FromString(name);
- if (_PyImport_FindExtensionUnicode(name, path) != NULL) {
+ if (_PyImport_FindExtension(name, path) != NULL) {
Py_DECREF(path);
return 1;
}
@@ -2468,7 +2465,7 @@
Py_DECREF(path);
return -1;
}
- if (_PyImport_FixupExtensionUnicode(mod, name, path) < 0) {
+ if (_PyImport_FixupExtension(mod, name, path) < 0) {
Py_DECREF(path);
return -1;
}
Modified: python/branches/import_unicode/Python/importdl.c
==============================================================================
--- python/branches/import_unicode/Python/importdl.c (original)
+++ python/branches/import_unicode/Python/importdl.c Thu Sep 2 00:14:29 2010
@@ -28,7 +28,7 @@
PyObject* (*p)(void);
struct PyModuleDef *def;
- if ((m = _PyImport_FindExtensionUnicode(name, path)) != NULL) {
+ if ((m = _PyImport_FindExtension(name, path)) != NULL) {
Py_INCREF(m);
return m;
}
@@ -83,7 +83,7 @@
Py_DECREF(path);
}
- if (_PyImport_FixupExtensionUnicode(m, name, path) < 0)
+ if (_PyImport_FixupExtension(m, name, path) < 0)
return NULL;
if (Py_VerboseFlag)
PySys_FormatStderr(
Modified: python/branches/import_unicode/Python/pythonrun.c
==============================================================================
--- python/branches/import_unicode/Python/pythonrun.c (original)
+++ python/branches/import_unicode/Python/pythonrun.c Thu Sep 2 00:14:29 2010
@@ -240,7 +240,7 @@
bimod = _PyBuiltin_Init();
if (bimod == NULL)
Py_FatalError("Py_Initialize: can't initialize builtins modules");
- _PyImport_FixupExtension(bimod, "builtins", "builtins");
+ _PyImport_FixupBuiltinExtension(bimod, "builtins");
interp->builtins = PyModule_GetDict(bimod);
if (interp->builtins == NULL)
Py_FatalError("Py_Initialize: can't initialize builtins dict");
@@ -256,7 +256,7 @@
if (interp->sysdict == NULL)
Py_FatalError("Py_Initialize: can't initialize sys dict");
Py_INCREF(interp->sysdict);
- _PyImport_FixupExtension(sysmod, "sys", "sys");
+ _PyImport_FixupBuiltinExtension(sysmod, "sys");
PySys_SetPath(Py_GetPath());
PyDict_SetItemString(interp->sysdict, "modules",
interp->modules);
@@ -557,7 +557,7 @@
interp->modules = PyDict_New();
interp->modules_reloading = PyDict_New();
- bimod = _PyImport_FindExtension("builtins", "builtins");
+ bimod = _PyImport_FindBuiltinExtension("builtins");
if (bimod != NULL) {
interp->builtins = PyModule_GetDict(bimod);
if (interp->builtins == NULL)
@@ -568,7 +568,7 @@
/* initialize builtin exceptions */
_PyExc_Init();
- sysmod = _PyImport_FindExtension("sys", "sys");
+ sysmod = _PyImport_FindBuiltinExtension("sys");
if (bimod != NULL && sysmod != NULL) {
PyObject *pstderr;
interp->sysdict = PyModule_GetDict(sysmod);
More information about the Python-checkins
mailing list