./devel/p5-Perl-Tidy, Parses and beautifies perl source

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 20200110, Package name: p5-Perl-Tidy-20200110, Maintainer: pkgsrc-users

Perltidy reads a Perl script and writes an indented, reformatted
script. The default formatting closely follows the recommendations
in perlstyle(1). Perltidy can also display perl code in syntax-
colored HTML output.


Required to run:
[lang/perl5]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

SHA1: 8d5067fb03a4069f316500cd796770871afee24e
RMD160: 060fc9293c211136db96e2474b49146d65a7dd4d
Filesize: 596.917 KB

Version history: (Expand)


CVS history: (Expand)


   2020-03-25 12:18:31 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
p5-Perl-Tidy: Update to 20200110

## 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'
   2020-01-07 14:35:06 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 20191203

Upstream changes:
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.
   2019-10-27 15:04:38 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(devel/p5-Perl-Tidy) Updated  from 20181120 to 20190915

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

## 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".
   2019-08-11 15:25:21 by Thomas Klausner | Files touched by this commit (3557) | Package updated
Log message:
Bump PKGREVISIONs for perl 5.30.0
   2018-11-25 15:51:03 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 20181120

Upstream changes:
## 2018 11 20

    - fix RT#127736 Perl-Tidy-20181119 has the EXE_FILES entry commented out in
      Makefile.PL so it doesn't install the perltidy script or its manpage.

## 2018 11 19

    - Removed test case 'filter_example.t' which was causing a failure on a
      Windows installation for unknown reasons, possibly due to an unexpected
      perltidyrc being read by the test script.  Added VERSION numbers to all
      new modules.

## 2018 11 17

    - Fixed RT #126965, in which a ternary operator was misparsed if immediately
      following a function call without arguments, such as:
        my $restrict_customer = shift ? 1 : 0;

    - Fixed RT #125012: bug in -mangle --delete-all-comments
      A needed blank space before bareword tokens was being removed when comments
      were deleted

    - Fixed RT #81852: Stacked containers and quoting operators. Quoted words
      (qw) delimited by container tokens ('{', '[', '(', '<') are now included in
      the --weld-nested (-wn) flag:

          # perltidy -wn
          use_all_ok( qw{
                PPI
                PPI::Tokenizer
                PPI::Lexer
                PPI::Dumper
                PPI::Find
                PPI::Normal
                PPI::Util
                PPI::Cache
                } );

    - The cuddled-else (-ce) coding was merged with the new cuddled-block (-cb)
      coding.  The change is backward compatible and simplifies input.
      The --cuddled-block-option=n (-cbo=n) flag now applies to both -ce and -cb
      formatting.  In fact the -cb flag is just an alias for -ce now.

    - Fixed RT #124594, license text desc. changed from 'GPL-2.0+' to 'gpl_2'

    - Fixed bug in which a warning about a possible code bug was issued in a
      script with brace errors.

    - added option --notimestamp or -nts to eliminate any time stamps in output
      files.  This is used to prevent differences in test scripts from causing
      failure at installation. For example, the -cscw option will put a date
      stamp on certain closing side comments. We need to avoid this in order
      to test this feature in an installation test.

    - Fixed bug with the entab option, -et=8, in which the leading space of
      some lines was was not entabbed.  This happened in code which was adjusted
      for vertical alignment and in hanging side comments. Thanks to Glenn.

    - Fixed RT #127633, undesirable line break after return when -baao flag is set

    - Fixed RT #127035, vertical alignment. Vertical alignment has been improved
      in several ways.  Thanks especially to Michael Wardman and Glenn for sending
      helpful snippets.

      - Alignment of the =~ operators has been reactivated.

          OLD:
          $service_profile =~ s/^\s+|\s+$//g;
          $host_profile =~ s/^\s+|\s+$//g;

          NEW:
          $service_profile =~ s/^\s+|\s+$//g;
          $host_profile    =~ s/^\s+|\s+$//g;

      - Alignment of the // operator has been reactivated.

          OLD:
          is( pop // 7,       7, 'pop // ... works' );
          is( pop() // 7,     0, 'pop() // ... works' );
          is( pop @ARGV // 7, 3, 'pop @array // ... works' );

          NEW:
          is( pop       // 7, 7, 'pop // ... works' );
          is( pop()     // 7, 0, 'pop() // ... works' );
          is( pop @ARGV // 7, 3, 'pop @array // ... works' );

      - The rules for alignment of just two lines have been adjusted,
        hopefully to be a little better overall.  In some cases, two
        lines which were previously unaligned are now aligned, and vice-versa.

          OLD:
          $expect = "1$expect" if $expect =~ /^e/i;
          $p = "1$p" if defined $p and $p =~ /^e/i;

          NEW:
          $expect = "1$expect" if $expect =~ /^e/i;
          $p      = "1$p"      if defined $p and $p =~ /^e/i;

    - RT #106493; source code repository location has been added to docs; it is
         https://github.com/perltidy/perltidy

    - The packaging for this version has changed. The Tidy.pm module is much
      smaller.  Supporting modules have been split out from it and placed below
      it in the path Perl/Tidy/*.

    - A number of new installation test cases have been added. Updates are now
      continuously tested at Travis CI against versions back to Perl 5.08.
   2018-08-22 11:48:07 by Thomas Klausner | Files touched by this commit (3558)
Log message:
Recursive bump for perl5-5.28.0
   2018-02-21 08:39:42 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 20180220

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

  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'.
   2018-01-03 08:51:23 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Perl-Tidy: update to 20180101.

  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

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