Index: util.py=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
--- util.py	(revision 3076)=0A=
+++ util.py	(working copy)=0A=
@@ -178,16 +178,19 @@=0A=
         return False=0A=
     while frame.f_back:=0A=
         frame =3D frame.f_back=0A=
-        if frame.f_code.co_name =3D=3D func_name:=0A=
-            args =3D getargvalues(frame)[3]=0A=
-            for key in kw.iterkeys():=0A=
-                try:=0A=
-                    if kw[key] !=3D args[key]:=0A=
-                        continue=0A=
-                except KeyError, TypeError:=0A=
-                    continue=0A=
-            if key or not args:=0A=
-                return True=0A=
+        try:=0A=
+            if frame.f_code.co_name =3D=3D func_name:=0A=
+                args =3D getargvalues(frame)[3]=0A=
+                for key in kw.iterkeys():=0A=
+                    try:=0A=
+                        if kw[key] !=3D args[key]:=0A=
+                            raise StopIteration()=0A=
+                    except KeyError, TypeError:=0A=
+                        raise StopIteration()=0A=
+                if key or not args:=0A=
+                    return True=0A=
+        except StopIteration:=0A=
+            pass=0A=
     return False=0A=
 =0A=
 def arg_index(func, argname):=0A=
