From: Steve Hancock Date: Sun, 22 Dec 2024 23:40:59 +0000 (-0800) Subject: fix b1502 X-Git-Tag: 20240903.09~11 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=669810c7bea21b64c6edde38badfbab32bab1776;p=perltidy.git fix b1502 --- diff --git a/dev-bin/run_convergence_tests.pl.data b/dev-bin/run_convergence_tests.pl.data index 82b85529..3dcab195 100644 --- a/dev-bin/run_convergence_tests.pl.data +++ b/dev-bin/run_convergence_tests.pl.data @@ -12534,6 +12534,24 @@ my%S3d_url=( --noadd-whitespace --extended-line-up-parentheses +==> b1502.in <== +my $species = + new Bio::Species( + -classification => + [ qw( + sapiens Homo Hominidae Catarrhini Primates Eutheria + Mammalia Vertebrata Chordata Metazoa Eukaryota + ) ] + ); + +==> b1502.par <== +--maximum-line-length=29 +--continuation-indentation=8 +--line-up-parentheses +--weld-nested-containers +--stack-opening-paren +--stack-closing-square-bracket + ==> b156.in <== # State 1 { diff --git a/dev-bin/run_convergence_tests.pl.expect b/dev-bin/run_convergence_tests.pl.expect index 9f4fd7e8..a7f4a760 100644 --- a/dev-bin/run_convergence_tests.pl.expect +++ b/dev-bin/run_convergence_tests.pl.expect @@ -8489,6 +8489,15 @@ my%S3d_url=( .'pdb_neighbors?id=CHAIN&gene=ORF_NAME' ); +==> b1502 <== +my $species = + new Bio::Species( + -classification => [ qw( + sapiens Homo Hominidae Catarrhini Primates Eutheria + Mammalia Vertebrata Chordata Metazoa Eukaryota + ) ] + ); + ==> b156 <== # State 1 { diff --git a/lib/Perl/Tidy/Formatter.pm b/lib/Perl/Tidy/Formatter.pm index 8e3f48e7..79798726 100644 --- a/lib/Perl/Tidy/Formatter.pm +++ b/lib/Perl/Tidy/Formatter.pm @@ -20712,6 +20712,10 @@ sub weld_nested_quotes { # look bad. next if ( $Kinner_closing == $Kinner_opening ); + # RULE: Avoid welding under stress. Fixes b1502. + my $inner_level = $rLL->[$Kinner_opening]->[_LEVEL_]; + if ( $inner_level >= $high_stress_level ) { next } + # Only weld to quotes delimited with container tokens. This is # because welding to arbitrary quote delimiters can produce code # which is less readable than without welding.