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
|
||||
|
||||
.. 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
|
||||
|
||||
|
|
|
@ -1018,6 +1018,8 @@ on_hook(PyObject *func)
|
|||
static int
|
||||
#if defined(_RL_FUNCTION_TYPEDEF)
|
||||
on_startup_hook(void)
|
||||
#elif defined(WITH_APPLE_EDITLINE)
|
||||
on_startup_hook(const char *Py_UNUSED(text), int Py_UNUSED(state))
|
||||
#else
|
||||
on_startup_hook(void)
|
||||
#endif
|
||||
|
@ -1033,6 +1035,8 @@ on_startup_hook(void)
|
|||
static int
|
||||
#if defined(_RL_FUNCTION_TYPEDEF)
|
||||
on_pre_input_hook(void)
|
||||
#elif defined(WITH_APPLE_EDITLINE)
|
||||
on_pre_input_hook(const char *Py_UNUSED(text), int Py_UNUSED(state))
|
||||
#else
|
||||
on_pre_input_hook(void)
|
||||
#endif
|
||||
|
|
|
@ -23781,6 +23781,7 @@ fi
|
|||
|
||||
|
||||
|
||||
|
||||
# Check whether --with-readline was given.
|
||||
if test ${with_readline+y}
|
||||
then :
|
||||
|
@ -23803,6 +23804,22 @@ else $as_nop
|
|||
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
|
||||
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.
|
||||
|
||||
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(
|
||||
[readline],
|
||||
|
@ -5848,6 +5849,15 @@ AC_ARG_WITH(
|
|||
[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], [
|
||||
PKG_CHECK_MODULES([LIBREADLINE], [readline], [
|
||||
LIBREADLINE=readline
|
||||
|
|
|
@ -1788,6 +1788,9 @@
|
|||
/* Define if WINDOW in curses.h offers a field _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
|
||||
than a thread-local context */
|
||||
#undef WITH_DECIMAL_CONTEXTVAR
|
||||
|
|
Loading…
Reference in New Issue