Skip to content
Permalink
Branch: master
Commits on May 4, 2019
Commits on May 2, 2019
  1. bpo-36763: Remove _PyCoreConfig._init_main (GH-13066)

    vstinner committed May 2, 2019
  2. bpo-36763: _PyCoreConfig_SetPyArgv() preinitializes Python (GH-13037)

    vstinner committed May 2, 2019
    _PyCoreConfig_SetPyArgv() and _PyCoreConfig_SetWideString() now
    pre-initialize Python if needed to ensure that the locale encoding is
    properly configured.
    
    * Add _Py_PreInitializeFromPyArgv() internal function.
    * Add 'args' parameter to _Py_PreInitializeFromCoreConfig()
  3. bpo-36775: _PyCoreConfig only uses wchar_t* (GH-13062)

    vstinner committed May 2, 2019
    _PyCoreConfig: Change filesystem_encoding, filesystem_errors,
    stdio_encoding and stdio_errors fields type from char* to wchar_t*.
    
    Changes:
    
    * PyInterpreterState: replace fscodec_initialized (int) with fs_codec
      structure.
    * Add get_error_handler_wide() and unicode_encode_utf8() helper
      functions.
    * Add error_handler parameter to unicode_encode_locale()
      and unicode_decode_locale().
    * Remove _PyCoreConfig_SetString().
    * Rename _PyCoreConfig_SetWideString() to _PyCoreConfig_SetString().
    * Rename _PyCoreConfig_SetWideStringFromString()
      to _PyCoreConfig_DecodeLocale().
  4. bpo-36763: Add _PyCoreConfig._config_version (GH-13065)

    vstinner committed May 2, 2019
    Add private _config_version field to _PyPreConfig and _PyCoreConfig
    to prepare future ABI compatibility.
  5. bpo-36775: Add _PyUnicode_InitEncodings() (GH-13057)

    vstinner committed May 2, 2019
    Move get_codec_name() and initfsencoding() from pylifecycle.c to
    unicodeobject.c.
    
    Rename also "init" functions in pylifecycle.c.
  6. bpo-36775: Add _Py_FORCE_UTF8_FS_ENCODING macro (GH-13056)

    vstinner committed May 2, 2019
    Add _Py_FORCE_UTF8_LOCALE and _Py_FORCE_UTF8_FS_ENCODING macros to
    avoid factorize "#if defined(__ANDROID__) || defined(__VXWORKS__)"
    and "#if defined(__APPLE__)".
    
    Cleanup also config_init_fs_encoding().
  7. bpo-36763: Make _PyCoreConfig.check_hash_pycs_mode public (GH-13052)

    vstinner committed May 2, 2019
    _PyCoreConfig: Rename _check_hash_pycs_mode field to
    check_hash_pycs_mode (make it public) and change its type from "const
    char*" to "wchar_t*".
Commits on May 1, 2019
  1. bpo-36763: Add _PyCoreConfig_SetString() (GH-13035)

    vstinner committed May 1, 2019
    Add 3 new config methods:
    
    * _PyCoreConfig_SetString()
    * _PyCoreConfig_SetWideString()
    * _PyCoreConfig_SetWideStringFromString()
    
    Changes:
    
    * _PyCoreConfig_Copy() returns _PyInitError.
    * Add CONFIG_GET_ENV_DUP().
  2. bpo-36763: Rework _PyInitError API (GH-13031)

    vstinner committed May 1, 2019
    * Remove _PyInitError.user_err field and _Py_INIT_USER_ERR() macro:
      use _Py_INIT_ERR() instead. _Py_ExitInitError() now longer calls
      abort() on error: exit with exit code 1 instead.
    * Add _PyInitError._type private field.
    * exitcode field type is now unsigned int on Windows.
    * Rename prefix field to _func.
    * Rename msg field to err_msg.
  3. bpo-36763: Add _PyCoreConfig_SetArgv() (GH-13030)

    vstinner committed May 1, 2019
    * Add 2 new config methods:
    
      * _PyCoreConfig_SetArgv()
      * _PyCoreConfig_SetWideArgv()
    
    * Add also an internal _PyCoreConfig_SetPyArgv() method.
    * Remove 'args' parameter from _PyCoreConfig_Read().
Commits on Apr 30, 2019
  1. bpo-36763: Fix Py_SetStandardStreamEncoding() (GH-13028)

    vstinner committed Apr 30, 2019
    Fix memory leak in Py_SetStandardStreamEncoding(): release memory
    if the function is called twice.
  2. bpo-36734: Fix compilation of faulthandler.c on HP-UX (GH-12970)

    vstinner committed Apr 30, 2019
    Initialize "stack_t current_stack" to zero using memset().
Commits on Apr 29, 2019
  1. Revert "bpo-36356: Destroy the GIL at exit (GH-12453)" (GH613006)

    vstinner committed Apr 29, 2019
    This reverts commit b36e5d6.
  2. bpo-36356: Destroy the GIL at exit (GH-12453)

    vstinner committed Apr 29, 2019
    * Add _PyEval_FiniThreads2(). _PyEval_FiniThreads() now only clears
      the pending lock, whereas _PyEval_FiniThreads2() destroys the GIL.
    * pymain_free() now calls _PyEval_FiniThreads2().
    * Py_FinalizeEx() now calls _PyEval_FiniThreads().
Commits on Apr 26, 2019
  1. bpo-36722: Don't define ALT_SOABI for Py_TRACE_REFS build (GH-12973)

    vstinner committed Apr 26, 2019
    Py_TRACE_REFS ABI is incompatible with release and debug (Py_DEBUG)
    ABI.
  2. bpo-36722: Add What's New entry for debug ABI (GH-12957)

    vstinner committed Apr 26, 2019
  3. bpo-21536: Revert Makefile change on python-config (GH-12971)

    vstinner committed Apr 26, 2019
    Misc/python-config.sh lives in the build directory, not in the source
    directory.
  4. bpo-36733: Fix PYTHONPATH for make regen-add (GH-12969)

    vstinner committed Apr 26, 2019
    Add PYTHONPATH=$(srcdir) to run $(PYTHON_FOR_REGEN) -m Parser.pgen,
    so it's possible to build Python from a different directory.
  5. bpo-36356: pymain_exit_error() only call pymain_free() for exit (GH-1…

    vstinner committed Apr 26, 2019
    …2968)
    
    Add _Py_INIT_HAS_EXITCODE() macro.
  6. bpo-36719: regrtest closes explicitly WindowsLoadTracker (GH-12965)

    vstinner committed Apr 26, 2019
    Regrtest.finalize() now closes explicitly the WindowsLoadTracker
    instance.
  7. bpo-36719: Fix regrtest re-run (GH-12964)

    vstinner committed Apr 26, 2019
    Properly handle a test which fail but then pass.
    
    Add test_rerun_success() unit test.
  8. bpo-36719: regrtest always detect uncollectable objects (GH-12951)

    vstinner committed Apr 26, 2019
    regrtest now always detects uncollectable objects. Previously, the
    check was only enabled by --findleaks. The check now also works with
    -jN/--multiprocess N.
    
    --findleaks becomes a deprecated alias to --fail-env-changed.
  9. bpo-36725: Refactor regrtest multiprocessing code (GH-12961)

    vstinner committed Apr 26, 2019
    Rewrite run_tests_multiprocess() function as a new MultiprocessRunner
    class with multiple methods to better report errors and stop
    immediately when needed.
    
    Changes:
    
    * Worker processes are now killed immediately if tests are
      interrupted or if a test does crash (CHILD_ERROR): worker
      processes are killed.
    * Rewrite how errors in a worker thread are reported to
      the main thread. No longer ignore BaseException or parsing errors
      silently.
    * Remove 'finished' variable: use worker.is_alive() instead
    * Always compute omitted tests. Add Regrtest.get_executed() method.
  10. bpo-36724: Add _PyWarnings_Fini() (#12963)

    vstinner committed Apr 26, 2019
    Py_FinalizeEx() now clears _PyRuntime.warnings variables and
    _PyRuntime.exitfuncs.
    
    Changes:
    
    * Add _PyWarnings_Fini(): called by Py_FinalizeEx()
    * call_ll_exitfuncs() now clears _PyRuntime.exitfuncs while iterating
      on it (on backward order).
  11. bpo-36710: Fix compiler warning on PyThreadState_Delete() (GH-12962)

    vstinner committed Apr 26, 2019
    _PyThreadState_Delete() has no return value.
  12. bpo-36725: regrtest: add TestResult type (GH-12960)

    vstinner committed Apr 26, 2019
    * Add TestResult and MultiprocessResult types to ensure that results
      always have the same fields.
    * runtest() now handles KeyboardInterrupt
    * accumulate_result() and format_test_result() now takes a TestResult
    * cleanup_test_droppings() is now called by runtest() and mark the
      test as ENV_CHANGED if the test leaks support.TESTFN file.
    * runtest() now includes code "around" the test in the test timing
    * Add print_warning() in test.libregrtest.utils to standardize how
      libregrtest logs warnings to ease parsing the test output.
    * support.unload() is now called with abstest rather than test_name
    * Rename 'test' variable/parameter to 'test_name'
    * dash_R(): remove unused the_module parameter
    * Remove unused imports
  13. bpo-36710: Add runtime parameter in gcmodule.c (GH-12958)

    vstinner committed Apr 26, 2019
    Add 'state' or 'runtime' parameter to functions in gcmodule.c to
    avoid to rely directly on the global variable _PyRuntime.
Commits on Apr 25, 2019
  1. bpo-36710: Add runtime variable in pystate.c (GH-12956)

    vstinner committed Apr 25, 2019
    Add 'gilstate', 'runtime' or 'xidregistry' parameter to many
    functions on pystate.c to avoid lying on _PyRuntime global.
  2. bpo-36722: Debug build loads libraries built in release mode (GH-12952)

    vstinner committed Apr 25, 2019
    In debug build, import now also looks for C extensions compiled in
    release mode and for C extensions compiled in the stable ABI.
  3. bpo-21536: C extensions are no longer linked to libpython (GH-12946)

    vstinner committed Apr 25, 2019
    On Unix, C extensions are no longer linked to libpython.
    
    It is now possible to load a C extension built using a shared library
    Python with a statically linked Python.
    
    When Python is embedded, libpython must not be loaded with
    RTLD_LOCAL, but RTLD_GLOBAL instead. Previously, using RTLD_LOCAL, it
    was already not possible to load C extensions which were not linked
    to libpython, like C extensions of the standard library built by the
    "*shared*" section of Modules/Setup.
    
    distutils, python-config and python-config.py have been modified.
  4. bpo-35537: Document posix_spawn() change in subprocess (GH-11668)

    vstinner committed Apr 25, 2019
    Document that subprocess.Popen no longer raise an exception on error
    like missing program on very specific platforms when using
    os.posix_spawn() is used.
  5. bpo-28552: Fix distutils.sysconfig for empty sys.executable (GH-12875)

    vstinner committed Apr 25, 2019
    bpo-28552, bpo-7774: Fix distutils.sysconfig if sys.executable is
    None or an empty string: use os.getcwd() to initialize project_base.
    
    Fix also the distutils build command: don't use sys.executable if
    it's evaluated as false (None or empty string).
Commits on Apr 24, 2019
  1. bpo-36465: Fix test_regrtest on Windows (GH-12945)

    vstinner committed Apr 24, 2019
    Fix Py_DEBUG constant: check for sys.gettotalrefcount attribute
    rather than sys.getobjects.
    
    Update also SpecialBuilds.txt documentation.
  2. bpo-36465: Make release and debug ABI compatible (GH-12615)

    vstinner committed Apr 24, 2019
    Release build and debug build are now ABI compatible: the Py_DEBUG
    define no longer implies Py_TRACE_REFS define which introduces the
    only ABI incompatibility.
    
    A new "./configure --with-trace-refs" build option is now required to
    get Py_TRACE_REFS define which adds sys.getobjects() function and
    PYTHONDUMPREFS environment variable.
    
    Changes:
    
    * Add ./configure --with-trace-refs
    * Py_DEBUG no longer implies Py_TRACE_REFS
Older
You can’t perform that action at this time.