]> git.donarmstrong.com Git - perltidy.git/commitdiff
fix b1463
authorSteve Hancock <perltidy@users.sourceforge.net>
Sat, 25 Nov 2023 14:18:08 +0000 (06:18 -0800)
committerSteve Hancock <perltidy@users.sourceforge.net>
Sat, 25 Nov 2023 14:18:08 +0000 (06:18 -0800)
dev-bin/run_convergence_tests.pl.data
dev-bin/run_convergence_tests.pl.expect
lib/Perl/Tidy/Formatter.pm

index 19a63f3d50f41a88b11b1d03c8d836d18638256c..3cc9d388c1ad09e853011dc2d996caaa15f26442 100644 (file)
@@ -11857,6 +11857,30 @@ die sprintf(
 --delete-old-whitespace
 --opening-paren-right
 
+==> b1463.in <==
+die sprintf(
+    "Usage: %s [ -r | -a | -f fmt ] file ...\n",
+    (
+        $0 =~
+          m|.*/(.*)|o
+    ),
+
+);
+
+die sprintf(
+    "Usage: %s [ -r | -a | -f fmt ] file ...\n", (
+       $0 =~
+         m|.*/(.*)|o
+    ),
+
+);
+
+==> b1463.par <==
+--maximum-line-length=50
+--extended-line-up-parentheses
+--delete-old-whitespace
+--opening-paren-right
+
 ==> b148.in <==
 # state 1
 @yydgoto=(
index acd951c5838e0ca85391f375bb15b6fd00260907..d7b3327b35edbf536f3287b230b0dd6827a06530 100644 (file)
@@ -8020,6 +8020,25 @@ die sprintf(
 
 );
 
+==> b1463 <==
+die sprintf(
+    "Usage: %s [ -r | -a | -f fmt ] file ...\n",
+    (
+       $0 =~
+         m|.*/(.*)|o
+    ),
+
+);
+
+die sprintf(
+    "Usage: %s [ -r | -a | -f fmt ] file ...\n",
+    (
+       $0 =~
+         m|.*/(.*)|o
+    ),
+
+);
+
 ==> b148 <==
 # state 1
 @yydgoto=(
index ce2ee8d15a98591ecf083912eb96e503cba9aefe..40f243eed2f34611c33f545bbf9d647b547e4010 100644 (file)
@@ -32028,25 +32028,17 @@ sub set_vertical_tightness_flags {
 
             # give -kba priority over -otr (b1445)
             && !$self->[_rbreak_after_Klast_]->{ $K_to_go[$iend] }
+
+            # Fix b1462, b1463: avoid possible edge instability with
+            # the combination -xlp and -dws
+            && !(
+                   $rOpts_extended_line_up_parentheses
+                && $rOpts_delete_old_whitespace
+            )
           )
         {
             my $spaces = ( $types_to_go[ $ibeg_next - 1 ] eq 'b' ) ? 1 : 0;
 
-            # Fix b1462 - avoid edge instability problem with -lp -naws:
-            # If the '(' started a different line, consider the newline
-            # to be a space. This is restricted to -lp for now but
-            # could be generalized if necessary.
-            if (  !$spaces
-                && $rOpts_line_up_parentheses
-                && !$rOpts_add_whitespace )
-            {
-                my $Kend        = $K_to_go[$iend];
-                my $Kbeg_next   = $K_to_go[$ibeg_next];
-                my $ix_end      = $self->[_rLL_]->[$Kend]->[_LINE_INDEX_];
-                my $ix_beg_next = $self->[_rLL_]->[$Kbeg_next]->[_LINE_INDEX_];
-                if ( $ix_end != $ix_beg_next ) { $spaces = 1 }
-            }
-
             $vt_type         = 2;
             $vt_opening_flag = 0;
             $vt_closing_flag = $spaces;