- my %in = (map {my ($here, $call) = unpack "A1 A*", $_; ($call, $here)} split /:/, $thing->{n});
- my ($del, $add) = $parent->diff_nodes(keys %in);
-
- my $call;
-
+ %in = (map {my ($here, $call) = unpack("A1 A*", $_); ($call, $here)} split /:/, $thing->{n});
+ my ($tdel, $tadd) = $parent->diff_nodes(keys %in);
+ $add = $tadd;
+ $del = $tdel;
+ }
+ if ($thing->{a}) {
+ %in = (map {my ($here, $call) = unpack("A1 A*", $_); ($call, $here)} split /:/, $thing->{a});
+ my ($tdel, $tadd) = $parent->diff_nodes(keys %in);
+ push @$add, @$tadd;
+ push @$del, @$tdel;
+ }
+ if ($add) {