diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/lib-stdwin/mainloop.py | 15 | ||||
-rwxr-xr-x | Lib/stdwin/mainloop.py | 15 | ||||
-rw-r--r-- | Lib/test/test_types.py | 21 | ||||
-rw-r--r-- | Lib/test/testall.out | 3 |
4 files changed, 44 insertions, 10 deletions
diff --git a/Lib/lib-stdwin/mainloop.py b/Lib/lib-stdwin/mainloop.py index 6b574cf..ca3e9ac 100644 --- a/Lib/lib-stdwin/mainloop.py +++ b/Lib/lib-stdwin/mainloop.py @@ -4,9 +4,6 @@ # - have a 'dispatch' function as a window member -# XXX This is UNIX specific! For the Mac we need to use a simpler version! - - import stdwin, stdwinq from stdwinevents import * @@ -132,9 +129,17 @@ def mainloop(): recursion_level = recursion_level + 1 try: stdwin_select_handler() # Process events already in queue - fd = stdwin.fileno() while 1: - if windows: + if windows and not fdlist: + while windows and not fdlist: + try: + event = stdwinq.getevent() + except KeyboardInterrupt: + event = (WE_COMMAND, \ + None, WC_CANCEL) + dispatch(event) + elif windows and fdlist: + fd = stdwin.fileno() if recursion_level == 1: registerfd(fd, 'r', stdwin_select_handler) try: diff --git a/Lib/stdwin/mainloop.py b/Lib/stdwin/mainloop.py index 6b574cf..ca3e9ac 100755 --- a/Lib/stdwin/mainloop.py +++ b/Lib/stdwin/mainloop.py @@ -4,9 +4,6 @@ # - have a 'dispatch' function as a window member -# XXX This is UNIX specific! For the Mac we need to use a simpler version! - - import stdwin, stdwinq from stdwinevents import * @@ -132,9 +129,17 @@ def mainloop(): recursion_level = recursion_level + 1 try: stdwin_select_handler() # Process events already in queue - fd = stdwin.fileno() while 1: - if windows: + if windows and not fdlist: + while windows and not fdlist: + try: + event = stdwinq.getevent() + except KeyboardInterrupt: + event = (WE_COMMAND, \ + None, WC_CANCEL) + dispatch(event) + elif windows and fdlist: + fd = stdwin.fileno() if recursion_level == 1: registerfd(fd, 'r', stdwin_select_handler) try: diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py index fb6e934..e14fa3a 100644 --- a/Lib/test/test_types.py +++ b/Lib/test/test_types.py @@ -60,6 +60,27 @@ if long(1.9) == 1L == long(1.1) and long(-1.1) == -1L == long(-1.9): pass else: raise TestFailed, 'long() does not round properly' if float(1) == 1.0 and float(-1) == -1.0 and float(0) == 0.0: pass else: raise TestFailed, 'float() does not work properly' +print '6.4.1 32-bit integers' +if 12 + 24 <> 36: raise TestFailed, 'int op' +if 12 + (-24) <> -12: raise TestFailed, 'int op' +if (-12) + 24 <> 12: raise TestFailed, 'int op' +if (-12) + (-24) <> -36: raise TestFailed, 'int op' +if not 12 < 24: raise TestFailed, 'int op' +if not -24 < -12: raise TestFailed, 'int op' +print '6.4.2 Long integers' +if 12L + 24L <> 36L: raise TestFailed, 'long op' +if 12L + (-24L) <> -12L: raise TestFailed, 'long op' +if (-12L) + 24L <> 12L: raise TestFailed, 'long op' +if (-12L) + (-24L) <> -36L: raise TestFailed, 'long op' +if not 12L < 24L: raise TestFailed, 'long op' +if not -24L < -12L: raise TestFailed, 'long op' +print '6.4.3 Floating point numbers' +if 12.0 + 24.0 <> 36.0: raise TestFailed, 'float op' +if 12.0 + (-24.0) <> -12.0: raise TestFailed, 'float op' +if (-12.0) + 24.0 <> 12.0: raise TestFailed, 'float op' +if (-12.0) + (-24.0) <> -36.0: raise TestFailed, 'float op' +if not 12.0 < 24.0: raise TestFailed, 'float op' +if not -24.0 < -12.0: raise TestFailed, 'float op' print '6.5 Sequence types' diff --git a/Lib/test/testall.out b/Lib/test/testall.out index 6e6fe91..f81849b 100644 --- a/Lib/test/testall.out +++ b/Lib/test/testall.out @@ -124,6 +124,9 @@ test_types 6.2 Boolean operations 6.3 Comparisons 6.4 Numeric types (mostly conversions) +6.4.1 32-bit integers +6.4.2 Long integers +6.4.3 Floating point numbers 6.5 Sequence types 6.5.1 Strings 6.5.2 Tuples |