Change 33123 by [EMAIL PROTECTED] on 2008/01/30 11:45:08
Integrate:
[ 32688]
Update the hash documentation to reflect the changes between 5.8.1 and
5.8.2, that disabled the automatic randomisation of all hashes.
[ 32729]
Subject: [PATCH] docs: replace FH by my $fh in open
From: "Gabor Szabo" <[EMAIL PROTECTED]>
Date: Wed, 26 Dec 2007 06:03:29 +0200
Message-ID: <[EMAIL PROTECTED]>
[ 32730]
Subject: [PATCH] docs: list of places where $_ is used
From: "Gabor Szabo" <[EMAIL PROTECTED]>
Date: Wed, 26 Dec 2007 06:49:34 +0200
Message-ID: <[EMAIL PROTECTED]>
[ 32732]
Subject: [PATCH perl5100delta.pod] change/correction to 32246
From: "Robin Barker" <[EMAIL PROTECTED]>
Date: Fri, 9 Nov 2007 14:40:22 -0000
Message-ID: <[EMAIL PROTECTED]>
[ 32759]
Note to future self about moving the regexp flag bits around.
[ 32793]
Add editor blocks to some header files.
[ 32805]
Subject: [PATCH] Small documentation nits
From: Sébastien Aperghis-Tramoni <[EMAIL PROTECTED]>
Date: Mon, 31 Dec 2007 21:05:47 +0100
Message-Id: <[EMAIL PROTECTED]>
[ 32844]
Remove a comment that is no longer necessary since Perl Object bit
the dust some time around 5.6
[ 32875]
Document that sitecustomize.pl in run from a BEGIN block
[ 32887]
Subject: - perlcommunity.patch (1/1) [PATCH] perlcommunity: "Perl
Mongers" and calendar corrections
From: brian d foy <[EMAIL PROTECTED]>
Date: Fri, 04 Jan 2008 14:07:27 -0600
Message-ID: <[EMAIL PROTECTED]>
[ 32895]
Clarify the use of SVf_BREAK on PL_reg_curpm.
[ 32904]
Subject: Re: [PATCH] docs more open() and $_ related entries
From: "Gabor Szabo" <[EMAIL PROTECTED]>
Date: Tue, 8 Jan 2008 22:07:54 +0200
Message-ID: <[EMAIL PROTECTED]>
[ 32916]
Add a few =cuts (so configpm is displayed mostly correctly
by perldoc or by search.cpan.org)
[ 32944]
Better descriptions for PL_regex_pad and PL_regex_padav.
[ 32982]
A couple of POD fixes by Steven Schubiger
[ 32993]
Add Weed out needless PERL_UNUSED_ARG to perltodo. It's a good
"cage cleaner" task.
[ 33066]
Subject: [PATCH] socketpair() *is* available on Win32
From: "Jan Dubois" <[EMAIL PROTECTED]>
Date: Thu, 24 Jan 2008 14:17:23 -0800
Message-ID: <[EMAIL PROTECTED]>
[ 33082]
fix misleading comment in op.h
[ 33095]
Minor rewording of the localtime() documentation,
based on :
Subject: [perl #49914] gmtime()/localtime() do not use time()
From: Abe Timmerman (via RT) <[EMAIL PROTECTED]>
Date: Thu, 17 Jan 2008 18:05:07 -0800
Message-ID: <[EMAIL PROTECTED]>
[ 33101]
Subject: [PATCH] mistaken variable in pod
From: "Yitzchak Scott-Thoennes" <[EMAIL PROTECTED]>
Date: Mon, 28 Jan 2008 13:39:29 -0800 (PST)
Message-ID: <[EMAIL PROTECTED]>
[ 33104]
More wording nits about perl's time() versus the libc's time()
Affected files ...
... //depot/maint-5.10/perl/configpm#2 integrate
... //depot/maint-5.10/perl/dosish.h#2 integrate
... //depot/maint-5.10/perl/embed.fnc#2 integrate
... //depot/maint-5.10/perl/ext/POSIX/POSIX.pod#2 integrate
... //depot/maint-5.10/perl/fakesdio.h#2 integrate
... //depot/maint-5.10/perl/fakethr.h#2 integrate
... //depot/maint-5.10/perl/handy.h#2 integrate
... //depot/maint-5.10/perl/intrpvar.h#2 integrate
... //depot/maint-5.10/perl/iperlsys.h#2 integrate
... //depot/maint-5.10/perl/mg.h#2 integrate
... //depot/maint-5.10/perl/nostdio.h#2 integrate
... //depot/maint-5.10/perl/op.h#2 integrate
... //depot/maint-5.10/perl/pad.h#2 integrate
... //depot/maint-5.10/perl/parser.h#2 integrate
... //depot/maint-5.10/perl/perl.h#3 integrate
... //depot/maint-5.10/perl/perlio.h#2 integrate
... //depot/maint-5.10/perl/perliol.h#2 integrate
... //depot/maint-5.10/perl/perlsdio.h#2 integrate
... //depot/maint-5.10/perl/perlsfio.h#2 integrate
... //depot/maint-5.10/perl/pod/perl5100delta.pod#3 integrate
... //depot/maint-5.10/perl/pod/perlapi.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlcommunity.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlfunc.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlintern.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlport.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlrun.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlsec.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlsyn.pod#2 integrate
... //depot/maint-5.10/perl/pod/perltodo.pod#3 integrate
... //depot/maint-5.10/perl/pod/perlvar.pod#2 integrate
... //depot/maint-5.10/perl/regcomp.h#2 integrate
... //depot/maint-5.10/perl/regexec.c#2 integrate
... //depot/maint-5.10/perl/regexp.h#2 integrate
... //depot/maint-5.10/perl/scope.h#2 integrate
... //depot/maint-5.10/perl/sv.c#2 integrate
... //depot/maint-5.10/perl/sv.h#2 integrate
... //depot/maint-5.10/perl/thread.h#2 integrate
... //depot/maint-5.10/perl/unixish.h#2 integrate
... //depot/maint-5.10/perl/utf8.h#2 integrate
... //depot/maint-5.10/perl/utfebcdic.h#2 integrate
... //depot/maint-5.10/perl/util.h#2 integrate
Differences ...
==== //depot/maint-5.10/perl/configpm#2 (xtext) ====
Index: perl/configpm
--- perl/configpm#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/configpm 2008-01-30 03:45:08.000000000 -0800
@@ -832,6 +832,8 @@
specific to that particular port. See the port specific documentation
in such cases.
+=cut
+
ENDOFTAIL
if ($Opts{glossary}) {
@@ -848,12 +850,16 @@
print CONFIG_POD <<EOF if $text;
=back
+=cut
+
EOF
print CONFIG_POD <<EOF;
=head2 $c
=over 4
+=cut
+
EOF
$text = 1;
}
==== //depot/maint-5.10/perl/dosish.h#2 (text) ====
Index: perl/dosish.h
--- perl/dosish.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/dosish.h 2008-01-30 03:45:08.000000000 -0800
@@ -197,3 +197,13 @@
/* Don't go reading from /dev/urandom */
#define PERL_NO_DEV_RANDOM
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/embed.fnc#2 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/embed.fnc 2008-01-30 03:45:08.000000000 -0800
@@ -38,9 +38,6 @@
: which is ambiguous.
:
: Individual flags may be separated by whitespace.
-:
-: New global functions should be added at the end for binary compatibility
-: in some configurations.
START_EXTERN_C
==== //depot/maint-5.10/perl/ext/POSIX/POSIX.pod#2 (text) ====
Index: perl/ext/POSIX/POSIX.pod
--- perl/ext/POSIX/POSIX.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/ext/POSIX/POSIX.pod 2008-01-30 03:45:08.000000000 -0800
@@ -1648,7 +1648,7 @@
$fd = POSIX::open( "foo", &POSIX::O_WRONLY );
$buf = "hello";
- $bytes = POSIX::write( $b, $buf, 5 );
+ $bytes = POSIX::write( $fd, $buf, 5 );
Returns C<undef> on failure.
==== //depot/maint-5.10/perl/fakesdio.h#2 (text) ====
Index: perl/fakesdio.h
--- perl/fakesdio.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/fakesdio.h 2008-01-30 03:45:08.000000000 -0800
@@ -122,3 +122,12 @@
#define fscanf _CANNOT _fscanf_
#define fgets(s,n,f) _CANNOT _fgets_
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/fakethr.h#2 (text) ====
Index: perl/fakethr.h
--- perl/fakethr.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/fakethr.h 2008-01-30 03:45:08.000000000 -0800
@@ -63,3 +63,13 @@
#define THREAD_POST_CREATE(t) NOOP
#define YIELD NOOP
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/handy.h#2 (text) ====
Index: perl/handy.h
--- perl/handy.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/handy.h 2008-01-30 03:45:08.000000000 -0800
@@ -848,3 +848,12 @@
#define pTHX__VALUE
#endif /* USE_ITHREADS */
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/intrpvar.h#2 (text) ====
Index: perl/intrpvar.h
--- perl/intrpvar.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/intrpvar.h 2008-01-30 03:45:08.000000000 -0800
@@ -561,9 +561,12 @@
#endif
#if defined(USE_ITHREADS)
-PERLVAR(Iregex_pad, SV**) /* All regex objects */
-PERLVAR(Iregex_padav, AV*) /* All regex objects */
-
+PERLVAR(Iregex_pad, SV**) /* Shortcut into the array of
+ regex_padav */
+PERLVAR(Iregex_padav, AV*) /* All regex objects, indexed via the
+ values in op_pmoffset of pmop.
+ Entry 0 is an array of IVs listing
+ the now-free slots in the array */
#endif
#ifdef USE_REENTRANT_API
==== //depot/maint-5.10/perl/iperlsys.h#2 (text) ====
Index: perl/iperlsys.h
--- perl/iperlsys.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/iperlsys.h 2008-01-30 03:45:08.000000000 -0800
@@ -1409,3 +1409,12 @@
#endif /* __Inc__IPerl___ */
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/mg.h#2 (text) ====
Index: perl/mg.h
--- perl/mg.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/mg.h 2008-01-30 03:45:08.000000000 -0800
@@ -60,3 +60,13 @@
#define SvTIED_mg(sv,how) (SvRMAGICAL(sv) ? mg_find((sv),(how)) : NULL)
#define SvTIED_obj(sv,mg) \
((mg)->mg_obj ? (mg)->mg_obj : sv_2mortal(newRV(sv)))
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/nostdio.h#2 (text) ====
Index: perl/nostdio.h
--- perl/nostdio.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/nostdio.h 2008-01-30 03:45:08.000000000 -0800
@@ -124,3 +124,13 @@
#ifndef OS2
#define pclose(f) _CANNOT _pclose_
#endif
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/op.h#2 (text) ====
Index: perl/op.h
--- perl/op.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/op.h 2008-01-30 03:45:08.000000000 -0800
@@ -184,7 +184,7 @@
#define OPpENTERSUB_DB 16 /* Debug subroutine. */
#define OPpENTERSUB_HASTARG 32 /* Called from OP tree. */
#define OPpENTERSUB_NOMOD 64 /* Immune to mod() for :attrlist. */
- /* OP_RV2CV only */
+ /* OP_ENTERSUB and OP_RV2CV only */
#define OPpENTERSUB_AMPER 8 /* Used & form to call. */
#define OPpENTERSUB_NOPAREN 128 /* bare sub call (without parens) */
#define OPpENTERSUB_INARGS 4 /* Lval used as arg to a sub. */
@@ -367,7 +367,8 @@
#define PMf_EVAL 0x0400 /* evaluating replacement as expr */
/* The following flags have exact equivalents in regcomp.h with the prefix RXf_
- * which are stored in the regexp->extflags member.
+ * which are stored in the regexp->extflags member. If you change them here,
+ * you have to change them there, and vice versa.
*/
#define PMf_LOCALE 0x00800 /* use locale for character types */
#define PMf_MULTILINE 0x01000 /* assume multiple lines */
==== //depot/maint-5.10/perl/pad.h#2 (text) ====
Index: perl/pad.h
--- perl/pad.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pad.h 2008-01-30 03:45:08.000000000 -0800
@@ -306,8 +306,7 @@
=for apidoc m|void|PAD_DUP|PADLIST dstpad|PADLIST srcpad|CLONE_PARAMS* param
Clone a padlist.
-=for apidoc m|void|PAD_CLONE_VARS|PerlInterpreter *proto_perl \
-|CLONE_PARAMS* param
+=for apidoc m|void|PAD_CLONE_VARS|PerlInterpreter *proto_perl|CLONE_PARAMS*
param
Clone the state variables associated with running and compiling pads.
=cut
@@ -345,3 +344,13 @@
PL_padix_floor = proto_perl->Ipadix_floor; \
PL_pad_reset_pending = proto_perl->Ipad_reset_pending; \
PL_cop_seqmax = proto_perl->Icop_seqmax;
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/parser.h#2 (text) ====
Index: perl/parser.h
--- perl/parser.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/parser.h 2008-01-30 03:45:08.000000000 -0800
@@ -106,5 +106,13 @@
char tokenbuf[256];
} yy_parser;
-
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/perl.h#3 (text) ====
Index: perl/perl.h
--- perl/perl.h#2~32700~ 2007-12-22 03:55:16.000000000 -0800
+++ perl/perl.h 2008-01-30 03:45:08.000000000 -0800
@@ -5927,3 +5927,13 @@
*/
#endif /* Include guard */
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/perlio.h#2 (text) ====
Index: perl/perlio.h
--- perl/perlio.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/perlio.h 2008-01-30 03:45:08.000000000 -0800
@@ -382,3 +382,13 @@
END_EXTERN_C
#endif /* _PERLIO_H */
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/perliol.h#2 (text) ====
Index: perl/perliol.h
--- perl/perliol.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/perliol.h 2008-01-30 03:45:08.000000000 -0800
@@ -285,3 +285,13 @@
PERL_EXPORT_C IV PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode,
SV *arg, PerlIO_funcs *tab);
#endif /* _PERLIOL_H */
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/perlsdio.h#2 (text) ====
Index: perl/perlsdio.h
--- perl/perlsdio.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/perlsdio.h 2008-01-30 03:45:08.000000000 -0800
@@ -152,3 +152,13 @@
#endif /* NETWARE */
#endif /* PERLIO_IS_STDIO */
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/perlsfio.h#2 (text) ====
Index: perl/perlsfio.h
--- perl/perlsfio.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/perlsfio.h 2008-01-30 03:45:08.000000000 -0800
@@ -73,4 +73,12 @@
#define PerlIO_get_base(f) ((f)->data)
#define PerlIO_get_bufsiz(f) ((f)->endr - (f)->data)
-
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/pod/perl5100delta.pod#3 (text) ====
Index: perl/pod/perl5100delta.pod
--- perl/pod/perl5100delta.pod#2~32697~ 2007-12-22 02:26:16.000000000 -0800
+++ perl/pod/perl5100delta.pod 2008-01-30 03:45:08.000000000 -0800
@@ -103,7 +103,7 @@
< # match an opening angle bracket
(?: # match one of:
(?> # don't backtrack over the inside of this group
- [^<>]+ # one or more non angle brackets
+ [^<>]+ # one or more non angle brackets
) # end non backtracking group
| # ... or ...
(?1) # recurse to bracket 1 and try it again
@@ -228,9 +228,9 @@
=head2 The C<_> prototype
A new prototype character has been added. C<_> is equivalent to C<$> but
-defaults to C<$_> if the corresponding argument isn't supplied. (both C<$>
-and C<_> denote a scalar). Due to the optional nature of the argument, you
-can only use it at the end of a prototype, or before a semicolon.
+defaults to C<$_> if the corresponding argument isn't supplied (both C<$>
+and C<_> denote a scalar). Due to the optional nature of the argument,
+you can only use it at the end of a prototype, or before a semicolon.
This has a small incompatible consequence: the prototype() function has
been adjusted to return C<_> for some built-ins in appropriate cases (for
@@ -313,7 +313,7 @@
use feature 'state';
or by using the C<-E> command-line switch in one-liners.
-See L<perlsub/"Persistent variables via state()">.
+See L<perlsub/"Persistent Private Variables">.
=head2 Stacked filetest operators
==== //depot/maint-5.10/perl/pod/perlapi.pod#2 (text+w) ====
Index: perl/pod/perlapi.pod
--- perl/pod/perlapi.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlapi.pod 2008-01-30 03:45:08.000000000 -0800
@@ -5529,7 +5529,7 @@
Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
'use bytes' aware, handles get magic, and will coerce its args to strings
-if necessary. See also C<sv_cmp_locale>. See also C<sv_cmp>.
+if necessary. See also C<sv_cmp>.
I32 sv_cmp_locale(SV* sv1, SV* sv2)
==== //depot/maint-5.10/perl/pod/perlcommunity.pod#2 (text) ====
Index: perl/pod/perlcommunity.pod
--- perl/pod/perlcommunity.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlcommunity.pod 2008-01-30 03:45:08.000000000 -0800
@@ -87,14 +87,14 @@
=head2 User Groups
-Many cities around the world have local PerlMongers chapters. A PerlMongers
+Many cities around the world have local Perl Mongers chapters. A Perl Mongers
chapter is a local user group which typically holds regular in-person meetings,
both social and technical; helps organize local conferences, workshops, and
hackathons; and provides a mailing list or other continual contact method for
its members to keep in touch.
-To find your local PerlMongers (or PM as they're commonly abbreviated) group
-check the international PerlMongers directory at L<http://www.pm.org/>.
+To find your local Perl Mongers (or PM as they're commonly abbreviated) group
+check the international Perl Mongers directory at L<http://www.pm.org/>.
=head2 Workshops
@@ -140,13 +140,16 @@
=head2 Calendar of Perl Events
-The Perl Foundation maintains a website and Google calendar for tracking
-Workshops, Hackathons, Perl Mongers meetings, and the larger conventions
-mentioned above. The web page is located at
-L<http://www.perl.org/events.html>; the Google calendar is named
-I<Perl Events>. Disclaimer: not every Perl Mongers group is on that calendar,
-so don't lose heart if you don't see yours posted. Read the section above
-on L<"User Groups"> to find yours.
+The Perl Review, L<http://www.theperlreview.com> maintains a website
+and Google calendar
+(L<http://www.theperlreview.com/community_calendar>) for tracking
+workshops, hackathons, Perl Mongers meetings, and other events. Views
+of this calendar are at L<http://www.perl.org/events.html> and
+L<http://www.yapc.org>.
+
+Not every event or Perl Mongers group is on that calendar, so don't lose
+heart if you don't see yours posted. To have your event or group listed,
+contact brian d foy ([EMAIL PROTECTED]).
=head1 AUTHOR
==== //depot/maint-5.10/perl/pod/perlfunc.pod#2 (text) ====
Index: perl/pod/perlfunc.pod
--- perl/pod/perlfunc.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlfunc.pod 2008-01-30 03:45:08.000000000 -0800
@@ -1427,7 +1427,7 @@
order is subject to change in future versions of perl, but it is
guaranteed to be in the same order as either the C<keys> or C<values>
function would produce on the same (unmodified) hash. Since Perl
-5.8.1 the ordering is different even between different runs of Perl
+5.8.2 the ordering can be different even between different runs of Perl
for security reasons (see L<perlsec/"Algorithmic Complexity Attacks">).
When the hash is entirely read, a null array is returned in list context
@@ -1923,11 +1923,11 @@
flock(MBOX,LOCK_UN);
}
- open(MBOX, ">>/usr/spool/mail/$ENV{'USER'}")
+ open(my $mbox, ">>", "/usr/spool/mail/$ENV{'USER'}")
or die "Can't open mailbox: $!";
lock();
- print MBOX $msg,"\n\n";
+ print $mbox $msg,"\n\n";
unlock();
On systems that support a real flock(), locks are inherited across fork()
@@ -2741,7 +2741,8 @@
C<$isdst> is true if the specified time occurs during Daylight Saving
Time, false otherwise.
-If EXPR is omitted, C<localtime()> uses the current time (C<localtime(time)>).
+If EXPR is omitted, C<localtime()> uses the current time (as returned
+by time(3)).
In scalar context, C<localtime()> returns the ctime(3) value:
@@ -3049,6 +3050,14 @@
Opens the file whose filename is given by EXPR, and associates it with
FILEHANDLE.
+Simple examples to open a file for reading:
+
+ open(my $fh, '<', "input.txt") or die $!;
+
+and for writing:
+
+ open(my $fh, '>', "output.txt") or die $!;
+
(The following is a comprehensive reference to open(): for a gentler
introduction you may consider L<perlopentut>.)
@@ -3120,7 +3129,7 @@
that affect how the input and output are processed (see L<open> and
L<PerlIO> for more details). For example
- open(FH, "<:encoding(UTF-8)", "file")
+ open(my $fh, "<:encoding(UTF-8)", "file")
will open the UTF-8 encoded file containing Unicode characters,
see L<perluniintro>. Note that if layers are specified in the
@@ -3150,7 +3159,7 @@
As a special case the 3-arg form with a read/write mode and the third
argument being C<undef>:
- open(TMP, "+>", undef) or die ...
+ open(my $tmp, "+>", undef) or die ...
opens a filehandle to an anonymous temporary file. Also using "+<"
works for symmetry, but you really should consider writing something
@@ -3178,10 +3187,10 @@
open(LOG, '>>/usr/spool/news/twitlog'); # (log is reserved)
# if the open fails, output is discarded
- open(DBASE, '+<', 'dbase.mine') # open for update
+ open(my $dbase, '+<', 'dbase.mine') # open for update
or die "Can't open 'dbase.mine' for update: $!";
- open(DBASE, '+<dbase.mine') # ditto
+ open(my $dbase, '+<dbase.mine') # ditto
or die "Can't open 'dbase.mine' for update: $!";
open(ARTICLE, '-|', "caesar <$article") # decrypt article
@@ -3394,7 +3403,7 @@
#...
sub read_myfile_munged {
my $ALL = shift;
- my $handle = new IO::File;
+ my $handle = IO::File->new;
open($handle, "myfile") or die "myfile: $!";
$first = <$handle>
or return (); # Automatically closed here.
@@ -3416,6 +3425,8 @@
reference to a new anonymous dirhandle.
DIRHANDLEs have their own namespace separate from FILEHANDLEs.
+See example at C<readdir>.
+
=item ord EXPR
X<ord> X<encoding>
@@ -4267,9 +4278,9 @@
better prepend the directory in question. Otherwise, because we didn't
C<chdir> there, it would have been testing the wrong file.
- opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!";
- @dots = grep { /^\./ && -f "$some_dir/$_" } readdir(DIR);
- closedir DIR;
+ opendir(my $dh, $some_dir) || die "can't opendir $some_dir: $!";
+ @dots = grep { /^\./ && -f "$some_dir/$_" } readdir($dh);
+ closedir $dh;
=item readline EXPR
==== //depot/maint-5.10/perl/pod/perlintern.pod#2 (text+w) ====
Index: perl/pod/perlintern.pod
--- perl/pod/perlintern.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlintern.pod 2008-01-30 03:45:08.000000000 -0800
@@ -119,10 +119,9 @@
=item PAD_CLONE_VARS
X<PAD_CLONE_VARS>
-|CLONE_PARAMS* param
Clone the state variables associated with running and compiling pads.
- void PAD_CLONE_VARS(PerlInterpreter *proto_perl \)
+ void PAD_CLONE_VARS(PerlInterpreter *proto_perl, CLONE_PARAMS* param)
=for hackers
Found in file pad.h
==== //depot/maint-5.10/perl/pod/perlport.pod#2 (text) ====
Index: perl/pod/perlport.pod
--- perl/pod/perlport.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlport.pod 2008-01-30 03:45:08.000000000 -0800
@@ -2004,7 +2004,7 @@
=item socketpair
-Not implemented. (Win32, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (S<RISC OS>, VOS, VM/ESA)
Available on 64 bit OpenVMS 8.2 and later. (VMS)
==== //depot/maint-5.10/perl/pod/perlrun.pod#2 (text) ====
Index: perl/pod/perlrun.pod
--- perl/pod/perlrun.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlrun.pod 2008-01-30 03:45:08.000000000 -0800
@@ -455,10 +455,10 @@
Disable executing F<$Config{sitelib}/sitecustomize.pl> at startup.
Perl can be built so that it by default will try to execute
-F<$Config{sitelib}/sitecustomize.pl> at startup. This is a hook that
-allows the sysadmin to customize how perl behaves. It can for
-instance be used to add entries to the @INC array to make perl find
-modules in non-standard locations.
+F<$Config{sitelib}/sitecustomize.pl> at startup (in a BEGIN block).
+This is a hook that allows the sysadmin to customize how perl behaves.
+It can for instance be used to add entries to the @INC array to make perl
+find modules in non-standard locations.
=item B<-F>I<pattern>
X<-F>
==== //depot/maint-5.10/perl/pod/perlsec.pod#2 (text) ====
Index: perl/pod/perlsec.pod
--- perl/pod/perlsec.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlsec.pod 2008-01-30 03:45:08.000000000 -0800
@@ -457,13 +457,16 @@
makes generating such naughty hash keys harder.
See L<perlrun/PERL_HASH_SEED> for more information.
-The random perturbation is done by default but if one wants for some
-reason emulate the old behaviour one can set the environment variable
-PERL_HASH_SEED to zero (or any other integer). One possible reason
-for wanting to emulate the old behaviour is that in the new behaviour
-consecutive runs of Perl will order hash keys differently, which may
-confuse some applications (like Data::Dumper: the outputs of two
-different runs are no more identical).
+In Perl 5.8.1 the random perturbation was done by default, but as of
+5.8.2 it is only used on individual hashes if the internals detect the
+insertion of pathological data. If one wants for some reason emulate the
+old behaviour (and expose oneself to DoS attacks) one can set the
+environment variable PERL_HASH_SEED to zero to disable the protection
+(or any other integer to force a known perturbation, rather than random).
+One possible reason for wanting to emulate the old behaviour is that in the
+new behaviour consecutive runs of Perl will order hash keys differently,
+which may confuse some applications (like Data::Dumper: the outputs of two
+different runs are no longer identical).
B<Perl has never guaranteed any ordering of the hash keys>, and the
ordering has already changed several times during the lifetime of
==== //depot/maint-5.10/perl/pod/perlsyn.pod#2 (text) ====
Index: perl/pod/perlsyn.pod
--- perl/pod/perlsyn.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlsyn.pod 2008-01-30 03:45:08.000000000 -0800
@@ -560,25 +560,25 @@
=over 4
-=item o
+=item *
a subroutine or method call
-=item o
+=item *
a regular expression match, i.e. C</REGEX/> or C<$foo =~ /REGEX/>,
or a negated regular expression match C<$foo !~ /REGEX/>.
-=item o
+=item *
a comparison such as C<$_ E<lt> 10> or C<$x eq "abc">
(or of course C<$_ ~~ $c>)
-=item o
+=item *
C<defined(...)>, C<exists(...)>, or C<eof(...)>
-=item o
+=item *
A negated expression C<!(...)> or C<not (...)>, or a logical
exclusive-or C<(...) xor (...)>.
==== //depot/maint-5.10/perl/pod/perltodo.pod#3 (text) ====
Index: perl/pod/perltodo.pod
--- perl/pod/perltodo.pod#2~33120~ 2008-01-30 02:33:34.000000000 -0800
+++ perl/pod/perltodo.pod 2008-01-30 03:45:08.000000000 -0800
@@ -365,6 +365,27 @@
These tasks would need a little C knowledge, but don't need any specific
background or experience with XS, or how the Perl interpreter works
+=head2 Weed out needless PERL_UNUSED_ARG
+
+The C code uses the macro C<PERL_UNUSED_ARG> to stop compilers warning about
+unused arguments. Often the arguments can't be removed, as there is an
+external constraint that determines the prototype of the function, so this
+approach is valid. However, there are some cases where C<PERL_UNUSED_ARG>
+could be removed. Specifically
+
+=over 4
+
+=item *
+
+The prototypes of (nearly all) static functions can be changed
+
+=item *
+
+Unused arguments generated by short cut macros are wasteful - the short cut
+macro used can be changed.
+
+=back
+
=head2 Modernize the order of directories in @INC
The way @INC is laid out by default, one cannot upgrade core (dual-life)
==== //depot/maint-5.10/perl/pod/perlvar.pod#2 (text) ====
Index: perl/pod/perlvar.pod
--- perl/pod/perlvar.pod#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perlvar.pod 2008-01-30 03:45:08.000000000 -0800
@@ -58,14 +58,14 @@
of the special variables that you have changed. This is one of the
correct ways to read the whole file at once:
- open my $fh, "foo" or die $!;
+ open my $fh, "<", "foo" or die $!;
local $/; # enable localized slurp mode
my $content = <$fh>;
close $fh;
But the following code is quite bad:
- open my $fh, "foo" or die $!;
+ open my $fh, "<", "foo" or die $!;
undef $/; # enable slurp mode
my $content = <$fh>;
close $fh;
@@ -81,7 +81,7 @@
example:
my $content = '';
- open my $fh, "foo" or die $!;
+ open my $fh, "<", "foo" or die $!;
{
local $/;
$content = <$fh>;
@@ -148,18 +148,24 @@
=item *
-Various unary functions, including functions like ord() and int(), as well
-as the all file tests (C<-f>, C<-d>) except for C<-t>, which defaults to
-STDIN.
+The following functions:
+
+abs, alarm, chomp, chop, chr, chroot, cos, defined, eval, exp, glob,
+hex, int, lc, lcfirst, length, log, lstat, mkdir, oct, ord, pos, print,
+quotemeta, readlink, readpipe, ref, require, reverse (in scalar context only),
+rmdir, sin, split (on its second argument), sqrt, stat, study, uc, ucfirst,
+unlink, unpack.
=item *
-Various list functions like print() and unlink().
+All file tests (C<-f>, C<-d>) except for C<-t>, which defaults to STDIN.
+See L<perlfunc/-X>
+
=item *
-The pattern matching operations C<m//>, C<s///>, and C<tr///> when used
-without an C<=~> operator.
+The pattern matching operations C<m//>, C<s///> and C<tr///> (aka C<y///>)
+when used without an C<=~> operator.
=item *
@@ -172,6 +178,10 @@
=item *
+The implicit variable of given().
+
+=item *
+
The default place to put an input record when a C<< <FH> >>
operation's result is tested by itself as the sole criterion of a C<while>
test. Outside a C<while> test, this will not happen.
@@ -433,7 +443,7 @@
integer. So this:
local $/ = \32768; # or \"32768", or \$var_containing_32768
- open my $fh, $myfile or die $!;
+ open my $fh, "<", $myfile or die $!;
local $_ = <$fh>;
will read a record of no more than 32768 bytes from FILE. If you're
@@ -469,7 +479,8 @@
you are outputting to a pipe or socket, such as when you are running
a Perl program under B<rsh> and want to see the output as it's
happening. This has no effect on input buffering. See L<perlfunc/getc>
-for that. (Mnemonic: when you want your pipes to be piping hot.)
+for that. See L<perldoc/select> on how to select the output channel.
+See also L<IO::Handle>. (Mnemonic: when you want your pipes to be piping hot.)
=item IO::Handle->output_field_separator EXPR
@@ -780,7 +791,7 @@
sets this variable. This means that the value of C<$!> is meaningful
only I<immediately> after a B<failure>:
- if (open(FH, $filename)) {
+ if (open my $fh, "<", $filename) {
# Here $! is meaningless.
...
} else {
==== //depot/maint-5.10/perl/regcomp.h#2 (text) ====
Index: perl/regcomp.h
--- perl/regcomp.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/regcomp.h 2008-01-30 03:45:08.000000000 -0800
@@ -814,5 +814,12 @@
#endif /* DEBUG RELATED DEFINES */
-
-
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/regexec.c#2 (text) ====
Index: perl/regexec.c
--- perl/regexec.c#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/regexec.c 2008-01-30 03:45:08.000000000 -0800
@@ -2253,7 +2253,8 @@
#ifdef USE_ITHREADS
{
SV* const repointer = newSViv(0);
- /* so we know which PL_regex_padav element is PL_reg_curpm */
+ /* so we know which PL_regex_padav element is PL_reg_curpm
+ when clearing up in perl_destruct() */
SvFLAGS(repointer) |= SVf_BREAK;
av_push(PL_regex_padav,repointer);
PL_reg_curpm->op_pmoffset = av_len(PL_regex_padav);
==== //depot/maint-5.10/perl/regexp.h#2 (text) ====
Index: perl/regexp.h
--- perl/regexp.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/regexp.h 2008-01-30 03:45:08.000000000 -0800
@@ -246,7 +246,9 @@
#define RXf_WHITE 0x00000400 /* Pattern is /\s+/ */
#define RXf_NULL 0x40000000 /* Pattern is // */
-/* 0x1F800 of extflags is used by (RXf_)PMf_COMPILETIME */
+/* 0x1F800 of extflags is used by (RXf_)PMf_COMPILETIME
+ * If you change these you need to change the equivalent flags in op.h, and
+ * vice versa. */
#define RXf_PMf_LOCALE 0x00000800 /* use locale */
#define RXf_PMf_MULTILINE 0x00001000 /* /m */
#define RXf_PMf_SINGLELINE 0x00002000 /* /s */
==== //depot/maint-5.10/perl/scope.h#2 (text) ====
Index: perl/scope.h
--- perl/scope.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/scope.h 2008-01-30 03:45:08.000000000 -0800
@@ -260,3 +260,12 @@
#define SSPTR(off,type) ((type) ((char*)PL_savestack + off))
#define SSPTRt(off,type) ((type*) ((char*)PL_savestack + off))
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/sv.c#2 (text) ====
Index: perl/sv.c
--- perl/sv.c#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/sv.c 2008-01-30 03:45:08.000000000 -0800
@@ -6141,7 +6141,7 @@
Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
'use bytes' aware, handles get magic, and will coerce its args to strings
-if necessary. See also C<sv_cmp_locale>. See also C<sv_cmp>.
+if necessary. See also C<sv_cmp>.
=cut
*/
==== //depot/maint-5.10/perl/sv.h#2 (text) ====
Index: perl/sv.h
--- perl/sv.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/sv.h 2008-01-30 03:45:08.000000000 -0800
@@ -330,7 +330,9 @@
means that a hv_aux struct is present
after the main array */
#define SVf_BREAK 0x04000000 /* refcnt is artificially low - used by
- SV's in final arena cleanup */
+ SVs in final arena cleanup.
+ Set in S_regtry on PL_reg_curpm, so that
+ perl_destruct will skip it. */
#define SVf_READONLY 0x08000000 /* may not be modified */
==== //depot/maint-5.10/perl/thread.h#2 (text) ====
Index: perl/thread.h
--- perl/thread.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/thread.h 2008-01-30 03:45:08.000000000 -0800
@@ -472,3 +472,13 @@
#ifndef INIT_THREADS
# define INIT_THREADS NOOP
#endif
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/unixish.h#2 (text) ====
Index: perl/unixish.h
--- perl/unixish.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/unixish.h 2008-01-30 03:45:08.000000000 -0800
@@ -145,3 +145,12 @@
#define USE_ENVIRON_ARRAY
#endif
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/utf8.h#2 (text) ====
Index: perl/utf8.h
--- perl/utf8.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/utf8.h 2008-01-30 03:45:08.000000000 -0800
@@ -340,3 +340,13 @@
#define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
#endif /* IS_UTF8_CHAR() for UTF-8 */
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/utfebcdic.h#2 (text) ====
Index: perl/utfebcdic.h
--- perl/utfebcdic.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/utfebcdic.h 2008-01-30 03:45:08.000000000 -0800
@@ -418,4 +418,12 @@
#define UTF8_EIGHT_BIT_HI(c)
UTF_TO_NATIVE((((U8)(c))>>UTF_ACCUMULATION_SHIFT)|UTF_START_MARK(2))
#define UTF8_EIGHT_BIT_LO(c)
UTF_TO_NATIVE(((((U8)(c)))&UTF_CONTINUATION_MASK)|UTF_CONTINUATION_MARK)
-
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
==== //depot/maint-5.10/perl/util.h#2 (text) ====
Index: perl/util.h
--- perl/util.h#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/util.h 2008-01-30 03:45:08.000000000 -0800
@@ -41,3 +41,13 @@
# endif /* NETWARE */
# endif /* WIN32 */
#endif /* VMS */
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */
End of Patch.