From 3fb62773892d694de4fbc15148d91fa6e6cab9c7 Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Wed, 6 Jul 2022 20:10:08 -0700 Subject: [PATCH] fix b1357 --- dev-bin/run_convergence_tests.pl.data | 19 +++++++++++++++++++ lib/Perl/Tidy/Formatter.pm | 11 +++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/dev-bin/run_convergence_tests.pl.data b/dev-bin/run_convergence_tests.pl.data index 18849876..eba60ede 100644 --- a/dev-bin/run_convergence_tests.pl.data +++ b/dev-bin/run_convergence_tests.pl.data @@ -10091,6 +10091,25 @@ my $data = --maximum-line-length=22 --want-break-before=' = ' +==> b1357.in <== +# S1 +my ( $m, $i, $j ) + =( length $P, 0, + -1 ); + +# S2 +my ( $m, $i, $j ) =( + length $P, 0, + -1 ); + +==> b1357.par <== +--break-at-old-comma-breakpoints +--extended-line-up-parentheses +--indent-columns=0 +--maximum-line-length=26 +--nowant-right-space='=' +--want-break-before='=' + ==> b140.in <== $cmd[ $i ]=[ $s, $e, $cmd, \@hunk, $i ] ; diff --git a/lib/Perl/Tidy/Formatter.pm b/lib/Perl/Tidy/Formatter.pm index f65e8880..5dce2462 100644 --- a/lib/Perl/Tidy/Formatter.pm +++ b/lib/Perl/Tidy/Formatter.pm @@ -3079,7 +3079,6 @@ sub set_container_ws_by_keyword { sub ws_in_container { my ($j) = @_; - my $ws = WS_YES; if ( $j + 1 > $jmax ) { return (WS_NO) } # Patch to count '-foo' as single token so that @@ -21831,11 +21830,15 @@ sub get_available_spaces_to_go { # Fix for issue b1229, check for break before # Fix for issue b1356, i_test must never be blank + # Fix for issue b1357 .. b1370, i_test must be prev nonblank # ( the ci value for blanks can vary ) + # See also b223 if ( $want_break_before{ $types_to_go[$i_test] } ) { - if ( $i_test > 0 && $types_to_go[ $i_test - 1 ] ne 'b' ) { - $i_test--; - } + my $i_prev_nb = $i_test - 1; + $i_prev_nb -= 1 + if ( $types_to_go[$i_prev_nb] eq 'b' ); + $i_test = $i_prev_nb + if ( $i_prev_nb > $ii_begin_line ); } elsif ( $types_to_go[ $i_test + 1 ] eq 'b' ) { $i_test++ } -- 2.39.5