[Bug 1021783] Re: invalid behavior of curses.newpad().refresh()
Jason Conti
1021783 at bugs.launchpad.net
Fri Jul 6 20:20:38 UTC 2012
Affects the package in quantal as well. Part of the patch to enable
linking to libncursesw5 seems to have been dropped between python2.7 and
python3.2, so looking at the build log we see:
checking ncurses.h usability... no
checking ncurses.h presence... no
checking for ncurses.h... no
But in the python2.7 build log, those are all yes. If HAVE_NCURSES_H is
not set, we do not get WINDOW_HAS_FLAGS, which is checked to determine
if pad.refresh() has arguments or not. (In
Modules/_cursesmodule.c:PyCursesWindow_Refresh)
Attaching a debdiff which adds back the part of debian/patches/ncursesw-
include.diff against configure.in to add /usr/include/ncursesw/ to
CPPFLAGS when looking for the headers/checking features. Rebuilding with
the patch and your test case succeeds.
** Patch added: "python3.2-fix-curses.debdiff"
https://bugs.launchpad.net/ubuntu/+source/python3.2/+bug/1021783/+attachment/3215446/+files/python3.2-fix-curses.debdiff
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python3.2 in Ubuntu.
https://bugs.launchpad.net/bugs/1021783
Title:
invalid behavior of curses.newpad().refresh()
Status in “python3.2” package in Ubuntu:
Confirmed
Bug description:
There is invalid behavior of builtin curses module in amd64 version
python3.2.
From API spec, `refresh()` method of a window object returned by
`curses.newpad(h,w)` should accept 6 arguments; `pad.refresh(pt, pl,
st, sl, sb, sr)`.
- http://docs.python.org/py3k/library/curses.html#curses.newpad
But python3.2 package in amd64 ubuntu precise does not accept
arguments.
[bug occured snippet: newpad-refresh.py]
##########################################
import curses
try:
screen = curses.initscr()
curses.cbreak()
pad = curses.newpad(10, 10)
pad.addstr(0, 0, "press q")
size = screen.getmaxyx()
pad.refresh(0, 0, 0, 0, size[0] - 1, size[1] - 1)
while True:
ch = pad.getch()
if ch == ord("q"):
break
pass
pass
finally:
curses.nocbreak()
curses.endwin()
pass
###########################################
[execution result]
###########################################
$ python3 newpad-refresh.py
Traceback (most recent call last):
File "newpad-refresh.py", line 10, in <module>
pad.refresh(0, 0, 0, 0, size[0] - 1, size[1] - 1)
TypeError: refresh() takes exactly 0 arguments (6 given)
###########################################
The code is worked well on python2.7 pakcage and self compiled python3.2.3.
There may be a package build problem at python3.2 or ncurses.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: python3.2 3.2.3-0ubuntu3
ProcVersionSignature: Ubuntu 3.2.0-26.41-generic 3.2.19
Uname: Linux 3.2.0-26-generic x86_64
ApportVersion: 2.0.1-0ubuntu8
Architecture: amd64
Date: Sat Jul 7 00:09:05 2012
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=ja_JP.UTF-8
SHELL=/bin/bash
SourcePackage: python3.2
UpgradeStatus: Upgraded to precise on 2012-03-21 (106 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python3.2/+bug/1021783/+subscriptions
More information about the foundations-bugs
mailing list