Nicholas Clark [Fri, 18 Feb 2011 16:15:24 +0000 (16:15 +0000)]
In deprecate.pm, only cluck() once if the leaf isn't found in the caller stack.
Previously, if the expected leafname was not found in the caller stack, the
code was cluck, and then continue the loop with the next directories to scan.
However, this serves no useful purpose, as the loop changes nothing that causes
the failure condition, hence all that this would result in is a second cluck()
if the next scanned directories also happened to match. Now the core returns
immediately.
Nicholas Clark [Fri, 18 Feb 2011 15:57:25 +0000 (15:57 +0000)]
In deprecate.pm, remove unused variable $line
Father Chrysostomos [Fri, 18 Feb 2011 18:16:06 +0000 (10:16 -0800)]
perldelta for f1f02a6
Father Chrysostomos [Fri, 18 Feb 2011 18:13:30 +0000 (10:13 -0800)]
Minor perlfaq\d tweaks
Father Chrysostomos [Fri, 18 Feb 2011 17:46:13 +0000 (09:46 -0800)]
Note the Math::BigInt upgrade
David Leadbeater [Thu, 17 Feb 2011 23:31:08 +0000 (23:31 +0000)]
Avoid segfault in re::regmust with pluggable RE engines
re::regmust would segfault if called on a Regexp belonging to a
pluggable regexp engine, only allow on the core and debugging engine.
Also correctly moralize the return values to avoid leaking.
Peter John Acklam [Fri, 18 Feb 2011 15:39:40 +0000 (07:39 -0800)]
Update Math::BigInt to CPAN version 1.992
dist/Math-BigInt/lib/Math/BigFloat.pm:
- Increment version number.
dist/Math-BigInt/lib/Math/BigInt.pm:
- Increment version number.
- Make from_hex(), from_oct(), and behave more like hex() and oct()
in the Perl core, and make from_bin() consistent with from_hex()
and from_oct(). This is related to RT #58954.
dist/Math-BigInt/lib/Math/BigInt/Calc.pm:
- Increment version number.
- Make _rem() modify first input arg always, not just sometimes.
- Make _modinv() more consistent with the _modinv() method in other
libraries (Math::BigInt::GMP, etc.)
- In _nok(), use symmetry property nok(n,k) = nok(n,n-k). This cuts
computation time tremendously when n and k are large.
- In _gcd(), quickly handle zero cases, avoid code duplication, and
always modify the first input argument in-place.
- Clean up code and add more code comments.
- Fix typos.
dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm:
- Increment version number.
dist/Math-BigInt/t/bigintpm.inc:
- Modify tests to something that still fails.
dist/Math-BigInt/t/upgrade.inc:
- Modify tests to something that still fails.
Father Chrysostomos [Fri, 18 Feb 2011 15:28:46 +0000 (07:28 -0800)]
Reflow ‘Having no space’ in perldiag
Karl Williamson [Fri, 18 Feb 2011 14:06:51 +0000 (07:06 -0700)]
warnings.pl: Update comment
Karl Williamson [Fri, 18 Feb 2011 14:00:48 +0000 (07:00 -0700)]
perldelta.pod: Don't use internal warn cat. name
Karl Williamson [Fri, 18 Feb 2011 14:00:12 +0000 (07:00 -0700)]
perldiag.pod: Add missing phrase
David Mitchell [Fri, 18 Feb 2011 13:34:34 +0000 (13:34 +0000)]
pp_subst: eliminate 'matched' local var
David Mitchell [Fri, 18 Feb 2011 12:44:12 +0000 (12:44 +0000)]
DynaLoader.t: AUTOLOAD TODO tests passing
Now that AUTOLOAD has been removed from DynaLoader, some TODO
tests are passing, so unmark them as TODO.
David Mitchell [Fri, 18 Feb 2011 12:35:37 +0000 (12:35 +0000)]
struct subst; remove macro for obsolete field
The field was removed a while ago, but the macro sb_once remained.
David Mitchell [Fri, 18 Feb 2011 12:12:31 +0000 (12:12 +0000)]
pp_regcomp: don't unset RXf_TAINTED
Currently at the end of this function, the flag RXf_TAINTED is set or
unset based the value of PL_tainting.
Skip the unsetting part. At the moment this is a noop, but in some future
variant, it might clear the flag that has already been set in some other
way.
In other words, be conservative.
David Mitchell [Thu, 17 Feb 2011 14:50:04 +0000 (14:50 +0000)]
taint REGEX SVs as well as refs to them
Now that REGEX is actually a first-class SV type, we can taint
the regex SV directly, as well as the RV pointing to it.
This means that this now taints:
$rr = qr/$tainted/;
$r = $$r;
/$r/;
David Mitchell [Thu, 17 Feb 2011 14:17:13 +0000 (14:17 +0000)]
pp_subst: exit earlier after failed match
If the match fails, don't bother to execute some code that prepares the
source and replacement strings for a substitution (e.g. matching
UTF8-ness).
(This is an enhancement to
ff6e92e827a143094fdf3af374056b524759194b)
David Mitchell [Thu, 17 Feb 2011 14:13:04 +0000 (14:13 +0000)]
tweak the new pattern taint description
Tony Cook [Fri, 18 Feb 2011 08:03:55 +0000 (19:03 +1100)]
adjust the skip count to account for the new test in
c22d665b
Karl Williamson [Fri, 18 Feb 2011 05:42:03 +0000 (22:42 -0700)]
Subclass utf8 warnings so can turn off individually
Karl Williamson [Thu, 17 Feb 2011 23:51:17 +0000 (16:51 -0700)]
t/op/caller.t: Comment magic number
So that when it changes, it is easier to find.
Karl Williamson [Fri, 18 Feb 2011 05:50:49 +0000 (22:50 -0700)]
diag.t: Allow underscore in warnings categories
A new category is being created with an underscore in it.
Father Chrysostomos [Fri, 18 Feb 2011 04:39:51 +0000 (20:39 -0800)]
perldelta: subject-verb agreement
Father Chrysostomos [Fri, 18 Feb 2011 04:38:21 +0000 (20:38 -0800)]
Mention DynaLoader changes in perldelta
Father Chrysostomos [Fri, 18 Feb 2011 04:35:17 +0000 (20:35 -0800)]
Increase DynaLoader’s version
Father Chrysostomos [Fri, 18 Feb 2011 02:28:42 +0000 (18:28 -0800)]
Some missing hyphens in perlfaq*
Leon Timmermans [Fri, 18 Feb 2011 02:04:00 +0000 (18:04 -0800)]
[perl #84358] Removing AutoLoader from DynaLoader
DynaLoader currently uses Autoloader. This was an optimization going
back to perl 5.000 in 1994. However, this implementation detail leaks in
a rather troublesome way.
DynaLoader is used by subclassing it. Because of this, when you call
some undefined method on an instance of any class that derives from
DynaLoader (directly or indirectly) you do not get this error message:
Can't locate object method "undefined_method" via package "Foo"
But this rather cryptic error:
Can't locate auto/Foo/undefined_m.al in @INC (@INC contains:
/etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10
/usr/local/lib/site_perl .)
This is totally incomprehensible for anyone who isn't familiar with
what's going on. It was rather a premature optimization anyway if you
ask me, on my machine it's just 66 non-empty lines of code that are
being autoloaded.
Therefore, I think AutoLoader should be removed from DynaLoader.
Craig A. Berry [Fri, 18 Feb 2011 01:01:04 +0000 (19:01 -0600)]
No sip without SA_SIGINFO. Broken in c22d665.
Craig A. Berry [Fri, 18 Feb 2011 00:02:06 +0000 (18:02 -0600)]
Florian Ragwitz [Thu, 17 Feb 2011 20:50:54 +0000 (21:50 +0100)]
Move dprofpp from utils/ to ext/Devel-DProf/bin
This way the script can easily be part of the CPAN distribution, where
ExtUtils::MakeMaker will do its shebang munging.
In the core, we still have utils/dprofpp.PL, which also does shebang munging and
takes care of creating `dprofpp.com' instead of just `dprofpp' on VMS, which
ExtUtils::MakeMaker doesn't seem to be up to yet.
To make this work, some things had to be moved from script-generation-time to
run-time:
* location of the stty binary
This is probably better for binary perl distributions anyway
* Devel::DProf version detection
This is needed for `dprofpp -V'. The version number used to be copied into
the script, but is now determined by actually loading Devel::DProf.
In order for this to work it's necessary to be able to load DProf without
causing profiling to start. For that, starting of the profiler has been moved
to `import', causing
require Devel::DProf;
to not trigger it anymore, while
use Devel::DProf;
(and therefore perl -d:DProf) still does.
Karl Williamson [Thu, 17 Feb 2011 21:43:10 +0000 (14:43 -0700)]
handy.h: isIDFIRST_utf8() changed to use XIDStart
Previously this used a home-grown definition of an identifier start,
stemming from a bug in some early Unicode versions. This led to some
problems, fixed by #74022.
But the home-grown solution did not track Unicode, and allowed for
characters, like marks, to begin words when they shouldn't. This change
brings this macro into compliance with Unicode going-forward.
Karl Williamson [Thu, 17 Feb 2011 22:07:02 +0000 (15:07 -0700)]
op/turkish.t: Fix wrong test explanations
Karl Williamson [Thu, 17 Feb 2011 22:05:20 +0000 (15:05 -0700)]
perldiag.pod: Clarify non-suffix form regex modifiers
It currently is planned to not have the new regex modifiers be available
in suffix form in 5.14. This likely will lead to confusion given the
existing message. This adds text to clarify.
Karl Williamson [Thu, 17 Feb 2011 22:02:56 +0000 (15:02 -0700)]
Deprecate current user-defined case mapping
This has many issues. I'm working on a CPAN module to take over
its functionality that should be ready in time for the 5.14 release.
Craig A. Berry [Thu, 17 Feb 2011 20:24:39 +0000 (14:24 -0600)]
Increase PERLIOBUF_DEFAULT_BUFSIZ to larger of 8192 and BUFSIZ.
The previous default size of a PerlIO buffer (4096 bytes) was
chosen many years ago before PerlIO was even the default I/O scheme
for Perl. Benchmarks show that doubling this decade-old default
increases read and write performance in the neighborhood of 25%
to 50% when using the default layers of perlio on top of unix.
The only situation without a noticeable performance benefit so
far appears to be when physical I/O is so slow that it dwarfs
any savings from the reduction in layer shuffling, but there
is also no performance penalty in this case.
BUFSIZ will be chosen in the unlikely event that it's larger
than 8192 on the assumption that the system maintainers would
not set such a value without good reason.
If the new size causes problems, or to try an even bigger size,
configure with:
./Configure -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=N
where N is the desired size in bytes; it should probably be a
multiple of your page size.
Leon Timmermans [Sat, 12 Feb 2011 21:19:57 +0000 (22:19 +0100)]
Unblock signal-mask on error for unsafe signals
Nicholas Clark [Thu, 17 Feb 2011 16:25:53 +0000 (16:25 +0000)]
Add functions to Config to expose the remaining information from perl -V
Previously one could only find out by parsing the output of perl -V the list
of local patches, the compilation date, and the compilation options (some of
which affect binary compatibility). Now provide all of these as
local_patches(), compile_date(), bincompat_options() and
non_bincompat_options().
Nicholas Clark [Wed, 16 Feb 2011 17:15:46 +0000 (17:15 +0000)]
Refactor Config.pm to set @EXPORT_OK from keys %Export_Cache
The refactor generates %Export_Cache at perl build time, and hence avoids
Config.pm running a map on load. The change also results in @Config::EXPORT
containing shared hash key scalars, which saves 124 bytes on this platform,
modest, but everything helps.
Also change the build script to programmatically generate the function stubs
in Config.pm, instead of having the list duplicated by hand.
Karl Williamson [Thu, 17 Feb 2011 14:37:15 +0000 (07:37 -0700)]
Unicode::UCD::num(): Remove definitions for irrationals
We decided it was not a good idea to have definitions for these three
code points that are not officially defined as such in the Unicode
standard.
Karl Williamson [Thu, 17 Feb 2011 14:36:01 +0000 (07:36 -0700)]
Unicode::UCD::num() clarify pod text
Father Chrysostomos [Thu, 17 Feb 2011 14:28:47 +0000 (06:28 -0800)]
Minor correction to perldelta
Father Chrysostomos [Thu, 17 Feb 2011 04:11:52 +0000 (20:11 -0800)]
Some minor perlebcdic.pod clean-up
David Mitchell [Thu, 17 Feb 2011 14:02:04 +0000 (14:02 +0000)]
win32/FindExt.pm: fix undef warning
David Mitchell [Thu, 17 Feb 2011 13:39:14 +0000 (13:39 +0000)]
test.pl: ok mess to stdout not stderr on success
sub _ok() uses _diag() to print any additional messages passed as
args. These go to stderr, and so mess up harness output. Make it
instead use note() on success, which goes to stdout.
Father Chrysostomos [Thu, 17 Feb 2011 02:52:25 +0000 (18:52 -0800)]
perldoc English improvements
Karl Williamson [Thu, 17 Feb 2011 01:14:15 +0000 (18:14 -0700)]
fold_grind.t: Shorten eval string so no overflow
This test is failing on win2000 because it is overlowing the stack
David Golden [Wed, 16 Feb 2011 20:39:06 +0000 (15:39 -0500)]
Update Module::Build to CPAN version 0.37_04
[DELTA]
0.37_04 - Wed Feb 16 15:27:21 EST 2011
[OTHER]
- moved scripts/ to bin/ for less confusing porting to bleadperl
0.37_03 - Wed Feb 16 09:54:05 EST 2011
[BUG FIXES]
- removed an irrelevant test in t/actions/installdeps.t that was causing
failures on some Cygwin platforms
[OTHER]
- dropped configure_requires as some CPAN clients apparently get
confused by having things in both configure_requires and requires
- bumped Parse::CPAN::Meta build prereq to 1.4401
- bumped CPAN::Meta prereq to 2.110420
0.37_02 - Mon Feb 7 21:05:30 EST 2011
[BUG FIXES]
- bumped CPAN::Meta prereq to 2.110390 to avoid a regression in 2.110360
0.37_01 - Thu Feb 3 03:44:38 EST 2011
[ENHANCEMENTS]
- Generates META.json and MYMETA.json consistent with version 2 of the
CPAN Meta Spec. [David Golden]
[BUG FIXES]
- t/signature.t now uses a mocked Module::Signature; this should be
more robust across platforms as it only needs to confirm that
Module::Build is calling Module::Signature when expected
[OTHER]
- Added CPAN::Meta and Parse::CPAN::Meta to prerequisites and dropped
CPAN::Meta::YAML
0.3624 - Thu Jan 27 11:38:39 EST 2011
- Fixed pod2html directory bugs and fixed creation of spurious blib
directory in core perl directory when running install.t (RT#63003)
[Chris Williams]
0.3623 - Wed Jan 26 17:45:30 EST 2011
- Fixed bugs involving bootstrapping configure_requires prerequisites
on older CPANPLUS clients or for either CPAN/CPANPLUS when using
the compatibility Makefile.PL
- Added diagnostic output when configure_requires are missing for
the benefit of users doing manual installation
David Golden [Wed, 16 Feb 2011 20:22:40 +0000 (15:22 -0500)]
core-cpan-diff should allow some files only in Perl
Uses CUSTOMIZED in Maintainers.pl to also track files that only exist
in Perl and not on CPAN.
George Greer [Wed, 16 Feb 2011 20:00:47 +0000 (15:00 -0500)]
Windows builds require perliol.h conditional on USE_PERLIO.
Michael Stevens [Wed, 16 Feb 2011 17:41:44 +0000 (17:41 +0000)]
Fix pod warnings in perlfaq4.pod
David Mitchell [Wed, 16 Feb 2011 17:17:18 +0000 (17:17 +0000)]
document how tainting works with pattern matching
David Mitchell [Mon, 14 Feb 2011 15:46:13 +0000 (15:46 +0000)]
fix many s/// tainting bugs
This is a re-implementation of the tainting code in pp_subst and
pp_substcont. Although this fixes many bugs, because its a de-novo rewrite
of the tainting parts of the code in those two functions, it's quite
possible that it breaks some existing tainting behaviour. It doesn't break
any existing tests, although it turns out that this area was severely
under-tested anyway.
The main bugs that this commit fixes are as follows, where:
T = a tainted value
L = pattern tainted by locale (e.g. use locale; s/\w//)
Happens both with and without 'use re taint' unless specified.
Happens with all modifiers (/g, /r etc) unless explicitly mentioned.
$1 unexpectedly untainted:
s/T//
T =~ s/// under use re 'taint'
original string unexpectedly untainted:
s/L//, s/L//g
return value unexpectedly untainted:
T =~ s///g under no re 'taint'
s/L//g, s/L//r
return value unexpectedly tainted:
s/T//
s//T/r under no re 'taint'
T =~ s/// under use re 'taint'
s//T/ under use re 'taint'
Also, with /ge, the original string becomes tainted as soon as possible
(usually in the second entry to the /e code block) rather than only at the
end, in code like
$orig =~ s/T/...code.../ge
The rationale behind the taintedness of the return value of s/// (in the
non /r case), is that a boolean value shouldn't be tainted. This
corresponds to the general perl tainting policy that boolean ops don't
return tainted values. On the other hand, when it returns an integer
(number of matches), that should be tainted.
A couple of note about the old tainting code this replaces: firstly, several
occurrences of the following were NOOPs, since rxtainted was U8 and the bit
being ored was > 256:
rxtainted |= RX_MATCH_TAINTED(rx)
secondly, removing a whole bunch of the following didn't make any
existing tests fail:
TAINT_IF(rxtainted & 1);
David Mitchell [Fri, 11 Feb 2011 23:50:59 +0000 (23:50 +0000)]
add comprehensive m// and s/// taint tests
It turns out that taint in pattern matching and substitutions is
under-tested and buggy. Add lots of new tests to try and cover most
permutations. Several tests are TODO for now, but should get fixed by
commits to follow shortly.
David Mitchell [Wed, 9 Feb 2011 13:46:18 +0000 (13:46 +0000)]
pp_match: indent label slightly
'play_it_again:' was on column 0, which meant that most diff
utilities interpreted it as a function name.
Larwan Berke [Wed, 16 Feb 2011 17:32:20 +0000 (12:32 -0500)]
Run lib/diagnostics.t during make test_porting
Signed-off-by: David Golden <dagolden@cpan.org>
David Golden [Wed, 16 Feb 2011 14:48:51 +0000 (09:48 -0500)]
Updated CPAN.pm to CPAN version 1.94_65
[DELTA]
2011-02-14 David Golden <dagolden@cpan.org>
* release 1.94_65
* Adds support for META/MYMETA.json files if CPAN::Meta is
installed
* Adds HOMEDRIVE/HOMEPATH or USERPROFILE as home directory
options on Windows
* fixes a minor test bug related to Makefile timeskews
* fixes a minor test bug related to Makefile timeskews
* various documentation typo fixes
David Golden [Wed, 16 Feb 2011 15:49:02 +0000 (10:49 -0500)]
Fix broken lib/diagnostics.t
Commit 96090e4 changed a diagnostic message, but didn't update
lib/diagnostics.t
Nicholas Clark [Wed, 16 Feb 2011 09:58:05 +0000 (09:58 +0000)]
Delete subroutines Socket::fake_get{addr,name}info if they are not used.
Nothing outside of Socket.pm uses them, and removing them from the symbol table
frees up about 12K. (And likely reduces the per-thread overhead under ithreads,
as their pads won't need cloning.)
Father Chrysostomos [Wed, 16 Feb 2011 06:31:23 +0000 (22:31 -0800)]
add refcnt_inc/dec to perldiag
Father Chrysostomos [Wed, 16 Feb 2011 06:27:47 +0000 (22:27 -0800)]
more perldelta entries
Tom Christiansen [Wed, 16 Feb 2011 05:44:15 +0000 (21:44 -0800)]
More POD corrections
[Extracted by the committer from
<nntp://nntp.perl.org/19662.
1297825146@chthon>]
Tom Christiansen [Wed, 16 Feb 2011 05:30:06 +0000 (21:30 -0800)]
multifile patch against blead/pod/*.pod
I mostly fixed spelling mistakes, some of very long standing,
but a few files got more attentive word-smithying. I've updated:
pod/perl.pod
pod/perldelta.pod
pod/perl592delta.pod
pod/perl5120delta.pod
pod/perl51310delta.pod
pod/perl5139delta.pod
pod/perlfunc.pod
pod/perlop.pod
pod/perlrebackslash.pod
pod/perlrecharclass.pod
pod/perlutil.pod
pod/perlhack.pod
pod/perlintern.pod
pod/perlnetware.pod
pod/perlpolicy.pod
Apocalypse [Wed, 16 Feb 2011 01:38:04 +0000 (18:38 -0700)]
Fix bad pod links found by Test::Pod::LinkCheck
David Golden [Wed, 16 Feb 2011 03:35:53 +0000 (22:35 -0500)]
Add CPAN::Meta as a dual-life module
CPAN::Meta version 2.110440 has been added as a dual-life module. It
provides a standard library to read, interpret and write CPAN distribution
metadata files (e.g. META.json and META.yml) which describes a
distribution, its contents, and the requirements for building it and
installing it. The latest CPAN distribution metadata specification is
included as CPAN::Meta::Spec and notes on changes in the specification
over time are given in CPAN::Meta::History.
CPAN::Meta is required for CPAN.pm and CPANPLUS to read META.json and
MYMETA.json files and is required by Module::Build and
ExtUtils::MakeMaker to generate META.json and MYMETA.json files
Father Chrysostomos [Wed, 16 Feb 2011 02:20:43 +0000 (18:20 -0800)]
perldelta entries
Ævar Arnfjörð Bjarmason [Wed, 16 Feb 2011 00:36:54 +0000 (00:36 +0000)]
pod/perldelta.pod: [minor] turn " " into " "
Reported-by: Dave Rolsky <autarch@urth.org>
Father Chrysostomos [Wed, 16 Feb 2011 00:33:24 +0000 (16:33 -0800)]
[perl #78494] Pipes cause threads to hang on join()
or on close() in either thread.
close() in one thread blocks until close() is called in the other
thread, because both closes are waiting for the child process to end.
Since we have a reference-counting mechanism for the underlying
fileno, we can use that to determine whether close() should wait.
This does not solve the problem of close $OUT block when it has been
duplicated via open $OUT2, ">&" and $OUT2 is still in scope.
Dave Rolsky [Wed, 16 Feb 2011 00:25:38 +0000 (18:25 -0600)]
s/perlrepository/perlgit/g
Signed-off-by: Ævar Arnfjörð Bjarmason <avar@cpan.org>
Ævar Arnfjörð Bjarmason [Tue, 15 Feb 2011 23:49:52 +0000 (23:49 +0000)]
t/porting/podcheck.t: remove unused __DATA__ section
This was added by Max Maischein in
a67b1afafd, then removed by Jesse
Vincent in
69f6a9a1e2 the same day, but Jesse forgot to nuke the
__DATA__ section.
Verified with `git log --reverse -p -SDATA -- t/porting/podcheck.t`.
Reported-by: Larwan Berke <apocal@cpan.org>
Tony Cook [Tue, 15 Feb 2011 23:41:26 +0000 (10:41 +1100)]
ignore the new lib/buildcustomize.pl build deritus
Tony Cook [Tue, 15 Feb 2011 23:38:55 +0000 (10:38 +1100)]
fix C++ builds and make the comment on initializers clearer
Ævar Arnfjörð Bjarmason [Tue, 15 Feb 2011 22:43:31 +0000 (22:43 +0000)]
perldelta for most of 5.13.10
Add a perldelta for the commits since v5.13.9 that I thought worthy of
mention.
What should be included was discussed on perl5-porters in the "The
status of the perldelta for 5.13.10" and "[PATCH/RFC]
pod/perldelta.pod: WIP perldelta from v5.13.9..
356123f144" threads.
There might still be things that need a delta that I either don't
fully understand or don't have the competency to write a perldelta
for. These were when I started writing this commit message at least:
$ git-deltatool --mode summary --type blocking
Scanning for blocking commits since v5.13.9...
2f65c56 regexec.c: Handle sharp s in middle of backref
6e326e8 regcomp.c: Handle more cases of tricky fold chars
b1e3e56 regexec.c: Give context for ANYOFV call
4e8910e regexec.c: Give context for ANYOFV call
a5d74e1 regcomp.c: Remove special handling for U+00DF
8e3094e regcomp.c: tell regexec more about multi-char folds
d18bf9d regcomp.c: Synthetic start class should include ord >255 folds
43322ea regcomp.c: Be more precise about ANYOF matching flag
4c9daa0 regcomp.c: Put two static functions in embed.fnc
17a3df4 Fix up \cX for 5.14
0cd14f2 Minor bugfixes to Socket::getaddrinfo
d1de25c Add supplied tests from perl #83194.
33d9abf code points above 0x7fff_ffff problematic
d764b54 Add initial inversion list object
2f833f5 regcomp.c: Generate different property for /i matching
6c29054 bmodpow() fails when GMP library is used.
There I have not included commits by Father Chrysostomos since he told
me that he "plan[s] to write perldelta entries for everything [he]
committed that is worthy of note.".
Later I noticed a mail by Karl Williamson where he said that he
"always[s] put in a delta if [he] think[s] one is needed". That along
with marking up the remaining as ignored turned the list of pending
commits into:
$ perl Porting/git-deltatool --mode summary --type blocking
Scanning for blocking commits since v5.13.9...
$
We'll probably still need perldelta for"Fix up \cX for 5.14" and
related changes, but that can be done for the final 5.14 release.
Ævar Arnfjörð Bjarmason [Tue, 15 Feb 2011 23:27:58 +0000 (23:27 +0000)]
pod/perldelta.pod: fix POD syntax in
7319f91d2a
Balance a runaway C<> added in
7319f91d2a5083b255891bbdec7edc0bdfa49f4d.
Tony Cook [Tue, 15 Feb 2011 23:24:10 +0000 (10:24 +1100)]
note fixes to FindExt.t
Ævar Arnfjörð Bjarmason [Tue, 15 Feb 2011 23:07:38 +0000 (23:07 +0000)]
Porting/git-deltatool: print progress info to STDERR
Print output that's just displaying the progress of the tool to STDERR
instead of STDOUT. I can now do things like:
git-deltatool --mode summary --type blocking | awk '{print $1}'
And not have the first line be "Scanning".
Robin Barker [Wed, 9 Feb 2011 19:50:55 +0000 (19:50 +0000)]
consistent URL links
Chris 'BinGOs' Williams [Tue, 15 Feb 2011 21:13:27 +0000 (21:13 +0000)]
Update CPANPLUS to CPAN version 0.9101
[DELTA]
Changes for 0.9101 Tue Feb 15 20:58:30 2011
================================================
* Only a version change for downstream maintainers
George Greer [Tue, 15 Feb 2011 17:34:10 +0000 (12:34 -0500)]
ExtUtils-CBuilder is causing some collateral smoke; fix variable name.
Since the variable was empty, the include of ::Platform::MSVC failed
and it fell back to ::Base which tried to use "-o" as a parameter.
Karl Williamson [Tue, 15 Feb 2011 17:04:24 +0000 (10:04 -0700)]
regexec.c: Silence netbsd compiler warning
Karl Williamson [Tue, 15 Feb 2011 17:03:34 +0000 (10:03 -0700)]
regcomp.c: Silence win32 compiler warnings
Karl Williamson [Tue, 15 Feb 2011 17:02:55 +0000 (10:02 -0700)]
toke.c: silence win32 compiler warning
Karl Williamson [Tue, 15 Feb 2011 15:37:16 +0000 (08:37 -0700)]
Add UCD::num() to get safe numeric value of a string
This function will return the numeric value of the string passed it,
and undef if the entire string has no safe numeric value.
To be safe, a string must be a single character which has a numeric
value, or consist entirely of characters that match \d, coming from the
same Unicode block of digits. Thus, a mix of Bengali and Western
digits would be considered unsafe, as well as a mix of half- and
full-width digits.
Karl Williamson [Tue, 15 Feb 2011 15:25:03 +0000 (08:25 -0700)]
mktables: Default map tables to range size 1.
It hasn't been documented, but the swash code in utf8.c has a different
interpretation of map table ranges than mktables generates. mktables
creates a range where of consecutive code points that map to the same
thing. utf8.c is expecting a range where consecutive code points map to
consecutive things. One could, for example, give the digits in one
entry:
0030 0039 0
Also, the code in UCD would have to be more intelligent to cope with
ranges. The space savings is negligible, so this just makes all ranges
one code point long.
Karl Williamson [Tue, 15 Feb 2011 04:29:57 +0000 (21:29 -0700)]
mktables: Write all enum map tables.
This is in preparation for removing the much larger Unicode source
files from the installed distribution.
Nicholas Clark [Mon, 14 Feb 2011 20:36:36 +0000 (20:36 +0000)]
Add ext/re/re.pm to the @INC set for miniperl by lib/buildcustomize.pl
This avoids a build-time race condition where lib/re.pm might be read midway
through the *second* copy of it (when ext/re/Makefile is being run). It also
simplifies many [Mm]akefile* rules, which previously had a special case to
copy it early.
Nicholas Clark [Mon, 14 Feb 2011 10:14:18 +0000 (10:14 +0000)]
Use a buildcustomize.pl to set @INC in miniperl when building extensions.
With the build tools now shipped in various subdirectories of cpan/ and dist/
we need to add several paths to @INC when invoking MakeMaker (etc) to build
extensions.
The previous approach of using $ENV{PERL5LIB} was fragile, because:
a: It was hitting the length limit for %ENV variables on VMS
b: It was running the risk of race conditions in a parallel build -
ExtUtils::Makemaker "knows" to add -I../..lib, which puts lib at the *front*
of @INC, but if one parallel process happens to copy a module into lib/
whilst another is searching for it, the second may get a partial read
c: Overwriting $ENV{PERL5LIB} breaks any system where any of the installed
build tools are actually implemented in Perl, if they are relying on
$ENV{PERL5LIB} for setup
This approach
a: Doesn't have %ENV length limits
b: Ensures that lib/ is last, so copy targets are always shadowing copy
sources
c: Only affects miniperl, and doesn't touch $ENV{PERL5LIB}
Approaches that turned out to have fatal flaws:
1: Using $ENV{PERL5OPT} with a module fails because ExtUtils::MakeMaker
searches for the build perl without setting lib, and treats the error
caused by a failed -M as "not a valid perl 5 binary"
2: Refactoring ExtUtils::MakeMaker to *not* use -I for lib, and instead rely
on $ENV{PERL5LIB} [which includes "../../lib"] fails because:
some extensions have subdirectories, and on these EU::MM correctly uses
-I../../../lib, where as $ENV{PERL5LIB} only has space for relative paths,
and only with two levels.
This approach actually takes advantage of ExtUtils::MakeMaker setting an -I
option correct for the depth of directory being built.
Nicholas Clark [Mon, 14 Feb 2011 09:06:42 +0000 (09:06 +0000)]
For miniperl, use the USE_SITECUSTOMIZE feature to load the build-time @INC
For miniperl (only), always enable USE_SITECUSTOMIZE, but change it to load
a buildcustomize.pl file from $INC[0], if present. The default @INC for
miniperl is '.', so by default this does nothing.
brian d foy [Tue, 15 Feb 2011 07:57:16 +0000 (01:57 -0600)]
Update perlfaq4 examples to use Time::Piece
Father Chrysostomos [Mon, 14 Feb 2011 23:46:59 +0000 (15:46 -0800)]
Delete suidperl messages from perldiag
These messages are no longer produced, as of commit cc69b68.
The ‘No -e allowed in setuid scripts‘ message actually changed wording
earlier, in commit
ae3f3efde.
Father Chrysostomos [Mon, 14 Feb 2011 23:16:19 +0000 (15:16 -0800)]
perldiag: typo
Father Chrysostomos [Mon, 14 Feb 2011 23:14:21 +0000 (15:14 -0800)]
perldiag: reflow some entries for 80 cols.
Father Chrysostomos [Mon, 14 Feb 2011 23:06:45 +0000 (15:06 -0800)]
perldiag: more sorting
This requires a description to be repeated.
Father Chrysostomos [Mon, 14 Feb 2011 23:02:28 +0000 (15:02 -0800)]
perldiag: rewording
‘Either’ is not usually used for contrast.
Father Chrysostomos [Mon, 14 Feb 2011 22:58:47 +0000 (14:58 -0800)]
Delete perldiag/Use of "package" with no arguments
Use of package without arguments is so deprecated that this message
does not even show up any more.
Father Chrysostomos [Mon, 14 Feb 2011 22:58:31 +0000 (14:58 -0800)]
perldiag: more sorting
Father Chrysostomos [Mon, 14 Feb 2011 22:55:13 +0000 (14:55 -0800)]
perldiag: reflow ‘Use of inherited AUTOLOAD’
diagnostics.pm does not like POD formatting directives spanning
multiple lines.
Father Chrysostomos [Mon, 14 Feb 2011 22:49:16 +0000 (14:49 -0800)]
perldiag: more sorting
Father Chrysostomos [Mon, 14 Feb 2011 22:40:52 +0000 (14:40 -0800)]
perldiag: Fix some weird errors
The word ‘first’ was separated from the rest of the sentence by commit
e2e6a0f18.
Just loading a module is enough to load it. It does not also need to
be imported.
Plus reflow.
Father Chrysostomos [Mon, 14 Feb 2011 22:33:43 +0000 (14:33 -0800)]
perldiag: Expand the ‘Unknown switch condition’ description
Actually, I’m abbreviating much of the existing text, but there are so
many possible conditions now it seems like a good idea.
Father Chrysostomos [Mon, 14 Feb 2011 22:19:58 +0000 (14:19 -0800)]
perlre: Clarify (?(...)|)
• Mention look-around assertions in the list
• It’s the code block’s return value, not the block itself
that is used