From bf601de899e7a3a4c1b662542d82e5f2feefb45d Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Sat, 8 Jan 2022 07:20:42 -0800 Subject: [PATCH] fix b1282, b1283: instability with -pvtc=2 -dws -naws --- dev-bin/run_convergence_tests.pl.data | 35 +++++++++++++++++++++++++++ lib/Perl/Tidy/Formatter.pm | 9 +++++++ 2 files changed, 44 insertions(+) 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 -- 2.39.5