--- configure.orig 2013-11-23 20:56:02.000000000 +0200 +++ configure 2013-11-23 21:01:51.000000000 +0200 @@ -13871,9 +13871,9 @@ $as_echo_n "checking how to link readline libs... " >&6; } for py_libtermcap in "" tinfo ncursesw ncurses curses termcap; do if test -z "$py_libtermcap"; then - READLINE_LIBS="-lreadline" + READLINE_LIBS="-ledit" else - READLINE_LIBS="-lreadline -l$py_libtermcap" + READLINE_LIBS="-ledit -l$py_libtermcap" fi LIBS="$READLINE_LIBS $LIBS_no_readline" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13917,13 +13917,13 @@ fi # check for readline 2.1 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_callback_handler_install in -lreadline" >&5 -$as_echo_n "checking for rl_callback_handler_install in -lreadline... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_callback_handler_install in -ledit" >&5 +$as_echo_n "checking for rl_callback_handler_install in -ledit... " >&6; } if ${ac_cv_lib_readline_rl_callback_handler_install+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $READLINE_LIBS $LIBS" +LIBS="-ledit $READLINE_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13963,7 +13963,7 @@ # check for readline 2.2 cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : have_readline=yes @@ -13976,7 +13976,7 @@ then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | @@ -13989,7 +13989,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | @@ -14003,13 +14003,13 @@ fi # check for readline 4.0 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_pre_input_hook in -lreadline" >&5 -$as_echo_n "checking for rl_pre_input_hook in -lreadline... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_pre_input_hook in -ledit" >&5 +$as_echo_n "checking for rl_pre_input_hook in -ledit... " >&6; } if ${ac_cv_lib_readline_rl_pre_input_hook+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $READLINE_LIBS $LIBS" +LIBS="-ledit $READLINE_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14047,13 +14047,13 @@ # also in 4.0 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_display_matches_hook in -lreadline" >&5 -$as_echo_n "checking for rl_completion_display_matches_hook in -lreadline... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_display_matches_hook in -ledit" >&5 +$as_echo_n "checking for rl_completion_display_matches_hook in -ledit... " >&6; } if ${ac_cv_lib_readline_rl_completion_display_matches_hook+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $READLINE_LIBS $LIBS" +LIBS="-ledit $READLINE_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14091,13 +14091,13 @@ # check for readline 4.2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -lreadline" >&5 -$as_echo_n "checking for rl_completion_matches in -lreadline... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -ledit" >&5 +$as_echo_n "checking for rl_completion_matches in -ledit... " >&6; } if ${ac_cv_lib_readline_rl_completion_matches+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $READLINE_LIBS $LIBS" +LIBS="-ledit $READLINE_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14137,7 +14137,7 @@ # also in readline 4.2 cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : have_readline=yes @@ -14150,7 +14150,7 @@ then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | --- setup.py.orig 2013-11-23 20:56:13.000000000 +0200 +++ setup.py 2013-11-23 21:10:29.000000000 +0200 @@ -642,7 +642,7 @@ exts.append( Extension('audioop', ['audioop.c']) ) # readline - do_readline = self.compiler.find_library_file(lib_dirs, 'readline') + do_readline = self.compiler.find_library_file(lib_dirs, 'edit') readline_termcap_library = "" curses_library = "" # Cannot use os.popen here in py3k. @@ -706,7 +706,7 @@ else: readline_extra_link_args = () - readline_libs = ['readline'] + readline_libs = ['edit'] if readline_termcap_library: pass # Issue 7384: Already linked against curses or tinfo. elif curses_library: --- Modules/readline.c.orig 2013-11-23 20:51:46.000000000 +0200 +++ Modules/readline.c 2013-11-23 21:31:10.000000000 +0200 @@ -28,8 +28,7 @@ /* GNU readline definitions */ #undef HAVE_CONFIG_H /* Else readline/chardefs.h includes strings.h */ -#include -#include +#include #ifdef HAVE_RL_COMPLETION_MATCHES #define completion_matches(x, y) \ @@ -1028,7 +1027,6 @@ PyEval_SaveThread(); #endif if (s < 0) { - rl_free_line_state(); rl_cleanup_after_signal(); rl_callback_handler_remove(); *signal = 1; @@ -1127,12 +1125,6 @@ const char *line; int length = _py_get_history_length(); if (length > 0) -#ifdef __APPLE__ - if (using_libedit_emulation) { - /* handle older 0-based or newer 1-based indexing */ - line = (const char *)history_get(length + libedit_history_start - 1)->line; - } else -#endif /* __APPLE__ */ line = (const char *)history_get(length)->line; else line = "";