summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/lib-stdwin/mainloop.py15
-rwxr-xr-xLib/stdwin/mainloop.py15
-rw-r--r--Lib/test/test_types.py21
-rw-r--r--Lib/test/testall.out3
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