mirror of https://github.com/python/cpython
gh-105323: Update readline module to detect apple editline variant (gh-108665)
This commit is contained in:
parent
db0a258e79
commit
501939c9c1
|
@ -758,11 +758,12 @@ Libraries options
|
||||||
|
|
||||||
.. versionadded:: 3.3
|
.. versionadded:: 3.3
|
||||||
|
|
||||||
.. cmdoption:: --with-readline=editline
|
.. cmdoption:: --with-readline=readline|editline
|
||||||
|
|
||||||
Use ``editline`` library for backend of the :mod:`readline` module.
|
Designate a backend library for the :mod:`readline` module.
|
||||||
|
|
||||||
Define the ``WITH_EDITLINE`` macro.
|
* readline: Use readline as the backend.
|
||||||
|
* editline: Use editline as the backend.
|
||||||
|
|
||||||
.. versionadded:: 3.10
|
.. versionadded:: 3.10
|
||||||
|
|
||||||
|
|
|
@ -1018,6 +1018,8 @@ on_hook(PyObject *func)
|
||||||
static int
|
static int
|
||||||
#if defined(_RL_FUNCTION_TYPEDEF)
|
#if defined(_RL_FUNCTION_TYPEDEF)
|
||||||
on_startup_hook(void)
|
on_startup_hook(void)
|
||||||
|
#elif defined(WITH_APPLE_EDITLINE)
|
||||||
|
on_startup_hook(const char *Py_UNUSED(text), int Py_UNUSED(state))
|
||||||
#else
|
#else
|
||||||
on_startup_hook(void)
|
on_startup_hook(void)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1033,6 +1035,8 @@ on_startup_hook(void)
|
||||||
static int
|
static int
|
||||||
#if defined(_RL_FUNCTION_TYPEDEF)
|
#if defined(_RL_FUNCTION_TYPEDEF)
|
||||||
on_pre_input_hook(void)
|
on_pre_input_hook(void)
|
||||||
|
#elif defined(WITH_APPLE_EDITLINE)
|
||||||
|
on_pre_input_hook(const char *Py_UNUSED(text), int Py_UNUSED(state))
|
||||||
#else
|
#else
|
||||||
on_pre_input_hook(void)
|
on_pre_input_hook(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23781,6 +23781,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check whether --with-readline was given.
|
# Check whether --with-readline was given.
|
||||||
if test ${with_readline+y}
|
if test ${with_readline+y}
|
||||||
then :
|
then :
|
||||||
|
@ -23803,6 +23804,22 @@ else $as_nop
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# gh-105323: Need to handle the macOS editline as an alias of readline.
|
||||||
|
case $ac_sys_system/$ac_sys_release in #(
|
||||||
|
Darwin/*) :
|
||||||
|
ac_fn_c_check_type "$LINENO" "Function" "ac_cv_type_Function" "#include <readline/readline.h>
|
||||||
|
"
|
||||||
|
if test "x$ac_cv_type_Function" = xyes
|
||||||
|
then :
|
||||||
|
printf "%s\n" "#define WITH_APPLE_EDITLINE 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
;; #(
|
||||||
|
*) :
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
if test "x$with_readline" = xreadline
|
if test "x$with_readline" = xreadline
|
||||||
then :
|
then :
|
||||||
|
|
||||||
|
|
10
configure.ac
10
configure.ac
|
@ -5832,6 +5832,7 @@ dnl library (tinfo ncursesw ncurses termcap). We now assume that libreadline
|
||||||
dnl or readline.pc provide correct linker information.
|
dnl or readline.pc provide correct linker information.
|
||||||
|
|
||||||
AH_TEMPLATE([WITH_EDITLINE], [Define to build the readline module against libedit.])
|
AH_TEMPLATE([WITH_EDITLINE], [Define to build the readline module against libedit.])
|
||||||
|
AH_TEMPLATE([WITH_APPLE_EDITLINE], [Define to build the readline module against Apple BSD editline.])
|
||||||
|
|
||||||
AC_ARG_WITH(
|
AC_ARG_WITH(
|
||||||
[readline],
|
[readline],
|
||||||
|
@ -5848,6 +5849,15 @@ AC_ARG_WITH(
|
||||||
[with_readline=readline]
|
[with_readline=readline]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# gh-105323: Need to handle the macOS editline as an alias of readline.
|
||||||
|
AS_CASE([$ac_sys_system/$ac_sys_release],
|
||||||
|
[Darwin/*], [AC_CHECK_TYPE([Function],
|
||||||
|
[AC_DEFINE([WITH_APPLE_EDITLINE])],
|
||||||
|
[],
|
||||||
|
[@%:@include <readline/readline.h>])],
|
||||||
|
[]
|
||||||
|
)
|
||||||
|
|
||||||
AS_VAR_IF([with_readline], [readline], [
|
AS_VAR_IF([with_readline], [readline], [
|
||||||
PKG_CHECK_MODULES([LIBREADLINE], [readline], [
|
PKG_CHECK_MODULES([LIBREADLINE], [readline], [
|
||||||
LIBREADLINE=readline
|
LIBREADLINE=readline
|
||||||
|
|
|
@ -1788,6 +1788,9 @@
|
||||||
/* Define if WINDOW in curses.h offers a field _flags. */
|
/* Define if WINDOW in curses.h offers a field _flags. */
|
||||||
#undef WINDOW_HAS_FLAGS
|
#undef WINDOW_HAS_FLAGS
|
||||||
|
|
||||||
|
/* Define to build the readline module against Apple BSD editline. */
|
||||||
|
#undef WITH_APPLE_EDITLINE
|
||||||
|
|
||||||
/* Define if you want build the _decimal module using a coroutine-local rather
|
/* Define if you want build the _decimal module using a coroutine-local rather
|
||||||
than a thread-local context */
|
than a thread-local context */
|
||||||
#undef WITH_DECIMAL_CONTEXTVAR
|
#undef WITH_DECIMAL_CONTEXTVAR
|
||||||
|
|
Loading…
Reference in New Issue