This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
toke.c: Extreme paranoia
[perl5.git] / patchlevel.h
index 526659a..ef05b2d 100644 (file)
@@ -1,6 +1,7 @@
 /*    patchlevel.h
  *
 /*    patchlevel.h
  *
- *    Copyright (c) 1997-2002, Larry Wall
+ *    Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ *    2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -13,8 +14,8 @@
  * exactly on the third column */
 
 #define PERL_REVISION  5               /* age */
  * exactly on the third column */
 
 #define PERL_REVISION  5               /* age */
-#define PERL_VERSION                 /* epoch */
-#define PERL_SUBVERSION        0               /* generation */
+#define PERL_VERSION   17              /* epoch */
+#define PERL_SUBVERSION        4               /* generation */
 
 /* The following numbers describe the earliest compatible version of
    Perl ("compatibility" here being defined as sufficient binary/API
 
 /* The following numbers describe the earliest compatible version of
    Perl ("compatibility" here being defined as sufficient binary/API
    options such as usemultiplicity tend to break binary compatibility
    more often.
 
    options such as usemultiplicity tend to break binary compatibility
    more often.
 
-   This is used by Configure et al to figure out 
+   This is used by Configure et al to figure out
    PERL_INC_VERSION_LIST, which lists version libraries
    to include in @INC.  See INSTALL for how this works.
    PERL_INC_VERSION_LIST, which lists version libraries
    to include in @INC.  See INSTALL for how this works.
+
+   Porting/bump-perl-version will automatically set these to the version of perl
+   to be released for blead releases, and to 5.X.0 for maint releases. Manually
+   changing them should not be necessary.
 */
 */
-#define PERL_API_REVISION      5       /* Adjust manually as needed.  */
-#define PERL_API_VERSION       8       /* Adjust manually as needed.  */
-#define PERL_API_SUBVERSION    0       /* Adjust manually as needed.  */
+#define PERL_API_REVISION      5
+#define PERL_API_VERSION       17
+#define PERL_API_SUBVERSION    4
 /*
    XXX Note:  The selection of non-default Configure options, such
    as -Duselonglong may invalidate these settings.  Currently, Configure
 /*
    XXX Note:  The selection of non-default Configure options, such
    as -Duselonglong may invalidate these settings.  Currently, Configure
        please place your applied patch line after its dependencies. This
        will help tracking of patch dependencies.
 
        please place your applied patch line after its dependencies. This
        will help tracking of patch dependencies.
 
-       Please edit the hunk of diff which adds your patch to this list,
-       to remove context lines which would give patch problems.  For instance,
-       if the original context diff is
+       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 ***
           *** patchlevel.h.orig        <date here>
           --- patchlevel.h     <date here>
           *** 38,43 ***
           +    ,"MINE001 - my new patch"
                ,NULL
             };
           +    ,"MINE001 - my new patch"
                ,NULL
             };
-       
-       please change it to 
+
+       please change it to
           *** patchlevel.h.orig        <date here>
           --- patchlevel.h     <date here>
           *** 41,43 ***
           --- 41,44 ---
           +    ,"MINE001 - my new patch"
           *** 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.
        (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.
@@ -88,14 +96,17 @@ my $seen=0;
 while (<PLIN>) {
     if (/\t,NULL/ and $seen) {
        while (my $c = shift @ARGV){
 while (<PLIN>) {
     if (/\t,NULL/ and $seen) {
        while (my $c = shift @ARGV){
+           $c =~ s|\\|\\\\|g;
+           $c =~ s|"|\\"|g;
             print PLOUT qq{\t,"$c"\n};
        }
     }
     $seen++ if /local_patches\[\]/;
     print PLOUT;
 }
             print PLOUT qq{\t,"$c"\n};
        }
     }
     $seen++ if /local_patches\[\]/;
     print PLOUT;
 }
-close PLOUT or warn "Couldn't close filehandle writing to patchlevel.new : $!";
-close PLIN or warn "Couldn't close filehandle reading from patchlevel.h : $!";
+close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!";
+close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!";
+close DATA; # needed to allow unlink to work win32.
 unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
   if -e "patchlevel.bak";
 rename "patchlevel.h", "patchlevel.bak" or
 unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
   if -e "patchlevel.bak";
 rename "patchlevel.h", "patchlevel.bak" or
@@ -104,27 +115,36 @@ rename "patchlevel.new", "patchlevel.h" or
   die "Couldn't rename patchlevel.new to patchlevel.h : $!";
 __END__
 
   die "Couldn't rename patchlevel.new to patchlevel.h : $!";
 __END__
 
-Please keep empty lines below so patching of this file doesn't
-interfere with the following lines.
+Please keep empty lines below so that context diffs of this file do
+not ever collect the lines belonging to local_patches() into the same
+hunk.
 
  */
 
 
  */
 
-
-
-
-
-
-
 #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
 #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
-static char    *local_patches[] = {
+#  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"
+#  endif
+static const char * const local_patches[] = {
        NULL
        NULL
-       ,"DEVEL18374"
+#ifdef PERL_GIT_UNCOMMITTED_CHANGES
+       ,"uncommitted-changes"
+#endif
+       PERL_GIT_UNPUSHED_COMMITS       /* do not remove this line */
        ,NULL
 };
 
        ,NULL
 };
 
+
+
 /* Initial space prevents this variable from being inserted in config.sh  */
 #  define      LOCAL_PATCH_COUNT       \
 /* Initial space prevents this variable from being inserted in config.sh  */
 #  define      LOCAL_PATCH_COUNT       \
-       (sizeof(local_patches)/sizeof(local_patches[0])-2)
+       ((int)(sizeof(local_patches)/sizeof(local_patches[0])-2))
 
 /* the old terms of reference, add them only when explicitly included */
 #define PATCHLEVEL             PERL_VERSION
 
 /* the old terms of reference, add them only when explicitly included */
 #define PATCHLEVEL             PERL_VERSION