pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/p5-Perl-Tidy



Module Name:    pkgsrc
Committed By:   wiz
Date:           Mon Oct  5 07:48:36 UTC 2026

Modified Files:
        pkgsrc/devel/p5-Perl-Tidy: Makefile distinfo

Log Message:
p5-Perl-Tidy: update to 20260826.

## 2026 08 26

   - Fixed git #213, --heredoc-extra-spaces flag not working correctly.

   - Additional checks have been added to help catch missing semicolons.

## 2026 08 08

   - Fixed git #211, an unusual instability with the following eval block:

     eval { @$list = map( { [ qr($_), $_, 0 ]; } @$list ); };

     A workaround was removing the parens around the map call parameters;
     this version has a permanent fix.

   - Some very rare instabilities with the -xlp style have been identified
     and fixed.  This could cause a shift in the indentation some lists
     formatted with -xlp.

   - Added checks when converting here-doc types '<<' to '<<~' using
     the parameter --heredoc-convert-to='indented':

     (1) Zero-length tags are skipped and
     (2) the conversion is skipped if any here-text lines match the new tag.

   - Added more syntax checks to help catch missing semicolons.

   - The parameters --want-call-parens and --nowant-call-parens now have
     the ability to restrict warnings to lists with or without multiple
     comma-separated items. This can be done by placing a plus sign after
     a function name in their parameter lists. The manual has details.

## 2026 07 05

    - Added new controls to adjust indented here-docs (see git #210).
      The main new controls are:

      --heredoc-indentation-update (-hiu): adjusts indentation of type '<<~'
       here-documents to match the code indentation

      --heredoc-extra-spaces=n (-hxs=n): adds n extra indentation spaces
       when indenting here-docs (DEFAULT is n=0)

      --heredoc-excess-length-option=n (-hxlo=n) : tells how to handle the
       indentation of long lines of here-doc text

        n=0 : leave code unchanged [DEFAULT]
        n=1 : ignore line length limit
        n=2 : use zero leading space (i.e., left-adjust heredoc)
        n=3 : use max possible without exceeding line length limit

      --heredoc-convert-to=s (-hct=s): converts between '<<' and '<<~'

        s='standard' : convert type '<<~' to '<<'
        s='indented' : convert type '<<' to '<<~'

     See the man pages for additional details and options.

    - The indentation of indented here-docs is now checked. A warning
      is issued if the leading whitespace of the ending delimiter string
      does not also exist on all the lines of the associated here-doc text.

    - Improved formatting of certain ternary expressions (see git #209).
      A ternary expression for which both the TRUE and FALSE parts are
      single ternary expressions is now written in a balanced way.
      For example, this expression gives max($a,$b,$c):

        # OLD: (tail end is economized into equivalent elsif's):
        $a > $b
          ? $a > $c
              ? $a
              : $c
          : $b > $c ? $b
          :           $c;

        # NEW (tail remains as simple if's):
        $a > $b
            ? $a > $c
                ? $a
                : $c
            : $b > $c
                ? $b
                : $c;

    - The operator 'cmp' has been added to the defaults for the parameter
      --space-after-keyword.  For example, the old default is:

        sort { !( ref $b->{select} ) cmp( ref $a->{select} ) }

      The new default is:

        sort { !( ref $b->{select} ) cmp ( ref $a->{select} ) }

      Use -nsak='cmp' if you prefer no space between 'cmp' and a following '('.
      See git #205 for a discussion.

    - Add input parameter --warn-keyword-list=s to warn if any of keywords
      or functions in the string s occur in a file. For example

         perltidy -wkl='goto'

      will warn of the occurrences of the perl builtin keyword goto.

    - Add input parameter --dump-label-usage, or -dlu, to dump a list of
      all statement labels used in a script to standard output.

    - Add input parameter --warn-label-types=s, or -wlt=s, to issue a
      warning for certain types of statement labels. The string s can select
      from several types of warnings. A value '1' selects all warnings.
      The manual has details. A companion parameter
      --warn-label-exclusion-list=s, or -wlxl=s, can avoid warnings for
      selected labels.

    - Add input parameter --warn-c-style-for-loops. When set, any
      C-style for loops are listed in the error output stream.

    - The parameter --pass-version-line, or -pvl is now working correctly.
      It was not possible to negate this parameter in the previous version,
      and this has been fixed.

    - Add input parameter --blank-lines-prevent-cuddles, or -blpc, to
      allow user to break a cuddled chain with a blank line. Previously,
      the only way to prevent an unwanted cuddle was to insert a comment.

    - Fixed issue git #205. In some rare cases of cuddled formatting, the
      cuddled style could unexpectedly continue from an if-chain into
      a sort/map/grep block.

    - Vertical alignment now occurs by default for the string comparison
      operator 'cmp', and these align with any numeric comparison
      operators '<=>' by default. Previously the 'cmp' operator was not
      vertically aligned.  A new control switch --valign-comparison-operators
      can be negated to cause any 'cmp' operators not to align with any
      '<=>' operators.  To illustrate the options:

        # Old default, or new version with --valign-exclusion-list='cmp'
        sub sortName       { $a->{"file"} cmp $b->{"file"}; }
        sub sortNameNoCase { uc( $a->{"file"} ) cmp uc( $b->{"file"} ); }
        sub sortSize       { $b->{"size"}  <=> $a->{"size"}; }
        sub sortDate       { $b->{"mtime"} <=> $a->{"mtime"}; }

        # New default:
        sub sortName       { $a->{"file"}       cmp $b->{"file"}; }
        sub sortNameNoCase { uc( $a->{"file"} ) cmp uc( $b->{"file"} ); }
        sub sortSize       { $b->{"size"}       <=> $a->{"size"}; }
        sub sortDate       { $b->{"mtime"}      <=> $a->{"mtime"}; }

        # New version with --novalign-comparison-operators
        sub sortName       { $a->{"file"}       cmp $b->{"file"}; }
        sub sortNameNoCase { uc( $a->{"file"} ) cmp uc( $b->{"file"} ); }
        sub sortSize       { $b->{"size"}  <=> $a->{"size"}; }
        sub sortDate       { $b->{"mtime"} <=> $a->{"mtime"}; }

    - Fixed issue git #197, where long lines could be broken before reaching
      the maximum line length in some edge cases when
      --extended-continuation-indentation is set.

    - Implemented issue git #27, docker image for perltidy.

    - Parameters --break-before-all-operators and --break-after-all-operators
      now include control of the following bitwise operators:

           |.= &.= ^.= &. ^. |.

      Breaks around these operators can be individually controlled with
      --want-break-before and --want-break-after.

    - If a long line needs to break at the caret operator, '^', the break will
      now be after the operator rather than before it.  This should have been
      the default. Use --want-break-before='^' to keep breaks before this operator.
      For example:

            # new default breaks long lines after a '^'
            $state->[$kk] =
              $state->[ $kk - 18 ] ^ ( ( $state->[$kk] >> 1 ) & 0x7fffffff ) ^
              $mag01[ $state->[$kk] & 1 ];

            # previous default, and current version with perltidy -wbb='^'
            $state->[$kk] =
              $state->[ $kk - 18 ] ^ ( ( $state->[$kk] >> 1 ) & 0x7fffffff )
              ^ $mag01[ $state->[$kk] & 1 ];

## 2026 02 04

    - Fix issue git #195, where --want-break-before=s and --want-break-after=s
      incorrectly rejected a string 's' with keywords 'and' and 'or'.

    - When --delete-side-comments or --delete-block-comments are used to delete
      comments, comments of the form '## no critic' are not deleted unless
      --ignore-perlcritic-comments, or -ipc, is also set.

    - A new parameter --delete-side-comments-exclusion-pattern=s, or -dscxp=s,
      is available to prevent the --delete-side-comments parameter from deleting
      certain side comments.  The string s defines the leading characters of
      comments which should not be deleted by -dsc. The manual has details.
      One use is to prevent -dsc from deleting closing side comments, which
      begin with two hash symbols. The command to do this is

            perltidy -dsc -dscxp='\#\#' file.pl

      The backslashes are required to get the string past a command line shell.

## 2026 01 09

    - A new parameter --break-at-old-trailing-loops, or -botl, keeps
      existing line breaks at these trailing loop control keywords:
         'for', 'foreach', 'while', 'until'.

      This is the default. For example, given the following two input lines:

        FindExt::scan_ext("../$_")
          foreach qw(cpan dist ext);

      The new default keeps two lines. The previous version flattened the
      statement, since it fits on a single line:

        FindExt::scan_ext("../$_") foreach qw(cpan dist ext);

      Use -nbotl to deactivate this new option.

    - A related new parameter --break-at-old-trailing-conditionals, or -botc
      keeps existing line breaks at trailing conditional control keywords:

          'if', 'unless'.

      This is the default.  The capability was previously handled by
      parameter --break-at-old-logical-breakpoints, or -bol, which was also
      true by default, but which also also controls logical breakpoints,
      such as '&&'. This change simplifies the input.

      Use -nbotc to deactivate this option.

    - A new switch --blanks-before-opening-comments, -bboc, has been added
      for issue git #192.  This is on by default and allows perltidy to insert
      a blank line before full-line comments which start at a new indentation
      level.  Use the negated form to prevent such blank lines, -nbboc
      or --noblanks-before-opening-comments

    - A new parameter --dump-keyword-usage, or -dku, can be used to dump a
      list of the the perl builtin keywords used in a file. A companion flag
      --dump-keyword-usage-list=s can be used to give a specific list of
      keywords or user functions to be included in the list.

    - When the -html option is used with the default --pod2html setting,
      perltidy will look for a pod-to-html formatter in this order:
      Pod::Simple::XHTML, Pod::Simple::HTML, and Pod::Html.  A preferred
      formatter can be selected with --use-pod-formatter=s. Previously
      the only option was Pod::Html, and it can still be selected with
      --use-pod-formatter="Pod::Html". The reason for this update is
      that this older formatter has limitations, and requires the
      creation of a temporary file for data transfer. This update also
      allows formatting of pod text containing non-ascii characters.

    - When perltidy is run with the -html option, and pod is rendered to html
      with Pod::Html, the pod2html option 'backlink' could not be set in
      in previous versions due to a programming error. This has been fixed.
      This setting can now be made by giving perltidy the flag '--podbacklink'.

    - The default for --timeout-in-seconds is reduced from 10 to 5 seconds.
      A default value of 10 seemed excessive. It can be changed with -tos=n.

    - The option --delete-weld-interfering-commas, or -dwic, has been
      made much more accurate. It now makes fewer unnecessary comma deletions.

    - This version does more extensive checking of all string input parameters
      and will exit early on an error.  The intention is to catch input errors
      as early as possible.

    - Fixed issue with --dump-mixed-call-parens. A trailing statement modifier
      such as the following 'if' was incorrectly being counted as having parens:

        return $class if ($old_quote - $new_quote) == 0;


To generate a diff of this commit:
cvs rdiff -u -r1.61 -r1.62 pkgsrc/devel/p5-Perl-Tidy/Makefile
cvs rdiff -u -r1.39 -r1.40 pkgsrc/devel/p5-Perl-Tidy/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/p5-Perl-Tidy/Makefile
diff -u pkgsrc/devel/p5-Perl-Tidy/Makefile:1.61 pkgsrc/devel/p5-Perl-Tidy/Makefile:1.62
--- pkgsrc/devel/p5-Perl-Tidy/Makefile:1.61     Thu Jul 16 19:03:09 2026
+++ pkgsrc/devel/p5-Perl-Tidy/Makefile  Mon Oct  5 07:48:36 2026
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.61 2026/07/16 19:03:09 wiz Exp $
+# $NetBSD: Makefile,v 1.62 2026/10/05 07:48:36 wiz Exp $
 
-DISTNAME=      Perl-Tidy-20250912
+DISTNAME=      Perl-Tidy-20260826
 PKGNAME=       p5-${DISTNAME}
-PKGREVISION=   1
 CATEGORIES=    devel perl5
-MASTER_SITES=  ${MASTER_SITE_PERL_CPAN:=Perl/}
+MASTER_SITES=  ${MASTER_SITE_PERL_CPAN:=../../authors/id/S/SH/SHANCOCK/}
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      https://metacpan.org/pod/Perl::Tidy

Index: pkgsrc/devel/p5-Perl-Tidy/distinfo
diff -u pkgsrc/devel/p5-Perl-Tidy/distinfo:1.39 pkgsrc/devel/p5-Perl-Tidy/distinfo:1.40
--- pkgsrc/devel/p5-Perl-Tidy/distinfo:1.39     Sun Nov 16 02:07:55 2025
+++ pkgsrc/devel/p5-Perl-Tidy/distinfo  Mon Oct  5 07:48:36 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.39 2025/11/16 02:07:55 wen Exp $
+$NetBSD: distinfo,v 1.40 2026/10/05 07:48:36 wiz Exp $
 
-BLAKE2s (Perl-Tidy-20250912.tar.gz) = 9ec7484e772a84482e09b27673c07cfe5bf896cc0b6f6c102767b1b28e462725
-SHA512 (Perl-Tidy-20250912.tar.gz) = 8027051a4fda6c17b691fa452086745d437822c5b758292d7a777c4b9dae9a55e13b2c3005be750e241f88ab65c655f40bf92fffb92da46636f52a989953aa71
-Size (Perl-Tidy-20250912.tar.gz) = 1212139 bytes
+BLAKE2s (Perl-Tidy-20260826.tar.gz) = 892a111ceb8b9369d196448aaad9ab87687c01fec9a35a26184d1140f72184d3
+SHA512 (Perl-Tidy-20260826.tar.gz) = e7124c84dec11bfdd4fba49c5332af98a947b7107d6e852e0e4b2425bc1384fa4c17a903470cada1b5dde17f63f90cbc332f0d97a094926935535e7833d57b2d
+Size (Perl-Tidy-20260826.tar.gz) = 1263303 bytes



Home | Main Index | Thread Index | Old Index