]> git.donarmstrong.com Git - perltidy.git/commitdiff
update version for next cpan release 20250105
authorSteve Hancock <perltidy@users.sourceforge.net>
Thu, 2 Jan 2025 19:30:34 +0000 (11:30 -0800)
committerSteve Hancock <perltidy@users.sourceforge.net>
Thu, 2 Jan 2025 19:30:34 +0000 (11:30 -0800)
22 files changed:
CHANGES.md
bin/perltidy
dev-bin/build.pl
docs/ChangeLog.html
docs/Tidy.html
docs/perltidy.html
lib/Perl/Tidy.pm
lib/Perl/Tidy.pod
lib/Perl/Tidy/Debugger.pm
lib/Perl/Tidy/Diagnostics.pm
lib/Perl/Tidy/FileWriter.pm
lib/Perl/Tidy/Formatter.pm
lib/Perl/Tidy/HtmlWriter.pm
lib/Perl/Tidy/IOScalar.pm
lib/Perl/Tidy/IOScalarArray.pm
lib/Perl/Tidy/IndentationItem.pm
lib/Perl/Tidy/Logger.pm
lib/Perl/Tidy/Tokenizer.pm
lib/Perl/Tidy/VerticalAligner.pm
lib/Perl/Tidy/VerticalAligner/Alignment.pm
lib/Perl/Tidy/VerticalAligner/Line.pm
local-docs/Release-Checklist.md

index f6945cbf9adbbddd9ac97502fb28213afb2209ca..a87db287e8a5f727c4cb16af142e17258955ca73 100644 (file)
@@ -1,6 +1,6 @@
 # Perltidy Change Log
 
-## 2024 09 03.09
+## 2025 01 05
 
     - If a file consists only of comments, then the starting indentation will
       be guessed from the indentation of the first comment. Previously it would
@@ -18,7 +18,7 @@
 
          perltidy -duk File.pm >output.txt
 
-      The purpose is to help locate misspelled hash keys.
+      This can help locate misspelled hash keys.
 
     - Line breaks at long chains of method calls now break at all calls
       with args in parens, as in this example from git #171
@@ -39,8 +39,8 @@
               ->catch( sub { warn shift } );
         }
 
-    - An update for parameter --break-at-old-method-breakpoints, or -bom,
-    has been made to insure that it only applies to lines beginning with
+    - Parameter --break-at-old-method-breakpoints, or -bom, has been
+    updated to insure that it only applies to lines beginning with
     method calls, as intended.  Line breaks for all lines beginning with
     '->', even non-method calls, can be retained by using
     --keep-old-breakpoints_before='->'.
index 27be6d38fd7134d4a255bdfd362691731c594f10..9c67dc30fc029c2b03c640ba2ecce3920e4d7628 100644 (file)
@@ -7342,7 +7342,7 @@ The perltidy binary uses the Perl::Tidy module and is installed when that module
 
 =head1 VERSION
 
-This man page documents perltidy version 20240903.09
+This man page documents perltidy version 20250105
 
 =head1 BUG REPORTS
 
@@ -7352,7 +7352,7 @@ To report a new bug or problem, use the "issues" link on this page.
 
 =head1 COPYRIGHT
 
-Copyright (c) 2000-2024 by Steve Hancock
+Copyright (c) 2000-2025 by Steve Hancock
 
 =head1 LICENSE
 
index 51baead026f8d76356f37aa765bdcbd92cdf76e7..3c191eb60cdd856e9764283ced57b839330120c7 100755 (executable)
@@ -44,6 +44,7 @@ chdir $git_home;
 my $logfile   = "dev-bin/build.log";
 my $changelog = "CHANGES.md";
 my $fh_log;
+my $source_VERSION = $Perl::Tidy::VERSION;
 
 # These are the main steps, in approximate order, for making a new version
 # Note: Since perl critic is in the .tidyallrc, a separate 'PC' step is not
@@ -83,7 +84,6 @@ $fh_log->close();
 
 sub main {
     while (1) {
-##A        - run All Steps...
         print <<EOM;
 -------------------------------------------
 Perltidy Build Main Menu - Case Insensitive
@@ -537,10 +537,9 @@ sub check_man_pages {
 
 sub update_version_number {
 
-    my $reported_VERSION = $Perl::Tidy::VERSION;
-    my $lib_path         = "lib/Perl/";
-    my $bin_path         = "bin/";
-    my @sources          = (
+    my $lib_path = "lib/Perl/";
+    my $bin_path = "bin/";
+    my @sources  = (
         $lib_path . "Tidy.pm",
         $lib_path . "Tidy.pod",
         $bin_path . "perltidy",
@@ -581,7 +580,7 @@ A Development VERSION is (Last Release).(Development Number)
 The Development Number is a 2 digit number starting at 01 after a release is
 continually bumped along at significant points during development.
 
-The VERSION reported by Perl::Tidy.pm is '$reported_VERSION'
+The VERSION reported by Perl::Tidy.pm is '$source_VERSION'
 What would you like to do?
 
 CA  Check that All files have the current VERSION
@@ -592,8 +591,8 @@ EOM
 
     my $ans = queryu(":");
     if ( $ans eq 'BV' ) {
-        my $new_VERSION = get_new_development_version($reported_VERSION);
-        next if ( $new_VERSION == $reported_VERSION );
+        my $new_VERSION = get_new_development_version();
+        next if ( $new_VERSION == $source_VERSION );
         if ( ifyes("New version will be: '$new_VERSION'. OK? [Y/N]") ) {
             my $ok = update_all_sources( $new_VERSION, @sources );
             $rstatus->{'V'} = $ok ? 'OK' : 'TBD';
@@ -601,8 +600,8 @@ EOM
         return;
     }
     elsif ( $ans eq 'RV' ) {
-        my $new_VERSION = get_new_release_version($reported_VERSION);
-        next if ( $new_VERSION == $reported_VERSION );
+        my $new_VERSION = get_new_release_version();
+        next if ( $new_VERSION == $source_VERSION );
         if ( ifyes("New version will be: '$new_VERSION'. OK? [Y/N]") ) {
             my $ok = update_all_sources( $new_VERSION, @sources );
             $rstatus->{'V'} = $ok ? 'OK' : 'TBD';
@@ -610,7 +609,7 @@ EOM
         return;
     }
     elsif ( $ans eq 'CA' ) {
-        my $new_VERSION = $reported_VERSION;
+        my $new_VERSION = $source_VERSION;
         my $ok          = update_all_sources( $new_VERSION, @sources );
         $rstatus->{'V'} = $ok ? 'OK' : 'TBD';
         return;
@@ -619,7 +618,7 @@ EOM
     # I have left this as a hidden menu item for testing
     # but it is not on the menu because it would be confusing
     elsif ( $ans eq 'CS' ) {
-        my $new_VERSION = $reported_VERSION;
+        my $new_VERSION = $source_VERSION;
         my @check       = grep { ifyes("Check $_? [Y/N]") } @sources;
         update_all_sources( $new_VERSION, @check );
         return;
@@ -635,9 +634,8 @@ EOM
 } ## end sub update_version_number
 
 sub get_new_development_version {
-    my ($reported_VERSION) = @_;
-    my $new_VERSION        = $reported_VERSION;
-    my @parts              = split /\./, $reported_VERSION;
+    my $new_VERSION = $source_VERSION;
+    my @parts       = split /\./, $source_VERSION;
     if ( @parts == 1 ) {
 
         # first development after release
@@ -669,8 +667,7 @@ sub get_new_development_version {
 } ## end sub get_new_development_version
 
 sub get_new_release_version {
-    my ($reported_VERSION) = @_;
-    my $new_VERSION = $reported_VERSION;
+    my $new_VERSION = $source_VERSION;
     my ( $day, $month, $year ) = (localtime)[ 3, 4, 5 ];
     $year  += 1900;
     $month += 1;
@@ -691,10 +688,9 @@ sub update_copyright_date {
     # lib/Perl/Tidy.pm: 2 places
 
     $rstatus->{'YEAR'} = 'TBD';
-    my $reported_VERSION = $Perl::Tidy::VERSION;
-    my $reported_year    = substr( $reported_VERSION, 0, 4 );
+    my $reported_year = substr( $source_VERSION, 0, 4 );
     if ( !$reported_year || $reported_year !~ /\d\d\d\d/ ) {
-        query("Cannot find reported year in $reported_VERSION\n");
+        query("Cannot find reported year in $source_VERSION\n");
         return;
     }
 
@@ -737,7 +733,8 @@ EOM
             }
         }
         else {
-            print "Copyright years are up to date in $source_file\n";
+            print
+"Copyright year and version year are '$reported_year' in $source_file\n";
             $rstatus->{'YEAR'} = 'OK';
         }
     }
@@ -1055,6 +1052,10 @@ To avoid error, I put this last command in a script $runme
 EOM
         hitcr();
     }
+
+    # Keep track of the current source version since it differs from the
+    # running version.
+    $source_VERSION = $new_VERSION;
     return 1;
 } ## end sub update_all_sources
 
@@ -1066,6 +1067,9 @@ sub scan_for_pod {
     # confusing.  Any pod markers left in a .pm file are probably leftovers
     # from debugging and need to be removed.
 
+    # And they should not contain __END__ or __DATA__ sections. The reason
+    # is that this would cause the pm2pl script to fail.
+
     my ($rsources) = @_;
     my (@sources)  = @{$rsources};
 
@@ -1091,20 +1095,47 @@ EOM
     }
 
     my @files_with_pod;
+    my @files_with_END;
+    my @files_with_DATA;
+    my @files_with_FIXME;
     while ( my $source_file = shift @sources ) {
         next unless ( $source_file =~ /\.pm$/ );
         my $result = qx/grep "^=cut" $source_file/;
         if ($result) {
             push @files_with_pod, $source_file;
         }
+        $result = qx/grep "^__END__" $source_file/;
+        if ($result) {
+            push @files_with_END, $source_file;
+        }
+        $result = qx/grep "^__DATA__" $source_file/;
+        if ($result) {
+            push @files_with_DATA, $source_file;
+        }
+        $result = qx/grep "FIXME" $source_file/;
+        if ($result) {
+            push @files_with_FIXME, $source_file;
+        }
     } ## end while ( my $source_file =...)
 
-    my $saw_pod = @files_with_pod;
+    my $saw_pod   = @files_with_pod;
+    my $saw_END   = @files_with_END;
+    my $saw_DATA  = @files_with_DATA;
+    my $saw_FIXME = @files_with_FIXME;
+    my $saw_problem = $saw_pod || $saw_END || $saw_DATA;
+
+    if ($saw_FIXME) {
+        local $" = ') (';
+        query(<<EOM);
+NOTE: Some files have 'FIXME': (@files_with_FIXME);
+hit <cr> to continue
+EOM
+    }
+
     print <<EOM;
 -------------------------------------------------------------------
-Scanning for pod in .pm files...
+Scanning for pod __END__  and __DATA__ in .pm files...
 EOM
-
     if ($saw_pod) {
         local $" = ') (';
         query(<<EOM);
@@ -1114,14 +1145,32 @@ Please remove the pod text before continuing, hit <cr> to continue.
 -------------------------------------------------------------------
 EOM
     }
-    else {
+    if ($saw_END) {
+        local $" = ') (';
+        query(<<EOM);
+Found files with pod text: (@files_with_END);
+The convention in perltidy is not to have an __END__ section in '.pm' files.
+Please remove the __END__ text before continuing, hit <cr> to continue.
+-------------------------------------------------------------------
+EOM
+    }
+    if ($saw_DATA) {
+        local $" = ') (';
+        query(<<EOM);
+Found files with pod text: (@files_with_DATA);
+The convention in perltidy is not to have an __DATA__ section in '.pm' files.
+Please remove the __DATA__ text before continuing, hit <cr> to continue.
+-------------------------------------------------------------------
+EOM
+    }
+    if ( !$saw_problem ) {
         print <<EOM;
-OK - no pod text found in .pm files
+OK - no pod text, __END__ or __DATA  found in .pm files
 -------------------------------------------------------------------
 EOM
     }
 
-    return $saw_pod;
+    return $saw_problem;
 } ## end sub scan_for_pod
 
 sub make_tag_script {
index faa10136b119d5c299735eeb448b3219a2efcd8f..4b3fefba29c5757706dc9c6f0f711a934cb6fb28 100644 (file)
@@ -1,8 +1,14 @@
 <h1>Perltidy Change Log</h1>
 
-<h2>2024 09 03.09</h2>
+<h2>2025 01 05</h2>
 
-<pre><code>- Added missing 'use File::Temp' for -html option. This was causing the
+<pre><code>- If a file consists only of comments, then the starting indentation will
+  be guessed from the indentation of the first comment. Previously it would
+  be guessed to be zero. Parameter --starting-indentation-level=n can be
+  used to specify an indentation and avoid a guess. This issue can
+  arise when formatting a block of comments from within an editor.
+
+- Added missing 'use File::Temp' for -html option. This was causing the
   message: "Undefined subroutine &amp;File::Temp::tempfile called at ..."
   See git #176.
 
@@ -33,8 +39,8 @@
           -&gt;catch( sub { warn shift } );
     }
 
-- An update for parameter --break-at-old-method-breakpoints, or -bom,
-has been made to insure that it only applies to lines beginning with
+- Parameter --break-at-old-method-breakpoints, or -bom, has been
+updated to insure that it only applies to lines beginning with
 method calls, as intended.  Line breaks for all lines beginning with
 '-&gt;', even non-method calls, can be retained by using
 --keep-old-breakpoints_before='-&gt;'.
index a725af1dff743838e93057398d95609237a9d15d..878ab203502e7a4e796b397963b70dc64f0cc728 100644 (file)
 
 <h1 id="VERSION">VERSION</h1>
 
-<p>This man page documents Perl::Tidy version 20240903.09</p>
+<p>This man page documents Perl::Tidy version 20250105</p>
 
 <h1 id="LICENSE">LICENSE</h1>
 
index 7992fd46890382acdbc2d6e55855433951131bd4..a0150f42db48616a36b706c056ecd7f1aa1ce48b 100644 (file)
 
 <h1 id="VERSION">VERSION</h1>
 
-<p>This man page documents perltidy version 20240903.09</p>
+<p>This man page documents perltidy version 20250105</p>
 
 <h1 id="BUG-REPORTS">BUG REPORTS</h1>
 
 
 <h1 id="COPYRIGHT">COPYRIGHT</h1>
 
-<p>Copyright (c) 2000-2024 by Steve Hancock</p>
+<p>Copyright (c) 2000-2025 by Steve Hancock</p>
 
 <h1 id="LICENSE">LICENSE</h1>
 
index b656cd3c03116bc0fcc958bf812f76e4c92826e1..b74396c8880783210e3e4853dff47424bd8b679f 100644 (file)
@@ -3,7 +3,7 @@
 #
 #    perltidy - a perl script indenter and formatter
 #
-#    Copyright (c) 2000-2024 by Steve Hancock
+#    Copyright (c) 2000-2025 by Steve Hancock
 #    Distributed under the GPL license agreement; see file COPYING
 #
 #    This program is free software; you can redistribute it and/or modify
@@ -136,7 +136,7 @@ BEGIN {
     # then the Release version must be bumped, and it is probably past time for
     # a release anyway.
 
-    $VERSION = '20240903.09';
+    $VERSION = '20250105';
 } ## end BEGIN
 
 sub DESTROY {
@@ -6178,7 +6178,7 @@ sub show_version {
     print {*STDOUT} <<"EOM";
 This is perltidy, v$VERSION
 
-Copyright 2000-2024 by Steve Hancock
+Copyright 2000-2025 by Steve Hancock
 
 Perltidy is free software and may be copied under the terms of the GNU
 General Public License, which is included in the distribution files.
index 9cf056dbee0ed951d7afc05b75d7d31b96856fa3..3e9ddb02e8374079d685fade4b505197133bb2c7 100644 (file)
@@ -469,7 +469,7 @@ The module 'Perl::Tidy' comes with a binary 'perltidy' which is installed when t
 
 =head1 VERSION
 
-This man page documents Perl::Tidy version 20240903.09
+This man page documents Perl::Tidy version 20250105
 
 =head1 LICENSE
 
index ceaca3ff974aba915ac7912d5dafdd425cb26c48..3f850ef61e80b975b536f56fa72166ea4ca106c4 100644 (file)
@@ -8,7 +8,7 @@ package Perl::Tidy::Debugger;
 use strict;
 use warnings;
 use English qw( -no_match_vars );
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 use constant EMPTY_STRING => q{};
 use constant SPACE        => q{ };
index 1a3775f842a712cefa055fb9db989285933073f0..567e362b6aadc363a2beb280f9d0fa8f6cea5a8b 100644 (file)
@@ -18,7 +18,7 @@ package Perl::Tidy::Diagnostics;
 use strict;
 use warnings;
 use English qw( -no_match_vars );
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 use constant EMPTY_STRING => q{};
 
index 015ea75d8ce281c693c554362fd85aeee215603d..59cbfb6a92a85c270305425903ca0c6bc55617c9 100644 (file)
@@ -16,7 +16,7 @@
 package Perl::Tidy::FileWriter;
 use strict;
 use warnings;
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 use Carp;
 
 use constant DEVEL_MODE   => 0;
index cfb5ab39dec3453cfbb6b671557be219f2eae22a..07c0b231c37509151586512591590c4314fef193 100644 (file)
@@ -76,7 +76,7 @@ use constant BACKSLASH    => q{\\};
 use Carp;
 use English    qw( -no_match_vars );
 use List::Util qw( min max first );    # min, max first are in Perl 5.8
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 # The Tokenizer will be loaded with the Formatter
 ##use Perl::Tidy::Tokenizer;    # for is_keyword()
@@ -6811,7 +6811,7 @@ sub initialize_missing_else_comment {
 
     my $comment = $rOpts->{'add-missing-else-comment'};
     if ( !$comment ) {
-        $comment = "##FIXME - added with perltidy -ame";
+        $comment = '##FIX' . 'ME - added with perltidy -ame';
     }
     else {
         $comment = substr( $comment, 0, 60 );
index 87120b541f46d32274db169a409970c62e025de5..ec541250902d8634f307b6486d1c5bfa07644f81 100644 (file)
@@ -7,7 +7,7 @@
 package Perl::Tidy::HtmlWriter;
 use strict;
 use warnings;
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 use Carp;
 use English qw( -no_match_vars );
index a8666cebd38c8d0841c0b44de86e1b3c9033b2a3..40f7c1ef5e2d0aa6e365223d02e95b20078de60d 100644 (file)
@@ -10,7 +10,7 @@ package Perl::Tidy::IOScalar;
 use strict;
 use warnings;
 use Carp;
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 use constant DEVEL_MODE   => 0;
 use constant EMPTY_STRING => q{};
index 5e1e5005ebf9ac032953dffa42a1d7c2ffa0c7f0..8df31ca5abf06722baa2da0549e207a2c0ded4ee 100644 (file)
@@ -14,7 +14,7 @@ package Perl::Tidy::IOScalarArray;
 use strict;
 use warnings;
 use Carp;
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 use constant DEVEL_MODE => 0;
 
index d4fe09c564e2456561fc95f09f0cd727bc9352e9..987e1770afdefa8609c29f3a6d98895f2d7cc3e2 100644 (file)
@@ -9,7 +9,7 @@ package Perl::Tidy::IndentationItem;
 use strict;
 use warnings;
 
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 BEGIN {
 
index 6dd15b1fad09b207e600128e117720fdc86e300e..249b595e3782c809c265abf024d8a4583247eb0a 100644 (file)
@@ -8,7 +8,7 @@
 package Perl::Tidy::Logger;
 use strict;
 use warnings;
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 use Carp;
 use English qw( -no_match_vars );
 
index c245ab7c0f142395b185ee294e7c7ce0fda40911..4b7b9a4ef305702387c65146b09ba06779a5dc99 100644 (file)
@@ -33,7 +33,7 @@ use strict;
 use warnings;
 use English qw( -no_match_vars );
 
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 use Carp;
 
index f609b70f9212cbd875675889362c4b7f0b1355a9..b22b78fc93fa60dd778f97863e96ce65b2444175 100644 (file)
@@ -5,7 +5,7 @@ use Carp;
 
 { #<<< A non-indenting brace to contain all lexical variables
 
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 use English qw( -no_match_vars );
 use Scalar::Util 'refaddr';    # perl 5.8.1 and later
 use Perl::Tidy::VerticalAligner::Alignment;
index 0991b137939de2c04330720c6534958e057d2966..ecf3298d4de40b95f093536f6a187f5af3d98abb 100644 (file)
@@ -9,7 +9,7 @@ package Perl::Tidy::VerticalAligner::Alignment;
 use strict;
 use warnings;
 
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 
 sub new {
     my ( $class, $rarg ) = @_;
index 4c50906301f1632a5a03f6b6e1f828f89804de8b..99432e77710ba6ff790717115788e9a1cea48f62 100644 (file)
@@ -10,7 +10,7 @@ package Perl::Tidy::VerticalAligner::Line;
 use strict;
 use warnings;
 
-our $VERSION = '20240903.09';
+our $VERSION = '20250105';
 use English qw( -no_match_vars );
 
 sub AUTOLOAD {
index 65c61702ad025ec3adb8cd6b6de4a5024dfc1cce..cc3bc78ee6204b8d9ddbe4a9c31bce6367cd3f64 100644 (file)
@@ -4,7 +4,6 @@
   - 'make test' successful for all commit candidates
   - run ``devbin/run_convergence_tests.pl`` for all commit candidates
   - run perlcritic
-  - run ``check_text.pl`` on all files
   - run NYTProf and check the activity and performance of all changed code
   - IMPORTANT: random testing minimum test duration without irregularities:
     - 3 cpu hours for a commit candidate