18993 Recommended update for perl-Perl-Tidy moderate openSUSE Backports SLE-15-SP6 Update This update for perl-Perl-Tidy fixes the following issues: - updated to 20250311.0.0 (20250311) see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md ## 2025 03 11 - The options --want-call-parens and --nowant-call-parens were accidentally being skipped in version 20250214. This has been fixed. - Fixed git #32, a tokenization error with message "hit EOF seeking end of quote/pattern" for a function call without paren or arg before a ternary operator. - A new option --dump-similar-keys will dump hash keys which are similar but slightly different to standard output and then exit. A related option --warn-similar-keys will report keys with are similar to the error output while formatting. Both of these can be controlled by parameters which are described in the input manual. - A new option --dump-hash-keys will dump all hash keys found by perltidy to standard output. - The output table for --dump-block-summary has an additional field. It is an alternate McCabe complexity count which is the same as the previous count except for subs. For subs, the complexity number is reduced by the values for any contained anonymous subs. - Fix git #181, remove continuation indentation from closing brace of an anonymous sub which terminates an input stream. - updated to 20250214.0.0 (20250214) see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md ## 2025 02 14 - A new option --keep-old-blank-lines-exceptions=s, or --kblx=s, allows selected blank lines to be ignored when an input stream is read. The parameter s is used to select the blank lines to be ignored. This option provides an inverse to other blank line parameters. The manual has details. See discussion git #180. - A new option --warn-unused-keys, or -wuk, has been added which will produce warnings for unused hash keys during formatting. This is similar to --dump-unused-keys, which just exits and does not continue formatting. A related new parameter --warn-unused-keys-cutoff=N provides control over a filter which prevents warnings for keys which appear to be members of large hashes used to communicate with external packages. The manual has details. See git #177. - A new option --pack-opening-types='->' has been added to provide more control over breaks of method call chains. It tells perltidy not to break at every method call when a chain of calls spans multiple lines. This was the behavior in versions prior to 20250105. The default starting with 20250105 is to break at each call of a method call chain which spans multiple lines. See git #171. - updated to 20250105.0.0 (20250105) see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md ## 2025 01 05 - If a file consists only of comments, then the starting indentation will be guessed from the indentation of the first comment. Previously it would be guessed to be zero. Parameter --starting-indentation-level=n can be used to specify an indentation and avoid a guess. This issue can arise when formatting a block of comments from within an editor. - Added missing 'use File::Temp' for -html option. This was causing the message: "Undefined subroutine &File::Temp::tempfile called at ..." See git #176. - A new parameter --dump-unique-keys, or -duk, dumps a list of hash keys which appear to be used just once, and do not appear among the quoted strings in a file. For example: perltidy -duk File.pm >output.txt This can help locate misspelled hash keys. - Line breaks at long chains of method calls now break at all calls with args in parens, as in this example from git #171 # Old default sub bla_p( $value = 42 ) { return Mojo::Promise->resolve($value)->then( sub { shift() / 2 } ) ->then( sub { shift() + 6 } )->then( sub { shift() / 2 } ) ->catch( sub { warn shift } ); } # New default sub bla_p( $value = 42 ) { return Mojo::Promise->resolve($value) ->then( sub { shift() / 2 } ) ->then( sub { shift() + 6 } ) ->then( sub { shift() / 2 } ) ->catch( sub { warn shift } ); } - Parameter --break-at-old-method-breakpoints, or -bom, has been updated to insure that it only applies to lines beginning with method calls, as intended. Line breaks for all lines beginning with '->', even non-method calls, can be retained by using --keep-old-breakpoints_before='->'. - Added parameter --multiple-token-tightness=s, or -mutt=s. The default value --paren-tightness=1 adds space within the parens if, and only if, the container holds multiple tokens. Some perltidy tokens may be rather long, and it can be preferable to also space some of them as if they were multiple tokens. This can be done with this parameter, and it applies to parens as well as square brackets and curly braces. For example, the default below has no space within the square brackets: # perltidy my $rlist = [qw( alpha beta gamma )]; Spaces can be obtained with: # perltidy -mutt='q*' my $rlist = [ qw( alpha beta gamma ) ]; The parameter -mutt='q*' means treat qw and similar quote operators as multiple tokens. The manual has details; git #120 has another example. - Added parameter --indent-leading-semicolon, -ils; see git #171. When this is negated, a line with a leading semicolon does not get the extra leading continuation indentation spaces (defined with -ci=n). - Space around here doc delimiters follow spacing controls better. For example, a space is now added before the closing paren here: OLD: (without the here doc): push( @script, <<'EOT'); NEW: push( @script, <<'EOT' ); Also, any spaces between the '<<' and here target are removed (git #174): OLD: push( @script, << 'EOT'); NEW: push( @script, <<'EOT' ); - Added parameter --break-at-trailing-comma-types=s, or -btct=s, where s is a string which selects trailing commas. For example, -btct='f(b' places a line break after all bare trailing commas in function calls. The manual has details. - Fix git #165, strings beginning with v before => gave an incorrect error message. - The parameter --add-lone-trailing-commas, -altc, is now on by default. This will simplify input for trailing comma operations. Use --noadd-lone-trailing-commas, or -naltc to turn it off. - More edge cases for adding and deleting trailing commas are now handled (git #156). - A problem has been fixed in which the addition or deletion of trailing commas with the -atc or -dtc flags did not occur due to early convergence when the -conv flag was set (git #143). - Added parameter --qw-as-function, or -qwaf, discussed in git #164. When this parameter is set, a qw list which begins with 'qw(' is formatted as if it were a function call with call args being a list of comma-separated quoted items. For example, given this input: @fields = qw( $st_dev $st_ino $st_mode $st_nlink $st_uid $st_gid $st_rdev $st_size $st_atime $st_mtime $st_ctime $st_blksize $st_blocks); # perltidy -qwaf @fields = qw( $st_dev $st_ino $st_mode $st_nlink $st_uid $st_gid $st_rdev $st_size $st_atime $st_mtime $st_ctime $st_blksize $st_blocks ); - updated to 20240903.0.0 (20240903) see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md ## 2024 09 03 - Add partial support for Syntax::Operator::In and Syntax::Keyword::Match (see git #162). - Add --timeout-in-seconds=n, or -tos=n. When the standard input supplies the input stream, and the input has not been received within n seconds, perltidy will end with a timeout message. The intention is to catch a situation where perltidy is accidentally invoked without a file to process and therefore waits for input from the system standard input (stdin), which never arrives. The default is n=10. This check can be turned off with -tos=0. - Add parameter --closing-side-comment-exclusion-list=string, or -cscxl=string, where string is a list of block types to exclude for closing side comment operations. Also, closing side comments now work for anonymous subs if a --closing-side-comment-list (-cscl) is not specified, and when 'asub' is requested with -cscl=asub. Use -cscxl=asub to prevent this. - Include check for unused constants in --dump-unusual-variables and --warn-variable-types (new issue type 'c'). Also expand checks to cover variables introduced with 'use vars'. - Include signature variables in --dump-unusual-variables and --warn-variable-types; see git #158. - Add logical xor operator ^^ available in perl version 5.40, as noted in git #157. - Keyword 'state' now has default space before a paren, like 'my'. Previously there was no space and no control. So the default is now "state ($x)". This space can be removed with -nsak='state'. - Add options --add-lone-trailing-commas, -altc and --delete-lone-trailing-commas, -dltc, to provide control over adding and deleting the only comma in a list. See discussion in git #143 and the updated manual. - Add options --dump-mismatched-returns (or -dmr) and --warn-mismatched-returns (or -wmr). These options report function calls where the number of values requested may disagree with sub return statements. The -dump version writes the results for a single file to standard output and exits: perltidy -dmr somefile.pl >results.txt The -warn version formats as normal but reports any issues as warnings in the error file: perltidy -wmr somefile.pl The -warn version may be customized with the following additional parameters if necessary to avoid needless warnings: --warn-mismatched-return-types=s (or -wmrt=s), --warn-mismatched-return-exclusion-list=s (or -wmrxl=s) where 's' is a control string. These are explained in the manual. - Updates for issue git #151: (1) --warn-variable-types=u is now okay if a named file is processed. (2) --warn-variable-exclusion-list=s now allows leading and/or trailing * on variable names to allow a wildcard match. For example -wvxl='*_unused' is okay and would match $var1_unused and $var2_unused. (3) --dump-unusual-variables now outputs the filename. - A option was added to filter unimplemented parameters from perltidy configuration files, suggested in git #146. It works like this: if a line in the config file begins with three dashes followed by a parameter name (rather than two dashes), then the line will be removed if the parameter is unknown. Otherwise, a dash will be removed to make the line valid. - Parameters --dump-mismatched-args (or -dma) and --warn-mismatched-args (or -wma) have been updated to catch more arg count issues. - Fixed issue git #143, extend -add-trailing-commas to apply to a list with just a fat comma. - The minimum perl version is 5.8.1. Previously it was 5.8.0, which was not correct because of the use of utf8::is_utf8. - Fixed issue git #142, test failure installing on perl versions before version 5.10. The error caused the new parameter -interbracket-arrow-style=s not to work. Except for this limitation, Version 20240511 will work on older perl versions. perl-Perl-Tidy-20250311.0.0-bp156.2.6.1.noarch.rpm perl-Perl-Tidy-20250311.0.0-bp156.2.6.1.src.rpm