]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/commitdiff
Don't undef the $rule in LT::Functor::Rule::insert
authorVincent Pit <vince@profvince.com>
Sun, 15 Aug 2010 16:28:54 +0000 (18:28 +0200)
committerVincent Pit <vince@profvince.com>
Sun, 15 Aug 2010 16:28:54 +0000 (18:28 +0200)
Otherwise, we're unable to test if the subsequent rules are to be removed.

lib/LaTeX/TikZ/Functor/Rule.pm

index 0f86be16ff5f2c865c1f964c770ee0daa8cd6fa1..df5b553eb5a7256dd7e253f029c75f16d42a230f 100644 (file)
@@ -144,16 +144,16 @@ sub insert {
  my $is_role = $rule->is_role;
 
  if ($replace) {
-  my @remove;
+  my (@remove, $replaced);
 
   for my $i (0 .. $#$list) {
    my $old_target = $list->[$i]->target;
    if ($rule->handles($old_target)) {
-    if (defined $rule) {
-     splice @$list, $i, 1, $rule;
-     $rule = undef;
-    } else {
+    if ($replaced) {
      push @remove, $i;
+    } else {
+     splice @$list, $i, 1, $rule;
+     $replaced = 1;
     }
    }
   }
@@ -163,7 +163,7 @@ sub insert {
    splice @$list, $_ - $shift, 1;
    ++$shift;
   }
-  return 1 unless defined $rule;
+  return 1 if $replaced;
 
  } else { # Replace only an existent rule