New issue 1823: curses module noutrefresh call fails when called on a pad object in pypy 2.3.1 https://bitbucket.org/pypy/pypy/issue/1823/curses-module-noutrefresh-call-fails-when
Tapani Kiiskinen: I'm doing a noutrefresh call on a pad which i've instanciated with curses.newpad: pad.noutrefresh(0, 0, y, x, y + rows - 1, x + cols - 1) which fails with error: File "/home/tappi/programs/pypy-2.3.1-linux64/lib_pypy/_curses.py", line 840, in noutrefresh return _check_ERR(lib.wnoutrefresh(self._win, *args), TypeError: 'int(*)(WINDOW *)' expects 1 arguments, got 7 I checked the _curses.py file and lib._m_ispad(self.win) returns false which results in wnoutrefresh being called instead of pnoutrefresh, where pnoutrefresh would be the right one to call when using pads. The definition of _m_ispad depends on the existence of WINDOW_HAS_FLAGS definition: int _m_ispad(WINDOW *win) { #if defined WINDOW_HAS_FLAGS return (win->_flags & _ISPAD); #else return 0; #endif } If I hack this piece of code to not check for WINDOW_HAS_FLAGS my code works. Supposedly that variable should be defined somewhere but it's not being defined. Context: the same code works with cpython. I'm running an ubuntu 13.10 PyPy version: Python 2.7.6 (32f35069a16d, Jun 06 2014, 11:20:40) [PyPy 2.3.1 with GCC 4.6.3] on linux2 _______________________________________________ pypy-issue mailing list pypy-issue@python.org https://mail.python.org/mailman/listinfo/pypy-issue