py3: use __code__ instead of func_code to test if func is cachable
authorYuya Nishihara <yuya@tcha.org>
Sat, 13 Oct 2018 11:01:38 +0200
changeset 40233 6309128ff61f
parent 40232 d99a588d8515
child 40234 3fc2ef49959c
py3: use __code__ instead of func_code to test if func is cachable Surprisingly, this fixes test-cache-abuse.t, which would generate a different revbranch cache if filtered set had no cache.
contrib/python3-whitelist
mercurial/smartset.py
--- a/contrib/python3-whitelist	Sat Oct 13 10:58:06 2018 +0200
+++ b/contrib/python3-whitelist	Sat Oct 13 11:01:38 2018 +0200
@@ -48,6 +48,7 @@
 test-bundle2-multiple-changegroups.t
 test-bundle2-pushback.t
 test-bundle2-remote-changegroup.t
+test-cache-abuse.t
 test-cappedreader.py
 test-casecollision.t
 test-cat.t
--- a/mercurial/smartset.py	Sat Oct 13 10:58:06 2018 +0200
+++ b/mercurial/smartset.py	Sat Oct 13 11:01:38 2018 +0200
@@ -137,7 +137,7 @@
 
         This is part of the mandatory API for smartset."""
         # builtin cannot be cached. but do not needs to
-        if cache and util.safehasattr(condition, 'func_code'):
+        if cache and util.safehasattr(condition, '__code__'):
             condition = util.cachefunc(condition)
         return filteredset(self, condition, condrepr)