bpo-13631: Fix the order of initialization for readline libedit on macOS. (GH-6915)
The editline emulation needs to be initialized *after* the name is
defined. This fixes the long open issue.
diff --git a/Modules/readline.c b/Modules/readline.c
index 811fca8..7756e6b 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -1078,6 +1078,9 @@
Py_FatalError("not enough memory to save locale");
#endif
+ /* The name must be defined before initialization */
+ rl_readline_name = "python";
+
#ifdef __APPLE__
/* the libedit readline emulation resets key bindings etc
* when calling rl_initialize. So call it upfront
@@ -1099,7 +1102,6 @@
using_history();
- rl_readline_name = "python";
/* Force rebind of TAB to insert-tab */
rl_bind_key('\t', rl_insert);
/* Bind both ESC-TAB and ESC-ESC to the completion function */