]> git.saurik.com Git - bison.git/blobdiff - build-aux/update-b4-copyright
maint: make update-b4-copyright easier to use
[bison.git] / build-aux / update-b4-copyright
index 06d3cb76da896cc35aa14f5419c8d1a1241280dd..af43407d71c7ee584122cce8e102ac355cae3f51 100755 (executable)
@@ -117,29 +117,34 @@ while (/($old_re)/gx)
 
 while (/(\bb4_copyright\()/g)
   {
-    my $pos = pos ();
-    pos () -= length ($1);
+    my $start = pos () - length ($1);
+    my $end = pos ();
     my $re = $old_re;
+    pos () = $start;
     $re =~ s/\#BEFORE/\\G/;
     if (!/$re/x)
       {
+        my $line = (substr ($_, 0, $start) =~ s/\n/\n/g) + 1;
         print STDERR
-          "$ARGV: warning: failed to update a b4_copyright before char"
-          . " $pos\n";
+          "$ARGV:$line: warning: failed to update a b4_copyright\n";
       }
-    pos () = $pos;
+    pos () = $end;
   }
 
-while (/\[b4_copyright_years]/g)
+while (/(\[b4_copyright_years])/g)
   {
-    my $pos = pos ();
+    my $start = pos () - length ($1);
+    my $end = pos ();
     my $re = $old_re;
     $re =~ s/\#AFTER/\\G/;
     if (!/$re/x)
       {
+        # The substr operation blows away pos (), so restoring pos ()
+        # at the end is necessary.
+        my $line = (substr ($_, 0, $start) =~ s/\n/\n/g) + 1;
         print STDERR
-          "$ARGV: warning: failed to update a b4_copyright_years before"
-          . " char $pos\n";
+          "$ARGV:$line: warning: failed to update a"
+          . " b4_copyright_years\n";
       }
-    pos () = $pos;
+    pos () = $end;
   }