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