Allow for the possibility that globals['__name__'] does not exist;
substitute "<string>" for the module name in that case.  This actually
occurred when running test_descr.py with -Dwarn.
diff --git a/Lib/warnings.py b/Lib/warnings.py
index ea68e4c..5bb00c1 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -24,7 +24,10 @@
     else:
         globals = caller.f_globals
         lineno = caller.f_lineno
-    module = globals['__name__']
+    if globals.has_key('__name__'):
+        module = globals['__name__']
+    else:
+        module = "<string>"
     filename = globals.get('__file__')
     if filename:
         fnl = filename.lower()