summaryrefslogtreecommitdiff
path: root/morphlib/morphset.py
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-08-16 15:02:58 +0000
committerRichard Maw <richard.maw@codethink.co.uk>2013-09-05 09:46:37 +0000
commit8b29e93b2179145f67acc874493cf0bf863fe7a0 (patch)
tree898c02fabd3a3cb963e63acbf45c5f638fbcd3ae /morphlib/morphset.py
parent0d1c1e0905a627df60b925e9508d4ebfb08a9415 (diff)
downloadmorph-8b29e93b2179145f67acc874493cf0bf863fe7a0.tar.gz
Fix MorphologySet bug: right Morphology object changed
The old code worked, but it was depending on really obscure details of how the Python scoping works. This commit changes it to not do that anymore.
Diffstat (limited to 'morphlib/morphset.py')
-rw-r--r--morphlib/morphset.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/morphlib/morphset.py b/morphlib/morphset.py
index 98a4b8f9..7118b702 100644
--- a/morphlib/morphset.py
+++ b/morphlib/morphset.py
@@ -135,7 +135,7 @@ class MorphologySet(object):
spec['ref'] == orig_ref and
spec['morph'] + '.morph' == morph_filename)
- def change_specs(specs):
+ def change_specs(specs, m):
for spec in specs:
if wanted_spec(spec):
spec['ref'] = new_ref
@@ -143,10 +143,10 @@ class MorphologySet(object):
def change(m):
if m['kind'] == 'system':
- change_specs(m['strata'])
+ change_specs(m['strata'], m)
elif m['kind'] == 'stratum':
- change_specs(m['chunks'])
- change_specs(m['build-depends'])
+ change_specs(m['chunks'], m)
+ change_specs(m['build-depends'], m)
for m in self.morphologies:
change(m)