develooper Front page | perl.perl5.changes | Postings from November 2022

[Perl/perl5] 7d6c30: ParseXS - sort things that might produce output

From:
Yves Orton via perl5-changes
Date:
November 14, 2022 10:18
Subject:
[Perl/perl5] 7d6c30: ParseXS - sort things that might produce output
Message ID:
Perl/perl5/push/refs/heads/yves/parsexs/b9af18-9e79a9@github.com
  Branch: refs/heads/yves/parsexs
  Home:   https://github.com/Perl/perl5
  Commit: 7d6c307c6e89660961d824d3a510b307cc34467b
      https://github.com/Perl/perl5/commit/7d6c307c6e89660961d824d3a510b307cc34467b
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

  Log Message:
  -----------
  ParseXS - sort things that might produce output

Make sure our output is deterministic.


  Commit: 68889a318deae579035f15ad9517458903515ff0
      https://github.com/Perl/perl5/commit/68889a318deae579035f15ad9517458903515ff0
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M MANIFEST
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/t/001-basic.t
    A dist/ExtUtils-ParseXS/t/XSTightDirectives.xs

  Log Message:
  -----------
  ParseXS - handle #else and #endif without blank line prefixes

This patch makes it possible to omit some of the whitespace around
preprocessor directives. It teaches fetch_para() to understand
that a #else or #endif directive that does not end a #if that
was seen in the current "paragraph" should not be parsed as part
of that paragraph. This means that a conditional block that defines
the same sub under different define conditions need not have extra
whitespace after each sub definition.


  Commit: 00cd2edce50dce155cb97a84e9237947c655dea8
      https://github.com/Perl/perl5/commit/00cd2edce50dce155cb97a84e9237947c655dea8
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M MANIFEST
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/lib/perlxs.pod
    M dist/ExtUtils-ParseXS/t/001-basic.t
    A dist/ExtUtils-ParseXS/t/XSAlias.xs

  Log Message:
  -----------
  ParseXS - better support for duplicate ALIASes

Sometimes you *want* to create multiple names for the same
functionality, but doing so with the ALIAS functionality requires
awkward workarounds. This adds a new "symbolic alias" that does
not warn on dupes as creating a dupe is its whole point. For a
symbolic alias the value is the name of an existing alias.

This also cleans up some of the warnings related to aliases so
we distinguish between when a duplicate is truly ignored or
where it overrides a previous value. And deal with a few other
edge cases properly.


  Commit: 768fc9241f3d4d548d87f53a0e9d14e0c8551147
      https://github.com/Perl/perl5/commit/768fc9241f3d4d548d87f53a0e9d14e0c8551147
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/t/001-basic.t
    M dist/ExtUtils-ParseXS/t/XSAlias.xs

  Log Message:
  -----------
  ParseXS - allow symbolic alias of default function

Also normalize warnings. It used to be if you created an alias
of the root function (0) no warning would be produced. Now
we will produce a warning, but we also allow symbolic references
to defuse the warning.


  Commit: e000766e0c74d3b62f4aa3089b58217b81340c2a
      https://github.com/Perl/perl5/commit/e000766e0c74d3b62f4aa3089b58217b81340c2a
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

  Log Message:
  -----------
  ParseXS - add support for elifdef and elifndef

The upcoming C++23 and C23 standards add #elifdef, #elifndef.


  Commit: 9e79a9512c4a6d794bb9177d0d98bbce028fdb2a
      https://github.com/Perl/perl5/commit/9e79a9512c4a6d794bb9177d0d98bbce028fdb2a
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm
    M dist/ExtUtils-ParseXS/lib/perlxs.pod
    M dist/ExtUtils-ParseXS/t/001-basic.t

  Log Message:
  -----------
  ParseXS - version bump to 3.48 and test perlxs.pod has the right version

The version in the pod has been long wrong. We are on 3.48 now, it was 3.13_01.


Compare: https://github.com/Perl/perl5/compare/b9af180b2068...9e79a9512c4a



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About