]> granicus.if.org Git - python/commit
bpo-36763: Implement the PEP 587 (GH-13592)
authorVictor Stinner <vstinner@redhat.com>
Mon, 27 May 2019 14:39:22 +0000 (16:39 +0200)
committerGitHub <noreply@github.com>
Mon, 27 May 2019 14:39:22 +0000 (16:39 +0200)
commit331a6a56e9a9c72f3e4605987fabdaec72677702
tree49d20cedd9df4371f2410b2fb24255535ca02c50
parent8cd5165ba05ff57cfdbbc71c393bddad1ce1ab87
bpo-36763: Implement the PEP 587 (GH-13592)

* Add a whole new documentation page:
  "Python Initialization Configuration"
* PyWideStringList_Append() return type is now PyStatus,
  instead of int
* PyInterpreterState_New() now calls PyConfig_Clear() if
  PyConfig_InitPythonConfig() fails.
* Rename files:

  * Python/coreconfig.c => Python/initconfig.c
  * Include/cpython/coreconfig.h => Include/cpython/initconfig.h
  * Include/internal/: pycore_coreconfig.h => pycore_initconfig.h

* Rename structures

  * _PyCoreConfig => PyConfig
  * _PyPreConfig => PyPreConfig
  * _PyInitError => PyStatus
  * _PyWstrList => PyWideStringList

* Rename PyConfig fields:

  * use_module_search_paths => module_search_paths_set
  * module_search_path_env => pythonpath_env

* Rename PyStatus field: _func => func
* PyInterpreterState: rename core_config field to config
* Rename macros and functions:

  * _PyCoreConfig_SetArgv() => PyConfig_SetBytesArgv()
  * _PyCoreConfig_SetWideArgv() => PyConfig_SetArgv()
  * _PyCoreConfig_DecodeLocale() => PyConfig_SetBytesString()
  * _PyInitError_Failed() => PyStatus_Exception()
  * _Py_INIT_ERROR_TYPE_xxx enums => _PyStatus_TYPE_xxx
  * _Py_UnixMain() => Py_BytesMain()
  * _Py_ExitInitError() => Py_ExitStatusException()
  * _Py_PreInitializeFromArgs() => Py_PreInitializeFromBytesArgs()
  * _Py_PreInitializeFromWideArgs() => Py_PreInitializeFromArgs()
  * _Py_PreInitialize() => Py_PreInitialize()
  * _Py_RunMain() => Py_RunMain()
  * _Py_InitializeFromConfig() => Py_InitializeFromConfig()
  * _Py_INIT_XXX() => _PyStatus_XXX()
  * _Py_INIT_FAILED() => _PyStatus_EXCEPTION()

* Rename 'err' PyStatus variables to 'status'
* Convert RUN_CODE() macro to config_run_code() static inline function
* Remove functions:

  * _Py_InitializeFromArgs()
  * _Py_InitializeFromWideArgs()
  * _PyInterpreterState_GetCoreConfig()
50 files changed:
Doc/c-api/index.rst
Doc/c-api/init_config.rst [new file with mode: 0644]
Doc/c-api/veryhigh.rst
Doc/whatsnew/3.8.rst
Include/Python.h
Include/cpython/initconfig.h [moved from Include/cpython/coreconfig.h with 84% similarity]
Include/cpython/pylifecycle.h
Include/cpython/pystate.h
Include/internal/pycore_coreconfig.h [deleted file]
Include/internal/pycore_initconfig.h [new file with mode: 0644]
Include/internal/pycore_pathconfig.h
Include/internal/pycore_pylifecycle.h
Include/internal/pycore_pystate.h
Lib/test/test_embed.py
Makefile.pre.in
Misc/NEWS.d/next/C API/2019-05-27-12-25-25.bpo-36763.bHCA9j.rst [new file with mode: 0644]
Modules/_io/_iomodule.c
Modules/_io/iobase.c
Modules/_testinternalcapi.c
Modules/faulthandler.c
Modules/getpath.c
Modules/main.c
Objects/bytearrayobject.c
Objects/bytesobject.c
Objects/exceptions.c
Objects/listobject.c
Objects/moduleobject.c
Objects/object.c
Objects/tupleobject.c
Objects/unicodeobject.c
PC/getpathp.c
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj.filters
Programs/_freeze_importlib.c
Programs/_testembed.c
Programs/python.c
Python/bltinmodule.c
Python/bootstrap_hash.c
Python/compile.c
Python/dynload_hpux.c
Python/errors.c
Python/frozenmain.c
Python/import.c
Python/initconfig.c [moved from Python/coreconfig.c with 71% similarity]
Python/pathconfig.c
Python/preconfig.c
Python/pylifecycle.c
Python/pystate.c
Python/pythonrun.c
Python/sysmodule.c