PEP 587: version 4 (#1056)

The main change is the introduction of "Python Configuration" and
"Isolated Configuration" default configuration which are well better
defined. Replace all macros with functions.

Changes:

* PyPreConfig: no longer uses dynamically memory allocation,
  allocator type becomes an enum, add parse_argv and configure_locale
  field.
* PyConfig: Remove program field, rename module_search_path_env to
  pythonpath_env
* New functions:

  * PyPreConfig_InitIsolatedConfig()
  * PyPreConfig_InitPythonConfig()
  * PyConfig_InitIsolatedConfig()
  * PyConfig_InitPythonConfig()

* parse_argv default becomes 0
* Replace Py_INIT_xxx() macros with functions
* Document default values
* Remove PyConfig.dll_path
* Explain how PyConfig preinitializes Python and the relationship
  between command line arguments and the pre-initialization.
* Rename use_module_search_paths to module_search_paths_set
* Rename PyInitError_Err() to PyInitError_Error()
* "Pre-initialization" => "Preinitialization"
* Reject preconfig=NULL and config=NULL
* Replace "wchar_t**" with "wchar_t * const *", same for "char**".
This commit is contained in:
Victor Stinner 2019-05-20 13:11:42 +02:00 committed by GitHub
parent c100af6d10
commit 6062d2a6f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 676 additions and 431 deletions

File diff suppressed because it is too large Load Diff