[Python-checkins] bpo-42260: Reorganize PyConfig (GH-23149)
vstinner
webhook-mailer at python.org
Wed Nov 4 10:15:58 EST 2020
https://github.com/python/cpython/commit/cfb41e80c1ac5940ec6f2246c9ab4a3d16ef757e
commit: cfb41e80c1ac5940ec6f2246c9ab4a3d16ef757e
branch: master
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2020-11-04T16:15:54+01:00
summary:
bpo-42260: Reorganize PyConfig (GH-23149)
* Move orig_argv before argv
* Move program_name and platlibdir with other path configuration
inputs
Give a name to the PyPreConfig and PyConfig structures and separate
the type definitions.
files:
M Include/cpython/initconfig.h
diff --git a/Include/cpython/initconfig.h b/Include/cpython/initconfig.h
index 3a38f77073dc6..666c1e419ca24 100644
--- a/Include/cpython/initconfig.h
+++ b/Include/cpython/initconfig.h
@@ -41,7 +41,7 @@ PyAPI_FUNC(PyStatus) PyWideStringList_Insert(PyWideStringList *list,
/* --- PyPreConfig ----------------------------------------------- */
-typedef struct {
+typedef struct PyPreConfig {
int _config_init; /* _PyConfigInitEnum value */
/* Parse Py_PreInitializeFromBytesArgs() arguments?
@@ -128,7 +128,7 @@ PyAPI_FUNC(void) PyPreConfig_InitIsolatedConfig(PyPreConfig *config);
/* --- PyConfig ---------------------------------------------- */
/* This structure is best documented in the Doc/c-api/init_config.rst file. */
-typedef struct {
+typedef struct PyConfig {
int _config_init; /* _PyConfigInitEnum value */
int isolated;
@@ -147,8 +147,8 @@ typedef struct {
wchar_t *filesystem_errors;
wchar_t *pycache_prefix;
int parse_argv;
+ PyWideStringList orig_argv;
PyWideStringList argv;
- wchar_t *program_name;
PyWideStringList xoptions;
PyWideStringList warnoptions;
int site_import;
@@ -169,12 +169,13 @@ typedef struct {
int legacy_windows_stdio;
#endif
wchar_t *check_hash_pycs_mode;
- PyWideStringList orig_argv;
/* --- Path configuration inputs ------------ */
int pathconfig_warnings;
+ wchar_t *program_name;
wchar_t *pythonpath_env;
wchar_t *home;
+ wchar_t *platlibdir;
/* --- Path configuration outputs ----------- */
int module_search_paths_set;
@@ -185,7 +186,6 @@ typedef struct {
wchar_t *base_prefix;
wchar_t *exec_prefix;
wchar_t *base_exec_prefix;
- wchar_t *platlibdir;
/* --- Parameter only used by Py_Main() ---------- */
int skip_source_first_line;
More information about the Python-checkins
mailing list