Branch: refs/heads/davem/wip_xspod
  Home:   https://github.com/Perl/perl5
  Commit: c62463b1f51bab6252d629c51c8f5d80bcb8d02e
      
https://github.com/Perl/perl5/commit/c62463b1f51bab6252d629c51c8f5d80bcb8d02e
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

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

  Log Message:
  -----------
  perlxs.pod: remove section on %v

The XS parser supported an extremely obscure bit of functionality which
made use of the %v package variable to maintain state between different
bits of typemap processing. This was accidentally broken in 5.10.0:
refactoring removed the 'use vars "%v"' line, and no one seemed to
notice or care.

Also, the sole example of its use in the docs seemed to be obscure,
confusing and probably wrong.

There was a consensus in the discussion at

    http://nntp.perl.org/group/perl.perl5.porters/267667

that we should stop documenting this feature rather than trying to fix
it.


  Commit: 4002d3713dad58d715a31ce9f7e9c5a382b38cb8
      
https://github.com/Perl/perl5/commit/4002d3713dad58d715a31ce9f7e9c5a382b38cb8
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

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

  Log Message:
  -----------
  perlxs.pod: reindent and reformat code examples

The various XS code examples had odd and inconsistent indentation (often
with 5 leading spaces) and inconsistent formatting, e.g. foo(a,b) vs
foo( a, b ) vs foo(a, b). Fix that, and also remove any tab chars.

Whitespace-only change.


  Commit: 3897c5d6aeb3fe611e50d6e53fc69498b938040b
      
https://github.com/Perl/perl5/commit/3897c5d6aeb3fe611e50d6e53fc69498b938040b
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

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

  Log Message:
  -----------
  perlxs.pod: delete most non-ref sections

This commit is a simple cut which deletes several '=head2' sections from
perlxs.pod. The next commit will tidy up and fix any broken links etc.

These sections are more tutorial-like, and aren't in line with the goal
of this branch that perlxs.pod becomes purely a reference manual for XS.
Any relevant information from these sections may be incorporated later
into new sections in perlxs.pod and/or be included in a future rewrite
of perlxstut.pod.

The sections deleted are:

    =head2 Introduction
    =head2 On The Road
    =head2 The Anatomy of an XSUB
    =head2 The Argument Stack
    =head2 The RETVAL Variable
    =head2 Returning SVs, AVs and HVs through RETVAL
    =head2 Returning Undef And Empty Lists
    =head2 Interface Strategy
    =head2 Perl Objects And C Structures


  Commit: 74508d6474d8ba95f3a56065439adcd472285bde
      
https://github.com/Perl/perl5/commit/74508d6474d8ba95f3a56065439adcd472285bde
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

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

  Log Message:
  -----------
  perlxs.pod: fix up links after deleting sections

The previous commit deleted several sections from perlxs.pod. This
commit fixes things up; done as a separate commit so that the changes
aren't drowned out in the diff listing.


  Commit: 606e8dc65cf8e5080aa4578c69ec808f0038408c
      
https://github.com/Perl/perl5/commit/606e8dc65cf8e5080aa4578c69ec808f0038408c
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

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

  Log Message:
  -----------
  perlxs.pod: reorder sections

This big commit does a series of plain cut+pastes to reorder all the
=head2 sections within the file.

This changes the order from semi-random into roughly the order the
various XS keywords would appear within an XS file, and then within an
XSUB declaration/definition.

No changes have been made to the text: simply that all lines from a
particular '^=head2' up until the next head2 have been cut+paste as
a single unit.

No attempt has been made yet to make the text consistent with the new
ordering; that will be done by the subsequent commits of this branch.

The previous ordering in this file was:

    =head1 NAME
    =head1 DESCRIPTION
    =head2 The MODULE Keyword
    =head2 The PACKAGE Keyword
    =head2 The PREFIX Keyword
    =head2 The OUTPUT: Keyword
    =head2 The NO_OUTPUT Keyword
    =head2 The CODE: Keyword
    =head2 The INIT: Keyword
    =head2 The NO_INIT Keyword
    =head2 The TYPEMAP: Keyword
    =head2 Initializing Function Parameters
    =head2 Default Parameter Values
    =head2 The PREINIT: Keyword
    =head2 The SCOPE: Keyword
    =head2 The INPUT: Keyword
    =head2 The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
    =head2 The C<length(NAME)> Keyword
    =head2 Variable-length Parameter Lists
    =head2 The C_ARGS: Keyword
    =head2 The PPCODE: Keyword
    =head2 The REQUIRE: Keyword
    =head2 The CLEANUP: Keyword
    =head2 The POSTCALL: Keyword
    =head2 The BOOT: Keyword
    =head2 The VERSIONCHECK: Keyword
    =head2 The PROTOTYPES: Keyword
    =head2 The PROTOTYPE: Keyword
    =head2 The ALIAS: Keyword
    =head2 The OVERLOAD: Keyword
    =head2 The FALLBACK: Keyword
    =head2 The INTERFACE: Keyword
    =head2 The INTERFACE_MACRO: Keyword
    =head2 The INCLUDE: Keyword
    =head2 The INCLUDE_COMMAND: Keyword
    =head2 The CASE: Keyword
    =head2 The EXPORT_XSUB_SYMBOLS: Keyword
    =head2 The & Unary Operator
    =head2 Inserting POD, Comments and C Preprocessor Directives
    =head2 Using XS With C++
    =head2 Safely Storing Static Data in XS
    =head3 MY_CXT REFERENCE
    =head1 EXAMPLES
    =head1 CAVEATS
    =head2 Use of standard C library functions
    =head2 Event loops and control flow
    =head1 XS VERSION
    =head1 AUTHOR DIAGNOSTICS
    =head1 AUTHOR

and is now:

    =head1 NAME
    =head1 DESCRIPTION
    =head2 The MODULE Keyword
    =head2 The PACKAGE Keyword
    =head2 The PREFIX Keyword
    =head2 Inserting POD, Comments and C Preprocessor Directives
    =head2 The REQUIRE: Keyword
    =head2 The VERSIONCHECK: Keyword
    =head2 The PROTOTYPES: Keyword
    =head2 The EXPORT_XSUB_SYMBOLS: Keyword
    =head2 The INCLUDE: Keyword
    =head2 The INCLUDE_COMMAND: Keyword
    =head2 The TYPEMAP: Keyword
    =head2 The BOOT: Keyword
    =head2 The FALLBACK: Keyword
    =head2 The NO_OUTPUT Keyword
    =head2 The IN/OUTLIST/IN_OUTLIST/OUT/IN_OUT Keywords
    =head2 Default Parameter Values
    =head2 The C<length(NAME)> Keyword
    =head2 Variable-length Parameter Lists
    =head2 The PREINIT: Keyword
    =head2 The INPUT: Keyword
    =head2 The NO_INIT Keyword
    =head2 Initializing Function Parameters
    =head2 The & Unary Operator
    =head2 The SCOPE: Keyword
    =head2 The INIT: Keyword
    =head2 The C_ARGS: Keyword
    =head2 The CODE: Keyword
    =head2 The PPCODE: Keyword
    =head2 The POSTCALL: Keyword
    =head2 The OUTPUT: Keyword
    =head2 The CLEANUP: Keyword
    =head2 The PROTOTYPE: Keyword
    =head2 The OVERLOAD: Keyword
    =head2 The ALIAS: Keyword
    =head2 The INTERFACE: Keyword
    =head2 The INTERFACE_MACRO: Keyword
    =head2 The CASE: Keyword
    =head2 Using XS With C++
    =head2 Safely Storing Static Data in XS
    =head3 MY_CXT REFERENCE
    =head1 EXAMPLES
    =head1 CAVEATS
    =head2 Use of standard C library functions
    =head2 Event loops and control flow
    =head1 XS VERSION
    =head1 AUTHOR DIAGNOSTICS
    =head1 AUTHOR


  Commit: 72628604510065a1ac1b7c0edc9685a18f64e067
      
https://github.com/Perl/perl5/commit/72628604510065a1ac1b7c0edc9685a18f64e067
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

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

  Log Message:
  -----------
  perlxs.pod: add group headers

Following the previous commit's reordering of the all the =head2
sections, demote most of the =head2 headers to =head3, and add some new
=head2 headers which group together related headers.

Also add some =head3's for a few missing keywords.

Subsequent commits will flesh out the new sections.


  Commit: 2918ac9d9dea261efe4eb0a6ed2e408fc0ff1252
      
https://github.com/Perl/perl5/commit/2918ac9d9dea261efe4eb0a6ed2e408fc0ff1252
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: add a new introductory part

Four commits ago, I removed most of the general text sections in
perlxs (i.e. the ones not specifically about a particular keyword).

Now this commit adds a completely new introductory part to perlxs, about
1200 lines long. It represents an attempt to write a background to what
XS and XSUBs, SVs, typemaps etc are, in a complete and modern way.
The existing reference section for each keyword follows it.

I tried to avoid getting too tutorial-like (that's what perlxstut is
for), but I may have crossed the line in various places. In particular
it has a new section which could have been titled "all the bits of
perlguts you need to know in order to write non-trivial XSUBs without
having to actually read perlguts".


  Commit: b1439d3c9edac5f4e0f9b5be3e1e7747812dd41c
      
https://github.com/Perl/perl5/commit/b1439d3c9edac5f4e0f9b5be3e1e7747812dd41c
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: add BNF definition section

Add a section which semi-formally tries to define the syntax and
structue of an XS file, using a BNF-like format.

See http://nntp.perl.org/group/perl.perl5.porters/268701 for the
discussion of this part.


  Commit: d07faeb9e922eaf502b2486ae0e44c1c98184c01
      
https://github.com/Perl/perl5/commit/d07faeb9e922eaf502b2486ae0e44c1c98184c01
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: update MODULE/PACKAGE/PREFIX

Rewrite the POD for these three keywords, and in particular, treat
them as one declaration, rather than three unrelated keywords.


  Commit: b2af12ff414ab9ecec36bd7fbd1c0db8777d1457
      
https://github.com/Perl/perl5/commit/b2af12ff414ab9ecec36bd7fbd1c0db8777d1457
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: update file-scoped directive text

Populate the new

     =head2 File-scoped XS Keywords and Directives

section, partially by cannibalising (and then deleting) the old

    =head3 Inserting POD, Comments and C Preprocessor Directives

subsection. This commit only adds text about directives; subsequent
commits will update the various file-scoped keywords.


  Commit: a70e09a9989fd5c61cc5c0a0e71e0c5ff366e8c6
      
https://github.com/Perl/perl5/commit/a70e09a9989fd5c61cc5c0a0e71e0c5ff366e8c6
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: update REQUIRE, VERSIONCHECK keywords


  Commit: 8e5f4018383310655fb488deb713a97e7b2e8af3
      
https://github.com/Perl/perl5/commit/8e5f4018383310655fb488deb713a97e7b2e8af3
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

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


  Commit: a5936c626b4317b5b3f674745dfa54139dc5fe02
      
https://github.com/Perl/perl5/commit/a5936c626b4317b5b3f674745dfa54139dc5fe02
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: update EXPORT_XSUB_SYMBOLS, INCLUDE(_COMMAND)


  Commit: 06e2bf961026a1c080f6e07ec575bb5549a3700d
      
https://github.com/Perl/perl5/commit/06e2bf961026a1c080f6e07ec575bb5549a3700d
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

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


  Commit: 51cf61c4bcec8e8e278396beb45db35cc1f912a2
      
https://github.com/Perl/perl5/commit/51cf61c4bcec8e8e278396beb45db35cc1f912a2
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

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


  Commit: 4b7e968d3d862bdf689d5efd44df8f53877830b7
      
https://github.com/Perl/perl5/commit/4b7e968d3d862bdf689d5efd44df8f53877830b7
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

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


  Commit: 6b7ea45d3ae0cf3517ab29bdc2efe0adbe088250
      
https://github.com/Perl/perl5/commit/6b7ea45d3ae0cf3517ab29bdc2efe0adbe088250
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: update XSUB Structure + Declaration

Populate the new

    =head2 The Structure of an XSUB
    =head2 An XSUB Declaration

sections


  Commit: 7a79a68c50699cdbd5290d59a0021ea285bab886
      
https://github.com/Perl/perl5/commit/7a79a68c50699cdbd5290d59a0021ea285bab886
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: update section 'An XSUB Parameter'

Add some initial text for this new section, and also add a new
subsection "XSUB Parameter Placeholders".


  Commit: 0795297552aa5cef47ba7d1530ee2136a2fcfc48
      
https://github.com/Perl/perl5/commit/0795297552aa5cef47ba7d1530ee2136a2fcfc48
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  perlxs.pod: update IN_OUT etc section


  Commit: 689beeddc21a502a74a80dc56f1e86ea3e098253
      
https://github.com/Perl/perl5/commit/689beeddc21a502a74a80dc56f1e86ea3e098253
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: b4b6fd537b02b3078313915ecd6dea77666d7e5c
      
https://github.com/Perl/perl5/commit/b4b6fd537b02b3078313915ecd6dea77666d7e5c
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 3a1c658f8bf6665c9e2cd78c9ce1848e916f1ab5
      
https://github.com/Perl/perl5/commit/3a1c658f8bf6665c9e2cd78c9ce1848e916f1ab5
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 5af0bb0d84203ed62503e03ab8b6e3798d37ea89
      
https://github.com/Perl/perl5/commit/5af0bb0d84203ed62503e03ab8b6e3798d37ea89
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

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


  Commit: 603febb06a389986a72d1c3be2e3830a41c9652a
      
https://github.com/Perl/perl5/commit/603febb06a389986a72d1c3be2e3830a41c9652a
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 8c135ddbeb18bc988d1d9cf48aed67e9141d6cf2
      
https://github.com/Perl/perl5/commit/8c135ddbeb18bc988d1d9cf48aed67e9141d6cf2
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 71a7f673d21985a34a20d084734f4c38619345a2
      
https://github.com/Perl/perl5/commit/71a7f673d21985a34a20d084734f4c38619345a2
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 8b8360dbf2e439b0bd3f049504c7f92a01886169
      
https://github.com/Perl/perl5/commit/8b8360dbf2e439b0bd3f049504c7f92a01886169
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 38618ef3c2c0aadc9dfa3016368dd740b4946cec
      
https://github.com/Perl/perl5/commit/38618ef3c2c0aadc9dfa3016368dd740b4946cec
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 18ffc99787238c95619c9ad69fc8ee680f14943a
      
https://github.com/Perl/perl5/commit/18ffc99787238c95619c9ad69fc8ee680f14943a
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 8fc5f7ad0d963f02545d74f9e085add68495d0e0
      
https://github.com/Perl/perl5/commit/8fc5f7ad0d963f02545d74f9e085add68495d0e0
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 1f225e6319b61acca6ae4e3e86c2d495d56b0ec9
      
https://github.com/Perl/perl5/commit/1f225e6319b61acca6ae4e3e86c2d495d56b0ec9
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 922df27f4389dc773091c4e4d8292a0a04c3275e
      
https://github.com/Perl/perl5/commit/922df27f4389dc773091c4e4d8292a0a04c3275e
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 7291e7b6e8cf0bd110db48142cd54ff4d7a6c454
      
https://github.com/Perl/perl5/commit/7291e7b6e8cf0bd110db48142cd54ff4d7a6c454
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: d61c934c4747709c4416c4dcc09fcefc79fbec70
      
https://github.com/Perl/perl5/commit/d61c934c4747709c4416c4dcc09fcefc79fbec70
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: e39e76c2fae8cafa0533d90ffd9fcd6cccb0d22d
      
https://github.com/Perl/perl5/commit/e39e76c2fae8cafa0533d90ffd9fcd6cccb0d22d
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 683f8f4436a7350319f8cfd09fa8ca865e887925
      
https://github.com/Perl/perl5/commit/683f8f4436a7350319f8cfd09fa8ca865e887925
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: a0f0d0120ac945b91f89fcece56dba7acefa4a17
      
https://github.com/Perl/perl5/commit/a0f0d0120ac945b91f89fcece56dba7acefa4a17
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 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: 4d6f204f3b1143c598a1990fd878a736e46dbe32
      
https://github.com/Perl/perl5/commit/4d6f204f3b1143c598a1990fd878a736e46dbe32
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  XXX Using Typemaps

write "Using Typemaps" section


Compare: https://github.com/Perl/perl5/compare/c62463b1f51b%5E...4d6f204f3b11

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

Reply via email to