Files
macports-ports/lang/python32/files/patch-libedit.diff
2016-08-01 06:44:08 +00:00

200 lines
7.1 KiB
Diff

--- configure.old 2016-08-01 06:10:47.000000000 +0200
+++ configure 2016-08-01 06:11:48.000000000 +0200
@@ -12967,9 +12967,9 @@ py_cv_lib_readline=no
$as_echo_n "checking how to link readline libs... " >&6; }
for py_libtermcap in "" 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
@@ -13013,13 +13013,13 @@ $as_echo "#define HAVE_LIBREADLINE 1" >>
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. */
@@ -13059,7 +13059,7 @@ fi
# check for readline 2.2
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <readline/readline.h>
+#include <editline/readline.h>
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
have_readline=yes
@@ -13072,7 +13072,7 @@ if test $have_readline = yes
then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <readline/readline.h>
+#include <editline/readline.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
@@ -13085,7 +13085,7 @@ rm -f conftest*
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <readline/readline.h>
+#include <editline/readline.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
@@ -13099,13 +13099,13 @@ rm -f conftest*
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. */
@@ -13143,13 +13143,13 @@ fi
# 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. */
@@ -13187,13 +13187,13 @@ fi
# 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. */
@@ -13233,7 +13233,7 @@ fi
# also in readline 4.2
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <readline/readline.h>
+#include <editline/readline.h>
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
have_readline=yes
@@ -13246,7 +13246,7 @@ if test $have_readline = yes
then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <readline/readline.h>
+#include <editline/readline.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--- setup.py.old 2016-08-01 06:11:23.000000000 +0200
+++ setup.py 2016-08-01 06:11:48.000000000 +0200
@@ -602,7 +602,7 @@ class PyBuildExt(build_ext):
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 = ""
# Determine if readline is already linked against curses or tinfo.
@@ -658,7 +658,7 @@ class PyBuildExt(build_ext):
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.old 2014-10-12 08:52:03.000000000 +0200
+++ Modules/readline.c 2016-08-01 06:11:48.000000000 +0200
@@ -28,8 +28,7 @@
/* GNU readline definitions */
#undef HAVE_CONFIG_H /* Else readline/chardefs.h includes strings.h */
-#include <readline/readline.h>
-#include <readline/history.h>
+#include <editline/readline.h>
#ifdef HAVE_RL_COMPLETION_MATCHES
#define completion_matches(x, y) \
@@ -575,14 +574,13 @@ get_history_item(PyObject *self, PyObjec
* difference.
*/
int length = _py_get_history_length();
- idx --;
/*
* Apple's readline emulation crashes when
* the index is out of range, therefore
* test for that and fail gracefully.
*/
- if (idx < 0 || idx >= length) {
+ if (idx < 1 || idx > length) {
Py_RETURN_NONE;
}
}
@@ -1003,7 +1001,6 @@ readline_until_enter_or_signal(char *pro
PyEval_SaveThread();
#endif
if (s < 0) {
- rl_free_line_state();
rl_cleanup_after_signal();
rl_callback_handler_remove();
*signal = 1;
@@ -1102,15 +1099,6 @@ call_readline(FILE *sys_stdin, FILE *sys
const char *line;
int length = _py_get_history_length();
if (length > 0)
-#ifdef __APPLE__
- if (using_libedit_emulation) {
- /*
- * Libedit's emulation uses 0-based indexes,
- * the real readline uses 1-based indexes.
- */
- line = (const char *)history_get(length - 1)->line;
- } else
-#endif /* __APPLE__ */
line = (const char *)history_get(length)->line;
else
line = "";