This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
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
Father Chrysostomos [Mon, 14 Feb 2011 21:23:33 +0000 (13:23 -0800)]
perldiag: more sorting
Chris 'BinGOs' Williams [Mon, 14 Feb 2011 23:29:07 +0000 (23:29 +0000)]
Add dist.ini as an IGNORABLE to Maintainers.pl
Ævar Arnfjörð Bjarmason [Mon, 14 Feb 2011 23:13:34 +0000 (23:13 +0000)]
Porting/release_managers_guide.pod: make bump-perl-version example runnable
Porting/bump-perl-version isn't executable so this example didn't work
as-is. Make it use `./perl -Ilib ..` like the other examples instead.
H.Merijn Brand [Mon, 14 Feb 2011 22:01:37 +0000 (23:01 +0100)]
Subject: optimize matching -g still enables -DDEBUGING
From: Nicholas Clark <nick@ccl4.org>
Date: Mon, 14 Feb 2011 16:01:49 +0000
Message-ID: <
20110214160149.GU24189@plum.flirble.org>
INSTALL says this:
=item -DEBUGGING=-g
=item -Doptimize=-g
Adds -g to optimize, but does not set -DDEBUGGING.
(Note: Your system may actually require something like cc -g2.
Check your man pages for cc(1) and also any hint file for your system.)
However, we *aren't* compliant with our documentation, as currently
-Doptimize=-g (or anything containing -g) still causes -DDEBUGGING to be
added to the C flags.
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
Ævar Arnfjörð Bjarmason [Mon, 14 Feb 2011 21:45:59 +0000 (21:45 +0000)]
Porting/git-deltatool: add `--mode summary --type blocking` example
Add an example of `git-deltatool --mode summary --type blocking`
usage. It's what you use for getting the list of commits that you
marked as needing help with.
Ævar Arnfjörð Bjarmason [Mon, 14 Feb 2011 21:43:58 +0000 (21:43 +0000)]
Porting/git-deltatool: s/summarize/summary/ in documentation
Change the "summarize" misrefences to the "summary" option to
"summary".
Charles Bailey [Sun, 13 Feb 2011 18:16:56 +0000 (13:16 -0500)]
Fix symbol table associations in VMS::DCLsym
Father Chrysostomos [Mon, 14 Feb 2011 17:59:50 +0000 (09:59 -0800)]
Decrease (unbump?) re.pm’s version
b4ab316d increased it unnecessarily, as it had already been increased
since 5.13.9 (by ffedb8c).
Father Chrysostomos [Mon, 14 Feb 2011 17:59:11 +0000 (09:59 -0800)]
perldiag: add OK to %s syntax
Father Chrysostomos [Mon, 14 Feb 2011 17:54:25 +0000 (09:54 -0800)]
perldiag: reflow for 80 cols.
Father Chrysostomos [Mon, 14 Feb 2011 17:52:24 +0000 (09:52 -0800)]
perldiag: typo
Karl Williamson [Mon, 14 Feb 2011 17:51:30 +0000 (10:51 -0700)]
exporting a static function doesnt work
Nicholas Clark [Mon, 14 Feb 2011 09:41:32 +0000 (09:41 +0000)]
In make_ext.pl, on Win32 avoid calling getcwd() twice in quick succession.
Karl Williamson [Mon, 14 Feb 2011 15:44:12 +0000 (08:44 -0700)]
fold_grind.t: Test multi-char folds
Karl Williamson [Mon, 14 Feb 2011 15:12:10 +0000 (08:12 -0700)]
Add /aa regex modifier
Tests for \N{} with this option will be added later.
Karl Williamson [Mon, 14 Feb 2011 15:08:48 +0000 (08:08 -0700)]
fold_grind.t: Fix comments
Karl Williamson [Mon, 14 Feb 2011 04:02:02 +0000 (21:02 -0700)]
fold_grind.t: use common subroutine
Karl Williamson [Mon, 14 Feb 2011 03:56:42 +0000 (20:56 -0700)]
fold_grind.t: comment fixes
Karl Williamson [Mon, 14 Feb 2011 03:53:36 +0000 (20:53 -0700)]
fold_grind.t: white space only
Karl Williamson [Sun, 13 Feb 2011 03:28:17 +0000 (20:28 -0700)]
regexec.c: Handle sharp s in middle of backref
This code handled some of the case of the LATIN SMALL LETTER SHARP S at
the beginning of a back ref, but not in the middle. To do it easily,
just call the function that handles our full Unicode folding
Karl Williamson [Sun, 13 Feb 2011 03:26:08 +0000 (20:26 -0700)]
regexec.c: Remove no longer used code
A recent commit #ifdef'd this out
Karl Williamson [Sun, 13 Feb 2011 03:11:45 +0000 (20:11 -0700)]
regexec.c: Convert to foldEQ_utf8_flags()
Karl Williamson [Sun, 13 Feb 2011 03:01:26 +0000 (20:01 -0700)]
regexec.c: Rmv unused macro
A recent commit stopped calling this
Karl Williamson [Sun, 13 Feb 2011 03:00:51 +0000 (20:00 -0700)]
change comment
Karl Williamson [Sun, 13 Feb 2011 02:23:34 +0000 (19:23 -0700)]
regexec.c: refactor find-by-class EXACTish code
This code is way out-of-date, using upper and lower case instead of fold-case.
Karl Williamson [Thu, 10 Feb 2011 04:41:34 +0000 (21:41 -0700)]
foldEQ_utf8_flags: Add no-mixing ASCII option
If this option is set, any match that has a non-ASCII character that has
an ASCII character in its fold will not match that fold.
Karl Williamson [Fri, 11 Feb 2011 17:22:53 +0000 (10:22 -0700)]
re.pm: Add /aa support
Karl Williamson [Fri, 11 Feb 2011 16:46:29 +0000 (09:46 -0700)]
re.pm: Forbid things like /dd, /uu
This is so they can perhaps be used in the future by Perl.
The test file is refactored to test these more comprehensively, adding tests
for the recently added /a.
Karl Williamson [Thu, 10 Feb 2011 04:30:13 +0000 (21:30 -0700)]
foldEQ_utf8: Add version with flags parameter
The parameter doesn't do anything yet. The old version becomes a macro
calling the new version with 0 as the flags.
Karl Williamson [Wed, 9 Feb 2011 23:47:32 +0000 (16:47 -0700)]
regcomp.sym: Add nodes for backref of EXACTFA
These are not used yet.
Karl Williamson [Thu, 3 Feb 2011 15:37:43 +0000 (08:37 -0700)]
regcomp.sym: Add regnode for /aa matching
It is not used yet.
Karl Williamson [Sat, 5 Feb 2011 17:48:15 +0000 (10:48 -0700)]
regexec.c: Fix comment
Karl Williamson [Thu, 3 Feb 2011 15:31:20 +0000 (08:31 -0700)]
regexec.c: Rmv wrong comment
Karl Williamson [Thu, 3 Feb 2011 00:48:56 +0000 (17:48 -0700)]
Initial setup to accommodate /aa regex modifier
This changes the bits to add a new charset type for /aa, and other bookkeeping
for it.
Karl Williamson [Thu, 10 Feb 2011 01:27:39 +0000 (18:27 -0700)]
regcomp.c: Add cast.
I found this through gdb. Sign extension was happening.
Karl Williamson [Wed, 9 Feb 2011 17:56:59 +0000 (10:56 -0700)]
regcomp.c: Handle more cases of tricky fold chars
Certain characters are not placed in EXACTish nodes because of problems
mostly with the optimizer. However, not all notations that generated
those characters were caught. This catches all but those in \N{}
constructs; which is coming later.
This does not use FOLDCHAR, which doesn't know the difference between
/d and /u; instead it uses ANYOFV, which does handle those cases already,
at the expense of larger (in storage) regexes for these few characters.
If this were deemed a problem, there would be some work involved in
adding FOLDCHARU, and fixing the code where it doesn't work properly now.
Karl Williamson [Wed, 9 Feb 2011 17:37:17 +0000 (10:37 -0700)]
regex: Add comments
Karl Williamson [Wed, 9 Feb 2011 17:34:02 +0000 (10:34 -0700)]
regexec.c: Give context for ANYOFV call
This converts one case where ANYOFV is now usable to allow it to match
more than one character.
Karl Williamson [Wed, 9 Feb 2011 17:07:47 +0000 (10:07 -0700)]
regexec.c: Give context for ANYOFV call
This converts one case where ANYOFV is now usable to allow it to match
more than one character.
Karl Williamson [Wed, 9 Feb 2011 16:44:10 +0000 (09:44 -0700)]
regcomp.c: Add comment
Karl Williamson [Mon, 7 Feb 2011 18:28:11 +0000 (11:28 -0700)]
regcomp.c: simplify conditional
A previous commit removed some things, so this block can be rearranged
Karl Williamson [Mon, 7 Feb 2011 18:27:49 +0000 (11:27 -0700)]
Add comments
Karl Williamson [Sat, 5 Feb 2011 17:50:37 +0000 (10:50 -0700)]
regexec.c: Remove folding now done in regcomp
Karl Williamson [Mon, 7 Feb 2011 18:14:50 +0000 (11:14 -0700)]
regcomp.c: Remove special handling for U+00DF
The code elsewhere is now better equipped to handle this.
Karl Williamson [Mon, 7 Feb 2011 18:11:16 +0000 (11:11 -0700)]
regcomp.c: tell regexec more about multi-char folds
A multi-char fold that matches in the Latin1 range needs to have that
fact communicated to regexec.
Karl Williamson [Mon, 7 Feb 2011 04:48:55 +0000 (21:48 -0700)]
regcomp.c: Synthetic start class should include ord >255 folds
Some characters above 255 fold to the < 256 range. These need to be in
the synthetic start class so the optimizer won't reject them.
This is temporary code which creates false positives, to be
replaced by more precise matching later.
Karl Williamson [Mon, 7 Feb 2011 04:22:32 +0000 (21:22 -0700)]
Revert "l1_char_class_tab.h: Remove multi-char fold targets"
This reverts commit
88c8c9616516015e2fe0b502cdb92dc4efcc0c10.
It turns out that these multi-char fold targets are now needed;
In a future commit, I plan to compile in the dozen or so rules that
are needed to avoid a Latin1-only regex from having to go out to the
utf8 tables to avoid the performance penalty; or calling code can use
the also forthcoming 'use re "/aa"'.
Karl Williamson [Sun, 6 Feb 2011 03:04:54 +0000 (20:04 -0700)]
regcomp.c: Be more precise about ANYOF matching flag
There are two flags for matching outside the ANYOF bitmap. Instead of
setting both, set the corresponding one.
Karl Williamson [Sun, 6 Feb 2011 02:52:42 +0000 (19:52 -0700)]
regcomp.c: Put two static functions in embed.fnc
Karl Williamson [Sun, 6 Feb 2011 02:36:47 +0000 (19:36 -0700)]
Update comment
Nicholas Clark [Sun, 13 Feb 2011 10:34:31 +0000 (10:34 +0000)]
Remove extraneous trailing whitespace from Win32 makefiles.
73c9ebc71cb12c3c added a "blank" line with two spaces to Makefile,
e64b1bd1d1005342 added a dependency rule with a trailing tab to Makefile,
and
9ce5b024fd73d3a7 propagated that rule to makefile.mk
Father Chrysostomos [Mon, 14 Feb 2011 07:55:40 +0000 (23:55 -0800)]
perldiag: Remove quotes around message
The quotes might make podchecker happy, but they cause this entry to
be formatted differently from the rest.
Father Chrysostomos [Mon, 14 Feb 2011 07:52:56 +0000 (23:52 -0800)]
perldiag: grammar
Father Chrysostomos [Mon, 14 Feb 2011 07:51:58 +0000 (23:51 -0800)]
perldiag: more sorting
Father Chrysostomos [Mon, 14 Feb 2011 07:49:07 +0000 (23:49 -0800)]
perldiag: grammar
Father Chrysostomos [Mon, 14 Feb 2011 07:45:48 +0000 (23:45 -0800)]
perldiag: pod syntax and reflow
Father Chrysostomos [Mon, 14 Feb 2011 07:44:00 +0000 (23:44 -0800)]
perldiag: resort some items
Father Chrysostomos [Mon, 14 Feb 2011 07:42:20 +0000 (23:42 -0800)]
perldiag: reflow some entries
Father Chrysostomos [Mon, 14 Feb 2011 07:37:49 +0000 (23:37 -0800)]
Delete ‘Recursive inheritance detected while looking for method’
from perldiag.
This message has not occurred since 5.8.x.
Father Chrysostomos [Mon, 14 Feb 2011 07:37:07 +0000 (23:37 -0800)]
perldiag: grammar
Father Chrysostomos [Mon, 14 Feb 2011 07:35:20 +0000 (23:35 -0800)]
perldiag: more resorting
Father Chrysostomos [Mon, 14 Feb 2011 07:27:48 +0000 (23:27 -0800)]
perldiag: typo
Father Chrysostomos [Mon, 14 Feb 2011 07:23:20 +0000 (23:23 -0800)]
perldiag: reflow an entry
Father Chrysostomos [Mon, 14 Feb 2011 07:10:59 +0000 (23:10 -0800)]
perldiag: Move the \p{} entry
Father Chrysostomos [Mon, 14 Feb 2011 07:02:21 +0000 (23:02 -0800)]
perldiag: sort some entries
Father Chrysostomos [Mon, 14 Feb 2011 07:02:01 +0000 (23:02 -0800)]
perldiag: missing article
Father Chrysostomos [Mon, 14 Feb 2011 06:58:09 +0000 (22:58 -0800)]
perldiag: remove repeated reference
Father Chrysostomos [Mon, 14 Feb 2011 06:57:31 +0000 (22:57 -0800)]
perldiag: reflow ‘Number with no digits’
Father Chrysostomos [Mon, 14 Feb 2011 06:52:48 +0000 (22:52 -0800)]
perldiag: missing dot
Father Chrysostomos [Mon, 14 Feb 2011 06:50:43 +0000 (22:50 -0800)]
perldiag: reflow ‘Non-octal character’
Father Chrysostomos [Mon, 14 Feb 2011 06:15:47 +0000 (22:15 -0800)]
perldiag: reflow; missing dot
Father Chrysostomos [Mon, 14 Feb 2011 06:14:30 +0000 (22:14 -0800)]
perldiag: punctuation and formatting
Father Chrysostomos [Mon, 14 Feb 2011 06:06:49 +0000 (22:06 -0800)]
perldiag: reflow ‘Invalid hexadecimal number’
Father Chrysostomos [Mon, 14 Feb 2011 06:04:56 +0000 (22:04 -0800)]
perldiag: resort some entries
Father Chrysostomos [Mon, 14 Feb 2011 06:03:31 +0000 (22:03 -0800)]
perldiag: missing hyphen