diff options
author | Davide Rizzo <sorcio@gmail.com> | 2023-11-13 13:36:50 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-13 13:36:50 (GMT) |
commit | d2f305dfd183025a95592319b280fcf4b20c8694 (patch) | |
tree | 9b942ddcdfe8771839eb05c957d3fc387974197a | |
parent | 1447af797048e62049d00bbd96d8daee3929f527 (diff) | |
download | cpython-d2f305dfd183025a95592319b280fcf4b20c8694.zip cpython-d2f305dfd183025a95592319b280fcf4b20c8694.tar.gz cpython-d2f305dfd183025a95592319b280fcf4b20c8694.tar.bz2 |
gh-111460: Restore ncurses widechar support on macOS (#111878)
-rw-r--r-- | Misc/NEWS.d/next/Library/2023-11-09-12-57-43.gh-issue-111460.TQaz9I.rst | 3 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | configure.ac | 6 |
3 files changed, 8 insertions, 3 deletions
diff --git a/Misc/NEWS.d/next/Library/2023-11-09-12-57-43.gh-issue-111460.TQaz9I.rst b/Misc/NEWS.d/next/Library/2023-11-09-12-57-43.gh-issue-111460.TQaz9I.rst new file mode 100644 index 0000000..956c536 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-11-09-12-57-43.gh-issue-111460.TQaz9I.rst @@ -0,0 +1,3 @@ +:mod:`curses`: restore wide character support (including +:func:`curses.unget_wch` and :meth:`~curses.window.get_wch`) on macOS, which +was unavailable due to a regression in Python 3.12. @@ -25528,7 +25528,7 @@ fi fi CURSES_CFLAGS=$(echo $CURSES_CFLAGS | sed 's/-D_XOPEN_SOURCE=600//g') -if test "$have_curses" = no -a "$ac_sys_system" = "Darwin"; then +if test "$have_curses" != no -a "$ac_sys_system" = "Darwin"; then as_fn_append CURSES_CFLAGS " -D_XOPEN_SOURCE_EXTENDED=1" printf "%s\n" "#define HAVE_NCURSESW 1" >>confdefs.h diff --git a/configure.ac b/configure.ac index 8272764..0a622ae 100644 --- a/configure.ac +++ b/configure.ac @@ -6290,9 +6290,11 @@ dnl remove _XOPEN_SOURCE macro from curses cflags. pyconfig.h sets dnl the macro to 700. CURSES_CFLAGS=$(echo $CURSES_CFLAGS | sed 's/-D_XOPEN_SOURCE=600//g') -if test "$have_curses" = no -a "$ac_sys_system" = "Darwin"; then +if test "$have_curses" != no -a "$ac_sys_system" = "Darwin"; then dnl On macOS, there is no separate /usr/lib/libncursesw nor libpanelw. - dnl If we are here, we found a locally-supplied version of libncursesw. + dnl System-supplied ncurses combines libncurses/libpanel and supports wide + dnl characters, so we can use it like ncursesw. + dnl If a locally-supplied version of libncursesw is found, we will use that. dnl There should also be a libpanelw. dnl _XOPEN_SOURCE defines are usually excluded for macOS, but we need dnl _XOPEN_SOURCE_EXTENDED here for ncurses wide char support. |