From 49aeff49d71fa4bd935212340410311f13879447 Mon Sep 17 00:00:00 2001
From: Steve Dower <steve.dower@python.org>
Date: Tue, 19 Jul 2022 19:39:11 +0100
Subject: [PATCH] gh-91256: Ensure help text has the program name even before
 getpath is called (GH-94929)

---
 .../2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst              | 1 +
 Python/initconfig.c                                            | 3 +++
 2 files changed, 4 insertions(+)
 create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst

diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst b/Misc/NEWS.d/next/Core and Builtins/2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst
new file mode 100644
index 00000000000..802a614fd48
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst	
@@ -0,0 +1 @@
+Ensures the program name is known for help text during interpreter startup.
diff --git a/Python/initconfig.c b/Python/initconfig.c
index 355f9869290..d29c69345a2 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -2310,6 +2310,9 @@ config_parse_cmdline(PyConfig *config, PyWideStringList *warnoptions,
     const PyWideStringList *argv = &config->argv;
     int print_version = 0;
     const wchar_t* program = config->program_name;
+    if (!program && argv->length >= 1) {
+        program = argv->items[0];
+    }
 
     _PyOS_ResetGetOpt();
     do {
-- 
GitLab