summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-11-14 01:59:01 (GMT)
committerGitHub <noreply@github.com>2023-11-14 01:59:01 (GMT)
commitd34650e7409b6a7cc64d7a118e4500c2f3cdbcf3 (patch)
treec13cba10c3aa4d989e7db2c9665a85a8f93f4b36
parent02fdb420186295c6435b23f7e030ae989a0e42ac (diff)
downloadcpython-d34650e7409b6a7cc64d7a118e4500c2f3cdbcf3.zip
cpython-d34650e7409b6a7cc64d7a118e4500c2f3cdbcf3.tar.gz
cpython-d34650e7409b6a7cc64d7a118e4500c2f3cdbcf3.tar.bz2
[3.12] gh-111460: Restore ncurses widechar support on macOS (GH-111878) (gh-112034)
gh-111460: Restore ncurses widechar support on macOS (GH-111878) (cherry picked from commit d2f305dfd183025a95592319b280fcf4b20c8694) Co-authored-by: Davide Rizzo <sorcio@gmail.com>
-rw-r--r--Misc/NEWS.d/next/Library/2023-11-09-12-57-43.gh-issue-111460.TQaz9I.rst3
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac6
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.
diff --git a/configure b/configure
index 7c32507..778eacf 100755
--- a/configure
+++ b/configure
@@ -26079,7 +26079,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 3afa9ac..ac84001 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6439,9 +6439,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.