1.1 --- a/simplify/annotate.py Sat Jun 23 21:10:01 2007 +0200
1.2 +++ b/simplify/annotate.py Sun Jun 24 03:21:23 2007 +0200
1.3 @@ -1076,14 +1076,14 @@
1.4 # snapshots or results.
1.5
1.6 if getattr(target, "returns_value", 0):
1.7 - self.namespace.merge_namespace(locals, everything=0)
1.8 + self.namespace.merge_namespace(locals, everything=0, temp=0)
1.9
1.10 # For blocks not returning values (such as loops), merge
1.11 # snapshots and results since they contain details of genuine
1.12 # returns.
1.13
1.14 else:
1.15 - self.namespace.merge_namespace(locals)
1.16 + self.namespace.merge_namespace(locals, temp=0)
1.17
1.18 # Incorporate any raised exceptions.
1.19
2.1 --- a/simplify/simplified/utils.py Sat Jun 23 21:10:01 2007 +0200
2.2 +++ b/simplify/simplified/utils.py Sun Jun 24 03:21:23 2007 +0200
2.3 @@ -261,7 +261,7 @@
2.4 new_types.remove(type)
2.5 self.temp[index][-1] = new_types
2.6
2.7 - def merge_namespace(self, namespace, everything=1):
2.8 + def merge_namespace(self, namespace, everything=1, temp=1):
2.9
2.10 """
2.11 Merge items from the given 'namespace' with this namespace. When the
2.12 @@ -275,11 +275,12 @@
2.13 if everything:
2.14 self.returns.update(namespace.returns)
2.15 self.return_locals.update(namespace.return_locals)
2.16 - for name, values in namespace.temp.items():
2.17 - if values:
2.18 - if not self.temp.has_key(name) or not self.temp[name]:
2.19 - self.temp[name] = [set()]
2.20 - self.temp[name][-1].update(values[-1])
2.21 + if temp:
2.22 + for name, values in namespace.temp.items():
2.23 + if values:
2.24 + if not self.temp.has_key(name) or not self.temp[name]:
2.25 + self.temp[name] = [set()]
2.26 + self.temp[name][-1].update(values[-1])
2.27
2.28 def merge_items(self, items):
2.29