From fa023dcbb12ddf011eaa6b3aa1fc1e2d02365bd8 Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Sun, 21 Apr 2024 15:11:48 -0700 Subject: [PATCH] fix b1468 --- dev-bin/run_convergence_tests.pl.data | 31 +++++++++++++++++++++++++ dev-bin/run_convergence_tests.pl.expect | 21 +++++++++++++++++ lib/Perl/Tidy/Formatter.pm | 22 +++++++++++++++++- 3 files changed, 73 insertions(+), 1 deletion(-) diff --git a/dev-bin/run_convergence_tests.pl.data b/dev-bin/run_convergence_tests.pl.data index 3e9556ea..04663be9 100644 --- a/dev-bin/run_convergence_tests.pl.data +++ b/dev-bin/run_convergence_tests.pl.data @@ -12044,6 +12044,37 @@ sub new{ --square-bracket-tightness=2 --brace-vertical-tightness=1 +==> b1468.in <== +foreach $n ( + qw( msm ali ) ) +{ foreach $e ( qw( + uc16 + ) ) + { + # + } +} + +foreach $n ( + qw( msm ali ) ) +{ + foreach $e ( qw( + uc16 + ) ) + { + # + } +} + +==> b1468.par <== +--maximum-line-length=21 +--indent-columns=5 +--weld-nested-containers +--paren-vertical-tightness-closing=2 +--stack-opening-paren +--block-brace-vertical-tightness=1 +--nodelete-old-newlines + ==> b148.in <== # state 1 @yydgoto=( diff --git a/dev-bin/run_convergence_tests.pl.expect b/dev-bin/run_convergence_tests.pl.expect index b697fe65..cbad2352 100644 --- a/dev-bin/run_convergence_tests.pl.expect +++ b/dev-bin/run_convergence_tests.pl.expect @@ -8167,6 +8167,27 @@ sub new{ transmit => 2, }]; +==> b1468 <== +foreach $n ( + qw( msm ali ) ) +{ foreach $e ( qw( + uc16 + ) ) + { + # + } +} + +foreach $n ( + qw( msm ali ) ) +{ foreach $e ( qw( + uc16 + ) ) + { + # + } +} + ==> b148 <== # state 1 @yydgoto=( diff --git a/lib/Perl/Tidy/Formatter.pm b/lib/Perl/Tidy/Formatter.pm index 626b1396..8a21ffa7 100644 --- a/lib/Perl/Tidy/Formatter.pm +++ b/lib/Perl/Tidy/Formatter.pm @@ -14681,7 +14681,7 @@ sub cross_check_call_args { # Skip the warning for small lists with undercount if ( $ris_mismatched_call_type->{'u'} - && $shift_count >= $mismatched_arg_undercount_cutoff ) + && $shift_count > $mismatched_arg_undercount_cutoff ) { my $lines_under_count = stringify_line_range($runder_count); my $total = $num_direct + $num_self; @@ -15787,6 +15787,26 @@ sub setup_new_weld_measurements { } } + # fix c1468 - do not measure from a leading opening block brace - + # which is not a one-line block + if ( $Kref < $Kouter_opening + && $Kref == $Kfirst + && $rLL->[$Kref]->[_TOKEN_] eq '{' ) + { + my $seqno_ref = $rLL->[$Kref]->[_TYPE_SEQUENCE_]; + if ($seqno_ref) { + my $block_type = $self->[_rblock_type_of_seqno_]->{$seqno_ref}; + if ($block_type) { + my $Kref_c = $self->[_K_closing_container_]->{$seqno_ref}; + my $ln_ref_o = $rLL->[$Kref]->[_LINE_INDEX_]; + my $ln_ref_c = $rLL->[$Kref_c]->[_LINE_INDEX_]; + if ( $ln_ref_c > $ln_ref_o ) { + $Kref = $self->K_next_nonblank($Kref); + } + } + } + } + # Define the starting measurements we will need $starting_lentot = $Kref <= 0 ? 0 : $rLL->[ $Kref - 1 ]->[_CUMULATIVE_LENGTH_]; -- 2.39.5