]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-111460: Restore ncurses widechar support on macOS (#111878)
authorDavide Rizzo <sorcio@gmail.com>
Mon, 13 Nov 2023 13:36:50 +0000 (14:36 +0100)
committerGitHub <noreply@github.com>
Mon, 13 Nov 2023 13:36:50 +0000 (22:36 +0900)
Misc/NEWS.d/next/Library/2023-11-09-12-57-43.gh-issue-111460.TQaz9I.rst [new file with mode: 0644]
configure
configure.ac

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 (file)
index 0000000..956c536
--- /dev/null
@@ -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.
index 893f5278996ade7b2ed5737a5d313df29a663276..dd7a5a3f1fd194f83659dca74a80ff9830a148c5 100755 (executable)
--- a/configure
+++ b/configure
@@ -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
index 827276466483fd6de934827b094b2fb0a8a05bf5..0a622ae9947a8cd620b4f68ea89b1eb893c04d51 100644 (file)
@@ -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.