From bb8e20a329f83cdeb74e5a6cc5a4079349ba2a87 Mon Sep 17 00:00:00 2001
From: "Miss Islington (bot)"
 <31488909+miss-islington@users.noreply.github.com>
Date: Tue, 19 Jul 2022 12:03:15 -0700
Subject: [PATCH] gh-91256: Ensure help text has the program name even before
 getpath is called (GH-94929)

(cherry picked from commit 49aeff49d71fa4bd935212340410311f13879447)

Co-authored-by: Steve Dower <steve.dower@python.org>
---
 .../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 86dcdd9a8bd..d3138503993 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -2295,6 +2295,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