Branch: refs/heads/davem/typemap_order Home: https://github.com/Perl/perl5 Commit: 99216c38b275bdb8a8f4f1557522c549a46c1f3d https://github.com/Perl/perl5/commit/99216c38b275bdb8a8f4f1557522c549a46c1f3d Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025)
Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm Log Message: ----------- ParseXS: don't import standard_typemap_locations() ExtUtils::ParseXS imports standard_typemap_locations() but doesn't actually use it: the code which used to need it has since been moved to ExtUtils/ParseXS/Utilities.pm. So remove it from the import list. Commit: 7f0f8d296430624b25f3624a339c64990b187e7c https://github.com/Perl/perl5/commit/7f0f8d296430624b25f3624a339c64990b187e7c Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/t/101-standard_typemap_locations.t Log Message: ----------- ParseXS: add tests for standard_typemap_locations Add some more tests to ExtUtils-ParseXS/t/101-standard_typemap_locations. In particular, this time with a faked-up @INC. This is mainly so that the next few commits will only change the things we expect when updating standard_typemap_locations(). Note that this new test directly tests for expected strings such as '../../typemap', rather than using File::Spec->updir() etc. This is to avoid the test code being essentially a duplicate of the sub code. It skips this test on platforms which don't seem to use '..' etc. Commit: 4a3ccd0a9cf16e12d0913e0908ec66bda8de82f5 https://github.com/Perl/perl5/commit/4a3ccd0a9cf16e12d0913e0908ec66bda8de82f5 Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm M dist/ExtUtils-ParseXS/t/101-standard_typemap_locations.t Log Message: ----------- ParseXS: standard_typemap_locations(): skip -e standard_typemap_locations() returns a set of filenames for where a typemap file map be expected, relative to both the current directory and to @INC. The @INC files are filtered using -e, but the others (../../typemap etc) aren't. This commit removes the -e filtering for @INC, for consistency. This means that standard_typemap_locations() now returns a list of filenames of *all* the standard locations where a typemap file *might* be found, regardless of whether the file exists. Previously it was a weird hybrid. This commit should make no difference in practice, since the one caller of this function, process_typemaps() does it's own -f filtering too. So really the net effect of this commit is to remove a few duplicate stat() OS calls. It also allows one existing test to be simplified, since now there will always be one returned entry per @INC entry, whereas before it might have been less. Commit: 385faa5fc6aea4ab4bcab1a92f8d0ab42603464d https://github.com/Perl/perl5/commit/385faa5fc6aea4ab4bcab1a92f8d0ab42603464d Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm Log Message: ----------- ParseXS: update standard_typemap_locations() docs Simplify the text describing what this function does. Commit: 34a7eee079d1f6bcb7272b73da0ecf580f9318d5 https://github.com/Perl/perl5/commit/34a7eee079d1f6bcb7272b73da0ecf580f9318d5 Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm Log Message: ----------- ParseXS: standard_typemap_locations(): rm cache standard_typemap_locations() has a static variable, @tm_template, which it populates with all the '../../typemap' etc paths on first call, then reuses on subsequent calls. This doesn't seem very useful, since standard_typemap_locations() is typically only called once per run of xsubpp etc. And anyway, regenerating those paths (which doesn't involve any IO) isn't costly. So simplify the code by removing the cache. Commit: 3bb8145cb00077d44353118091945e7ff08d546b https://github.com/Perl/perl5/commit/3bb8145cb00077d44353118091945e7ff08d546b Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm Log Message: ----------- ParseXS: standard_typemap_locations(): reindent Reindent after previous removed some scopes. White-space only. Commit: d48f42e94adad0b7b7859dc0d3a4b72e5ee53dce https://github.com/Perl/perl5/commit/d48f42e94adad0b7b7859dc0d3a4b72e5ee53dce Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm Log Message: ----------- ParseXS: standard_typemap_locations(): use push Currently this function builds a list of paths in reverse order, but *unshifts* each result one by one so that they end up in the right order. This commit switches the order of generation and *pushes* the result each time. The net result is the same, but its less cognitive load working out what's going on. Commit: e40f5cebce835b51d63a665be7bca3ce40c81420 https://github.com/Perl/perl5/commit/e40f5cebce835b51d63a665be7bca3ce40c81420 Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm Log Message: ----------- ParseXS: process_typemaps(): update docs Make them a bit clearer. Commit: 514ead9dd569297ede1adb4ead8ec4bb9d9b0766 https://github.com/Perl/perl5/commit/514ead9dd569297ede1adb4ead8ec4bb9d9b0766 Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp Log Message: ----------- xsubpp: update typemap content in man page What the man page said concerning typemaps, and especially the search path, was out of date. Commit: 75f477fa2b035e404f035d3942e8fad9cce6d111 https://github.com/Perl/perl5/commit/75f477fa2b035e404f035d3942e8fad9cce6d111 Author: David Mitchell <da...@iabyn.com> Date: 2025-09-07 (Sun, 07 Sep 2025) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp M dist/ExtUtils-ParseXS/t/106-process_typemaps.t M dist/ExtUtils-ParseXS/t/600-t-compat.t Log Message: ----------- ParseXS, xsubpp: raise priority of -typemap args Prior to 5.10. / 5.8.9, any -typemap arguments to xsubpp were applied last, and thus had the highest priority. From 5.10.0 this was changed (probably inadvertently) so that the -typemap entries were applied first, and so the system and ./typemap files took priority. This commit reverses that change, so that -typemap files are again applied last. Compare: https://github.com/Perl/perl5/compare/99216c38b275%5E...75f477fa2b03 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications