diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst
index 0d94e6b..d2c1f9a 100644
--- a/Doc/c-api/init_config.rst
+++ b/Doc/c-api/init_config.rst
@@ -25,6 +25,7 @@
 * :c:func:`PyConfig_SetBytesArgv`
 * :c:func:`PyConfig_SetBytesString`
 * :c:func:`PyConfig_SetString`
+* :c:func:`PyConfig_SetWideStringList`
 * :c:func:`PyPreConfig_InitIsolatedConfig`
 * :c:func:`PyPreConfig_InitPythonConfig`
 * :c:func:`PyStatus_Error`
@@ -368,6 +369,12 @@
 
       Preinitialize Python if needed.
 
+   .. c:function:: PyStatus PyConfig_SetWideStringList(PyConfig *config, PyWideStringList *list, Py_ssize_t length, wchar_t **items)
+
+      Set the list of wide strings *list* to *length* and *items*.
+
+      Preinitialize Python if needed.
+
    .. c:function:: PyStatus PyConfig_Read(PyConfig *config)
 
       Read all Python configuration.
diff --git a/Include/cpython/initconfig.h b/Include/cpython/initconfig.h
index 297fbf7..bd07a48 100644
--- a/Include/cpython/initconfig.h
+++ b/Include/cpython/initconfig.h
@@ -422,6 +422,9 @@
 PyAPI_FUNC(PyStatus) PyConfig_SetArgv(PyConfig *config,
     Py_ssize_t argc,
     wchar_t * const *argv);
+PyAPI_FUNC(PyStatus) PyConfig_SetWideStringList(PyConfig *config,
+    PyWideStringList *list,
+    Py_ssize_t length, wchar_t **items);
 
 #ifdef __cplusplus
 }
diff --git a/Misc/NEWS.d/next/C API/2019-06-28-15-49-16.bpo-36763.zrmgki.rst b/Misc/NEWS.d/next/C API/2019-06-28-15-49-16.bpo-36763.zrmgki.rst
new file mode 100644
index 0000000..095d581
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2019-06-28-15-49-16.bpo-36763.zrmgki.rst
@@ -0,0 +1 @@
+Add :func:`PyConfig_SetWideStringList` function.
diff --git a/Python/initconfig.c b/Python/initconfig.c
index 786f694..c44ae6b 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -732,7 +732,7 @@
     } while (0)
 #define COPY_WSTRLIST(LIST) \
     do { \
-        if (_PyWideStringList_Copy(&config->LIST, &config2->LIST) < 0 ) { \
+        if (_PyWideStringList_Copy(&config->LIST, &config2->LIST) < 0) { \
             return _PyStatus_NO_MEMORY(); \
         } \
     } while (0)
@@ -2324,6 +2324,23 @@
 }
 
 
+PyStatus
+PyConfig_SetWideStringList(PyConfig *config, PyWideStringList *list,
+                           Py_ssize_t length, wchar_t **items)
+{
+    PyStatus status = _Py_PreInitializeFromConfig(config, NULL);
+    if (_PyStatus_EXCEPTION(status)) {
+        return status;
+    }
+
+    PyWideStringList list2 = {.length = length, .items = items};
+    if (_PyWideStringList_Copy(list, &list2) < 0) {
+        return _PyStatus_NO_MEMORY();
+    }
+    return _PyStatus_OK();
+}
+
+
 /* Read the configuration into PyConfig from:
 
    * Command line arguments
