Branch: refs/heads/davem/wip_xspod
  Home:   https://github.com/Perl/perl5
  Commit: 9cc350631033876535bac5ecba48fb46611d3095
      
https://github.com/Perl/perl5/commit/9cc350631033876535bac5ecba48fb46611d3095
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M XSUB.h
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update default, length(s), ... params

Rewrite (and retitle) these three subsections:

    =head3 Default Parameter Values
    =head3 The C<length(NAME)> Keyword
    =head3 Variable-length Parameter Lists


  Commit: 91d1522660e07f1b8fcf8bd2aaacd827a7168157
      
https://github.com/Perl/perl5/commit/91d1522660e07f1b8fcf8bd2aaacd827a7168157
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: Input part, PREINIT sections

Add text for the new '=head2 The XSUB Input Part' section, and rewrite
the existing entry for the PREINIT keyword.


  Commit: 7161be834d6f958f63a5eb9f419320e3b567ddd8
      
https://github.com/Perl/perl5/commit/7161be834d6f958f63a5eb9f419320e3b567ddd8
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update 'The INPUT: Keyword' section

This commit completely rewrites this section and subsections:

    =head3 The INPUT: Keyword
        =head4 The NO_INIT Keyword
        =head4 Initializing Function Parameters
        =head4 The & Unary Operator

It de-emphasises the INPUT keyword and suggests using ANSI XS signatures
etc instead.


  Commit: 383515ff1a5d207fec6df80ef391c8f6a3a870de
      
https://github.com/Perl/perl5/commit/383515ff1a5d207fec6df80ef391c8f6a3a870de
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update 'SCOPE: Keyword' section


  Commit: c34a1181411aa7a785ed40f42aee71974b2bbec9
      
https://github.com/Perl/perl5/commit/c34a1181411aa7a785ed40f42aee71974b2bbec9
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: init part, INIT sections

Add text for the new '=head2 The XSUB Init Part' section, and rewrite
the existing entry for the INIT keyword.


  Commit: 1744e61f22d85e7e1718f32bb6be80d44d865fa3
      
https://github.com/Perl/perl5/commit/1744e61f22d85e7e1718f32bb6be80d44d865fa3
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: code part, autocall, C_ARGS

Add text to the new

    =head2 The XSUB Code Part
    =head3 Auto-calling a C function

sections, and rewrite the existing

    =head4 The C_ARGS: Keyword

section


  Commit: a0042e8b99ce5533a34b2523df808461b85e149d
      
https://github.com/Perl/perl5/commit/a0042e8b99ce5533a34b2523df808461b85e149d
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: CODE, PPCODE

Rewrite these sections:

    =head3 The CODE: Keyword
    =head3 The PPCODE: Keyword


  Commit: 03f3d8b816a452ec5b861bcecb829d3d6c23c8fb
      
https://github.com/Perl/perl5/commit/03f3d8b816a452ec5b861bcecb829d3d6c23c8fb
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update NOT_IMPLEMENTED_YET: keyword

This keyword formerly wasn't documented. The docs now say "this is what
it is, but don't use it".


  Commit: 1018b90501ece1a7a4459b639a35043b5417ead4
      
https://github.com/Perl/perl5/commit/1018b90501ece1a7a4459b639a35043b5417ead4
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: output part

Add text to the new

    =head2 The XSUB Output Part

section, and rewrite the text in these existing sections:

    =head3 The POSTCALL: Keyword
    =head3 The OUTPUT: Keyword


  Commit: 31b44be8924a7d426c4787d7e593835996e56ef6
      
https://github.com/Perl/perl5/commit/31b44be8924a7d426c4787d7e593835996e56ef6
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: cleanup part

Add text to the new

    =head2 The XSUB Cleanup Part

section, and rewrite the text in this existing section:

 =head3 The CLEANUP: Keyword


  Commit: 273a91c1f1ad1a431ab05fa577b2fc675f57d8ec
      
https://github.com/Perl/perl5/commit/273a91c1f1ad1a431ab05fa577b2fc675f57d8ec
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update generic intro, PROTOTYPE

Add text to the new

    =head2 XSUB Generic Keywords

section, and rewrite the text in this existing section:

    =head3 The PROTOTYPE: Keyword


  Commit: 2864ffc7847edd3a2d5501e95683ed90f97a0b19
      
https://github.com/Perl/perl5/commit/2864ffc7847edd3a2d5501e95683ed90f97a0b19
  Author: David Mitchell <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: mention package name types

Explain that a 'C' parameter type in an XSUB declaration can actually
be a Perl package name or similar, e.g.

    Foo::Bar
    f(Foo::Bar obj, char *s)


  Commit: 6a7025fed743883007c7112adec0ca45ee5ac3fe
      
https://github.com/Perl/perl5/commit/6a7025fed743883007c7112adec0ca45ee5ac3fe
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update OVERLOAD, add T_PTROBJ

First, add a new subsection

    =head3 T_PTROBJ and opaque handles

to the TYPEMAPs section explaining how this typemap can be used to
map between Perl objects and C library handles. It provides a
fully-worked example of wrapping a simple arithmetic library.

Then completely rewrite the

    =head3 The OVERLOAD: Keyword

section. In particular, it now refers to the new T_PTROBJ example and
shows how it can be extended to use overloading.


  Commit: 813423d90161580a565b4dd90556b3d9d1046589
      
https://github.com/Perl/perl5/commit/813423d90161580a565b4dd90556b3d9d1046589
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: document ATTRS

This keyword was undocumented, even though it had been added 25 years
ago.


  Commit: e97589946409d64a1f8e7a85a588a996b3b77cf4
      
https://github.com/Perl/perl5/commit/e97589946409d64a1f8e7a85a588a996b3b77cf4
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: add "Sharing XSUB bodies" section

Populate the introduction to this new section.


  Commit: 0e74c95e70ec063c1cd4aecc41b4b1097b74d5c6
      
https://github.com/Perl/perl5/commit/0e74c95e70ec063c1cd4aecc41b4b1097b74d5c6
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: ALIAS

Rewrite this section:

    =head3 The ALIAS: Keyword


  Commit: ce2509fe04471f047439a99cb006397bb30a2c2d
      
https://github.com/Perl/perl5/commit/ce2509fe04471f047439a99cb006397bb30a2c2d
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update INTERFACE, INTERFACE_MACRO

Rewrite these sections:

 =head3 The INTERFACE: Keyword
 =head3 The INTERFACE_MACRO: Keyword

also demote the second to be a head4 child of the first. Then expand
the T_PTROBJ example to use INTERFACE as an alternative to ALIAS.


  Commit: f16ca14bc18f2af60910038dfb0cc81d19349628
      
https://github.com/Perl/perl5/commit/f16ca14bc18f2af60910038dfb0cc81d19349628
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: update: CASE

Rewrite this section:

    =head3 The CASE: Keyword


  Commit: e8d92cd049f26a2b9aa6e19d3fff22a7a0f71de0
      
https://github.com/Perl/perl5/commit/e8d92cd049f26a2b9aa6e19d3fff22a7a0f71de0
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs.pod: add "Using Typemaps" section

Populate this new section (except for the T_PTROBJ subsection, which had
already been added by an earlier commit within this branch).

Note that the "Common typemaps" subsection could probably benefit
from some further expansion by someone familiar with which built-in
T_FOO entries are useful.


  Commit: 558681c78e13c5bf1a40ea8fd36886d404024032
      
https://github.com/Perl/perl5/commit/558681c78e13c5bf1a40ea8fd36886d404024032
  Author: David Mitchell <[email protected]>
  Date:   2025-09-28 (Sun, 28 Sep 2025)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod
    M t/porting/known_pod_issues.dat

  Log Message:
  -----------
  perlxs.pod: update "Using XS With C++" section

Rewrite this section:

 =head2 Using XS With C++

Disclaimer: I've never written a proper C++ program. I had to
(literally) dust off my 34-year old copy of Stroustrup(*) and also do
some Googling. Hopefully what I've written is sane.

(*) This was bought back in the days when people used to to learn things
by buying books, and when I thought that I ought to know something about
this new-fangled C++ thing. I never got round to reading all of it: I
discovered Perl around the same time, which looked to be a lot more fun.


Compare: https://github.com/Perl/perl5/compare/4d6f204f3b11...558681c78e13

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

Reply via email to