From: Steve Hancock Date: Sat, 8 Jan 2022 15:20:42 +0000 (-0800) Subject: fix b1282, b1283: instability with -pvtc=2 -dws -naws X-Git-Tag: 20211029.06~24 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=bf601de899e7a3a4c1b662542d82e5f2feefb45d;p=perltidy.git fix b1282, b1283: instability with -pvtc=2 -dws -naws --- diff --git a/dev-bin/run_convergence_tests.pl.data b/dev-bin/run_convergence_tests.pl.data index 0acd8aa2..ed29a88d 100644 --- a/dev-bin/run_convergence_tests.pl.data +++ b/dev-bin/run_convergence_tests.pl.data @@ -8769,6 +8769,41 @@ use overload ==> b1280.par <== --brace-left-and-indent +==> b1283.in <== + $_=join( + '',$_, + ( + ( $MAX_SPLIT_DEPTH<=$section_commands{ + $outermost_level} )?"\n
\n":'' ), + "\\$outermost_level", + "*", + "$O$X$C$O$Y$C\\infopagename$O$Y$C$O$X$C\n", + , + " \\textohtmlinfopage" ); + + $_=join( + '',$_, + ( ($MAX_SPLIT_DEPTH<= + $section_commands{$outermost_level})? + "\n
\n":'' ), + "\\$outermost_level", + "*", + "$O$X$C$O$Y$C\\infopagename$O$Y$C$O$X$C\n", + , + " \\textohtmlinfopage" ); + +==> b1283.par <== +--noadd-whitespace +--delete-old-whitespace +--indent-columns=7 +--maximum-line-length=71 +--paren-vertical-tightness=2 +--nospace-function-paren +--nospace-keyword-paren +--nostack-closing-paren +--stack-opening-paren +--vertical-tightness-closing=2 + ==> b1284.in <== # S1 if ( ($before) diff --git a/lib/Perl/Tidy/Formatter.pm b/lib/Perl/Tidy/Formatter.pm index 2e960f65..0008c0f2 100644 --- a/lib/Perl/Tidy/Formatter.pm +++ b/lib/Perl/Tidy/Formatter.pm @@ -24959,6 +24959,15 @@ sub set_vertical_tightness_flags { $cvt = $self->[_ris_assigned_structure_]->{$seqno} ? 0 : 1; } + # The unusual combination -pvtc=2 -dws -naws can be unstable. + # This fixes b1282, b1283. This can be moved to set_options. + if ( $cvt == 2 + && $rOpts_delete_old_whitespace + && !$rOpts_add_whitespace ) + { + $cvt = 1; + } + if ( # Never append a trailing line like ')->pack(' because it