STINNER Victor added the comment:
The following example returns immediatly, whereas I expected it to block. So I
consider that ungetch(-1) should fail, but I may be wrong.
---
import curses
def test_screen(screen):
screen.nodelay(True)
key = screen.getch()
screen.nodelay(False)
curses.ungetch(key)
screen.getch()
curses.wrapper(test_screen)
---
key is -1, I don't get an OverflowError. The Python implementation of ungetch()
casts the Python int to a C "chtype" type, and check for underflow or overflow.
On my Fedora 18, chtype is defined in ncurses.h as "unsigned long". My code
checking for overflow doesn't detect the overflow for this specific case.
What is your platform (name and version)?
We should always have the same behaviour on any platform (always fail with an
error, or always accept -1), so anyway there is a bug.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue16293>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com