SF bug #473525 pyclbr broken
As the comments in the module implied, pyclbr was easily confused by
"strange stuff" inside single- (but not triple-) quoted strings.  It
isn't anymore.  Its behavior remains flaky in the presence of nested
functions and classes, though.
Bugfix candidate.
diff --git a/Lib/pyclbr.py b/Lib/pyclbr.py
index 95479a7..31fad46 100644
--- a/Lib/pyclbr.py
+++ b/Lib/pyclbr.py
@@ -29,11 +29,8 @@
 shouldn't happen often.
 
 BUGS
-- Continuation lines are not dealt with at all.
-- While triple-quoted strings won't confuse it, lines that look like
-  def, class, import or "from ... import" stmts inside backslash-continued
-  single-quoted strings are treated like code.  The expense of stopping
-  that isn't worth it.
+- Continuation lines are not dealt with at all, except inside strings.
+- Nested classes and functions can confuse it.
 - Code that doesn't pass tabnanny or python -t will confuse it, unless
   you set the module TABWIDTH vrbl (default 8) to the correct tab width
   for the file.
@@ -75,6 +72,10 @@
                         [^'\\]*
                     )*
         '''
+
+    |   " [^"\\\n]* (?: \\. [^"\\\n]*)* "
+
+    |   ' [^'\\\n]* (?: \\. [^'\\\n]*)* '
     )
 
 |   (?P<Method>