This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
new perldelta
[perl5.git] / patchlevel.h
index 1c097ab..1a26052 100644 (file)
@@ -8,14 +8,38 @@
  *
  */
 
+/*
+=for apidoc AmDnU|U8|PERL_REVISION
+The major number component of the perl interpreter currently being compiled or
+executing.  This has been C<5> from 1993 into 2020.
+
+Instead use one of the version comparison macros.  See C<L</PERL_VERSION_EQ>>.
+
+=for apidoc AmDnU|U8|PERL_VERSION
+The minor number component of the perl interpreter currently being compiled or
+executing.  Between 1993 into 2020, this has ranged from 0 to 33.
+
+Instead use one of the version comparison macros.  See C<L</PERL_VERSION_EQ>>.
+
+=for apidoc AmDnU|U8|PERL_SUBVERSION
+The micro number component of the perl interpreter currently being compiled or
+executing.  In stable releases this gives the dot release number for
+maintenance updates.  In development releases this gives a tag for a snapshot
+of the status at various points in the development cycle.
+
+Instead use one of the version comparison macros.  See C<L</PERL_VERSION_EQ>>.
+
+=cut
+*/
+
 #ifndef __PATCHLEVEL_H_INCLUDED__
 
 /* do not adjust the whitespace! Configure expects the numbers to be
  * exactly on the third column */
 
 #define PERL_REVISION  5               /* age */
-#define PERL_VERSION   28              /* epoch */
-#define PERL_SUBVERSION        0               /* generation */
+#define PERL_VERSION   39              /* epoch */
+#define PERL_SUBVERSION        8               /* generation */
 
 /* The following numbers describe the earliest compatible version of
    Perl ("compatibility" here being defined as sufficient binary/API
@@ -35,8 +59,8 @@
    changing them should not be necessary.
 */
 #define PERL_API_REVISION      5
-#define PERL_API_VERSION       28
-#define PERL_API_SUBVERSION    0
+#define PERL_API_VERSION       39
+#define PERL_API_SUBVERSION    8
 /*
    XXX Note:  The selection of non-default Configure options, such
    as -Duselonglong may invalidate these settings.  Currently, Configure
 #endif
 
 /*
-       local_patches -- list of locally applied less-than-subversion patches.
-       If you're distributing such a patch, please give it a name and a
-       one-line description, placed just before the last NULL in the array
-       below.  If your patch fixes a bug in the perlbug database, please
-       mention the bugid.  If your patch *IS* dependent on a prior patch,
-       please place your applied patch line after its dependencies. This
-       will help tracking of patch dependencies.
-
-       Please either use 'diff --unified=0' if your diff supports
-       that or edit the hunk of the diff output which adds your patch
-       to this list, to remove context lines which would give patch
-       problems. For instance, if the original context diff is
-
-          *** patchlevel.h.orig        <date here>
-          --- patchlevel.h     <date here>
-          *** 38,43 ***
-          --- 38,44 ---
-               ,"FOO1235 - some patch"
-               ,"BAR3141 - another patch"
-               ,"BAZ2718 - and another patch"
-             ,"MINE001 - my new patch"
-               ,NULL
-            };
-
-       please change it to
-          *** patchlevel.h.orig        <date here>
-          --- patchlevel.h     <date here>
-          *** 41,43 ***
-          --- 41,44 ---
-             ,"MINE001 - my new patch"
-               ,NULL
-            };
-
-       (Note changes to line numbers as well as removal of context lines.)
-       This will prevent patch from choking if someone has previously
-       applied different patches than you.
+        local_patches -- list of locally applied less-than-subversion patches.
+        If you're distributing such a patch, please give it a name and a
+        one-line description, placed just before the last NULL in the array
+        below.  If your patch fixes a bug in the perlbug database, please
+        mention the bugid.  If your patch *IS* dependent on a prior patch,
+        please place your applied patch line after its dependencies. This
+        will help tracking of patch dependencies.
+
+        Please either use 'diff --unified=0' if your diff supports
+        that or edit the hunk of the diff output which adds your patch
+        to this list, to remove context lines which would give patch
+        problems. For instance, if the original context diff is
+
+           *** patchlevel.h.orig       <date here>
+           --- patchlevel.h    <date here>
+           *** 38,43 ***
+           --- 38,44 ---
+                ,"FOO1235 - some patch"
+                ,"BAR3141 - another patch"
+                ,"BAZ2718 - and another patch"
+           +   ,"MINE001 - my new patch"
+                ,NULL
+             };
+
+        please change it to
+           *** patchlevel.h.orig       <date here>
+           --- patchlevel.h    <date here>
+           *** 41,43 ***
+           --- 41,44 ---
+           +   ,"MINE001 - my new patch"
+                ,NULL
+             };
+
+        (Note changes to line numbers as well as removal of context lines.)
+        This will prevent patch from choking if someone has previously
+        applied different patches than you.
 
         History has shown that nobody distributes patches that also
         modify patchlevel.h. Do it yourself. The following perl
@@ -94,11 +118,12 @@ open PLIN, "<", "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
 open PLOUT, ">", "patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
 my $seen=0;
 while (<PLIN>) {
-    if (/\t,NULL/ and $seen) {
+    if (/^(\s+),NULL/ and $seen) {
+       my $pre = $1;
        while (my $c = shift @ARGV){
-           $c =~ s|\\|\\\\|g;
-           $c =~ s|"|\\"|g;
-            print PLOUT qq{\t,"$c"\n};
+            $c =~ s|\\|\\\\|g;
+            $c =~ s|"|\\"|g;
+            print PLOUT qq{$pre,"$c"\n};
        }
     }
     $seen++ if /local_patches\[\]/;
@@ -125,27 +150,23 @@ hunk.
 #  if defined(PERL_IS_MINIPERL)
 #    define PERL_PATCHNUM "UNKNOWN-miniperl"
 #    define PERL_GIT_UNPUSHED_COMMITS /*leave-this-comment*/
-#  elif defined(PERL_MICRO)
-#    define PERL_PATCHNUM "UNKNOWN-microperl"
-#    define PERL_GIT_UNPUSHED_COMMITS /*leave-this-comment*/
 #  else
-#include "git_version.h"
+#    include "git_version.h"
 #  endif
 static const char * const local_patches[] = {
-       NULL
-    ,"RC2"
+        NULL
 #ifdef PERL_GIT_UNCOMMITTED_CHANGES
-       ,"uncommitted-changes"
+        ,"uncommitted-changes"
 #endif
-       PERL_GIT_UNPUSHED_COMMITS       /* do not remove this line */
-       ,NULL
+        PERL_GIT_UNPUSHED_COMMITS      /* do not remove this line */
+        ,NULL
 };
 
 
 
 /* Initial space prevents this variable from being inserted in config.sh  */
-#  define      LOCAL_PATCH_COUNT       \
-       ((int)(C_ARRAY_LENGTH(local_patches)-2))
+#  define LOCAL_PATCH_COUNT     \
+        ((int)(C_ARRAY_LENGTH(local_patches)-2))
 
 /* the old terms of reference, add them only when explicitly included */
 #define PATCHLEVEL             PERL_VERSION