comparison Python/pythonrun.c @ 65418:fd5135cbd928

_PyImport_FixupExtension() and _PyImport_FindExtension() uses FS encoding * Rename _PyImport_FindExtension() to _PyImport_FindExtensionUnicode(): the filename becomes a Unicode object instead of byte string * Rename _PyImport_FixupExtension() to _PyImport_FixupExtensionUnicode(): the filename becomes a Unicode object instead of byte string
author Victor Stinner <victor.stinner@haypocalc.com>
date Sun, 17 Oct 2010 01:24:53 +0000
parents 9ed68dd6b71f
children e2ba1249a2f5
comparison
equal deleted inserted replaced
65417:02830553dbd1 65418:fd5135cbd928
253 _PyUnicode_Init(); 253 _PyUnicode_Init();
254 254
255 bimod = _PyBuiltin_Init(); 255 bimod = _PyBuiltin_Init();
256 if (bimod == NULL) 256 if (bimod == NULL)
257 Py_FatalError("Py_Initialize: can't initialize builtins modules"); 257 Py_FatalError("Py_Initialize: can't initialize builtins modules");
258 _PyImport_FixupExtension(bimod, "builtins", "builtins"); 258 _PyImport_FixupBuiltin(bimod, "builtins");
259 interp->builtins = PyModule_GetDict(bimod); 259 interp->builtins = PyModule_GetDict(bimod);
260 if (interp->builtins == NULL) 260 if (interp->builtins == NULL)
261 Py_FatalError("Py_Initialize: can't initialize builtins dict"); 261 Py_FatalError("Py_Initialize: can't initialize builtins dict");
262 Py_INCREF(interp->builtins); 262 Py_INCREF(interp->builtins);
263 263
269 Py_FatalError("Py_Initialize: can't initialize sys"); 269 Py_FatalError("Py_Initialize: can't initialize sys");
270 interp->sysdict = PyModule_GetDict(sysmod); 270 interp->sysdict = PyModule_GetDict(sysmod);
271 if (interp->sysdict == NULL) 271 if (interp->sysdict == NULL)
272 Py_FatalError("Py_Initialize: can't initialize sys dict"); 272 Py_FatalError("Py_Initialize: can't initialize sys dict");
273 Py_INCREF(interp->sysdict); 273 Py_INCREF(interp->sysdict);
274 _PyImport_FixupExtension(sysmod, "sys", "sys"); 274 _PyImport_FixupBuiltin(sysmod, "sys");
275 PySys_SetPath(Py_GetPath()); 275 PySys_SetPath(Py_GetPath());
276 PyDict_SetItemString(interp->sysdict, "modules", 276 PyDict_SetItemString(interp->sysdict, "modules",
277 interp->modules); 277 interp->modules);
278 278
279 /* Set up a preliminary stderr printer until we have enough 279 /* Set up a preliminary stderr printer until we have enough
575 /* XXX The following is lax in error checking */ 575 /* XXX The following is lax in error checking */
576 576
577 interp->modules = PyDict_New(); 577 interp->modules = PyDict_New();
578 interp->modules_reloading = PyDict_New(); 578 interp->modules_reloading = PyDict_New();
579 579
580 bimod = _PyImport_FindExtension("builtins", "builtins"); 580 bimod = _PyImport_FindBuiltin("builtins");
581 if (bimod != NULL) { 581 if (bimod != NULL) {
582 interp->builtins = PyModule_GetDict(bimod); 582 interp->builtins = PyModule_GetDict(bimod);
583 if (interp->builtins == NULL) 583 if (interp->builtins == NULL)
584 goto handle_error; 584 goto handle_error;
585 Py_INCREF(interp->builtins); 585 Py_INCREF(interp->builtins);
586 } 586 }
587 587
588 /* initialize builtin exceptions */ 588 /* initialize builtin exceptions */
589 _PyExc_Init(); 589 _PyExc_Init();
590 590
591 sysmod = _PyImport_FindExtension("sys", "sys"); 591 sysmod = _PyImport_FindBuiltin("sys");
592 if (bimod != NULL && sysmod != NULL) { 592 if (bimod != NULL && sysmod != NULL) {
593 PyObject *pstderr; 593 PyObject *pstderr;
594 interp->sysdict = PyModule_GetDict(sysmod); 594 interp->sysdict = PyModule_GetDict(sysmod);
595 if (interp->sysdict == NULL) 595 if (interp->sysdict == NULL)
596 goto handle_error; 596 goto handle_error;