+ s/^(manpage\([^)]+\)\(\d+\)\()[^)]+(\).*)/$1$today$2/m
+ or die "Unable to update date in manpage() header in $fn\n";
+ s/^(This man ?page is current for version) \S+ (of rsync)/$1 $version $2/m
+ or die "Unable to update current version info in $fn\n";
+ } elsif ($fn eq 'rsync.h') {
+ s{(#define\s+SUBPROTOCOL_VERSION)\s+(\d+)}
+ { $1 . ' ' . get_subprotocol_version($2) }e
+ or die "Unable to find SUBPROTOCOL_VERSION define in $fn\n";
+ } elsif ($fn eq 'NEWS') {
+ s{^(NEWS for rsync \Q$finalversion\E )(\(UNRELEASED\))\s*(\nProtocol: )(\d+) (\([^)]+\))\n}
+ { $1 . ($pre ? $2 : "($today)") . "$3$protocol_version ($proto_changed)\n" }ei
+ or die "The first 2 lines of $fn are not in the right format. They must be:\n"
+ . "NEWS for rsync $finalversion (UNRELEASED)\n"
+ . "Protocol: $protocol_version ($proto_changed)\n";
+ } elsif ($fn eq 'OLDNEWS') {
+ s{^(\t\S\S\s\S\S\S\s\d\d\d\d)(\t\Q$finalversion\E\t).*}
+ { ($pre ? $1 : "\t$ztoday") . $2 . $proto_change_date . $protocol_version }em
+ or die "Unable to find \"?? ??? $year\t$finalversion\" line in $fn\n";
+ } elsif ($fn eq 'options.c') {
+ if (s/(Copyright \(C\) 2002-)(\d+)( Wayne Davison)/$1$year$3/
+ && $2 ne $year) {
+ die "Copyright comments need to be updated to $year in all files!\n";
+ }
+ # Adjust the year in the --version output.
+ s/(rprintf\(f, "Copyright \(C\) 1996-)(\d+)/$1$year/
+ or die "Unable to find Copyright string in --version output of $fn\n";
+ next if $2 eq $year;