py-cvs-rel2_1 (Rev 1.11 and 1.12) merge
Colorize "as" after "import" / use DEBUG instead of __debug__
diff --git a/Lib/idlelib/ColorDelegator.py b/Lib/idlelib/ColorDelegator.py
index 77edfe8..3d2ecef 100644
--- a/Lib/idlelib/ColorDelegator.py
+++ b/Lib/idlelib/ColorDelegator.py
@@ -10,7 +10,7 @@
 #$ win <Control-slash>
 #$ unix <Control-slash>
 
-__debug__ = 0
+DEBUG = 0
 
 
 def any(name, list):
@@ -28,6 +28,7 @@
 
 prog = re.compile(make_pat(), re.S)
 idprog = re.compile(r"\s+(\w+)", re.S)
+asprog = re.compile(r".*?\b(as)\b", re.S)
 
 class ColorDelegator(Delegator):
 
@@ -35,6 +36,7 @@
         Delegator.__init__(self)
         self.prog = prog
         self.idprog = idprog
+        self.asprog = asprog
 
     def setdelegate(self, delegate):
         if self.delegate is not None:
@@ -82,13 +84,13 @@
     def notify_range(self, index1, index2=None):
         self.tag_add("TODO", index1, index2)
         if self.after_id:
-            if __debug__: print "colorizing already scheduled"
+            if DEBUG: print "colorizing already scheduled"
             return
         if self.colorizing:
             self.stop_colorizing = 1
-            if __debug__: print "stop colorizing"
+            if DEBUG: print "stop colorizing"
         if self.allow_colorizing:
-            if __debug__: print "schedule colorizing"
+            if DEBUG: print "schedule colorizing"
             self.after_id = self.after(1, self.recolorize)
 
     close_when_done = None # Window to be closed when done colorizing
@@ -97,7 +99,7 @@
         if self.after_id:
             after_id = self.after_id
             self.after_id = None
-            if __debug__: print "cancel scheduled recolorizer"
+            if DEBUG: print "cancel scheduled recolorizer"
             self.after_cancel(after_id)
         self.allow_colorizing = 0
         self.stop_colorizing = 1
@@ -111,41 +113,41 @@
         if self.after_id:
             after_id = self.after_id
             self.after_id = None
-            if __debug__: print "cancel scheduled recolorizer"
+            if DEBUG: print "cancel scheduled recolorizer"
             self.after_cancel(after_id)
         if self.allow_colorizing and self.colorizing:
-            if __debug__: print "stop colorizing"
+            if DEBUG: print "stop colorizing"
             self.stop_colorizing = 1
         self.allow_colorizing = not self.allow_colorizing
         if self.allow_colorizing and not self.colorizing:
             self.after_id = self.after(1, self.recolorize)
-        if __debug__:
+        if DEBUG:
             print "auto colorizing turned", self.allow_colorizing and "on" or "off"
         return "break"
 
     def recolorize(self):
         self.after_id = None
         if not self.delegate:
-            if __debug__: print "no delegate"
+            if DEBUG: print "no delegate"
             return
         if not self.allow_colorizing:
-            if __debug__: print "auto colorizing is off"
+            if DEBUG: print "auto colorizing is off"
             return
         if self.colorizing:
-            if __debug__: print "already colorizing"
+            if DEBUG: print "already colorizing"
             return
         try:
             self.stop_colorizing = 0
             self.colorizing = 1
-            if __debug__: print "colorizing..."
+            if DEBUG: print "colorizing..."
             t0 = time.clock()
             self.recolorize_main()
             t1 = time.clock()
-            if __debug__: print "%.3f seconds" % (t1-t0)
+            if DEBUG: print "%.3f seconds" % (t1-t0)
         finally:
             self.colorizing = 0
         if self.allow_colorizing and self.tag_nextrange("TODO", "1.0"):
-            if __debug__: print "reschedule colorizing"
+            if DEBUG: print "reschedule colorizing"
             self.after_id = self.after(1, self.recolorize)
         if self.close_when_done:
             top = self.close_when_done
@@ -198,6 +200,17 @@
                                     self.tag_add("DEFINITION",
                                                  head + "+%dc" % a,
                                                  head + "+%dc" % b)
+                            elif value == "import":
+                                # color all the "as" words on same line;
+                                # cheap approximation to the truth
+                                while 1:
+                                    m1 = self.asprog.match(chars, b)
+                                    if not m1:
+                                        break
+                                    a, b = m1.span(1)
+                                    self.tag_add("KEYWORD",
+                                                 head + "+%dc" % a,
+                                                 head + "+%dc" % b)
                     m = self.prog.search(chars, m.end())
                 if "SYNC" in self.tag_names(next + "-1c"):
                     head = next
@@ -214,7 +227,7 @@
                     self.tag_add("TODO", next)
                 self.update()
                 if self.stop_colorizing:
-                    if __debug__: print "colorizing stopped"
+                    if DEBUG: print "colorizing stopped"
                     return