Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 9cd5757dce9a4cb7bc255f52e311c32cffe78969
      
https://github.com/Perl/perl5/commit/9cd5757dce9a4cb7bc255f52e311c32cffe78969
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: stop inadvertently disabling field checks

Recently added code of mine did a conditional 'require fields' within an
eval. That require actually had a syntax error, so 'use fields' was
*never* being enabled, so compile-time field checks weren't being done.


  Commit: 23b6c85e42cfc1d99a494ae2f2569e4fffbf16ff
      
https://github.com/Perl/perl5/commit/23b6c85e42cfc1d99a494ae2f2569e4fffbf16ff
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/t/104-map_type.t

  Log Message:
  -----------
  ParseXS: fixup RetainCplusplusHierarchicalTypes

The object field RetainCplusplusHierarchicalTypes was recently renamed
with a config_prefix, but a few places were missed.


  Commit: 519a0e747aa7319a78c69ef8aa12558357cf494d
      
https://github.com/Perl/perl5/commit/519a0e747aa7319a78c69ef8aa12558357cf494d
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: remove processing_arg_with_types field

Eliminate the 'processing_arg_with_types' object field. This is just
temporarily set to signal to the INPUT_handler() method that it is
being called directly to process synthetic lines generated from types
in an ANSI signature, rather than from seeing real INPUT lines in the
source file.

This is clumsy action-at-a-distance, and this commit instead gives
INPUT_handler() an extra boolean arg to indicate this.


  Commit: 93cff3dfa8114a101fd1340a10afd93f88b0dccf
      
https://github.com/Perl/perl5/commit/93cff3dfa8114a101fd1340a10afd93f88b0dccf
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: tweak xsub_map_argname_to_islength type

The 'xsub_map_argname_to_islength' field indicates, for each signature
parameter, whether it is of the form 'length(foo)'. Unlike
all the other xsub_map_foo_to_bar boolean object field hashes, it
indicates truthfulness by *existence* rather than by the hash value.

This commit changes the value to be boolean for consistency


  Commit: f33c4cdbf075ddaabe2ad26dc8bfa57bc199a16b
      
https://github.com/Perl/perl5/commit/f33c4cdbf075ddaabe2ad26dc8bfa57bc199a16b
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: tweak config_allow_exceptions field

Make this object field a true boolean. Formerly it was set to ' TRY' or
'', and mostly used as boolean, but used for its string value in one
place. This commit makes it a boolean always and in that one place,
explicitly chooses to print TRY (or not).


  Commit: 8c181021d0dfaa3f5e6dc0ce618fb83805a41e7f
      
https://github.com/Perl/perl5/commit/8c181021d0dfaa3f5e6dc0ce618fb83805a41e7f
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: rename $SymSet lex var to $VMS_SymSet

This var is only used under VMS.


  Commit: 81f12fa261ff44cbf55842003e7a53192b6a8ed2
      
https://github.com/Perl/perl5/commit/81f12fa261ff44cbf55842003e7a53192b6a8ed2
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: delete var_num field

This field was originally a global var, but got converted into an object
field when the body of xsubpp was extracted into a module.

It's actually only used for temporary values within INPUT_handler() and
OUTPUT_handler(), so convert it into two lex vars.


  Commit: 838d87cf734fb52f79886cffc3775084e2ac3610
      
https://github.com/Perl/perl5/commit/838d87cf734fb52f79886cffc3775084e2ac3610
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: add bootcode_later field

During parsing an XS file, two arrays are maintained for lines to be
inserted into the boot XSUB: one for early on, and one for lines to be
inserted later.

The former is maintained in the object field 'bootcode_early', while the
latter was maintained in a lexical var within process_file(),
$BootCode_ref.

For consistency, this commit changes the latter to be an object field
too, 'bootcode_later'.


  Commit: 36f1c6f4f08f6d787fb23da23d0be79d0d48ad42
      
https://github.com/Perl/perl5/commit/36f1c6f4f08f6d787fb23da23d0be79d0d48ad42
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: add XS_parse_stack_top_if_idx field

'XS_parse_stack' is already an object field. Make the lexical variable
'$XSS_top_if_idx', which holds an index into that stack, into an object
field too.

Although that value is only currently used within the main body of the
process_file() method, it is logically part of the parser state.


  Commit: 880a1dac7df3791d34e6db2ab8239d13d777f7d3
      
https://github.com/Perl/perl5/commit/880a1dac7df3791d34e6db2ab8239d13d777f7d3
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: rationalise some $seen_FOO lexical vars

There are various per-XSUB lexical vars in process_file() such as
$seen_PPCODE. Rearrange them such that:

1) they are all declared and initialised to false at the top of the
   per-XSUB loop.

2) they are all strictly boolean (except $seen_extern_C for now):
   previously, some were true if defined.

3) there are no longer any 'my $x = 1 if ....' nasties.

This is in preparation for them becoming object fields instead.

In theory there should be no changes to behaviour.


  Commit: f40adfca9e7f464dfe97b4dd0fced20d8e060f9b
      
https://github.com/Perl/perl5/commit/f40adfca9e7f464dfe97b4dd0fced20d8e060f9b
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: make $seen_extern_C truly boolean

In process_file() this lexical var starts off boolean, but then
at the end of it's period of use is converted into a string based on its
value. This commit keeps it as a boolean and puts the string in a
separate temporary var.


  Commit: d738fa90e7a8b7e1421937c53f35eab9d5c39e90
      
https://github.com/Perl/perl5/commit/d738fa90e7a8b7e1421937c53f35eab9d5c39e90
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: rationalise some more lexical vars

Tidy a couple of lexical vars in process_file().

Rename $orig_args to $signature, and move it and $class's declarations
to the top of loop.

This is in preparation for them becoming object fields instead.

In theory there should be no changes to behaviour.


  Commit: c9ef0c796424d557643d76b17502208ccfb60c76
      
https://github.com/Perl/perl5/commit/c9ef0c796424d557643d76b17502208ccfb60c76
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  ParseXS: turn some lex vars into object fields

The following lexical vars happen to only be used within process_file(),
but they represent parsing state about the current XSUB, which would be
better stored within the extutils::parseXS object.

So convert a bunch of $foo into $self->{xsub_foo}. In particular:

    $seen_NO_RETURN
    $seen_extern_C
    $seen_static
    $seen_PPCODE
    $seen_CODE
    $seen_INTERFACE
    $seen_ellipsis
    $class
    $signature


  Commit: 5311a773b40f0dab47c992951fbcfca45ebfb943
      
https://github.com/Perl/perl5/commit/5311a773b40f0dab47c992951fbcfca45ebfb943
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/t/111-analyze_preprocessor_statements.t

  Log Message:
  -----------
  ParseXS: analyze_preprocessor_statements(): rm arg

Remove the $XSS_work_idx arg and return value from

    ExtUtils::ParseXS::Utilities::analyze_preprocessor_statements().

This used to to be used to update a lexical var in the caller, but that
lexical var is now an object field, $self->{XS_parse_stack_top_if_idx},
so just update it directly in the method.


  Commit: 6292c420bf59ed830e13dcbd4e64775a59be53a6
      
https://github.com/Perl/perl5/commit/6292c420bf59ed830e13dcbd4e64775a59be53a6
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/t/111-analyze_preprocessor_statements.t

  Log Message:
  -----------
  ParseXS: analyze_preprocessor_statements: rm arg 2

Remove the $BootCode_ref arg and return value from

    ExtUtils::ParseXS::Utilities::analyze_preprocessor_statements().

This used to to be used to update a lexical var in the caller, but that
lexical var is now an object field, $self->{bootcode_later},
so just update it directly in the method.


  Commit: e8bb8ad0d2455c95a571903b063f4048e19bbf91
      
https://github.com/Perl/perl5/commit/e8bb8ad0d2455c95a571903b063f4048e19bbf91
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/t/111-analyze_preprocessor_statements.t

  Log Message:
  -----------
  ParseXS: analyze_preprocessor_statements(): no ret

In

    ExtUtils::ParseXS::Utilities::analyze_preprocessor_statements()

don't return the value $self. It hasn't been updated in any way, and so
returning it is pointless.

Also, make its callers use use method calling syntax rather than passing
$self as an argument.

And update a few relevant code comments.


  Commit: 8905a602946e33f69fed9d9cf0177612714d2aeb
      
https://github.com/Perl/perl5/commit/8905a602946e33f69fed9d9cf0177612714d2aeb
  Author: David Mitchell <da...@iabyn.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/t/111-analyze_preprocessor_statements.t

  Log Message:
  -----------
  ParseXS: analyze_preprocessor_statements: s/s$//

Rename
    ExtUtils::ParseXS::Utilities::analyze_preprocessor_statements().
to
    ExtUtils::ParseXS::Utilities::analyze_preprocessor_statement().

since it only processes one statement.


Compare: https://github.com/Perl/perl5/compare/c6e3989aeda9...8905a602946e

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to