develooper Front page | perl.perl5.porters | Postings from May 2016

Re: Adding stuff to mathoms.c is now simplified, generalized

Thread Previous | Thread Next
Dave Mitchell
May 23, 2016 15:01
Re: Adding stuff to mathoms.c is now simplified, generalized
Message ID:
On Wed, May 18, 2016 at 08:46:48PM +0100, Nicholas Clark wrote:
> It's as much source compatibility.

Ah I see.

I've added the following text to mathoms.c which hopefully describes the
current situation:

commit d7244c9a613101b97077ed781e11a729c347555c
Author:     David Mitchell <>
AuthorDate: Mon May 23 15:45:20 2016 +0100
Commit:     David Mitchell <>
CommitDate: Mon May 23 15:45:20 2016 +0100

    mathoms.c: add explanation why fns must be kept

Affected files ...
    M	mathoms.c

Differences ...

diff --git a/mathoms.c b/mathoms.c
index 6c60328..0ebf434 100644
--- a/mathoms.c
+++ b/mathoms.c
@@ -21,8 +21,16 @@
  * This file contains mathoms, various binary artifacts from previous
- * versions of Perl.  For binary or source compatibility reasons, though,
- * we cannot completely remove them from the core code.
+ * versions of Perl which we cannot completely remove from the core
+ * code. There are two reasons functions should be here:
+ *
+ * 1) A function has been been replaced by a macro within a minor release,
+ *    so XS modules compiled against an older release will expect to
+ *    still be able to link against the function
+ * 2) A function Perl_foo(...) with #define foo Perl_foo(aTHX_ ...)
+ *    has been replaced by a macro, e.g. #define foo(...) foo_flags(...,0)
+ *    but XS code may still explicitly use the long form, i.e.
+ *    Perl_foo(aTHX_ ...)
  * REMEMBER to update when adding a function to mathoms.c whose
  * name doesn't begin with "Perl_".

All wight. I will give you one more chance. This time, I want to hear
no Wubens. No Weginalds. No Wudolf the wed-nosed weindeers.
    -- Life of Brian

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About