Overview

Request 955385 accepted

- 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.


Request History
Tina Müller's avatar

tinita created request

- 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.


Stephan Kulow's avatar

coolo accepted request

openSUSE Build Service is sponsored by