forked from pool/perl-Perl-Tidy
2308 lines
119 KiB
Plaintext
2308 lines
119 KiB
Plaintext
-------------------------------------------------------------------
|
|
Wed Oct 8 12:46:25 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20250912.0.0 (20250912)
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2025 09 12
|
|
- Fix git #191, where a new check to escape whitespace in a qw() quote
|
|
in perl-5.43.2 caused Perl::Tidy to emit unwanted warning messages.
|
|
- A new output field for the --dump-block-summary command gives
|
|
the number of lines of comments and pod in a block. For subs and
|
|
anonymous subs, the existence of header comments is also indicated.
|
|
- Added --dump-nested-ternaries, --warn-nested-ternaries, and
|
|
--nested-ternary-maximum-depth=n. These can be used to locate
|
|
nested ternary statements in a script.
|
|
- For the --line-up-parentheses option, a line length tolerance was
|
|
adjusted by 1 character to help keep table formatting unchanged when
|
|
adding and deleting trailing commas. This can occasionally change
|
|
formatting of some small lists when formatted with -lp.
|
|
- In hash key lists which have side comments after sub blocks,
|
|
long lines which were previously broken before a comma may now
|
|
be broken after a previous '=>'. This change was made to
|
|
fix a very rare stability problem. For example:
|
|
OLD:
|
|
'+' => sub { $turtle->turn( $changes->{"dtheta"} ); }
|
|
, # Turn clockwise
|
|
NEW:
|
|
'+' =>
|
|
sub { $turtle->turn( $changes->{"dtheta"} ); }, # Turn clockwise
|
|
- Fixed undefined variable reference when --dump-block-summary was
|
|
run with --dump-block-types='package'. The dump was okay, but
|
|
an error message like the following was emitted:
|
|
Use of uninitialized value $seqno in hash element ...
|
|
- The parameter --integer-range-check no longer accepts a 0 value, which
|
|
allowed integer range checks to be skipped. This option was included
|
|
temporarily when new range-checking code was added to provide a
|
|
workaround in case problems arose with the new logic. No problems have
|
|
been encountered, so this has been removed.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 12 05:36:54 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20250711.0.0 (20250711)
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2025 07 11
|
|
- Update for issue git #187: add vertical alignment of colons
|
|
used as attribute separators. These colons have token type 'A',
|
|
and this vertical alignment will be on by default (since all
|
|
vertical alignments occur by default). For example:
|
|
# old default
|
|
field $tile_size : param;
|
|
field $bar : reader : writer;
|
|
# new default with alignment of token type 'A'
|
|
field $tile_size : param;
|
|
field $bar : reader : writer;
|
|
This alignment can be turned off to recover the previous formatting
|
|
with --valign-exclusion-list='A', or -vxl='A'.
|
|
- Update for issue git #186: if a closing format skipping comment
|
|
'#>>>' is encountered before any '#<<<' is seen, then format
|
|
skipping is assumed to start with the first line of the file.
|
|
Use --nodetect-format-skipping-from-start or -ndfsfs to prevent
|
|
this check.
|
|
- Added option --code-skipping-from-start, or -csfs. This causes
|
|
code-skipping to begin from the start of a file even though there
|
|
is no starting marker comment, '#<<V'.
|
|
- Fixed a bug involving the --format-skipping option. If a line in
|
|
the skipped code had trailing blanks, then the newline at the end
|
|
of that line was lost.
|
|
- Added a check to insure that format skipping begin and end markers
|
|
strictly alternate along the lines of a file. If these markers
|
|
do not alternate, a warning occurs and formatting is skipped.
|
|
This is intended to help catch errors.
|
|
- For lists which contain here docs and which are formatted with
|
|
the --line-up-parentheses option, the formatting may in some
|
|
cases change to more closely follow the -lp style.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jun 16 05:39:09 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20250616.0.0 (20250616)
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2025 06 16
|
|
- Added support for the assigning logical xor ^^= operator
|
|
- For input parameters which allow a paren type to be selected, the
|
|
selection 'f' (function call) now includes functions called with
|
|
a direct arrow before the paren, '->('. This was an oversight which
|
|
has been corrected.
|
|
- A new parameter --break-at-old-comma-types=s, or -boct=s, allows the
|
|
parameter --break-at-old-comma-breakpoints (-boc) to be limited to
|
|
selected container types. For example, -boc -boct='f(' means break
|
|
at old commas but only if they are function call lists.
|
|
- A new parameter --cuddled-paren-brace-weld, or -cpbw, has been added to
|
|
handle issue git #184. This modifies --cuddled-paren-brace by
|
|
preventing a paren and following brace from getting separated in
|
|
certain situations. The difference is illustrated here:
|
|
# perltidy -cpb alone has no effect for this short snippet:
|
|
if ( $Kouter_opening == $Kfirst
|
|
&& $has_tight_paren{$type_prev} )
|
|
{
|
|
$Kref = $Kprev;
|
|
}
|
|
# perltidy -cpb -cpbw keeps the closing paren next to the opening brace:
|
|
if (
|
|
$Kouter_opening == $Kfirst
|
|
&& $has_tight_paren{$type_prev}
|
|
) {
|
|
$Kref = $Kprev;
|
|
}
|
|
- The parameter --maximum-fields-per-table, or -mft, now accepts a string
|
|
input which can limit its application to certain containers. For
|
|
example, -mft='f(1' means that function call lists should be formatted
|
|
with just 1 item per line. It has no effect on other tables. The
|
|
manual has further information.
|
|
- Add option --break-open-compact-parens=s, discussed in git #78.
|
|
This changes the default formatting for lists which would normally
|
|
be displayed compactly on two lines. It causes them to be formatted
|
|
in the same way as long lists, with line breaks at the opening and
|
|
closing parentheses.
|
|
- Add option --skip-formatting-except-id=NAME, or -sfei=NAME, discussed
|
|
in git #183. This allows formatting to apply only to lines tagged
|
|
with #<<< id=NAME, where NAME is a user-defined tag. The special
|
|
variation -sfei='-' can be used to run perltidy with full checking
|
|
but without any formatting changes.
|
|
- A relatively rare problem with the formatting combination -xci and -lp or
|
|
-xlp has been fixed. Some lines had more leading spaces that intended.
|
|
- New option -m added to --dump-mismatched-returns and
|
|
--warn-mismatched-returns. This checks for multiple array
|
|
return sizes. A warning occurs when a sub has multiple returns
|
|
of finite lists with different counts greater than 1, and
|
|
not all of them are matched with calls.
|
|
- Improved support for Object::Pad, see git #182.
|
|
- A limitation on the treatment of lexical subs has been fixed. Previously,
|
|
a lexical sub with the same name as a quote operator would produce a warning,
|
|
and might cause a tokenization error.
|
|
- Here targets in quotes are now located and handled correctly.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Mar 12 05:43:42 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- 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.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Feb 13 16:25:55 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- 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.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jan 5 05:32:07 UTC 2025 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- 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
|
|
);
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 4 05:34:24 UTC 2024 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- 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.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat May 11 03:07:59 UTC 2024 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20240511
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2024 05 11
|
|
- The option --valign-signed-numbers, or -vsn is now the default. It
|
|
was introduced in the previous release has been found to significantly
|
|
improve the overall appearance of columns of signed and unsigned
|
|
numbers. See the previous Change Log entry for an example.
|
|
This will change the formatting in scripts with columns
|
|
of vertically aligned signed and unsigned numbers.
|
|
Use -nvsn to turn this option off and avoid this change.
|
|
- Previously, a line break was made before a short concatenated terminal
|
|
quoted string, such as "\n", if the previous line had a greater
|
|
starting indentation. The break is now placed after the short quote.
|
|
This keeps code a little more compact. For example:
|
|
# old rule: break before "\n" here because '$name' has more indentation:
|
|
my $html = $this->SUPER::genObject( $query, $bindNode, $field . ":$var",
|
|
$name, "remove", "UNCHECKED" )
|
|
. "\n";
|
|
# new rule: break after a short terminal quote like "\n" for compactness;
|
|
my $html = $this->SUPER::genObject( $query, $bindNode, $field . ":$var",
|
|
$name, "remove", "UNCHECKED" ) . "\n";
|
|
- The option --delete-repeated-commas is now the default.
|
|
It makes the following checks and changes:
|
|
- Repeated commas like ',,' are removed with a warning
|
|
- Repeated fat commas like '=> =>' are removed with a warning
|
|
- The combination '=>,' produces a warning but is not changed
|
|
These warnings are only output if --warning-output, or -w, is set.
|
|
Use --nodelete-repeated-commas, or -ndrc, to retain repeated commas.
|
|
- The operator ``**=`` now has spaces on both sides by default. Previously,
|
|
there was no space on the left. This change makes its spacing the same
|
|
as all other assignment operators. The previous behavior can be obtained
|
|
with the parameter setting -nwls='**='.
|
|
- The option --file-size-order, or -fso is now the default. When
|
|
perltidy is given a list of multiple filenames to process, they
|
|
are sorted by size and processed in order of increasing size.
|
|
This can significantly reduce memory usage by Perl. This
|
|
option has always been used in testing, where typically several
|
|
jobs each operating on thousands of filenames are running at the
|
|
same time and competing for system resources. If this option
|
|
is not wanted for some reason, it can be deactivated with -nfso.
|
|
- In the option --dump-block-summary, the number of sub arguments indicated
|
|
for each sub now includes any leading object variable passed with
|
|
an arrow-operator call. Previously the count would have been decreased
|
|
by one in this case. This change is needed for compatibility with future
|
|
updates.
|
|
- Fix issue git #138 involving -xlp (--extended-line-up-parentheses).
|
|
When multiple-line quotes and regexes have long secondary lines, these
|
|
line lengths could influencing some spacing and indentation, but they
|
|
should not have since perltidy has no control over their indentation.
|
|
This has been fixed. This will mainly influence code which uses -xlp
|
|
and has long multi-line quotes.
|
|
- Add option --minimize-continuation-indentation, -mci (see git #137).
|
|
This flag allows perltidy to remove continuation indentation in some
|
|
special cases where it is not really unnecessary. For a simple example,
|
|
the default formatting for the following snippet is:
|
|
# perltidy -nmci
|
|
$self->blurt( "Error: No INPUT definition for type '$type', typekind '"
|
|
. $type->xstype
|
|
. "' found" );
|
|
The second and third lines are one level deep in a container, and
|
|
are also statement continuations, so they get indented by the sum
|
|
of the -i value and the -ci value. If this flag is set, the
|
|
indentation is reduced by -ci spaces, giving
|
|
# perltidy -mci
|
|
$self->blurt( "Error: No INPUT definition for type '$type', typekind '"
|
|
. $type->xstype
|
|
. "' found" );
|
|
This situation is relatively rare except in code which has long
|
|
quoted strings and the -nolq flag is also set. This flag is currently
|
|
off by default, but it could become the default in a future version.
|
|
- Add options --dump-mismatched-args (or -dma) and
|
|
--warn-mismatched-arg (or -wma). These options look
|
|
for and report instances where the number of args expected by a
|
|
sub appear to differ from the number passed to the sub. The -dump
|
|
version writes the results for a single file to standard output
|
|
and exits:
|
|
perltidy -dma somefile.pl >results.txt
|
|
The -warn version formats as normal but reports any issues as warnings in
|
|
the error file:
|
|
perltidy -wma somefile.pl
|
|
The -warn version may be customized with the following additional parameters
|
|
if necessary to avoid needless warnings:
|
|
--warn-mismatched-arg-types=s (or -wmat=s),
|
|
--warn-mismatched-arg-exclusion-list=s (or -wmaxl=s), and
|
|
--warn-mismatched-arg-undercount-cutoff=n (or -wmauc=n).
|
|
--warn-mismatched-arg-overcount-cutoff=n (or -wmaoc=n).
|
|
These are explained in the manual.
|
|
- Add option --valign-wide-equals, or -vwe, for issue git #135.
|
|
Setting this parameter causes the following assignment operators
|
|
= **= += *= &= <<= &&= -= /= |= >>= ||= //= .= %= ^= x=
|
|
to be aligned vertically with the ending = all aligned. For example,
|
|
here is the default formatting of a snippet of code:
|
|
$str .= SPACE x $total_pad_count;
|
|
$str_len += $total_pad_count;
|
|
$total_pad_count = 0;
|
|
$str .= $rfields->[$j];
|
|
$str_len += $rfield_lengths->[$j];
|
|
And here is the same code formatted with -vwe:
|
|
# perltidy -vwe
|
|
$str .= SPACE x $total_pad_count;
|
|
$str_len += $total_pad_count;
|
|
$total_pad_count = 0;
|
|
$str .= $rfields->[$j];
|
|
$str_len += $rfield_lengths->[$j];
|
|
This option currently is off by default to avoid changing existing
|
|
formatting.
|
|
- Added control --delete-interbracket-arrows, or -dia, to delete optional
|
|
hash ref and array ref arrows between brackets as in the following
|
|
expression (see git #131)
|
|
return $self->{'commandline'}->{'arg_list'}->[0]->[0]->{'hostgroups'};
|
|
# perltidy -dia gives:
|
|
return $self->{'commandline'}{'arg_list'}[0][0]{'hostgroups'};
|
|
Added the opposite control --aia-interbracket-arrows, or -aia, to
|
|
add arrows. So applied to the previous line the arrows are restored:
|
|
# perltidy -aia
|
|
return $self->{'commandline'}->{'arg_list'}->[0]->[0]->{'hostgroups'};
|
|
The manual describes additional controls for adding and deleting
|
|
just selected interbracket arrows.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Mar 8 22:56:24 UTC 2024 - Tina Müller <tina.mueller@suse.com>
|
|
|
|
- Fix disabling of __perllib_provides
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Feb 2 03:08:05 UTC 2024 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20240202
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2024 02 02
|
|
- Added --valign-signed-numbers, or -vsn. This improves the appearance
|
|
of columns of numbers by aligning leading algebraic signs. For example:
|
|
# perltidy -vsn
|
|
my $xyz_shield = [
|
|
[ -0.060, -0.060, 0. ],
|
|
[ 0.060, -0.060, 0. ],
|
|
[ 0.060, 0.060, 0. ],
|
|
[ -0.060, 0.060, 0. ],
|
|
[ -0.0925, -0.0925, 0.092 ],
|
|
[ 0.0925, -0.0925, 0.092 ],
|
|
[ 0.0925, 0.0925, 0.092 ],
|
|
[ -0.0925, 0.0925, 0.092 ],
|
|
];
|
|
# perltidy -nvsn (current DEFAULT)
|
|
my $xyz_shield = [
|
|
[ -0.060, -0.060, 0. ],
|
|
[ 0.060, -0.060, 0. ],
|
|
[ 0.060, 0.060, 0. ],
|
|
[ -0.060, 0.060, 0. ],
|
|
[ -0.0925, -0.0925, 0.092 ],
|
|
[ 0.0925, -0.0925, 0.092 ],
|
|
[ 0.0925, 0.0925, 0.092 ],
|
|
[ -0.0925, 0.0925, 0.092 ],
|
|
];
|
|
This new option works well but is currently OFF to allow more testing
|
|
and fine-tuning. It is expected to be activated in a future release.
|
|
- Added --dump-mixed-call-parens (-dmcp ) which will dump a list of
|
|
operators which are sometimes followed by parens and sometimes not.
|
|
This can be useful for developing a uniform style for selected operators.
|
|
Issue git #128. For example
|
|
perltidy -dmcp somefile.pl >out.txt
|
|
produces lines like this, where the first number is the count of
|
|
uses with parens, and the second number is the count without parens.
|
|
k:caller:2:1
|
|
k:chomp:3:4
|
|
k:close:7:4
|
|
- Added --want-call-parens=s (-wcp=s) and --nowant-call-parens=s (-nwcp=s)
|
|
options which will warn of paren uses which do not match a selected
|
|
style. The manual has details. But for example,
|
|
perltidy -wcp='&' somefile.pl
|
|
will format as normal but warn if any user subs are called without parens.
|
|
- Added --dump-unusual-variables (-duv) option to dump a list of
|
|
variables with certain properties of interest. For example
|
|
perltidy -duv somefile.pl >vars.txt
|
|
produces a file with lines which look something like
|
|
1778:u: my $input_file
|
|
6089:r: my $j: reused - see line 6076
|
|
The values on the line which are separated by colons are:
|
|
line number - the number of the line of the input file
|
|
issue - a single letter indicating the issue, see below
|
|
variable name - the name of the variable, preceded by a keyword
|
|
note - an optional note referring to another line
|
|
The issue is indicated by a letter which may be one of:
|
|
r: reused variable name
|
|
s: sigil change but reused bareword
|
|
p: lexical variable with scope in multiple packages
|
|
u: unused variable
|
|
This is very useful for locating problem areas and bugs in code.
|
|
- Added a related flag --warn-variable-types=string (-wvt=string) option
|
|
to warn if certain types of variables are found in a script. The types
|
|
are a space-separated string which may include 'r', 's', and 'p' but
|
|
not 'u'. For example
|
|
perltidy -wvt='r s' somefile.pl
|
|
will check for and warn if any variabls of type 'r', or 's' are seen,
|
|
but not 'p'. All possible checks may be indicated with a '*' or '1':
|
|
perltidy -wvt='*' somefile.pl
|
|
The manual has further details.
|
|
- All parameters taking integer values are now checked for
|
|
out-of-range values before processing starts. When a maximum or
|
|
maximum range is exceeded, the new default behavior is to write a
|
|
warning message, reset the value to its default setting, and continue.
|
|
This default behavior can be changed with the new parameter
|
|
--integer-range-check=n, or -irc=n, as follows:
|
|
n=0 skip check completely (for stress-testing perltidy only)
|
|
n=1 reset bad values to defaults but do not issue a warning
|
|
n=2 reset bad values to defaults and issue a warning [DEFAULT]
|
|
n=3 stop immediately if any values are out of bounds
|
|
The settings n=0 and n=1 are mainly useful for testing purposes.
|
|
- The --dump-block-summary (-dbs) option now includes the number of sub
|
|
args in the 'type' column. For example, 'sub(9)' indicates a sub
|
|
with 9 args. Subs whose arg count cannot easily be determined are
|
|
indicated as 'sub(*)'. The count does not include a leading '$self'
|
|
or '$class' arg.
|
|
- Added flag --space-signature-paren=n, or -ssp=n (issue git #125).
|
|
This flag works the same as the existing flag --space-prototype-paren=n
|
|
except that it applies to the space before the opening paren of a sub
|
|
signature instead of a sub prototype. Previously, there was no control
|
|
over this (a space always occurred). For example, given the following
|
|
line:
|
|
sub circle( $xc, $yc, $rad );
|
|
The following results can now be obtained, according to the value of n:
|
|
sub circle( $xc, $yc, $rad ); # n=0 [no space]
|
|
sub circle( $xc, $yc, $rad ); # n=1 [default; same as input]
|
|
sub circle ( $xc, $yc, $rad ); # n=2 [space]
|
|
The spacing in previous versions of perltidy corresponded to n=2 (always
|
|
a space). The new default value, n=1, will produce a space if and only
|
|
if there was a space in the input text.
|
|
- The --dump-block-summary option can report an if-elsif-elsif-.. chain
|
|
as a single line item with the notation -dbt='elsif3', for example,
|
|
where the '3' is an integer which specifies the minimum number of elsif
|
|
blocks required for a chain to be reported. The manual has details.
|
|
- Fix problem c269, in which the new -ame parameter could incorrectly
|
|
emit an else block when two elsif blocks were separated by a hanging
|
|
side comment (a very rare situation).
|
|
- When braces are detected to be unbalanced, an attempt is made to
|
|
localize the error by comparing the indentation at closing braces
|
|
with their actual nesting levels. This can be useful for files which
|
|
have previously been formatted by perltidy. To illustrate, a test was
|
|
made in which the closing brace at line 30644 was commented out in
|
|
a file with a total of over 62000 lines. The new error message is
|
|
Final nesting depth of '{'s is 1
|
|
The most recent un-matched '{' is on line 6858
|
|
...
|
|
Table of nesting level differences at closing braces.
|
|
This might help localize brace errors if the file was previously formatted.
|
|
line: (brace level) - (level expected from old indentation)
|
|
30643: 0
|
|
30645: 1
|
|
Previously, the error file only indicated that the error in this case
|
|
was somewhere after line 6858, so the new table is very helpful. Closing
|
|
brace indentation is checked because it is unambiguous and can be done
|
|
very efficiently.
|
|
- The -DEBUG option no longer automatically also writes a .LOG file.
|
|
Use --show-options if the .LOG file is needed.
|
|
- The run time of this version with all new options in use is no greater
|
|
than that of the previous version thanks to optimization work.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Sep 13 03:08:55 UTC 2023 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20230912
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2023 09 12
|
|
|
|
- Fix for git #124: remove a syntax error check which could cause
|
|
an incorrect error message when List::Gather::gather was used.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Sep 9 03:08:04 UTC 2023 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20230909
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2023 09 09
|
|
- Added new parameters -wme, or --warn-missing-else, and -ame,
|
|
or --add-missing else. The parameter -wme tells perltidy to issue
|
|
a warning if an if-elsif-... chain does not end in an else block.
|
|
The parameter -ame tells perltidy to insert an else block at the
|
|
end of such a chain if there is none.
|
|
For example, given the following snippet:
|
|
if ( $level == 3 ) { $val = $global{'section'} }
|
|
elsif ( $level == 2 ) { $val = $global{'chapter'} }
|
|
# perltidy -ame
|
|
if ( $level == 3 ) { $val = $global{'section'} }
|
|
elsif ( $level == 2 ) { $val = $global{'chapter'} }
|
|
else {
|
|
##FIXME - added with perltidy -ame
|
|
}
|
|
The resulting code should be carefully reviewed, and the ##FIXME comment
|
|
should be updated as appropriate. The text of the ##FIXME comment can be
|
|
changed with parameter -amec=s, where 's' is the comment to mark the new
|
|
else block. The man pages have more details.
|
|
- The syntax of the parameter --use-feature=class, or -uf=class, which
|
|
new in the previous release, has been changed slightly for clarity.
|
|
The default behavior, which occurs if this flag is not entered, is
|
|
to automatically try to handle both old and new uses of the keywords
|
|
'class', 'method', 'field', and 'ADJUST'.
|
|
To force these keywords to only follow the -use feature 'class' syntax,
|
|
enter --use-feature=class.
|
|
To force perltidy to ignore the -use feature 'class' syntax, enter
|
|
--use-feature=noclass.
|
|
- Issue git #122. Added parameter -lrt=n1:n2, or --line-range-tidy=n1:n2
|
|
to limit tidy operations to a limited line range. Line numbers start
|
|
with 1. This parameter is mainly of interest to editing programs which
|
|
drive perltidy. The man pages have details.
|
|
- Some fairly rare instances of incorrect spacing have been fixed. The
|
|
problem was that the tokenizer being overly conservative in marking
|
|
terms as possible filehandles or indirect objects. This causes the space
|
|
after the possible filehandle to be frozen to its input value in order not
|
|
to introduce an error in case Perl had to guess. The problem was fixed
|
|
by having the tokenizer look ahead for operators which can eliminate the
|
|
uncertainty. To illustrate, in the following line the term ``$d`` was
|
|
previously marked as a possible filehandle, so no space was added after it.
|
|
print $d== 1 ? " [ON]\n" : $d ? " [$d]\n" : "\n";
|
|
^
|
|
In the current version, the next token is seen to be an equality, so
|
|
``$d`` is marked as an ordinary identifier and normal spacing rules
|
|
can apply:
|
|
print $d == 1 ? " [ON]\n" : $d ? " [$d]\n" : "\n";
|
|
^
|
|
- This version runs 7 to 10 percent faster than the previous release on
|
|
large files, depending on options and file type. Much of the gain comes
|
|
from streamlined I/O operations.
|
|
- This version was stress-tested for many cpu hours with random
|
|
input parameters. No failures to converge, internal fault checks,
|
|
undefined variable references or other irregularities were seen.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jul 2 03:07:10 UTC 2023 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20230701
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2023 07 01
|
|
- Issue git #121. Added parameters -xbt, or --extended-block-tightness,
|
|
and -xbtl=s, or --extended-block-tightness-list=s, to allow
|
|
certain small code blocks to have internal spacing controlled by
|
|
-bbt=n rather than -bt=n. The man pages have details.
|
|
- Issue git #118. A warning will be issued if a duplicate format-skipping
|
|
starting marker is seen within a format-skipping section. The same
|
|
applies to duplicate code-skipping starting markers within code-skipping
|
|
sections.
|
|
- Issue git #116. A new flag --valign-if-unless, -viu, was added to
|
|
allow postfix 'unless' terms to align with postfix 'if' terms. The
|
|
default remains not to do this.
|
|
- Fixed git #115. In the two most recent CPAN releases, when the
|
|
Perl::Tidy module was called with the source pointing to a file,
|
|
but no destination specified, the output went to the standard
|
|
output instead of to a file with extension ``.tdy``, as it should
|
|
have. This has been fixed.
|
|
- Fixed git #110, add missing documentation for new options
|
|
-cpb and -bfvt=n. These work in version 20230309 but the pod
|
|
documentation was missing and has been added.
|
|
- Fixed an undefined reference message when running with
|
|
--dump-block-summary on a file without any subs or other
|
|
selected block types.
|
|
- Add parameter -ipc, or --ignore-perlcritic-comments. Perltidy, by
|
|
default, will look for side comments beginning with ``## no critic`` and
|
|
ignore their lengths when making line break decisions, even if the user
|
|
has not set ``-iscl``. The reason is that an unwanted line break can
|
|
make these special comments ineffective in controlling ``perlcritic``.
|
|
The parameter -ipc can be set if, for some reason, this is not wanted.
|
|
- Some minor issues with continuation indentation have been fixed.
|
|
Most scripts will remain unchanged. The main change is that block
|
|
comments which occur just before a closing brace, bracket or paren
|
|
now have an indentation which is independent of the existance of
|
|
an optional comma or semicolon. Previously, adding or deleting
|
|
an optional trailing comma could cause their indentation to jump.
|
|
Also, indentation of comments within ternary statements has been
|
|
improved. For additonal details see:
|
|
https://github.com/perltidy/perltidy/blob/master/docs/ci_update.md
|
|
- This version was stress-tested for many cpu hours with random
|
|
input parameters. No failures to converge, internal fault checks,
|
|
undefined variable references or other irregularities were seen.
|
|
- This version runs several percent faster than the previous release
|
|
on large files.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Mar 9 03:07:14 UTC 2023 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20230309
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2023 03 09
|
|
- No significant bugs have been found since the last release to CPAN.
|
|
Several minor issues have been fixed, and some new parameters have been
|
|
added, as follows:
|
|
- Added parameter --one-line-block-exclusion-list=s, or -olbxl=s, where
|
|
s is a list of block types which should not automatically be turned
|
|
into one-line blocks. This implements the issue raised in PR #111.
|
|
The list s may include any of the words 'sort map grep eval', or
|
|
it may be '*' to indicate all of these. So for example to prevent
|
|
multi-line 'eval' blocks from becoming one-line blocks, the command
|
|
would be -olbxl='eval'.
|
|
- For the -b (--backup-and-modify-in-place) option, the file timestamps
|
|
are changing (git #113, rt#145999). First, if there are no formatting
|
|
changes to an input file, it will keep its original modification time.
|
|
Second, any backup file will keep its original modification time. This
|
|
was previously true for --backup-method=move but not for the default
|
|
--backup-method=copy. The purpose of these changes is to avoid
|
|
triggering Makefile operations when there are no actual file changes.
|
|
If this causes a problem please open an issue for discussion on github.
|
|
- A change was made to the way line breaks are made at the '.'
|
|
operator when the user sets -wba='.' to requests breaks after a '.'
|
|
( this setting is not recommended because it can be hard to read ).
|
|
The goal of the change is to make switching from breaks before '.'s
|
|
to breaks after '.'s just move the dots from the end of
|
|
lines to the beginning of lines. For example:
|
|
# default and recommended (--want-break-before='.'):
|
|
$output_rules .=
|
|
( 'class'
|
|
. $dir
|
|
. '.stamp: $('
|
|
. $dir
|
|
. '_JAVA)' . "\n" . "\t"
|
|
. '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) '
|
|
. '$(JAVACFLAGS) $?' . "\n" . "\t"
|
|
. 'echo timestamp > class'
|
|
. $dir
|
|
. '.stamp'
|
|
. "\n" );
|
|
# perltidy --want-break-after='.'
|
|
$output_rules .=
|
|
( 'class' .
|
|
$dir .
|
|
'.stamp: $(' .
|
|
$dir .
|
|
'_JAVA)' . "\n" . "\t" .
|
|
'$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) ' .
|
|
'$(JAVACFLAGS) $?' . "\n" . "\t" .
|
|
'echo timestamp > class' .
|
|
$dir .
|
|
'.stamp' .
|
|
"\n" );
|
|
For existing code formatted with -wba='.', this may cause some
|
|
changes in the formatting of code with long concatenation chains.
|
|
- Added option --use-feature=class, or -uf=class, for issue rt #145706.
|
|
This adds keywords 'class', 'method', 'field', and 'ADJUST' in support of
|
|
this feature which is being tested for future inclusion in Perl.
|
|
An effort has been made to avoid conflicts with past uses of these
|
|
words, especially 'method' and 'class'. The default setting
|
|
is --use-feature=class. If this causes a conflict, this option can
|
|
be turned off by entering -uf=' '.
|
|
In other words, perltidy should work for both old and new uses of
|
|
these keywords with the default settings, but this flag is available
|
|
if a conflict arises.
|
|
- Added option -bfvt=n, or --brace-follower-vertical-tightness=n,
|
|
for part of issue git #110. For n=2, this option looks for lines
|
|
which would otherwise be, by default,
|
|
}
|
|
or ..
|
|
and joins them into a single line
|
|
} or ..
|
|
where the or can be one of a number of logical operators or if unless.
|
|
The default is not to do this and can be indicated with n=1.
|
|
- Added option -cpb, or --cuddled-paren-brace, for issue git #110.
|
|
This option will cause perltidy to join two lines which
|
|
otherwise would be, by default,
|
|
)
|
|
{
|
|
into a single line
|
|
) {
|
|
- Some minor changes to existing formatted output may occur as a result
|
|
of fixing minor formatting issues with edge cases. This is especially
|
|
true for code which uses the -lp or -xlp styles.
|
|
- Added option -dbs, or --dump-block-summary, to dump summary
|
|
information about code blocks in a file to standard output.
|
|
The basic command is:
|
|
perltidy -dbs somefile.pl >blocks.csv
|
|
Instead of formatting ``somefile.pl``, this dumps the following
|
|
comma-separated items describing its blocks to the standard output:
|
|
filename - the name of the file
|
|
line - the line number of the opening brace of this block
|
|
line_count - the number of lines between opening and closing braces
|
|
code_lines - the number of lines excluding blanks, comments, and pod
|
|
type - the block type (sub, for, foreach, ...)
|
|
name - the block name if applicable (sub name, label, asub name)
|
|
depth - the nesting depth of the opening block brace
|
|
max_change - the change in depth to the most deeply nested code block
|
|
block_count - the total number of code blocks nested in this block
|
|
mccabe_count - the McCabe complexity measure of this code block
|
|
This can be useful for code restructuring. The man page for perltidy
|
|
has more information and describes controls for selecting block types.
|
|
- This version was stress-tested for over 100 cpu hours with random
|
|
input parameters. No failures to converge, internal fault checks,
|
|
undefined variable references or other irregularities were seen.
|
|
- This version runs a few percent faster than the previous release on
|
|
large files due to optimizations made with the help of Devel::NYTProf.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Nov 12 03:08:36 UTC 2022 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20221112
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2022 11 12
|
|
- Fix rt #145095, undef warning in Perl before 5.12. Version 20221112 is
|
|
identical to 2022111 except for this fix for older versions of Perl.
|
|
- No significant bugs have been found since the last release to CPAN.
|
|
Several minor issues have been fixed, and some new parameters have been
|
|
added, as follows:
|
|
- Fixed rare problem with irregular indentation involving --cuddled-else,
|
|
usually also with the combination -xci and -lp. Reported in rt #144979.
|
|
- Add option --weld-fat-comma (-wfc) for issue git #108. When -wfc
|
|
is set, along with -wn, perltidy is allowed to weld an opening paren
|
|
to an inner opening container when they are separated by a hash key
|
|
and fat comma (=>). For example:
|
|
# perltidy -wn
|
|
elf->call_method(
|
|
method_name_foo => {
|
|
some_arg1 => $foo,
|
|
some_other_arg3 => $bar->{'baz'},
|
|
}
|
|
);
|
|
# perltidy -wn -wfc
|
|
elf->call_method( method_name_foo => {
|
|
some_arg1 => $foo,
|
|
some_other_arg3 => $bar->{'baz'},
|
|
} );
|
|
This flag is off by default.
|
|
- Fix issue git #106. This fixes some edge cases of formatting with the
|
|
combination -xlp -pt=2, mainly for two-line lists with short function
|
|
names. One indentation space is removed to improve alignment:
|
|
# OLD: perltidy -xlp -pt=2
|
|
is($module->VERSION, $expected,
|
|
"$main_module->VERSION matches $module->VERSION ($expected)");
|
|
# NEW: perltidy -xlp -pt=2
|
|
is($module->VERSION, $expected,
|
|
"$main_module->VERSION matches $module->VERSION ($expected)");
|
|
- Fix for issue git #105, incorrect formatting with 5.36 experimental
|
|
for_list feature.
|
|
- Fix for issue git #103. For parameter -b, or --backup-and-modify-in-place,
|
|
the default backup method has been changed to preserve the inode value
|
|
of the file being formatted. If this causes a problem, the previous
|
|
method is available and can be used by setting -backup-mode='move', or
|
|
-bm='move'. The new default corresponds to -bm='copy'. The difference
|
|
between the two methods is as follows. For the older method,
|
|
-bm='move', the input file was moved to the backup, and a new file was
|
|
created for the formatted output. This caused the inode to change. For
|
|
the new default method, -bm='copy', the input is copied to the backup
|
|
and then the input file is reopened and rewritten. This preserves the
|
|
file inode. Tests have not produced any problems with this change, but
|
|
before using the --backup-and-modify-in-place parameter please verify
|
|
that it works correctly in your environment and operating system. The
|
|
initial update for this had an error which was caught and fixed
|
|
in git #109.
|
|
- Fix undefined value message when perltidy -D is used (git #104)
|
|
- Fixed an inconsistency in html colors near pointers when -html is used.
|
|
Previously, a '->' at the end of a line got the 'punctuation color', black
|
|
by default but a '->' before an identifier got the color of the following
|
|
identifier. Now all pointers get the same color, which is black by default.
|
|
Also, previously a word following a '->' was given the color of a bareword,
|
|
black by default, but now it is given the color of an identifier.
|
|
- Fixed incorrect indentation of any function named 'err'. This was
|
|
due to some old code from when "use feature 'err'" was valid.
|
|
# OLD:
|
|
my ($curr) = current();
|
|
err (@_);
|
|
# NEW:
|
|
my ($curr) = current();
|
|
err(@_);
|
|
- Added parameter --delete-repeated-commas (-drc) to delete repeated
|
|
commas. This is off by default. For example, given:
|
|
ignoreSpec( $file, "file",, \%spec, \%Rspec );
|
|
# perltidy -drc:
|
|
ignoreSpec( $file, "file", \%spec, \%Rspec );
|
|
- Add continuation indentation to long C-style 'for' terms; i.e.
|
|
# OLD
|
|
for (
|
|
$j = $i - $shell ;
|
|
$j >= 0
|
|
&& ++$ncomp
|
|
&& $array->[$j] gt $array->[ $j + $shell ] ;
|
|
$j -= $shell
|
|
)
|
|
# NEW
|
|
for (
|
|
$j = $i - $shell ;
|
|
$j >= 0
|
|
&& ++$ncomp
|
|
&& $array->[$j] gt $array->[ $j + $shell ] ;
|
|
$j -= $shell
|
|
)
|
|
This will change some existing formatting with very long 'for' terms.
|
|
- The following new parameters are available for manipulating
|
|
trailing commas of lists. They are described in the manual.
|
|
--want-trailing-commas=s, -wtc=s
|
|
--add-trailing-commas, -atc
|
|
--delete-trailing-commas, -dtc
|
|
--delete-weld-interfering-commas, -dwic
|
|
- Files with errors due to missing, extra or misplaced parens, braces,
|
|
or square brackets are now written back out verbatim, without any
|
|
attempt at formatting.
|
|
- This version runs 10 to 15 percent faster than the previous
|
|
release on large files due to optimizations made with the help of
|
|
Devel::NYTProf.
|
|
- This version was stress-tested for over 200 cpu hours with random
|
|
input parameters. No failures to converge, internal fault checks,
|
|
undefined variable references or other irregularities were seen.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 14 03:07:44 UTC 2022 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20220613
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2022 06 13
|
|
- No significant bugs have been found since the last release but users
|
|
of programs which call the Perl::Tidy module should note the first
|
|
item below, which changes a default setting. The main change to
|
|
existing formatting is the second item below, which adds vertical
|
|
alignment to 'use' statements.
|
|
- The flag --encode-output-strings, or -eos, is now set 'on' by default.
|
|
This has no effect on the use of the 'perltidy' binary script, but could
|
|
change the behavior of some programs which use the Perl::Tidy module on
|
|
files encoded in UTF-8. If any problems are noticed, an emergency fix
|
|
can be made by reverting to the old default by setting -neos. For
|
|
an explanation of why this change needs to be made see:
|
|
https://github.com/perltidy/perltidy/issues/92
|
|
https://github.com/perltidy/perltidy/blob/master/docs/eos_flag.md
|
|
- Added vertical alignment for qw quotes and empty parens in 'use'
|
|
statements (see issue #git 93). This new alignment is 'on' by default
|
|
and will change formatting as shown below. If this is not wanted it can
|
|
be turned off with the parameter -vxl='q' (--valign-exclude-list='q').
|
|
# old default, or -vxl='q'
|
|
use Getopt::Long qw(GetOptions);
|
|
use Fcntl qw(O_RDONLY O_WRONLY O_EXCL O_CREAT);
|
|
use Symbol qw(gensym);
|
|
use Exporter ();
|
|
# new default
|
|
use Getopt::Long qw(GetOptions);
|
|
use Fcntl qw(O_RDONLY O_WRONLY O_EXCL O_CREAT);
|
|
use Symbol qw(gensym);
|
|
use Exporter ();
|
|
- The parameter -kbb (--keep-break-before) now ignores a request to break
|
|
before an opening token, such as '('. Likewise, -kba (--keep-break-after)
|
|
now ignores a request to break after a closing token, such as ')'. This
|
|
change was made to avoid a rare instability discovered in random testing.
|
|
- Previously, if a -dsc command was used to delete all side comments,
|
|
then any special side comments for controlling non-indenting braces got
|
|
deleted too. Now, these control side comments are retained when -dsc is
|
|
set unless a -nnib (--nonon-indenting-braces) flag is also set to
|
|
deactivate them.
|
|
- This version runs about 10 percent faster on large files than the previous
|
|
release due to optimizations made with the help of Devel::NYTProf. Much
|
|
of the gain came from faster processing of blank tokens and comments.
|
|
- This version of perltidy was stress-tested for many cpu hours with
|
|
random input parameters. No failures to converge, internal fault checks,
|
|
undefined variable references or other irregularities were seen.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 16 03:07:20 UTC 2022 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20220217
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2022 02 17
|
|
- A new flag, --encode-output-strings, or -eos, has been added to resolve
|
|
issue git #83. This issue involves the interface between Perl::Tidy and
|
|
calling programs, and Code::TidyAll (tidyall) in particular. The problem
|
|
is that perltidy by default returns decoded character strings, but
|
|
tidyall expects encoded strings. This flag provides a fix for that.
|
|
So, tidyall users who process encoded (utf8) files should update to this
|
|
version of Perl::Tidy and use -eos for tidyall. For further info see:
|
|
https://github.com/houseabsolute/perl-code-tidyall/issues/84, and
|
|
https://github.com/perltidy/perltidy/issues/83
|
|
If there are other applications having utf8 problems at the interface
|
|
with Perl::Tidy, this flag probably may need to be set.
|
|
- The default value of the new flag, --encode-output-strings, -eos, is currently
|
|
-neos BUT THIS MAY CHANGE in a future release because the current
|
|
default is inconvenient. So authors of programs which receive character
|
|
strings back from Perl::Tidy should set this flag, if necessary,
|
|
to avoid any problems when the default changes. For more information see the
|
|
above links and the Perl::Tidy man pages for example coding.
|
|
- The possible values of the string 's' for the flag '--character-encoding=s'
|
|
have been limited to 'utf8' (or UTF-8), 'none', or 'guess'. Previously an
|
|
arbitrary encoding could also be specified, but as a result of discussions
|
|
regarding git #83 it became clear that this could cause trouble
|
|
since the output encoding was still restricted to UTF-8. Users
|
|
who need to work in other encodings can write a short program calling
|
|
Perl::Tidy with pre- and post-processing to handle encoding/decoding.
|
|
- A new flag --break-after-labels=i, or -bal=i, was added for git #86. This
|
|
controls line breaks after labels, to provide a uniform style, as follows:
|
|
-bal=0 follows the input line breaks [DEFAULT]
|
|
-bal=1 always break after a label
|
|
-bal=2 never break after a label
|
|
For example:
|
|
# perltidy -bal=1
|
|
INIT:
|
|
{
|
|
$xx = 1.234;
|
|
}
|
|
# perltidy -bal=2
|
|
INIT: {
|
|
$xx = 1.234;
|
|
}
|
|
- Fix issue git #82, an error handling something like ${bareword} in a
|
|
possible indirect object location. Perl allows this, now perltidy does too.
|
|
- The flags -kbb=s or --keep-old-breakpoints-before=s, and its counterpart
|
|
-kba=s or --keep-old-breakpoints-after=s have expanded functionality
|
|
for the container tokens: { [ ( } ] ). The updated man pages have
|
|
details.
|
|
- Two new flags have been added to provide finer vertical alignment control,
|
|
--valign-exclusion-list=s (-vxl=s) and --valign-inclusion-list=s (-vil=s).
|
|
This has been requested several times, most recently in git #79, and it
|
|
finally got done. For example, -vil='=>' means just align on '=>'.
|
|
- A new flag -gal=s, --grep-alias-list=s, has been added as suggested in
|
|
git #77. This allows code blocks passed to list operator functions to
|
|
be formatted in the same way as a code block passed to grep, map, or sort.
|
|
By default, the following list operators in List::Util are included:
|
|
all any first none notall reduce reductions
|
|
They can be changed with the flag -gaxl=s, -grep-alias-exclusion-list=s
|
|
- A new flag -xlp has been added which can be set to avoid most of the
|
|
limitations of the -lp flag regarding side comments, blank lines, and
|
|
code blocks. See the man pages for more info. This fixes git #64 and git #74.
|
|
The older -lp flag still works.
|
|
- A new flag -lpil=s, --line-up-parentheses-inclusion-list=s, has been added
|
|
as an alternative to -lpxl=s, --line-up-parentheses-exclusion-list=s.
|
|
It supplies equivalent information but is much easier to describe and use.
|
|
It works for both the older -lp version and the newer -xlp.
|
|
- The coding for the older -lp flag has been updated to avoid some problems
|
|
and limitations. The new coding allows the -lp indentation style to
|
|
mix smoothly with the standard indentation in a single file. Some problems
|
|
where -lp and -xci flags were not working well together have been fixed, such
|
|
as happened in issue rt140025. As a result of these updates some minor
|
|
changes in existing code using the -lp style may occur.
|
|
- This version of perltidy was stress-tested for many cpu hours with
|
|
random input parameters. No failures to converge, internal fault checks,
|
|
undefined variable references or other irregularities were seen.
|
|
- Numerous minor fixes have been made, mostly very rare formatting
|
|
instabilities found in random testing.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Oct 30 03:06:37 UTC 2021 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20211029
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2021 10 29
|
|
- No significant bugs have been found since the last release, but several
|
|
minor issues have been fixed. Vertical alignment has been improved for
|
|
lists of call args which are not contained within parens (next item).
|
|
- Vertical alignment of function calls without parens has been improved with
|
|
the goal of making vertical alignment essentially the same with or
|
|
without parens around the call args. Some examples:
|
|
# OLD
|
|
mkTextConfig $c, $x, $y, -anchor => 'se', $color;
|
|
mkTextConfig $c, $x + 30, $y, -anchor => 's', $color;
|
|
mkTextConfig $c, $x + 60, $y, -anchor => 'sw', $color;
|
|
mkTextConfig $c, $x, $y + 30, -anchor => 'e', $color;
|
|
# NEW
|
|
mkTextConfig $c, $x, $y, -anchor => 'se', $color;
|
|
mkTextConfig $c, $x + 30, $y, -anchor => 's', $color;
|
|
mkTextConfig $c, $x + 60, $y, -anchor => 'sw', $color;
|
|
mkTextConfig $c, $x, $y + 30, -anchor => 'e', $color;
|
|
# OLD
|
|
is id_2obj($id), undef, "unregistered object not retrieved";
|
|
is scalar keys %$ob_reg, 0, "object registry empty";
|
|
is register($obj), $obj, "object returned by register";
|
|
is scalar keys %$ob_reg, 1, "object registry nonempty";
|
|
is id_2obj($id), $obj, "registered object retrieved";
|
|
# NEW
|
|
is id_2obj($id), undef, "unregistered object not retrieved";
|
|
is scalar keys %$ob_reg, 0, "object registry empty";
|
|
is register($obj), $obj, "object returned by register";
|
|
is scalar keys %$ob_reg, 1, "object registry nonempty";
|
|
is id_2obj($id), $obj, "registered object retrieved";
|
|
This will cause some changes in alignment, hopefully for the better,
|
|
particularly in test code which often uses numerous parenless function
|
|
calls with functions like 'ok', 'is', 'is_deeply', ....
|
|
- Two new parameters were added to control the block types to which the
|
|
-bl (--opening-brace-on-new-line) flag applies. The new parameters are
|
|
-block-left-list=s, or -bll=s, and --block-left-exclusion-list=s,
|
|
or -blxl=s. Previously the -bl flag was 'hardwired' to apply to
|
|
nearly all blocks. The default values of the new parameters
|
|
retain the the old default behavior but allow it to be changed.
|
|
- The default behavior of the -bli (-brace-left-and-indent) flag has changed
|
|
slightly. Previously, if you set -bli, then the -bl flag would also
|
|
automatically be set. Consequently, block types which were not included
|
|
in the default list for -bli would get -bl formatting. This is no longer done,
|
|
and these two styles are now controlled independently. The manual describes
|
|
the controls. If you want to recover the exact previous default behavior of
|
|
the -bli then add the -bl flag.
|
|
- A partial fix was made for issue for git #74. The -lp formatting style was
|
|
being lost when a one-line anonymous sub was followed by a closing brace.
|
|
- Fixed issue git #73, in which the -nfpva flag was not working correctly.
|
|
Some unwanted vertical alignments of spaced function perens
|
|
were being made.
|
|
- Updated the man pages to clarify the flags -valign and -novalign
|
|
for turning vertical alignment on and off (issue git #72).
|
|
Added parameters -vc -vsc -vbc for separately turning off vertical
|
|
alignment of code, side comments and block comments.
|
|
- Fixed issue git #68, where a blank line following a closing code-skipping
|
|
comment, '#>>V', could be lost.
|
|
- This version runs 10 to 15 percent faster on large files than the
|
|
previous release due to optimizations made with the help of NYTProf.
|
|
- This version of perltidy was stress-tested for many cpu hours with
|
|
random input parameters. No instabilities, internal fault checks,
|
|
undefined variable references or other irregularities were seen.
|
|
- Numerous minor fixes have been made, mostly very rare formatting instabilities
|
|
found in random testing. An effort has been made to minimize changes to
|
|
existing formatting that these fixes produce, but occasional changes
|
|
may occur. Many of these updates are listed at:
|
|
https://github.com/perltidy/perltidy/blob/master/local-docs/BugLog.pod
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jul 18 03:07:33 UTC 2021 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20210717
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2021 07 17
|
|
- This release is being made mainly because of the next item, in which an
|
|
error message about an uninitialized value error message could be produced
|
|
in certain cases when format-skipping is used. The error message was
|
|
annoying but harmless to formatting.
|
|
- Fixed an undefined variable message, see git #67. When a format skipping
|
|
comment '#<<' is placed before the first line of code in a script, a
|
|
message 'Use of uninitialized value $Ktoken_vars in numeric ...' can
|
|
occur.
|
|
- A warning will no longer be given if a script has an opening code-skipping
|
|
comment '#<<V' which is not terminated with a closing comment '#>>V'. This
|
|
makes code-skipping and format-skipping behave in a similar way: an
|
|
opening comment without a corresponding closing comment will cause
|
|
the rest of a file to be skipped. If there is a question about which lines
|
|
are skipped, a .LOG file can be produced with the -g flag and it will have
|
|
this information.
|
|
- Removed the limit on -ci=n when -xci is set, reference: rt #136415.
|
|
This update removes a limit in the previous two versions in which the
|
|
value of -ci=n was limited to the value of -i=n when -xci was set.
|
|
This limit had been placed to avoid some formatting instabilities,
|
|
but recent coding improvements allow the limit to be removed.
|
|
- The -wn and -bbxx=n flags were not working together correctly. This has
|
|
been fixed.
|
|
- This version may produce occasional differences in formatting compared to
|
|
previous versions, mainly for lines which are near the specified line
|
|
length limit. This is due to ongoing efforts to eliminate edge cases of
|
|
formatting instability.
|
|
- Numerous minor fixes have been made. A complete list is at:
|
|
https://github.com/perltidy/perltidy/blob/master/local-docs/BugLog.pod
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jun 25 03:07:08 UTC 2021 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20210625
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2021 06 25
|
|
- This release adds several new requested parameters. No significant bugs have
|
|
been found since the last release, but a number of minor problems have been
|
|
corrected.
|
|
- Added a new option '--code-skipping', requested in git #65, in which code
|
|
between comment lines '#<<V' and '#>>V' is passed verbatim to the output
|
|
stream without error checking. It is simmilar to --format-skipping
|
|
but there is no error checking of the skipped code. This can be useful for
|
|
skipping past code which employs an extended syntax.
|
|
- Added a new option for closing paren placement, -vtc=3, requested in rt #136417.
|
|
- Added flag -atnl, --add-terminal-newline, to help issue git #58.
|
|
This flag tells perltidy to terminate the last line of the output stream
|
|
with a newline character, regardless of whether or not the input stream
|
|
was terminated with a newline character. This is the default.
|
|
If this flag is negated, with -natnl, then perltidy will add a terminal
|
|
newline character to the the output stream only if the input
|
|
stream is terminated with a newline.
|
|
- Some nested structures formatted with the -lp indentation option may have
|
|
some changes in indentation. This is due to updates which were made to
|
|
prevent formatting instability when line lengths are limited by the maximum line
|
|
length. Most scripts will not be affected. If this causes unwanted formatting
|
|
changes, try increasing the --maximum-line-length by a few characters.
|
|
- Numerous minor fixes have been made. A complete list is at:
|
|
https://github.com/perltidy/perltidy/blob/master/local-docs/BugLog.pod
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Apr 2 03:08:21 UTC 2021 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20210402
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2021 04 02
|
|
- This release fixes several non-critical bugs which have been found since the last
|
|
release. An effort has been made to keep existing formatting unchanged.
|
|
- Fixed issue git #57 regarding uninitialized warning flag.
|
|
- Added experimental flag -lpxl=s requested in issue git #56 to provide some
|
|
control over which containers get -lp indentation.
|
|
- Fixed issue git #55 regarding lack of coordination of the --break-before-xxx
|
|
flags and the --line-up-parens flag.
|
|
- Fixed issue git #54 regarding irregular application of the --break-before-paren
|
|
and similar --break-before-xxx flags, in which lists without commas were not
|
|
being formatted according to these flags.
|
|
- Fixed issue git #53. A flag was added to turn off alignment of spaced function
|
|
parens. If the --space-function-paren, -sfp flag is set, a side-effect is that the
|
|
spaced function parens may get vertically aligned. This can be undesirable,
|
|
so a new parameter '--function-paren-vertical-alignment', or '-fpva', has been
|
|
added to turn this vertical alignment off. The default is '-fpva', so that
|
|
existing formatting is not changed. Use '-nfpva' to turn off unwanted
|
|
vertical alignment. To illustrate the possibilities:
|
|
# perltidy [default]
|
|
myfun( $aaa, $b, $cc );
|
|
mylongfun( $a, $b, $c );
|
|
# perltidy -sfp
|
|
myfun ( $aaa, $b, $cc );
|
|
mylongfun ( $a, $b, $c );
|
|
# perltidy -sfp -nfpva
|
|
myfun ( $aaa, $b, $cc );
|
|
mylongfun ( $a, $b, $c );
|
|
- Fixed issue git #51, a closing qw bare paren was not being outdented when
|
|
the -nodelete-old-newlines flag was set.
|
|
- Fixed numerous edge cases involving unusual parameter combinations which
|
|
could cause alternating output states. Most scripts will not be
|
|
changed by these fixes.
|
|
- A more complete list of updates is at
|
|
https://github.com/perltidy/perltidy/blob/master/local-docs/BugLog.pod
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jan 11 03:10:01 UTC 2021 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20210111
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2021 01 11
|
|
- Fixed issue git #49, -se breaks warnings exit status behavior.
|
|
The exit status flag was not always being set when the -se flag was set.
|
|
- Some improvements have been made in the method for aligning side comments.
|
|
One of the problems that was fixed is that there was a tendency for side comment
|
|
placement to drift to the right in long scripts. Programs with side comments
|
|
may have a few changes.
|
|
- Some improvements have been made in formatting qw quoted lists. This
|
|
fixes issue git #51, in which closing qw pattern delimiters not always
|
|
following the settings specified by the --closing-token-indentation=n settings.
|
|
Now qw closing delimiters ')', '}' and ']' follow these flags, and the
|
|
delimiter '>' follows the flag for ')'. Other qw pattern delimiters remain
|
|
indented as the are now. This change will cause some small formatting changes
|
|
in some existing programs.
|
|
- Another change involving qw lists is that they get full indentation,
|
|
rather than just continuation indentation, if
|
|
(1) the closing delimiter is one of } ) ] > and is on a separate line,
|
|
(2) the opening delimiter (i.e. 'qw{' ) is also on a separate line, and
|
|
(3) the -xci flag (--extended-continuation-indentation) is set.
|
|
This improves formatting when qw lists are contained in other lists. For example,
|
|
# OLD: perltidy
|
|
foreach $color (
|
|
qw(
|
|
AntiqueWhite3 Bisque1 Bisque2 Bisque3 Bisque4
|
|
SlateBlue3 RoyalBlue1 SteelBlue2 DeepSkyBlue3
|
|
),
|
|
qw(
|
|
LightBlue1 DarkSlateGray1 Aquamarine2 DarkSeaGreen2
|
|
SeaGreen1 Yellow1 IndianRed1 IndianRed2 Tan1 Tan4
|
|
)
|
|
)
|
|
# NEW, perltidy -xci
|
|
foreach $color (
|
|
qw(
|
|
AntiqueWhite3 Bisque1 Bisque2 Bisque3 Bisque4
|
|
SlateBlue3 RoyalBlue1 SteelBlue2 DeepSkyBlue3
|
|
),
|
|
qw(
|
|
LightBlue1 DarkSlateGray1 Aquamarine2 DarkSeaGreen2
|
|
SeaGreen1 Yellow1 IndianRed1 IndianRed2 Tan1 Tan4
|
|
)
|
|
)
|
|
- Some minor improvements have been made to the rules for formatting
|
|
some edge vertical alignment cases, usually involving two dissimilar lines.
|
|
- A more complete list of updates is at
|
|
https://github.com/perltidy/perltidy/blob/master/local-docs/BugLog.pod
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Dec 7 03:08:36 UTC 2020 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20201207
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 3 03:07:54 UTC 2020 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20201202
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2020 12 02
|
|
- This release is being made primarily to make available a several new formatting
|
|
parameters, in particular -xci, -kbb=s, -kba=s, and -wnxl=s. No significant
|
|
bugs have been found since the previous release, but numerous minor issues have
|
|
been found and fixed as listed below.
|
|
- This version is about 20% faster than the previous version due to optimizations
|
|
made with the help of Devel::NYTProf.
|
|
- Added flag -wnxl=s, --weld-nested-exclusion-list=s, to provide control which containers
|
|
are welded with the --weld-nested-containers parameter. This is related to issue git #45.
|
|
- Merged pull request git #46 which fixes the docs regarding the -fse flag.
|
|
- Fixed issue git #45, -vtc=n flag was ignored when -wn was set.
|
|
- implement request RT #133649, delete-old-newlines selectively. Two parameters,
|
|
-kbb=s or --keep-old-breakpoints-before=s, and
|
|
-kba=s or --keep-old-breakpoints-after=s
|
|
were added to request that old breakpoints be kept before or after
|
|
selected token types. For example, -kbb='=>' means that newlines before
|
|
fat commas should be kept.
|
|
- Fix git #44, fix exit status for assert-tidy/untidy. The exit status was
|
|
always 0 for --assert-tidy if the user had turned off all error messages with
|
|
the -quiet flag. This has been fixed.
|
|
- Add flag -maxfs=n, --maximum-file-size-mb=n. This parameter is provided to
|
|
avoid causing system problems by accidentally attempting to format an
|
|
extremely large data file. The default is n=10. The command to increase
|
|
the limit to 20 MB for example would be -mfs=20. This only applies to
|
|
files specified by filename on the command line.
|
|
- Skip formatting if there are too many indentation level errors. This is
|
|
controlled with -maxle=n, --maximum-level-errors=n. This means that if
|
|
the ending indentation differs from the starting indentation by more than
|
|
n levels, the file will be output verbatim. The default is n=1.
|
|
To skip this check, set n=-1 or set n to a large number.
|
|
- A related new flag, --maximum-unexpected-errors=n, or -maxue=n, is available
|
|
but is off by default.
|
|
- Add flag -xci, --extended-continuation-indentation, regarding issue git #28
|
|
This flag causes continuation indentation to "extend" deeper into structures.
|
|
Since this is a fairly new flag, the default is -nxci to avoid disturbing
|
|
existing formatting. BUT you will probably see some improved formatting
|
|
in complex data structures by setting this flag if you currently use -ci=n
|
|
and -i=n with the same value of 'n' (as is the case if you use -pbp,
|
|
--perl-best-practices, where n=4).
|
|
- Fix issue git #42, clarify how --break-at-old-logical-breakpoints works.
|
|
The man page was updated to note that it does not cause all logical breakpoints
|
|
to be replicated in the output file.
|
|
- Fix issue git #41, typo in manual regarding -fsb.
|
|
- Fix issue git #40: when using the -bli option, a closing brace followed by
|
|
a semicolon was not being indented. This applies to braces which require
|
|
semicolons, such as a 'do' block.
|
|
- Added 'state' as a keyword.
|
|
- A better test for convergence has been added. When iterations are requested,
|
|
the new test will stop after the first pass if no changes in line break
|
|
locations are made. Previously, file checksums were used and required at least two
|
|
passes to verify convergence unless no formatting changes were made. With the new test,
|
|
only a single pass is needed when formatting changes are limited to adjustments of
|
|
indentation and whitespace on the lines of code. Extensive testing has been made to
|
|
verify the correctness of the new convergence test.
|
|
- Line breaks are now automatically placed after 'use overload' to
|
|
improve formatting when there are numerous overloaded operators. For
|
|
example
|
|
use overload
|
|
'+' => sub {
|
|
...
|
|
- A number of minor problems with parsing signatures and prototypes have
|
|
been corrected, particularly multi-line signatures. Some signatures
|
|
had previously been parsed as if they were prototypes, which meant the
|
|
normal spacing rules were not applied. For example
|
|
OLD:
|
|
sub echo ($message= 'Hello World!' ) {
|
|
...;
|
|
}
|
|
NEW:
|
|
sub echo ( $message = 'Hello World!' ) {
|
|
...;
|
|
}
|
|
- Numerous minor issues that the average user would not encounter were found
|
|
and fixed. They can be seen in the more complete list of updates at
|
|
https://github.com/perltidy/perltidy/blob/master/local-docs/BugLog.pod
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Sep 29 03:11:28 UTC 2020 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20201001
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2020 10 01
|
|
- Robustness of perltidy has been significantly improved. Updating is recommended. Continual
|
|
automated testing runs began about 1 Sep 2020 and numerous issues have been found and fixed.
|
|
Many involve references to uninitialized variables when perltidy is fed random text and random
|
|
control parameters. A complete list is given in the file
|
|
https://github.com/perltidy/perltidy/blob/master/local-docs/BugLog.pod
|
|
- Added the token '->' to the list of alignment tokens, as suggested in git
|
|
#39, so that it can be vertically aligned if a space is placed before them with -wls='->'.
|
|
- Added parameters -bbhb=n (--break-before-hash-brace=n), -bbsb=n (--break-before-square-bracket=n),
|
|
and -bbp=n (--break-before-paren=n) suggested in git #38. These provide control over the
|
|
opening container token of a multiple-line list. Related new parameters -bbhbi=n, -bbsbi=n, -bbpi=n
|
|
control indentation of these tokens.
|
|
- Added keyword 'isa'.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 7 03:17:23 UTC 2020 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20200907
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2020 09 07
|
|
- Fixed bug git #37, an error when the combination -scbb -csc was used.
|
|
It occurs in perltidy versions 20200110, 20200619, and 20200822. What happens is
|
|
that when two consecutive lines with isolated closing braces had new side
|
|
comments generated by the -csc parameter, a separating newline was missing.
|
|
The resulting script will not then run, but worse, if it is reformatted with
|
|
the same parameters then closing side comments could be overwritten and data
|
|
lost.
|
|
This problem was found during automated random testing. The parameter
|
|
-scbb is rarely used, which is probably why this has not been reported. Please
|
|
upgrade your version.
|
|
- Added parameter --non-indenting-braces, or -nib, which prevents
|
|
code from indenting one level if it follows an opening brace marked
|
|
with a special side comment, '#<<<'. For example,
|
|
{ #<<< a closure to contain lexical vars
|
|
my $var; # this line does not indent
|
|
}
|
|
# this line cannot 'see' $var;
|
|
This is on by default. If your code happens to have some
|
|
opening braces followed by '#<<<', and you
|
|
don't want this, you can use -nnib to deactivate it.
|
|
- Side comment locations reset at a line ending in a level 0 open
|
|
block, such as when a new multi-line sub begins. This is intended to
|
|
help keep side comments from drifting to far to the right.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Aug 23 03:10:02 UTC 2020 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20200822
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2020 08 22
|
|
- Fix RT #133166, encoding not set for -st. Also reported as RT #133171
|
|
and git #35.
|
|
This is a significant bug in version 20200616 which can corrupt data if
|
|
perltidy is run as a filter on encoded text.
|
|
**Please upgrade**
|
|
- Fix issue RT #133161, perltidy -html was not working on pod
|
|
- Fix issue git #33, allow control of space after '->'
|
|
- Vertical alignment has been improved. Numerous minor issues have
|
|
been fixed.
|
|
- Formatting with the -lp option is improved.
|
|
- Fixed issue git #32, misparse of bare 'ref' in ternary
|
|
- When --assert-tidy is used and triggers an error, the first difference
|
|
between input and output files is shown in the error output. This is
|
|
a partial response to issue git #30.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jun 20 03:10:23 UTC 2020 - Tina Müller <timueller+perl@suse.de>
|
|
|
|
- updated to 20200619
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2020 06 19
|
|
- Added support for Switch::Plain syntax, issue git #31.
|
|
- Fixed minor problem where trailing 'unless' clauses were not
|
|
getting vertically aligned.
|
|
- Added a parameter --logical-padding or -lop to allow logical padding
|
|
to be turned off. Requested by git #29. This flag is on by default.
|
|
The man pages have examples.
|
|
- Added a parameter -kpit=n to control spaces inside of parens following
|
|
certain keywords, requested in git#26. This flag is off by default.
|
|
- Added fix for git#25, improve vertical alignment for long lists with
|
|
varying numbers of items per line.
|
|
- calls to the module Perl::Tidy can now capture any output produced
|
|
by a debug flag or one of the 'tee' flags through the new 'debugfile' and
|
|
'teefile' call parameters. These output streams are rarely used but
|
|
they are now treated the same as any 'logfile' stream.
|
|
- add option --break-at-old-semicolon-breakpoints', -bos, requested
|
|
in RT#131644. This flag will keep lines beginning with a semicolon.
|
|
- Added --use-unicode-gcstring to control use of Unicode::GCString for
|
|
evaluating character widths of encoded data. The default is
|
|
not to use this (--nouse-unicode-gcstring). If this flag is set,
|
|
perltidy will look for Unicode::GCString and, if found, will use it
|
|
to evaluate character display widths. This can improve displayed
|
|
vertical alignment for files with wide characters. It is a nice
|
|
feature but it is off by default to avoid conflicting formatting
|
|
when there are multiple developers. Perltidy installation does not
|
|
require Unicode::GCString, so users wanting to use this feature need
|
|
set this flag and also to install Unicode::GCString separately.
|
|
- Added --character-encoding=guess or -guess to have perltidy guess
|
|
if a file (or other input stream) is encoded as -utf8 or some
|
|
other single-byte encoding. This is useful when processing a mixture
|
|
of file types, such as utf8 and latin-1.
|
|
Please Note: The default encoding has been set to be 'guess'
|
|
instead of 'none'. This seems like the best default, since
|
|
it allows perltidy work properly with both
|
|
utf8 files and older latin-1 files. The guess mode uses Encode::Guess,
|
|
which is included in standard perl distributions, and only tries to
|
|
guess if a file is utf8 or not, never any other encoding. If the guess is
|
|
utf8, and if the file successfully decodes as utf8, then it the encoding
|
|
is assumed to be utf8. Otherwise, no encoding is assumed.
|
|
If you do not want to use this new default guess mode, or have a
|
|
problem with it, you can set --character-encoding=none (the previous
|
|
default) or --character-encoding=utf8 (if you deal with utf8 files).
|
|
- Specific encodings of input files other than utf8 may now be given, for
|
|
example --character-encoding=euc-jp.
|
|
- Fix for git#22, Preserve function signature on a single line. An
|
|
unwanted line break was being introduced when a closing signature paren
|
|
followed a closing do brace.
|
|
- Fix RT#132059, the -dac parameter was not working and caused an error exit
|
|
- When -utf8 is used, any error output is encoded as utf8
|
|
- Fix for git#19, adjust line break around an 'xor'
|
|
- Fix for git#18, added warning for missing comma before unknown bare word.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jan 10 03:11:33 UTC 2020 - <timueller+perl@suse.de>
|
|
|
|
- updated to 20200110
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2020 01 10
|
|
|
|
- This release adds a flag to control the feature RT#130394 (allow short nested blocks)
|
|
introduced in the previous release. Unfortunately that feature breaks
|
|
RPerl installations, so a control flag has been introduced and that feature is now
|
|
off by default. The flag is:
|
|
|
|
--one-line-block-nesting=n, or -olbn=n, where n is an integer as follows:
|
|
|
|
-olbn=0 break nested one-line blocks into multiple lines [new DEFAULT]
|
|
-olbn=1 stable; keep existing nested-one line blocks intact [previous DEFAULT]
|
|
|
|
For example, consider this input line:
|
|
|
|
foreach (@list) { if ($_ eq $asked_for) { last } ++$found }
|
|
|
|
The new default behavior (-olbn=0), and behavior prior to version 20191203, is to break it into multiple lines:
|
|
|
|
foreach (@list) {
|
|
if ( $_ eq $asked_for ) { last }
|
|
++$found;
|
|
}
|
|
|
|
To keep nested one-line blocks such as this on a single line you can add the parameter -olbn=1.
|
|
|
|
- Fixed issue RT#131288: parse error for un-prototyped constant function without parenthesized
|
|
call parameters followed by ternary.
|
|
|
|
- Fixed issue RT#131360, installation documentation. Added a note that the binary
|
|
'perltidy' comes with the Perl::Tidy module. They can both normally be installed with
|
|
'cpanm Perl::Tidy'
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Dec 4 03:11:52 UTC 2019 - <timueller+perl@suse.de>
|
|
|
|
- updated to 20191203
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2019 12 03
|
|
|
|
- Fixed issue RT#131115: -bli option not working correctly.
|
|
Closing braces were not indented in some cases due to a glitch
|
|
introduced in version 20181120.
|
|
|
|
- Fixed issue RT#130394: Allow short nested blocks. Given the following
|
|
|
|
$factorial = sub { reduce { $a * $b } 1 .. 11 };
|
|
|
|
Previous versions would always break the sub block because it
|
|
contains another block (the reduce block). The fix keeps
|
|
short one-line blocks such as this intact.
|
|
|
|
- Implement issue RT#130640: Allow different subroutine keywords.
|
|
Added a flag --sub-alias-list=s or -sal=s, where s is a string with
|
|
one or more aliases for 'sub', separated by spaces or commas.
|
|
For example,
|
|
|
|
perltidy -sal='method fun'
|
|
|
|
will cause the perltidy to treat the words 'method' and 'fun' to be
|
|
treated the same as if they were 'sub'.
|
|
|
|
- Added flag --space-prototype-paren=i, or -spp=i, to control spacing
|
|
before the opening paren of a prototype, where i=0, 1, or 2:
|
|
i=0 no space
|
|
i=1 follow input [current and default]
|
|
i=2 always space
|
|
|
|
Previously, perltidy always followed the input.
|
|
For example, given the following input
|
|
|
|
sub usage();
|
|
|
|
The result will be:
|
|
sub usage(); # i=0 [no space]
|
|
sub usage(); # i=1 [default; follows input]
|
|
sub usage (); # i=2 [space]
|
|
|
|
- Fixed issue git#16, minor vertical alignment issue.
|
|
|
|
- Fixed issue git#10, minor conflict of -wn and -ce
|
|
|
|
- Improved some vertical alignments involving two lines.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 16 12:22:01 UTC 2019 - <timueller+perl@suse.de>
|
|
|
|
- updated to 20190915
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2019 09 15
|
|
|
|
- fixed issue RT#130344: false warning "operator in print statement"
|
|
for "use lib".
|
|
|
|
- fixed issue RT#130304: standard error output should include filename.
|
|
When perltidy error messages are directed to the standard error output
|
|
with -se or --standard-error-output, the message lines now have a prefix
|
|
'filename:' for clarification in case multiple files
|
|
are processed, where 'filename' is the name of the input file. If
|
|
input is from the standard input the displayed filename is '<stdin>',
|
|
and if it is from a data structure then displayed filename
|
|
is '<source_stream>'.
|
|
|
|
- implement issue RT#130425: check mode. A new flag '--assert-tidy'
|
|
will cause an error message if the output script is not identical to
|
|
the input script. For completeness, the opposite flag '--assert-untidy'
|
|
has also been added. The next item, RT#130297, insures that the script
|
|
will exit with a non-zero exit flag if the assertion fails.
|
|
|
|
- fixed issue RT#130297; the perltidy script now exits with a nonzero exit
|
|
status if it wrote to the standard error output. Prevously only fatal
|
|
run errors produced a non-zero exit flag. Now, even non-fatal messages
|
|
requested with the -w flag will cause a non-zero exit flag. The exit
|
|
flag now has these values:
|
|
|
|
0 = no errors
|
|
1 = perltidy could not run to completion due to errors
|
|
2 = perltidy ran to completion with error messages
|
|
|
|
- added warning message for RT#130008, which warns of conflicting input
|
|
parameters -iob and -bom or -boc.
|
|
|
|
- fixed RT#129850; concerning a space between a closing block brace and
|
|
opening bracket or brace, as occurs before the '[' in this line:
|
|
|
|
my @addunix = map { File::Spec::Unix->catfile( @ROOT, @$_ ) } ['b'];
|
|
|
|
Formerly, any space was removed. Now it is optional, and the output will
|
|
follow the input.
|
|
|
|
- fixed issue git#13, needless trailing whitespace in error message
|
|
|
|
- fixed issue git#9: if the -ce (--cuddled-else) flag is used,
|
|
do not try to form new one line blocks for a block type
|
|
specified with -cbl, particularly map, sort, grep
|
|
|
|
- iteration speedup for unchanged code. Previously, when iterations were
|
|
requested, at least two formatting passes were made. Now just a single pass
|
|
is made if the formatted code is identical to the input code.
|
|
|
|
- some improved vertical alignments
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jun 1 05:18:42 UTC 2019 - Stephan Kulow <coolo@suse.com>
|
|
|
|
- updated to 20190601
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
## 2019 06 01
|
|
|
|
- rt #128477: Prevent inconsistent owner/group and setuid/setgid bits.
|
|
In the -b (--backup-and-modify-in-place) mode, an attempt is made to set ownership
|
|
of the output file equal to the input file, if they differ.
|
|
In all cases, if the final output file ownership differs from input file, any setuid/setgid bits are cleared.
|
|
|
|
- Added option -bom (--break-at-old-method-breakpoints) by
|
|
merrillymeredith which preserves breakpoints of method chains. Modified to also handle a cuddled call style.
|
|
|
|
- Merged patch to fix Windows EOL translation error with UTF-8 written by
|
|
Ron Ivy. This update prevents automatic conversion to 'DOS' CRLF line
|
|
endings. Also, Windows system testing at the appveyor site is working again.
|
|
|
|
- RT #128280, added flag --one-line-block-semicolons=n (-olbs=n)
|
|
to control semicolons in one-line blocks. The values of n are:
|
|
n=0 means no semicolons termininating simple one-line blocks
|
|
n=1 means stable; do not change from input file [DEFAULT and current]
|
|
n=2 means always add semicolons in one-line blocks
|
|
The current behavior corresponds to the default n=1.
|
|
|
|
- RT #128216, Minor update to prevent inserting unwanted blank line at
|
|
indentation level change. This should not change existing scripts.
|
|
|
|
- RT #81852: Improved indentation when quoted word (qw) lists are
|
|
nested within other containers using the --weld-nested (-wn) flag.
|
|
The example given previously (below) is now closer to what it would
|
|
be with a simple list instead of qw:
|
|
|
|
# perltidy -wn
|
|
use_all_ok( qw{
|
|
PPI
|
|
PPI::Tokenizer
|
|
PPI::Lexer
|
|
PPI::Dumper
|
|
PPI::Find
|
|
PPI::Normal
|
|
PPI::Util
|
|
PPI::Cache
|
|
} );
|
|
|
|
- RT#12764, introduced new feature allowing placement of blanks around
|
|
sequences of selected keywords. This can be activated with the -kgb*
|
|
series of parameters described in the manual.
|
|
|
|
- Rewrote vertical algnment module. It is better at finding
|
|
patterns in complex code. For example,
|
|
|
|
OLD:
|
|
/^-std$/ && do { $std = 1; next; };
|
|
/^--$/ && do { @link_args = @argv; last; };
|
|
/^-I(.*)/ && do { $path = $1 || shift @argv; next; };
|
|
|
|
NEW:
|
|
/^-std$/ && do { $std = 1; next; };
|
|
/^--$/ && do { @link_args = @argv; last; };
|
|
/^-I(.*)/ && do { $path = $1 || shift @argv; next; };
|
|
|
|
- Add repository URLs to META files
|
|
|
|
- RT #118553, "leave only one newline at end of file". This option was not
|
|
added because of undesirable side effects, but a new filter script
|
|
was added which can do this, "examples/delete_ending_blank_lines.pl".
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 6 16:07:58 UTC 2018 - Stephan Kulow <coolo@suse.com>
|
|
|
|
- updated to 20181120
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES.md
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 21 06:50:42 UTC 2018 - coolo@suse.com
|
|
|
|
- updated to 20180220
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES
|
|
|
|
2018 02 20
|
|
- RT #124469, #124494, perltidy often making empty files. The previous had
|
|
an index error causing it to fail, particularly in version 5.18 of Perl.
|
|
|
|
Please avoid version 20180219.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Feb 19 06:54:36 UTC 2018 - coolo@suse.com
|
|
|
|
- updated to 20180219
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES
|
|
|
|
2018 02 19
|
|
- RT #79947, cuddled-else generalization. A new flag -cb provides
|
|
'cuddled-else' type formatting for an arbitrary type of block chain. The
|
|
default is try-catch-finally, but this can be modified with the
|
|
parameter -cbl.
|
|
|
|
- Fixed RT #124298: add space after ! operator without breaking !! secret
|
|
operator
|
|
|
|
- RT #123749: numerous minor improvements to the -wn flag were made.
|
|
|
|
- Fixed a problem with convergence tests in which iterations were stopping
|
|
prematurely.
|
|
|
|
- Here doc targets for <<~ type here-docs may now have leading whitespace.
|
|
|
|
- Fixed RT #124354. The '-indent-only' flag was not working correctly in the
|
|
previous release. A bug in version 20180101 caused extra blank lines
|
|
to be output.
|
|
|
|
- Issue RT #124114. Some improvements were made in vertical alignment
|
|
involving 'fat commas'.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jan 1 06:52:06 UTC 2018 - coolo@suse.com
|
|
|
|
- updated to 20180101
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES
|
|
|
|
2018 01 01
|
|
- Added new flag -wn (--weld-nested-containers) which addresses these issues:
|
|
RT #123749: Problem with promises;
|
|
RT #119970: opening token stacking strange behavior;
|
|
RT #81853: Can't stack block braces
|
|
|
|
This option causes closely nested pairs of opening and closing containers
|
|
to be "welded" together and essentially be formatted as a single unit,
|
|
with just one level of indentation.
|
|
|
|
Since this is a new flag it is set to be "off" by default but it has given
|
|
excellent results in testing.
|
|
|
|
EXAMPLE 1, multiple blocks, default formatting:
|
|
do {
|
|
{
|
|
next if $x == $y; # do something here
|
|
}
|
|
} until $x++ > $z;
|
|
|
|
perltidy -wn
|
|
do { {
|
|
next if $x == $y;
|
|
} } until $x++ > $z;
|
|
|
|
EXAMPLE 2, three levels of wrapped function calls, default formatting:
|
|
p(
|
|
em(
|
|
conjug(
|
|
translate( param('verb') ), param('tense'),
|
|
param('person')
|
|
)
|
|
)
|
|
);
|
|
|
|
# perltidy -wn
|
|
p( em( conjug(
|
|
translate( param('verb') ),
|
|
param('tense'), param('person')
|
|
) ) );
|
|
|
|
# EXAMPLE 3, chained method calls, default formatting:
|
|
get('http://mojolicious.org')->then(
|
|
sub {
|
|
my $mojo = shift;
|
|
say $mojo->res->code;
|
|
return get('http://metacpan.org');
|
|
}
|
|
)->then(
|
|
sub {
|
|
my $cpan = shift;
|
|
say $cpan->res->code;
|
|
}
|
|
)->catch(
|
|
sub {
|
|
my $err = shift;
|
|
warn "Something went wrong: $err";
|
|
}
|
|
)->wait;
|
|
|
|
# perltidy -wn
|
|
get('http://mojolicious.org')->then( sub {
|
|
my $mojo = shift;
|
|
say $mojo->res->code;
|
|
return get('http://metacpan.org');
|
|
} )->then( sub {
|
|
my $cpan = shift;
|
|
say $cpan->res->code;
|
|
} )->catch( sub {
|
|
my $err = shift;
|
|
warn "Something went wrong: $err";
|
|
} )->wait;
|
|
|
|
|
|
- Fixed RT #114359: Missparsing of "print $x ** 0.5;
|
|
|
|
- Deactivated the --check-syntax flag for better security. It will be
|
|
ignored if set.
|
|
|
|
- Corrected minimum perl version from 5.004 to 5.008 based on perlver
|
|
report. The change is required for coding involving wide characters.
|
|
|
|
- For certain severe errors, the source file will be copied directly to the
|
|
output without formatting. These include ending in a quote, ending in a
|
|
here doc, and encountering an unidentified character.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 14 19:09:03 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 20171214
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES
|
|
|
|
2017 12 14
|
|
- RT #123749, partial fix. "Continuation indentation" is removed from lines
|
|
with leading closing parens which are part of a call chain.
|
|
For example, the call to pack() is is now outdented to the starting
|
|
indentation in the following experession:
|
|
|
|
# OLD
|
|
$mw->Button(
|
|
-text => "New Document",
|
|
-command => \&new_document
|
|
)->pack(
|
|
-side => 'bottom',
|
|
-anchor => 'e'
|
|
);
|
|
|
|
# NEW
|
|
$mw->Button(
|
|
-text => "New Document",
|
|
-command => \&new_document
|
|
)->pack(
|
|
-side => 'bottom',
|
|
-anchor => 'e'
|
|
);
|
|
|
|
This modification improves readability of complex expressions, especially
|
|
when the user uses the same value for continuation indentation (-ci=n) and
|
|
normal indentation (-i=n). Perltidy was already programmed to
|
|
do this but a minor bug was preventing it.
|
|
|
|
- RT #123774, added flag to control space between a backslash and a single or
|
|
double quote, requested by Robert Rothenberg. The issue is that lines like
|
|
|
|
$str1=\"string1";
|
|
$str2=\'string2';
|
|
|
|
confuse syntax highlighters unless a space is left between the backslash and
|
|
the quote.
|
|
|
|
The new flag to control this is -sbq=n (--space-backslash-quote=n),
|
|
where n=0 means no space, n=1 means follow existing code, n=2 means always
|
|
space. The default is n=1, meaning that a space will be retained if there
|
|
is one in the source code.
|
|
|
|
- Fixed RT #123492, support added for indented here doc operator <<~ added
|
|
in v5.26. Thanks to Chris Weyl for the report.
|
|
|
|
- Fixed docs; --closing-side-comment-list-string should have been just
|
|
--closing-side-comment-list. Thanks to F.Li.
|
|
|
|
- Added patch RT #122030] Perl::Tidy sometimes does not call binmode.
|
|
Thanks to Irilis Aelae.
|
|
|
|
- Fixed RT #121959, PERLTIDY doesn't honor the 'three dot' notation for
|
|
locating a config file using environment variables. Thanks to John
|
|
Wittkowski.
|
|
|
|
- Minor improvements to formatting, in which some additional vertical
|
|
aligmnemt is done. Thanks to Keith Neargarder.
|
|
|
|
- RT #119588. Vertical alignment is no longer done for // operator.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 25 08:52:18 UTC 2017 - coolo@suse.com
|
|
|
|
- updated to 20170521
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES
|
|
|
|
2017 05 21
|
|
- Fixed debian #862667: failure to check for perltidy.ERR deletion can lead
|
|
to overwriting abritrary files by symlink attack. Perltidy was continuing
|
|
to write files after an unlink failure. Thanks to Don Armstrong
|
|
for a patch.
|
|
|
|
- Fixed RT #116344, perltidy fails on certain anonymous hash references:
|
|
in the following code snippet the '?' was misparsed as a pattern
|
|
delimiter rather than a ternary operator.
|
|
return ref {} ? 1 : 0;
|
|
|
|
- Fixed RT #113792: misparsing of a fat comma (=>) right after
|
|
the __END__ or __DATA__ tokens. These keywords were getting
|
|
incorrectly quoted by the following => operator.
|
|
|
|
- Fixed RT #118558. Custom Getopt::Long configuration breaks parsing
|
|
of perltidyrc. Perltidy was resetting the users configuration too soon.
|
|
|
|
- Fixed RT #119140, failure to parse double diamond operator. Code to
|
|
handle this new operator has been added.
|
|
|
|
- Fixed RT #120968. Fixed problem where -enc=utf8 didn't work
|
|
with --backup-and-modify-in-place. Thanks to Heinz Knutzen for this patch.
|
|
|
|
- Fixed minor formatting issue where one-line blocks for subs with signatures
|
|
were unnecesarily broken
|
|
|
|
- RT #32905, patch to fix utf-8 error when output was STDOUT.
|
|
|
|
- RT #79947, improved spacing of try/catch/finally blocks. Thanks to qsimpleq
|
|
for a patch.
|
|
|
|
- Fixed #114909, Anonymous subs with signatures and prototypes misparsed as
|
|
broken ternaries, in which a statement such as this was not being parsed
|
|
correctly:
|
|
return sub ( $fh, $out ) : prototype(*$) { ... }
|
|
|
|
- Implemented RT #113689, option to introduces spaces after an opening block
|
|
brace and before a closing block brace. Four new optional controls are
|
|
added. The first two define the minimum number of blank lines to be
|
|
inserted
|
|
|
|
-blao=i or --blank-lines-after-opening-block=i
|
|
-blbc=i or --blank-lines-before-closing-block=i
|
|
|
|
where i is an integer, the number of lines (the default is 0).
|
|
|
|
The second two define the types of blocks to which the first two apply
|
|
|
|
-blaol=s or --blank-lines-after-opening-block-list=s
|
|
-blbcl=s or --blank-lines-before-closing-block-list=s
|
|
|
|
where s is a string of possible block keywords (default is just 'sub',
|
|
meaning a named subroutine).
|
|
|
|
For more information please see the documentation.
|
|
|
|
- The method for specifying block types for certain input parameters has
|
|
been generalized to distinguish between normal named subroutines and
|
|
anonymous subs. The keyword for normal subroutines remains 'sub', and
|
|
the new keyword for anonymous subs is 'asub'.
|
|
|
|
- Minor documentation changes. The BUGS sections now have a link
|
|
to CPAN where most open bugs and issues can be reviewed and bug reports
|
|
can be submitted. The information in the AUTHOR and CREDITS sections of
|
|
the man pages have been removed from the man pages to streamline the
|
|
documentation. This information is still in the source code.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 8 10:48:54 UTC 2016 - coolo@suse.com
|
|
|
|
- updated to 20160302
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES
|
|
|
|
2016 03 02
|
|
- RT #112534. Corrected a minor problem in which an unwanted newline
|
|
was placed before the closing brace of an anonymous sub with
|
|
a signature, if it was in a list. Thanks to Dmytro Zagashev.
|
|
|
|
- Corrected a minor problem in which occasional extra indentation was
|
|
given to the closing brace of an anonymous sub in a list when the -lp
|
|
parameter was set.
|
|
|
|
2016 03 01
|
|
- RT #104427. Added support for signatures.
|
|
|
|
- RT #111512. Changed global warning flag $^W = 1 to use warnings;
|
|
Thanks to Dmytro Zagashev.
|
|
|
|
- RT #110297, added support for new regexp modifier /n
|
|
Thanks to Dmytro Zagashev.
|
|
|
|
- RT #111519. The -io (--indent-only) and -dac (--delete-all-comments)
|
|
can now both be used in one pass. Thanks to Dmitry Veltishev.
|
|
|
|
- Patch to avoid error message with 'catch' used by TryCatch, as in
|
|
catch($err){
|
|
# do something
|
|
}
|
|
Thanks to Nick Tonkin.
|
|
|
|
- RT #32905, UTF-8 coding is now more robust. Thanks to qsimpleq
|
|
and Dmytro for patches.
|
|
|
|
- RT #106885. Added string bitwise operators ^. &. |. ~. ^.= &.= |.=
|
|
|
|
- Fixed RT #107832 and #106492, lack of vertical alignment of two lines
|
|
when -boc flag (break at old commas) is set. This bug was
|
|
inadvertantly introduced in previous bug fix RT #98902.
|
|
|
|
- Some common extensions to Perl syntax are handled better.
|
|
In particular, the following snippet is now foratted cleanly:
|
|
|
|
method deposit( Num $amount) {
|
|
$self->balance( $self->balance + $amount );
|
|
}
|
|
|
|
A new flag -xs (--extended-syntax) was added to enable this, and the default
|
|
is to use -xs.
|
|
|
|
In previous versions, and now only when -nxs is set, this snippet of code
|
|
generates the following error message:
|
|
|
|
"syntax error at ') {', didn't see one of: case elsif for foreach given if switch unless until when while"
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Aug 23 09:13:37 UTC 2015 - coolo@suse.com
|
|
|
|
- updated to 20150815
|
|
see /usr/share/doc/packages/perl-Perl-Tidy/CHANGES
|
|
|
|
2015 08 15
|
|
- Fixed RT# 105484, Invalid warning about 'else' in 'switch' statement. The
|
|
warning happened if a 'case' statement did not use parens.
|
|
|
|
- Fixed RT# 101547, misparse of // caused error message. Also..
|
|
|
|
- Fixed RT# 102371, misparse of // caused unwated space in //=
|
|
|
|
- Fixed RT# 100871, "silent failure of HTML Output on Windows".
|
|
Changed calls to tempfile() from:
|
|
my ( $fh_tmp, $tmpfile ) = tempfile();
|
|
to have the full path name:
|
|
my ( $fh_tmp, $tmpfile ) = File::Temp::tempfile()
|
|
because of problems in the Windows version reported by Dean Pearce.
|
|
|
|
- Fixed RT# 99514, calling the perltidy module multiple times with
|
|
a .perltidyrc file containing the parameter --output-line-ending
|
|
caused a crash. This was a glitch in the memoization logic.
|
|
|
|
- Fixed RT#99961, multiple lines inside a cast block caused unwanted
|
|
continuation indentation.
|
|
|
|
- RT# 32905, broken handling of UTF-8 strings.
|
|
A new flag -utf8 causes perltidy assume UTF-8 encoding for input and
|
|
output of an io stream. Thanks to Sebastian Podjasek for a patch.
|
|
This feature may not work correctly in older versions of Perl.
|
|
It worked in a linux version 5.10.1 but not in a Windows version 5.8.3 (but
|
|
otherwise perltidy ran correctly).
|
|
|
|
- Warning files now report perltidy VERSION. Suggested by John Karr.
|
|
|
|
- Fixed long flag --nostack-closing-tokens (-nsct has always worked though).
|
|
This was due to a typo. This also fixed --nostack-opening-tokens to
|
|
behave correctly. Thanks to Rob Dixon.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 15 15:44:35 UTC 2014 - coolo@suse.com
|
|
|
|
- updated to 20140711
|
|
- Fixed RT #94902: abbreviation parsing in .perltidyrc files was not
|
|
working for multi-line abbreviations. Thanks to Eric Fung for
|
|
supplying a patch.
|
|
|
|
- Fixed RT #95708, misparsing of a hash when the first key was a perl
|
|
keyword, causing a semicolon to be incorrectly added.
|
|
|
|
- Fixed RT #94338 for-loop in a parenthesized block-map. A code block within
|
|
parentheses of a map, sort, or grep function was being mistokenized. In
|
|
rare cases this could produce in an incorrect error message. The fix will
|
|
produce some minor formatting changes. Thanks to Daniel Trizen
|
|
discovering and documenting this.
|
|
|
|
- Fixed RT #94354, excess indentation for stacked tokens. Thanks to
|
|
Colin Williams for supplying a patch.
|
|
|
|
- Added support for experimental postfix dereferencing notation introduced in
|
|
perl 5.20. RT #96021.
|
|
|
|
- Updated documentation to clarify the behavior of the -io flag
|
|
in response to RT #95709. You can add -noll or -l=0 to prevent
|
|
long comments from being outdented when -io is used.
|
|
|
|
- Added a check to prevent a problem reported in RT #81866, where large
|
|
scripts which had been compressed to a single line could not be formatted
|
|
because of a check for VERSION for MakeMaker. The workaround was to
|
|
use -nvpl, but this shouldn't be necessary now.
|
|
|
|
- Fixed RT #96101; Closing brace of anonymous sub in a list was being
|
|
indented. For example, the closing brace of the anonymous sub below
|
|
will now be lined up with the word 'callback'. This problem
|
|
occured if there was no comma after the closing brace of the anonymous sub.
|
|
This update may cause minor changes to formatting of code with lists
|
|
of anonymous subs, especially TK code.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Oct 4 09:11:17 UTC 2013 - coolo@suse.com
|
|
|
|
- updated to 20130922
|
|
- Fixed RT #88020. --converge was not working with wide characters.
|
|
- Fixed RT #78156. package NAMESPACE VERSION syntax not accepted.
|
|
- First attempt to fix RT #88588. INDEX END tag change in pod2html breaks
|
|
perltidy -html. I put in a patch which should work but I don't yet have
|
|
a way of testing it.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 6 17:49:08 UTC 2013 - coolo@suse.com
|
|
|
|
- updated to 20130806
|
|
- Fixed RT #87107, spelling
|
|
|
|
- Fixed RT #87502, incorrect of parsing of smartmatch before hash brace
|
|
|
|
- Added feature request RT #87330, trim whitespace after POD.
|
|
The flag -trp (--trim-pod) will trim trailing whitespace from lines of POD
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 27 11:58:42 UTC 2013 - coolo@suse.com
|
|
|
|
- updated to 20130717
|
|
- Fixed RT #86929, #86930, missing lhs of assignment.
|
|
- Fixed RT #84922, moved pod from Tidy.pm into Tidy.pod
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jun 9 14:59:59 UTC 2013 - coolo@suse.com
|
|
|
|
- updated to 20121207
|
|
- The flag -cab=n or --comma-arrow-breakpoints=n has been generalized
|
|
to give better control over breaking open short containers. The
|
|
possible values are now:
|
|
|
|
n=0 break at all commas after =>
|
|
n=1 stable: break at all commas after => if container is open,
|
|
EXCEPT FOR one-line containers
|
|
n=2 break at all commas after =>, BUT try to form the maximum
|
|
maximum one-line container lengths
|
|
n=3 do not treat commas after => specially at all
|
|
n=4 break everything: like n=0 but also break a short container with
|
|
a => not followed by a comma
|
|
n=5 stable: like n=1 but ALSO break at open one-line containers (default)
|
|
|
|
New values n=4 and n=5 have been added to allow short blocks to be
|
|
broken open. The new default is n=5, stable. It should more closely
|
|
follow the breaks in the input file, and previously formatted code
|
|
should remain unchanged. If this causes problems use -cab=1 to recover
|
|
the former behavior. Thanks to Tony Maszeroski for the suggestion.
|
|
|
|
To illustrate the need for the new options, if perltidy is given
|
|
the following code, then the old default (-cab=1) was to close up
|
|
the 'index' container even if it was open in the source. The new
|
|
default (-cab=5) will keep it open if it was open in the source.
|
|
|
|
our $fancypkg = {
|
|
'ALL' => {
|
|
'index' => {
|
|
'key' => 'value',
|
|
},
|
|
'alpine' => {
|
|
'one' => '+',
|
|
'two' => '+',
|
|
'three' => '+',
|
|
},
|
|
}
|
|
};
|
|
|
|
- New debug flag --memoize (-mem). This version contains a
|
|
patch supplied by Jonathan Swartz which can significantly speed up
|
|
repeated calls to Perl::Tidy::perltidy in a single process by caching
|
|
the result of parsing the formatting parameters. A factor of up to 10
|
|
speedup was achieved for masontidy (https://metacpan.org/module/masontidy).
|
|
The memoization patch is on by default but can be deactivated for
|
|
testing with -nmem (or --no-memoize).
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Dec 19 10:50:16 UTC 2011 - coolo@suse.de
|
|
|
|
- update to 20101217
|
|
- added new flag -it=n or --iterations=n
|
|
- A configuration file pathname begins with three dots, e.g.
|
|
".../.perltidyrc", indicates that the file should be searched for starting
|
|
in the current directory and working upwards.
|
|
- Added flag --notidy which disables all formatting and causes the input to be
|
|
copied unchanged.
|
|
- Added prefilters and postfilters in the call to the Tidy.pm module.
|
|
- The starting indentation level of sections of code entabbed with -et=n
|
|
is correctly guessed if it was also produced with the same -et=n flag. This
|
|
keeps the indentation stable on repeated formatting passes within an editor.
|
|
Thanks to Sam Kington and Glenn.
|
|
- Functions with prototype '&' had a space between the function and opening peren.
|
|
- Patch to never put spaces around a bare word in braces beginning with ^
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Dec 1 13:34:30 UTC 2010 - coolo@novell.com
|
|
|
|
- switch to perl_requires macro
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Oct 13 23:11:58 UTC 2010 - chris@computersalat.de
|
|
|
|
- noarch pkg
|
|
- recreated by cpanspec 1.78
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jan 20 16:54:54 UTC 2010 - lars@linux-schulserver.de
|
|
|
|
- specfile cleanup
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jan 14 00:00:00 CET 2010 - cwh@suse.de
|
|
|
|
- initial version
|
|
|
|
|