--- configure.ac.orig 2017-01-05 22:02:47.567000891 +0000 +++ configure.ac 2017-01-05 22:03:51.170566232 +0000 @@ -4935,22 +4935,12 @@ [Define if mvwdelch in curses.h is an expression.]) fi -AC_MSG_CHECKING(whether WINDOW has _flags) -AC_CACHE_VAL(ac_cv_window_has_flags, -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ - WINDOW *w; - w->_flags = 0; -]])], -[ac_cv_window_has_flags=yes], -[ac_cv_window_has_flags=no])) -AC_MSG_RESULT($ac_cv_window_has_flags) - - -if test "$ac_cv_window_has_flags" = yes -then - AC_DEFINE(WINDOW_HAS_FLAGS, 1, - [Define if WINDOW in curses.h offers a field _flags.]) -fi +AC_MSG_CHECKING(for is_keypad) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[void *x=is_keypad]])], + [AC_DEFINE(HAVE_CURSES_IS_KEYPAD, 1, Define if you have the 'is_keypad' function.) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)] +) AC_MSG_CHECKING(for is_term_resized) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[void *x=is_term_resized]])], --- Modules/_cursesmodule.c.orig 2016-12-23 02:21:21.000000000 +0000 +++ Modules/_cursesmodule.c 2017-01-05 22:07:13.055378641 +0000 @@ -1070,8 +1057,8 @@ if (!PyCurses_ConvertToChtype(self, temp, &ch)) return NULL; -#ifdef WINDOW_HAS_FLAGS - if (self->win->_flags & _ISPAD) +#ifdef HAVE_CURSES_IS_KEYPAD + if (is_keypad(self->win)) return PyCursesCheckERR(pechochar(self->win, ch | attr), "echochar"); else @@ -1607,10 +1590,10 @@ int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol; int rtn; -#ifndef WINDOW_HAS_FLAGS +#ifndef HAVE_CURSES_IS_KEYPAD if (0) #else - if (self->win->_flags & _ISPAD) + if (is_keypad(self->win)) #endif { switch(PyTuple_Size(args)) { @@ -1782,10 +1765,10 @@ int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol; int rtn; -#ifndef WINDOW_HAS_FLAGS +#ifndef HAVE_CURSES_IS_KEYPAD if (0) #else - if (self->win->_flags & _ISPAD) + if (is_keypad(self->win)) #endif { switch(PyTuple_Size(args)) { @@ -1851,8 +1834,8 @@ } /* printf("Subwin: %i %i %i %i \n", nlines, ncols, begin_y, begin_x); */ -#ifdef WINDOW_HAS_FLAGS - if (self->win->_flags & _ISPAD) +#ifdef HAVE_CURSES_IS_KEYPAD + if (is_keypad(self->win)) win = subpad(self->win, nlines, ncols, begin_y, begin_x); else #endif