# HG changeset patch # User Paul Boddie # Date 1480197801 -3600 # Node ID 542936fad7c5cbfbff2e3ff5c8bd38cb29327d5a # Parent 6f6aa79f82e5d3f554fbc1337335fdc7899e6241 Preserve alias information for serialised references so that mutated names can still be found through the references. diff -r 6f6aa79f82e5 -r 542936fad7c5 referencing.py --- a/referencing.py Sat Nov 26 19:40:09 2016 +0100 +++ b/referencing.py Sat Nov 26 23:03:21 2016 +0100 @@ -48,7 +48,8 @@ """ if self.kind == "": - return self.kind + alias = self.name and ";%s" % self.name or "" + return "%s%s" % (self.kind, alias) else: alias = self.name and self.name != self.origin and ";%s" % self.name or "" return "%s:%s%s" % (self.kind, self.origin, alias) @@ -224,6 +225,12 @@ origin, name = origin.split(";") return Reference(kind, origin, name) + # Kind and name. + + elif ";" in s: + kind, name = s.split(";") + return Reference(kind, None, name) + # Kind-only, origin is indicated name. elif s[0] == "<":