]> granicus.if.org Git - python/commitdiff
compile _bytesio and _stringio into the binary and initalize stdio before site fixing...
authorBenjamin Peterson <benjamin@python.org>
Fri, 5 Sep 2008 23:27:15 +0000 (23:27 +0000)
committerBenjamin Peterson <benjamin@python.org>
Fri, 5 Sep 2008 23:27:15 +0000 (23:27 +0000)
Reviewer: Alexandre Vassalotti

Misc/NEWS
Modules/Setup.dist
Python/pythonrun.c
setup.py

index f388f11a81b316792edeba399bf5c482bec3b2f1..8cc1af0ac8850034b90c1aca59143ace0d392bf1 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@ What's New in Python 3.0 release candidate 1
 Core and Builtins
 -----------------
 
+- Issue #3279: Importing site at interpreter was failing silently because the
+  site module uses the open builtin which was not initialized at the time.
+
 - Issue #3660: Corrected a reference leak in str.encode() when the encoder
   does not return a bytes object.
 
@@ -125,6 +128,8 @@ Extension Modules
   update this code in Python 3.0 by hand. Update the 2.6 one and then
   do "2to3".
 
+- The _bytesio and _stringio modules are now compiled into the python binary.
+
 Tools/Demos
 -----------
 
index d2c89711a81acf71f2b56414464df895252e884c..a2b20cad381ee40b53c62c5e245bdbcab29018e4 100644 (file)
@@ -113,6 +113,8 @@ _sre _sre.c                 # Fredrik Lundh's new regular expressions
 _codecs _codecsmodule.c                # access to the builtin codecs and codec registry
 _fileio _fileio.c              # Standard I/O baseline
 _weakref _weakref.c            # weak references
+_bytesio _bytesio.c            # For Lib/io.py
+_stringio _stringio.c          # For Lib/io.py
 
 # The zipimport module is always imported at startup. Having it as a
 # builtin module avoids some bootstrapping problems and reduces overhead.
index 39c86e749f721cca344adafc6a13a890e68e23f7..3e40d51fc0db0297ee670f989d1257fcbdcf06ab 100644 (file)
@@ -239,11 +239,11 @@ Py_InitializeEx(int install_sigs)
        }
 
        initmain(); /* Module __main__ */
-       if (!Py_NoSiteFlag)
-               initsite(); /* Module site */
        if (initstdio() < 0)
                Py_FatalError(
                    "Py_Initialize: can't initialize sys standard streams");
+       if (!Py_NoSiteFlag)
+               initsite(); /* Module site */
 
        /* auto-thread-state API, if available */
 #ifdef WITH_THREAD
index 7837c8a386193011b95577d8bdf885da40ec1ee8..bc47a8982f74f3fa2bad56c7b0b6f8c9fb14b5fb 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -439,9 +439,6 @@ class PyBuildExt(build_ext):
         exts.append( Extension('operator', ['operator.c']) )
         # _functools
         exts.append( Extension("_functools", ["_functoolsmodule.c"]) )
-        # Memory-based IO accelerator modules
-        exts.append( Extension("_bytesio", ["_bytesio.c"]) )
-        exts.append( Extension("_stringio", ["_stringio.c"]) )
         # C-optimized pickle replacement
         exts.append( Extension("_pickle", ["_pickle.c"]) )
         # atexit