don't call rl_initialize when stdout is not a tty
diff --git a/Modules/readline.c b/Modules/readline.c
index 20a16c5..7c573a1 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -933,19 +933,15 @@
     begidx = PyInt_FromLong(0L);
     endidx = PyInt_FromLong(0L);
 
-#ifndef __APPLE__
     if (!isatty(STDOUT_FILENO)) {
         /* Issue #19884: stdout is no a terminal. Disable meta modifier
            keys to not write the ANSI sequence "\033[1034h" into stdout. On
            terminals supporting 8 bit characters like TERM=xterm-256color
            (which is now the default Fedora since Fedora 18), the meta key is
            used to enable support of 8 bit characters (ANSI sequence
-           "\033[1034h").
-
-           With libedit, this call makes readline() crash. */
+           "\033[1034h"). */
         rl_variable_bind ("enable-meta-key", "off");
     }
-#endif
 
     /* Initialize (allows .inputrc to override)
      *
@@ -957,6 +953,7 @@
         rl_read_init_file(NULL);
     else
 #endif /* __APPLE__ */
+    if (isatty(STDOUT_FILENO))
         rl_initialize();
 
     RESTORE_LOCALE(saved_locale)