Change 20101 by [EMAIL PROTECTED] on 2003/07/09 17:49:23

        Integrate:
        [ 20094]
        No Perl malloc for FreeBSD.
        
        [ 20095]
        Update Changes.
        
        [ 20096]
        More Darwin/MacOSX paths twiddling.
        
        [ 20097]
        Fix for the 'print v65' plus safety tweaks from Rafael.
        
        [ 20098]
        Fixes from Ron Kimball.
        
        [ 20099]
        No more no more.  Errrm, no longer no more.
        
        [ 20100]
        Detypo.

Affected files ...

... //depot/maint-5.8/perl/hints/darwin.sh#15 integrate
... //depot/maint-5.8/perl/hints/freebsd.sh#6 integrate
... //depot/maint-5.8/perl/pod/perldata.pod#7 integrate
... //depot/maint-5.8/perl/toke.c#24 integrate

Differences ...

==== //depot/maint-5.8/perl/hints/darwin.sh#15 (text) ====
Index: perl/hints/darwin.sh
--- perl/hints/darwin.sh#14~20091~      Wed Jul  9 01:23:20 2003
+++ perl/hints/darwin.sh        Wed Jul  9 10:49:23 2003
@@ -13,38 +13,26 @@
 perl_subversion=`awk '/define[         ]+PERL_SUBVERSION/ {print $3}' 
$src/patchlevel.h`
 version="${perl_revision}.${perl_version}.${perl_subversion}"
 
+# This was previously used in all but causes three cases
+# (no -Ddprefix=, -Dprefix=/usr, -Dprefix=/some/thing/else)
+# but that caused too much grief.
+# vendorlib="/System/Library/Perl/${version}"; # Apple-supplied modules
+
 # BSD paths
 case "$prefix" in
-  '')
-    # Default install; use non-system directories
-    prefix='/usr/local'; # Built-in perl uses /usr
-    siteprefix='/usr/local';
-    vendorprefix='/usr'; usevendorprefix='define';
-
-    # Where to put modules.
-    sitelib="/Library/Perl/${version}"; # FIXME: Want "/Network/Perl/${version}" also
-    vendorlib="/System/Library/Perl/${version}"; # Apple-supplied modules
-    ;;
-
-  '/usr')
-    # We are building/replacing the built-in perl
-    siteprefix='/usr/local';
-    vendorprefix='/usr/local'; usevendorprefix='define';
-
-    # Where to put modules.
-    sitelib="/Library/Perl/${version}"; # FIXME: Want "/Network/Perl/${version}" also
-    vendorlib="/System/Library/Perl/${version}"; # Apple-supplied modules
-    ;;
-
-  *)
-    # Anything else; use non-system directories
-    ;;
-
+  ''|'/usr')
+       # Default install; use non-system directories
+       prefix='/usr/local'; # Built-in perl uses /usr
+       siteprefix='/usr/local';
+       # Where to put modules.
+       sitelib="/Library/Perl/${version}"; # FIXME: Want "/Network/Perl/${version}" 
also
+       # 4BSD uses ${prefix}/share/man, not ${prefix}/man.
+       man1dir='/usr/share/man/man1';
+       man3dir='/usr/share/man/man3';
+       ;;
+  *)   # Anything else; use non-system directories
+       ;;
 esac
-
-# 4BSD uses ${prefix}/share/man, not ${prefix}/man.
-man1dir="${prefix}/share/man/man1";
-man3dir="${prefix}/share/man/man3";
 
 ##
 # Tool chain settings

==== //depot/maint-5.8/perl/hints/freebsd.sh#6 (text) ====
Index: perl/hints/freebsd.sh
--- perl/hints/freebsd.sh#5~20028~      Sun Jul  6 01:35:50 2003
+++ perl/hints/freebsd.sh       Wed Jul  9 10:49:23 2003
@@ -92,23 +92,10 @@
        d_setegid='undef'
        d_seteuid='undef'
        ;;
-4.*)   # In FreeBSD 4 and 5 the system malloc is performance-wise
-       # VERY bad for Perl-- we are talking of differences of not
-       # one, but TWO magnitudes.
-       case "$usemymalloc" in
-       "") usemymalloc='y'
-           ;;
-       esac
-       ;;
-5.*)   case "$usemymalloc" in
-       "") usemymalloc='y'
-           ;;
-       esac
-       ;;
 *)     usevfork='true'
        case "$usemymalloc" in
-       "") usemymalloc='y'
-           ;;
+           "") usemymalloc='n'
+               ;;
        esac
        libswanted=`echo $libswanted | sed 's/ malloc / /'`
        ;;
@@ -263,7 +250,7 @@
 
        # Even with the malloc mutexes the Perl malloc does not
        # seem to be threadsafe in FreeBSD?
-       usemymalloc=y
+       usemymalloc=n
 
 esac
 EOCBU

==== //depot/maint-5.8/perl/pod/perldata.pod#7 (text) ====
Index: perl/pod/perldata.pod
--- perl/pod/perldata.pod#6~20092~      Wed Jul  9 04:41:01 2003
+++ perl/pod/perldata.pod       Wed Jul  9 10:49:23 2003
@@ -361,8 +361,8 @@
 you also use the inet_aton()/inet_ntoa() routines of the Socket package.
 
 Note that since Perl 5.8.1 the single-number v-strings (like C<v65>)
-are not v-strings before the C<< => >> operator (which is used to
-separate a hash key from a hash value), instead they are interpreted
+are not v-strings before the C<< => >> operator (which is usually used
+to separate a hash key from a hash value), instead they are interpreted
 as literal strings ('v65').  They were v-strings from Perl 5.6.0 to
 Perl 5.8.0, but that caused more confusion and breakage than good.
 Multi-number v-strings like C<v65.66> and C<65.66.67> continue to

==== //depot/maint-5.8/perl/toke.c#24 (text) ====
Index: perl/toke.c
--- perl/toke.c#23~20092~       Wed Jul  9 04:41:01 2003
+++ perl/toke.c Wed Jul  9 10:49:23 2003
@@ -7964,15 +7964,14 @@
     char *pos = s;
     char *start = s;
     if (*pos == 'v') pos++;  /* get past 'v' */
-    while (isDIGIT(*pos) || *pos == '_')
-    pos++;
+    while (pos < PL_bufend && (isDIGIT(*pos) || *pos == '_'))
+       pos++;
     if ( *pos != '.') {
        /* this may not be a v-string if followed by => */
        start = pos;
-       if (isSPACE(*start))
-           start = skipspace(start);
-       if ( *start == '=' && start[1] == '>' )
-       {
+       while (start < PL_bufend && isSPACE(*start))
+           ++start;
+       if ((PL_bufend - start) >= 2 && *start == '=' && start[1] == '>' ) {
            /* return string not v-string */
            sv_setpvn(sv,(char *)s,pos-s);
            return pos;
@@ -8015,13 +8014,13 @@
            sv_catpvn(sv, (const char*)tmpbuf, tmpend - tmpbuf);
            if (!UNI_IS_INVARIANT(NATIVE_TO_UNI(rev)))
                 SvUTF8_on(sv);
-           if (*pos == '.' && isDIGIT(pos[1]))
+           if (pos + 1 < PL_bufend && *pos == '.' && isDIGIT(pos[1]))
                 s = ++pos;
            else {
                 s = pos;
                 break;
            }
-           while (isDIGIT(*pos) || *pos == '_')
+           while (pos < PL_bufend && (isDIGIT(*pos) || *pos == '_'))
                 pos++;
        }
        SvPOK_on(sv);
End of Patch.

Reply via email to