• Victor Stinner's avatar
    bpo-36763: Add _PyCoreConfig_InitPythonConfig() (GH-13388) · cab5d074
    Victor Stinner authored
    Add new functions to get the Python interpreter behavior:
    
    * _PyPreConfig_InitPythonConfig()
    * _PyCoreConfig_InitPythonConfig()
    
    Add new functions to get an isolated configuration:
    
    * _PyPreConfig_InitIsolatedConfig()
    * _PyCoreConfig_InitIsolatedConfig()
    
    Replace _PyPreConfig_INIT and _PyCoreConfig_INIT with new functions
    _PyPreConfig_Init() and _PyCoreConfig_Init().
    
    _PyCoreConfig: set configure_c_stdio and parse_argv to 0 by default
    to behave as Python 3.6 in the default configuration.
    
    _PyCoreConfig_Read() no longer sets coerce_c_locale_warn to 1 if it's
    equal to 0. coerce_c_locale_warn must now be set to -1 (ex: using
    _PyCoreConfig_InitPythonConfig()) to enable C locale coercion
    warning.
    
    Add unit tests for _PyCoreConfig_InitPythonConfig()
    and _PyCoreConfig_InitIsolatedConfig().
    
    Changes:
    
    * Rename _PyCoreConfig_GetCoreConfig() to _PyPreConfig_GetCoreConfig()
    * Fix core_read_precmdline(): handle parse_argv=0
    * Fix _Py_PreInitializeFromCoreConfig(): pass coreconfig.argv
      to _Py_PreInitializeFromPyArgv(), except if parse_argv=0
    cab5d074
coreconfig.c 66.5 KB