Tim Peters writes:

Fix bad auto-indent I recently introduced when replacing the regexp that
could cause re to blow up:

    if or_any_other_block_opener:
        # one indenting comment line
            ^ cursor ended up at the caret (the bug)
        ^ but belongs here (the post-patch behavior)
diff --git a/Tools/idle/PyParse.py b/Tools/idle/PyParse.py
index 23b995c..40b6726 100644
--- a/Tools/idle/PyParse.py
+++ b/Tools/idle/PyParse.py
@@ -385,13 +385,14 @@
             m = _chew_ordinaryre(str, p, q)
             if m:
                 # we skipped at least one boring char
-                p = m.end()
+                newp = m.end()
                 # back up over totally boring whitespace
-                i = p-1    # index of last boring char
-                while i >= 0 and str[i] in " \t\n":
+                i = newp - 1    # index of last boring char
+                while i >= p and str[i] in " \t\n":
                     i = i-1
-                if i >= 0:
+                if i >= p:
                     lastch = str[i]
+                p = newp
                 if p >= q:
                     break