1.1 --- a/importer.py Mon Dec 12 22:33:15 2016 +0100
1.2 +++ b/importer.py Mon Dec 12 23:33:28 2016 +0100
1.3 @@ -405,7 +405,16 @@
1.4
1.5 # Resolve all deferred references in each module.
1.6
1.7 + original_deferred = []
1.8 +
1.9 for ref in module.deferred:
1.10 +
1.11 + # Retain original references for caching.
1.12 +
1.13 + original_deferred.append(ref.copy())
1.14 +
1.15 + # Update references throughout the program.
1.16 +
1.17 found = self.find_dependency(ref)
1.18 if not found:
1.19 self.missing.add((module.name, ref.get_origin()))
1.20 @@ -450,6 +459,8 @@
1.21 init_item(self.depends, module.name, set)
1.22 self.depends[module.name].add(provider)
1.23
1.24 + module.deferred = original_deferred
1.25 +
1.26 # Check modules again to see if they are now required and should now
1.27 # cause the inclusion of other modules providing objects to the program.
1.28