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.