diff options
Diffstat (limited to 'src/engine/SCons/Scanner/__init__.py')
| -rw-r--r-- | src/engine/SCons/Scanner/__init__.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/engine/SCons/Scanner/__init__.py b/src/engine/SCons/Scanner/__init__.py index 52eae8e..671eba3 100644 --- a/src/engine/SCons/Scanner/__init__.py +++ b/src/engine/SCons/Scanner/__init__.py @@ -137,7 +137,7 @@ class Recursive(Base): """ nodes = [node] - seen = [node] + seen = {node : 0} deps = [] while nodes: n = nodes.pop(0) @@ -145,9 +145,10 @@ class Recursive(Base): d = self.function(n, env, self.argument) else: d = self.function(n, env) - d = filter(lambda x, seen=seen: x not in seen, d) + d = filter(lambda x, seen=seen: not seen.has_key(x), d) if d: deps.extend(d) - seen.extend(d) nodes.extend(d) + for n in d: + seen[n] = 0 return deps |
