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

Reply via email to