Change 33884 by [EMAIL PROTECTED] on 2008/05/20 15:07:58
Integrate:
[ 33827]
Subject: [PATCH] fix typo in a Tie::Hash documentation link
From: Niko Tyni <[EMAIL PROTECTED]>
Date: Wed, 14 May 2008 23:09:27 +0300
Message-Id: <[EMAIL PROTECTED]>
[ 33830]
Add investigating eliminating POSIX::int_macro_int() to perltodo.
[ 33832]
HP 9000 End of Sale Announcements
[ 33834]
Subject: Make perlfunc link to the correct section of perlop for q//,
qq//, qx//, and qw//
From: Matt Kraai <[EMAIL PROTECTED]>
Date: Thu, 15 May 2008 15:45:17 -0700
Message-ID: <[EMAIL PROTECTED]>
[ 33840]
Subject: [perl #39187] [DOC-PATCH]: perldoc -f reverse: examples (was:
RE: Perlfunc needs to be made more clear regarding reverse in scalar context.)
From: "Bram via RT" <[EMAIL PROTECTED]>
Date: Fri, 16 May 2008 14:44:07 -0700
Message-ID: <[EMAIL PROTECTED]>
[ 33841]
Subject: [PATCH] Re: Compiling perl (5.10.x) with gcc <= 3.2.3
From: Andy Dougherty <[EMAIL PROTECTED]>
Date: Fri, 16 May 2008 13:59:41 -0400 (EDT)
Message-ID: <[EMAIL PROTECTED]>
[ 33848]
Subject: Re: eval "require Foo" with binary-incompatible XS modules
From: Niko Tyni <[EMAIL PROTECTED]>
Date: Sat, 17 May 2008 21:37:30 +0300
Message-ID: <[EMAIL PROTECTED]>
[ 33852]
New separations for the pattern match operator documentation,
suggested by David Nicol:
Subject: It's wafer thin!
From: "David Nicol" <[EMAIL PROTECTED]>
Date: Fri, 9 May 2008 18:14:29 +0000
Message-ID: <[EMAIL PROTECTED]>
[ 33853]
fix misleading comment about Perl_re_dup_guts
[ 33865]
Add "profile installman" to the TODO.
Affected files ...
... //depot/maint-5.10/perl/INSTALL#2 integrate
... //depot/maint-5.10/perl/README.hpux#3 integrate
... //depot/maint-5.10/perl/lib/Tie/Hash.pm#2 integrate
... //depot/maint-5.10/perl/pod/perlfunc.pod#7 integrate
... //depot/maint-5.10/perl/pod/perlop.pod#5 integrate
... //depot/maint-5.10/perl/pod/perltodo.pod#10 integrate
... //depot/maint-5.10/perl/regcomp.c#12 integrate
Differences ...
==== //depot/maint-5.10/perl/INSTALL#2 (text) ====
Index: perl/INSTALL
--- perl/INSTALL#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/INSTALL 2008-05-20 08:07:58.000000000 -0700
@@ -1886,6 +1886,13 @@
tries to exercise the regular expression subsystem quite thoroughly,
and may well be far more demanding than your normal usage.
+=item libgcc_s.so.1: cannot open shared object file
+
+This message has been reported on gcc-3.2.3 and earlier installed with
+a non-standard prefix. Setting the LD_LIBRARY_PATH environment variable
+(or equivalent) to include gcc's lib/ directory with the libgcc_s.so.1
+shared library should fix the problem.
+
=item Failures from lib/File/Temp/t/security saying "system possibly insecure"
First, such warnings are not necessarily serious or indicative of a
==== //depot/maint-5.10/perl/README.hpux#3 (text) ====
Index: perl/README.hpux
--- perl/README.hpux#2~33610~ 2008-03-30 16:20:46.000000000 -0700
+++ perl/README.hpux 2008-05-20 08:07:58.000000000 -0700
@@ -87,11 +87,11 @@
document will not attempt to address issues for compiling Perl on the
Motorola chipset.
-The most recent version of PA-RISC at the time of this document's last
-update is 2.0. HP PA-RISC systems are usually refered to with model
-description "HP 9000". The last CPU in this series is the PA-8900.
-Support for PA-RISC architectured machines officially ends as shown
-in the following table:
+The version of PA-RISC at the time of this document's last update is 2.0,
+which is also the last there will be. HP PA-RISC systems are usually
+refered to with model description "HP 9000". The last CPU in this series
+is the PA-8900. Support for PA-RISC architectured machines officially
+ends as shown in the following table:
PA-RISC End-of-Life Roadmap
+--------+----------------+----------------+-----------------+
@@ -114,6 +114,13 @@
| cores | | PA-8900/rp34x0 | 2014 |
+--------+----------------+----------------+-----------------+
+From http://www.hp.com/products1/evolution/9000/eol_announcement.html:
+
+ The last order date for HP9000 PA-RISC systems is planned for
+ December 31, 2008 and ship date of April 1, 2009. Operating system
+ releases for HP-UX will continue shipping past the HP9000 systems
+ last order date.
+
A complete list of models at the time the OS was built is in the file
/usr/sam/lib/mo/sched.models. The first column corresponds to the last
part of the output of the "model" command. The second column is the
@@ -641,6 +648,6 @@
=head1 DATE
-Version 0.8.1: 2008-02-06
+Version 0.8.2: 2008-05-16
=cut
==== //depot/maint-5.10/perl/lib/Tie/Hash.pm#2 (text) ====
Index: perl/lib/Tie/Hash.pm
--- perl/lib/Tie/Hash.pm#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/lib/Tie/Hash.pm 2008-05-20 08:07:58.000000000 -0700
@@ -173,7 +173,7 @@
C<SCALAR> is only defined in B<Tie::StdHash> and B<Tie::ExtraHash>.
If needed, these methods should be defined by the package inheriting from
-B<Tie::Hash>, B<Tie::StdHash>, or B<Tie::ExtraHash>. See L<pertie/"SCALAR">
+B<Tie::Hash>, B<Tie::StdHash>, or B<Tie::ExtraHash>. See L<perltie/"SCALAR">
to find out what happens when C<SCALAR> does not exist.
=head1 MORE INFORMATION
==== //depot/maint-5.10/perl/pod/perlfunc.pod#7 (text) ====
Index: perl/pod/perlfunc.pod
--- perl/pod/perlfunc.pod#6~33803~ 2008-05-10 08:10:17.000000000 -0700
+++ perl/pod/perlfunc.pod 2008-05-20 08:07:58.000000000 -0700
@@ -1556,6 +1556,10 @@
is implemented. It is also Perl's exception trapping mechanism, where
the die operator is used to raise exceptions.
+If you want to trap errors when loading an XS module, some problems with
+the binary interface (such as Perl version skew) may be fatal even with
+C<eval> unless C<$ENV{PERL_DL_NONLAZY}> is set. See L<perlrun>.
+
If the code to be executed doesn't vary, you may use the eval-BLOCK
form to trap run-time errors without incurring the penalty of
recompiling each time. The error, if any, is still returned in C<$@>.
@@ -4201,13 +4205,15 @@
=item qq/STRING/
-=item qr/STRING/
-
=item qx/STRING/
=item qw/STRING/
-Generalized quotes. See L<perlop/"Regexp Quote-Like Operators">.
+Generalized quotes. See L<perlop/"Quote-Like Operators">.
+
+=item qr/STRING/
+
+Regexp-like quote. See L<perlop/"Regexp Quote-Like Operators">.
=item quotemeta EXPR
X<quotemeta> X<metacharacter>
@@ -4706,13 +4712,16 @@
elements of LIST and returns a string value with all characters
in the opposite order.
- print reverse <>; # line tac, last line first
+ print join(", ", reverse "world", "Hello"); # Hello, world
- undef $/; # for efficiency of <>
- print scalar reverse <>; # character tac, last line tsrif
+ print scalar reverse "dlrow ,", "olleH"; # Hello, world
Used without arguments in scalar context, reverse() reverses C<$_>.
+ $_ = "dlrow ,olleH";
+ print reverse; # No output, list context
+ print scalar reverse; # Hello, world
+
This operator is also handy for inverting a hash, although there are some
caveats. If a value is duplicated in the original hash, only one of those
can be represented as a key in the inverted hash. Also, this has to
==== //depot/maint-5.10/perl/pod/perlop.pod#5 (text) ====
Index: perl/pod/perlop.pod
--- perl/pod/perlop.pod#4~33729~ 2008-04-22 11:51:34.000000000 -0700
+++ perl/pod/perlop.pod 2008-05-20 08:07:58.000000000 -0700
@@ -1151,6 +1151,8 @@
that you won't change the variables in the pattern. If you change them,
Perl won't even notice. See also L<"qr/STRING/msixpo">.
+=item The empty pattern //
+
If the PATTERN evaluates to the empty string, the last
I<successfully> matched regular expression is used instead. In this
case, only the C<g> and C<c> flags on the empty pattern is honoured -
@@ -1167,6 +1169,8 @@
use parentheses or spaces to disambiguate, or even prefix the empty
regex with an C<m> (so C<//> becomes C<m//>).
+=item Matching in list context
+
If the C</g> option is not used, C<m//> in list context returns a
list consisting of the subexpressions matched by the parentheses in the
pattern, i.e., (C<$1>, C<$2>, C<$3>...). (Note that here C<$1> etc. are
@@ -1213,6 +1217,8 @@
by adding the C</c> modifier (e.g. C<m//gc>). Modifying the target
string also resets the search position.
+=item \G assertion
+
You can intermix C<m//g> matches with C<m/\G.../g>, where C<\G> is a
zero-width assertion that matches the exact position where the previous
C<m//g>, if any, left off. Without the C</g> modifier, the C<\G> assertion
==== //depot/maint-5.10/perl/pod/perltodo.pod#10 (text) ====
Index: perl/pod/perltodo.pod
--- perl/pod/perltodo.pod#9~33803~ 2008-05-10 08:10:17.000000000 -0700
+++ perl/pod/perltodo.pod 2008-05-20 08:07:58.000000000 -0700
@@ -208,6 +208,13 @@
There's a similar problem with SelfLoader.
+=head2 profile installman
+
+The F<installman> script is slow. All it is doing text processing, which we're
+told is something Perl is good at. So it would be nice to know what it is doing
+that is taking so much CPU, and where possible address it.
+
+
=head1 Tasks that need a little sysadmin-type knowledge
Or if you prefer, tasks that you would learn from, and broaden your skills
@@ -446,6 +453,8 @@
want to determine what ops I<really> are the most commonly used. And in turn
suggest evictions and promotions to achieve a better F<pp_hot.c>.
+One piece of Perl code that might make a good testbed is F<installman>.
+
=head2 Allocate OPs from arenas
Currently all new OP structures are individually malloc()ed and free()d.
@@ -551,6 +560,18 @@
the perl API that comes from writing modules that use XS to interface to
C.
+=head2 investigate removing int_macro_int from POSIX.xs
+
+As a hang over from the original C<constant> implementation, F<POSIX.xs>
+contains a function C<int_macro_int> which in conjunction with C<AUTOLOAD> is
+used to wrap the C functions C<WEXITSTATUS>, C<WIFEXITED>, C<WIFSIGNALED>,
+C<WIFSTOPPED>, C<WSTOPSIG> and C<WTERMSIG>. It's probably worth replacing
+this complexity with 5 simple direct wrappings of those 5 functions.
+
+However, it would be interesting if someone could measure the memory usage
+before and after, both for the case of C<use POSIX();> and the case of
+actually calling the Perl space functions.
+
=head2 safely supporting POSIX SA_SIGINFO
Some years ago Jarkko supplied patches to provide support for the POSIX
==== //depot/maint-5.10/perl/regcomp.c#12 (text) ====
Index: perl/regcomp.c
--- perl/regcomp.c#11~33855~ 2008-05-18 07:30:48.000000000 -0700
+++ perl/regcomp.c 2008-05-20 08:07:58.000000000 -0700
@@ -9346,8 +9346,8 @@
/*
re_dup - duplicate a regexp.
- This routine is expected to clone a given regexp structure. It is not
- compiler under USE_ITHREADS.
+ This routine is expected to clone a given regexp structure. It is only
+ compiled under USE_ITHREADS.
After all of the core data stored in struct regexp is duplicated
the regexp_engine.dupe method is used to copy any private data
End of Patch.