1. 23 May, 2019 5 commits
    • Victor Stinner's avatar
      bpo-36763: Fix _PyPreConfig_InitCompatConfig() utf8_mode (GH-13518) · 20e1e258
      Victor Stinner authored
      * _PyPreConfig_InitCompatConfig() sets utf8_mode to 0.
      * Change Py_UTF8Mode default value to 0.
      * Fix _PyPreConfig_Copy(): copy also _config_init attrbibute.
      * _PyPreConfig_AsDict() exports _config_init
      * Fix _PyPreConfig_GetGlobalConfig(): use Py_UTF8Mode if it's greater
        than 0, even if utf8_mode >= 0.
      * Add unit tests on environment variables using Python API.
      20e1e258
    • Victor Stinner's avatar
      bpo-18748: _pyio.IOBase emits unraisable exception (GH-13512) · bc2aa816
      Victor Stinner authored
      In development (-X dev) mode and in a debug build, IOBase finalizer
      of the _pyio module now logs the exception if the close() method
      fails. The exception is ignored silently by default in release build.
      
      test_io: test_error_through_destructor() now uses
      support.catch_unraisable_exception() rather than capturing stderr.
      bc2aa816
    • Victor Stinner's avatar
      bpo-36721: Add --embed option to python-config (GH-13500) · 0a8e5724
      Victor Stinner authored
      To embed Python into an application, a new --embed option must be
      passed to "python3-config --libs --embed" to get "-lpython3.8" (link
      the application to libpython). To support both 3.8 and older, try
      "python3-config --libs --embed" first and fallback to "python3-config
      --libs" (without --embed) if the previous command fails.
      
      Add a pkg-config "python-3.8-embed" module to embed Python into an
      application: "pkg-config python-3.8-embed --libs" includes
      "-lpython3.8".  To support both 3.8 and older, try "pkg-config
      python-X.Y-embed --libs" first and fallback to "pkg-config python-X.Y
      --libs" (without --embed) if the previous command fails (replace
      "X.Y" with the Python version).
      
      On the other hand, "pkg-config python3.8 --libs" no longer contains
      "-lpython3.8". C extensions must not be linked to libpython (except
      on Android, case handled by the script); this change is backward
      incompatible on purpose.
      
      "make install" now also installs "python-3.8-embed.pc".
      0a8e5724
    • Batuhan Taşkaya's avatar
    • Alexey Izbyshev's avatar
      bpo-35091: Objects/listobject.c: Replace overflow checks in gallop fu… (GH-10202) · 6bc59179
      Alexey Izbyshev authored
      
      
      …nctions with asserts
      
      The actual overflow can never happen because of the following:
      * The size of a list can't be greater than PY_SSIZE_T_MAX / sizeof(PyObject*).
      * The size of a pointer on all supported plaftorms is at least 4 bytes.
      * ofs is positive and less than the list size at the beginning of each iteration.
      
      
      
      
      
      https://bugs.python.org/issue35091
      6bc59179
  2. 22 May, 2019 18 commits
  3. 21 May, 2019 15 commits
  4. 20 May, 2019 2 commits