This is a live mirror of the Perl 5 development currently hosted at
11 years agoUpgrade Archive-Extract to 0.60
Abigail [Mon, 12 Mar 2012 20:12:26 +0000 (21:12 +0100)]
Upgrade Archive-Extract to 0.60

11 years agoperldelta for die propgation fix
Tony Cook [Sun, 11 Mar 2012 23:16:38 +0000 (10:16 +1100)]
perldelta for die propgation fix

11 years ago[rt #111654] properly propgate tainted errors
Tony Cook [Sun, 11 Mar 2012 03:38:57 +0000 (14:38 +1100)]
[rt #111654] properly propgate tainted errors

A magic value (such as a tainted string) may not have POK set, so call
SvPV() to find out if there's something in ERRSV to report.

Possibly this should be using SvPV_nomg(), but this is the first
request for magic in this code.  Maybe the code above should be
calling SvGETMAGIC() before checking SvROK().

11 years ago[rt #111654] TODO test for tainted die propagation
Tony Cook [Sun, 11 Mar 2012 03:27:29 +0000 (14:27 +1100)]
[rt #111654] TODO test for tainted die propagation

11 years agoDocument the updated version of Pod::Simple
Abigail [Sun, 11 Mar 2012 22:25:49 +0000 (23:25 +0100)]
Document the updated version of Pod::Simple

11 years agoUpgrade Pod-Simple to 3.20. This should fix issue 111520.
Abigail [Sun, 11 Mar 2012 17:05:18 +0000 (18:05 +0100)]
Upgrade Pod-Simple to 3.20. This should fix issue 111520.

11 years agosdbm.c: fix off-by-one access to global ".dir"
Reini Urban [Fri, 9 Mar 2012 15:11:50 +0000 (09:11 -0600)]
sdbm.c: fix off-by-one access to global ".dir"

Detected by clang -faddress-sanitizer.

The bug came in 081f72ad6fa2b76e0b3cd9046371b2dbd9130114, where
we started calculating lengths with sizeof on string constants
instead of using strlen.  Since string constants include the null
byte, sizeof(".dir"), for example, is 5, but we've been copying 6

This patch resolves [perl #111586] and includes revisions by the

11 years agoregen pod issues
Father Chrysostomos [Thu, 8 Mar 2012 01:58:20 +0000 (17:58 -0800)]
regen pod issues

11 years agoperlvar: Fix long lines
Father Chrysostomos [Thu, 8 Mar 2012 01:08:51 +0000 (17:08 -0800)]
perlvar: Fix long lines

Also, make all indented code start with a four-space indent.  Before
this it was inconsistent throughout.

11 years agoDear perlvar: ${^WARNING_BITS} was added in 5.6
Father Chrysostomos [Thu, 8 Mar 2012 00:36:54 +0000 (16:36 -0800)]
Dear perlvar: ${^WARNING_BITS} was added in 5.6

11 years agoperlvar: Document ${^WARNING_BITS} better
Father Chrysostomos [Thu, 8 Mar 2012 00:36:07 +0000 (16:36 -0800)]
perlvar: Document ${^WARNING_BITS} better

Don’t refer people to for more information, as it
contains no more information about this variable.

Explain the scoping and also mention that the values are
considered internal.

11 years agoStop warning hint-checking from doing bad reads
Father Chrysostomos [Wed, 7 Mar 2012 22:12:08 +0000 (14:12 -0800)]
Stop warning hint-checking from doing bad reads

Setting ${^WARNING_BITS} should not allow perl to read past the end of
a mallocked buffer.  Previously the internal warning buffer would be
copied straight from ${^WARNING_BITS}, so a short value assigned to
that variable would cause the internal warning-checking code to read
past the end of the buffer (probably not in actual practice, due to
malloc’s rounding up, but theoretically).  Now, the buffer that is
allocated for storing the warning bits is padded with nulls to make it
long enough to prevent bad reads.

The stored length is still the same as what was assigned to
${^WARNING_BITS}, so that the value that comes out of it is the same
length (UTF8-ness aside)--not that it makes much difference in prac-
tice though, since only should care about this.

This came up as part of perl #111500.

11 years agoPorting/ Typos in diag msg
Father Chrysostomos [Fri, 2 Mar 2012 04:28:20 +0000 (20:28 -0800)]
Porting/ Typos in diag msg

11 years agofix warning in diagnostics output.
Craig A. Berry [Wed, 7 Mar 2012 13:12:00 +0000 (07:12 -0600)]
fix warning in diagnostics output.

2f137bbd018b assumed that $name is always defined, but it isn't
always, and when it's not the resulting undefined value warning
could corrupt test output and even make TODO tests trigger failure
with "unexpected output at test 0."

11 years agofix typo in src comment
David Mitchell [Tue, 6 Mar 2012 21:05:35 +0000 (21:05 +0000)]
fix typo in src comment

11 years agopods: Note future deprecation of unescaped "{"
Karl Williamson [Tue, 6 Mar 2012 16:07:46 +0000 (09:07 -0700)]
pods: Note future deprecation of unescaped "{"

11 years agoperllexwarn: Fix typos
Karl Williamson [Sun, 4 Mar 2012 19:33:03 +0000 (12:33 -0700)]
perllexwarn: Fix typos

11 years agobegin filling the 5.16.0 delta from 5.15.8
Ricardo Signes [Tue, 6 Mar 2012 02:25:31 +0000 (21:25 -0500)]
begin filling the 5.16.0 delta from 5.15.8

This is largely a copy and paste job.

11 years agoanother bus ride worth of collected delta editing
Ricardo Signes [Mon, 5 Mar 2012 23:56:52 +0000 (18:56 -0500)]
another bus ride worth of collected delta editing

11 years agoomnibus perl5160delta editing mess
Ricardo Signes [Tue, 21 Feb 2012 00:08:16 +0000 (19:08 -0500)]
omnibus perl5160delta editing mess

Omnibus not because it does all the editing, but because I did it
while riding the bus.

The preliminary editing is about 10% done.  Once things are better
pruned and in their place, I will go through to edit the prose.

11 years agofix slowdown in nested hash freeing
David Mitchell [Tue, 6 Mar 2012 14:26:27 +0000 (14:26 +0000)]
fix slowdown in nested hash freeing

Commit 104d7b69 made sv_clear free hashes iteratively rather than recursively;
however, my code didn't record the current hash index when freeing a
nested hash, which made the code go quadratic when freeing a large hash
with inner hashes, e.g.:

    my $r; $r->{$_} = { a => 1 } for 1..10_0000;

This was noticeable on such things as being very slow to exit.

This commit fixes this by squirrelling away the old hash index in the
now-unused SvMAGIC field of the hash being freed.

11 years agoclarify that Apr 1 is not a hard RC0 date
Ricardo Signes [Mon, 5 Mar 2012 22:52:50 +0000 (17:52 -0500)]
clarify that Apr 1 is not a hard RC0 date

11 years agoreplace bogus non-ASCII dashlike char with -
Ricardo Signes [Mon, 5 Mar 2012 18:54:17 +0000 (13:54 -0500)]
replace bogus non-ASCII dashlike char with -

This was presumably brought in when I foolishly copied and pasted
the output from a version of groff that was over-eager to promote
"ugly" ASCII characters to "beautiful" non-ASCII ones.

11 years agofix documentation for exec's warning behavior
Eric Brine [Sat, 3 Mar 2012 02:47:39 +0000 (18:47 -0800)]
fix documentation for exec's warning behavior

This should self-consistently and correctly identify when exec
will warn.

[ commit message rewritten by rjbs ]

11 years agoGrammar and clarity fixes for exists() in pod/perlfunc.pod
Pau Amma\" (via RT) [Thu, 1 Mar 2012 18:48:23 +0000 (10:48 -0800)]
Grammar and clarity fixes for exists() in pod/perlfunc.pod

# New Ticket Created by  "Pau Amma"
# Please include the string:  [perl #111470]
# in the subject line of all future correspondence about this issue.
# <URL: >

See subject for suitable commit message

11 years agoTODO Failing tests for warnings in utf8 subcategories
Aaron Crane [Sat, 25 Feb 2012 13:40:11 +0000 (13:40 +0000)]
TODO Failing tests for warnings in utf8 subcategories

11 years agoregcomp.sym: Fix out-dated description
Karl Williamson [Sat, 3 Mar 2012 15:45:39 +0000 (08:45 -0700)]
regcomp.sym: Fix out-dated description

As a result of commit fab2782b37b5570d7f8f8065fd7d18621117ed49
the description is no longer valid.  This node type is trieable.

11 years agorework how the trie logic handles the newer EXACT nodetypes
Yves Orton [Sun, 19 Feb 2012 20:32:05 +0000 (21:32 +0100)]
rework how the trie logic handles the newer EXACT nodetypes

This cleans up and simplifies and extends how the trie
logic interacts with the new node types. This change ultimately
makes the EXACTFU, EXACTFU_SS, EXACTFU_NO_TRIE (renamed to
EXACTFU_TRICKYFOLD) work properly with the trie engine regardless
of whether the string is utf8 or latin1.

This patch depends on the following:

    EXACT              => utf8 or "binary" text

    EXACTFU            => either pre-folded utf8, or latin1 that has to be folded as though it was utf8
    EXACTFU_SS         => special case of EXACTFU to handle \xDF/ss (affects latin1 treatment)
    EXACTFU_TRICKYFOLD => special case of EXACTFU to handle tricky non-latin1 fold rules

    EXACTF             => "old style fold logic" untriable nodetype
    EXACTFA            => (currently) untriable nodetype
    EXACTFL            => (currently) untriable nodetype

See the comments in regcomp.sym for these fold types.

This patch involves a number of distinct, but related parts. Starting
from compilation:

* Simplify how we detect a triable sequence given the new nodetypes,
  this also probably fixed some "bugs" in how we detected certain
  sequences, like /||foo|bar/.

* Simplify how we read EXACTFU nodes under utf8 by removing the now
  redundant folding logic (EXACTFU nodes under utf8 are prefolded).
  Also extend this logic to handle latin1 patterns properly (in
  conjunction with  other changes)

* Part of the problems associated with EXACTFU_SS and EXACTFU_TRICKYFOLD
  have to do with how the trie logic interacts with the minlen logic.
  This change handles both by pessimising the minlen when encounting
  these nodetypes. One observation is that the minlen logic is basically
  broken, and works only because it conflates bytes and codepoints in
  such a way that we more or less always get a value small enough that things work out
  anyway. Fixing that is properly is the job of another patch.

* Part of the problem of doing folding under unicode rules is that
  there are a lot of foldings possible, some with strange rules. This
  means that the bitmap logic does not work correctly in all cases,
  as we currently do not have any way to populate it properly.
  So this patch disables the bitmap entirely when folding is involved
  until that is fixed.

The end result of this is: we can TRIE/AHOCORASICK any sequence of
EXACT, or EXACTFU (ish) nodes, regardless of utf8 or not, but we disable
the bitmap when folding.

A note for follow up relating to this patch is that the way EXACTFU_XXX
nodes are currently dealt with we wont build the "maximal" trie because
of their presence, instead creating a "jumptrie" consisting of either a
leading EXACTFU node followed by a EXACTFU_XXX node, or vice versa. We
should eventually address that.

11 years agomake show test number and name in failure diagnostics output
Yves Orton [Sun, 19 Feb 2012 20:04:44 +0000 (21:04 +0100)]
make show test number and name in failure diagnostics output

The old output would show only the line number as diagnostics
but not the test number, nor the test name, which often contains
very useful information. This patch makes sure this is visible in
the diagnostics output of test failures.

11 years agoSync Module-CoreList version in with CPAN
Chris 'BinGOs' Williams [Sat, 3 Mar 2012 10:54:08 +0000 (10:54 +0000)]
Sync Module-CoreList version in with CPAN

11 years agoadd "get rt.perl permissions" to RMG
Ricardo Signes [Fri, 2 Mar 2012 20:02:57 +0000 (15:02 -0500)]
add "get rt.perl permissions" to RMG

11 years agoupdate release schedule for next releasers
Ricardo Signes [Wed, 29 Feb 2012 00:52:40 +0000 (19:52 -0500)]
update release schedule for next releasers

11 years agoAdded Dave Rolsky and Max Maischein to the KEEPERS OF THE PUMPKIN.
Abigail [Thu, 1 Mar 2012 23:34:06 +0000 (00:34 +0100)]
Added Dave Rolsky and Max Maischein to the KEEPERS OF THE PUMPKIN.

11 years Consistent spaces after dots in pod
Father Chrysostomos [Thu, 1 Mar 2012 20:32:25 +0000 (12:32 -0800)] Consistent spaces after dots in pod

11 years Add caveat about lvalue subs
Father Chrysostomos [Thu, 1 Mar 2012 20:29:26 +0000 (12:29 -0800)] Add caveat about lvalue subs

11 years ago[perl #107366] Allow attributes to set :lvalue on defined sub
Father Chrysostomos [Thu, 1 Mar 2012 20:24:38 +0000 (12:24 -0800)]
[perl #107366] Allow attributes to set :lvalue on defined sub

This provides enough rope for those who want to hang themselves, and
also for those who know how to use the rope without hanging them-
selves. :-)

Since this is not generally a reliable thing to be doing, a warning is emitted whenever :lvalue is turned on or off on a defined subroutine.

But will flip the flag anyway.  :lvalue in a sub declar-
ation still refuses to modify a defined Perl sub, as before.

11 years agoAdd ambs to for ExtUtils::CBuilder
David Golden [Thu, 1 Mar 2012 15:48:28 +0000 (10:48 -0500)]
Add ambs to for ExtUtils::CBuilder

11 years agoStop the indexer from processing private modules
Florian Ragwitz [Wed, 29 Feb 2012 13:33:05 +0000 (15:33 +0200)]
Stop the indexer from processing private modules

11 years agoperldata: Two spaces after dots, please
Father Chrysostomos [Wed, 29 Feb 2012 06:05:46 +0000 (22:05 -0800)]
perldata: Two spaces after dots, please

11 years agoExplain why program must close __DATA__ handle.
jkeenan [Mon, 27 Feb 2012 17:34:10 +0000 (12:34 -0500)]
Explain why program must close __DATA__ handle.

Adapted from suggestion by David Golden++.  For RT #37033.

11 years agoBump Pod::Html version.
Craig A. Berry [Sun, 26 Feb 2012 15:21:31 +0000 (09:21 -0600)]
Bump Pod::Html version.

11 years agoPortability tweaks to Pod::Html's cache.t.
Craig A. Berry [Sun, 26 Feb 2012 15:18:04 +0000 (09:18 -0600)]
Portability tweaks to Pod::Html's cache.t.

We need to unixify the current working directory since we're going
to be comparing to the pod root that has been unixified internally
in Pod::Html.

Also clean up all versions of the generated files.

11 years agoBetter cross-platform unixify for Pod::Html.
Craig A. Berry [Sun, 26 Feb 2012 15:10:27 +0000 (09:10 -0600)]
Better cross-platform unixify for Pod::Html.

This is mostly borrowed from CPANPLUS with additional tweaks to
handle corner cases presented by the Pod::Html tests.  It seems
to work on VMS, Windows, and Mac OS X.

Also tweak _save_page to make the call to ab2rel more robust in
the case wherethe base is a special string indicating the current
working directory ('./', '[]', or '.\') rather than a literal path.

11 years agoDifferent differences for Pod::Html tests.
Craig A. Berry [Sun, 26 Feb 2012 15:07:42 +0000 (09:07 -0600)]
Different differences for Pod::Html tests.

Windows has FC (file compare), VMS has DIFFERENCES, and Linux is
certainly not the only OS that can do unified diff.

11 years agoregcomp.c: Add comment
Karl Williamson [Wed, 29 Feb 2012 00:27:43 +0000 (17:27 -0700)]
regcomp.c: Add comment

11 years agoregcomp.c: Add comment, reorder #define more logically
Karl Williamson [Wed, 29 Feb 2012 00:11:31 +0000 (17:11 -0700)]
regcomp.c: Add comment, reorder #define more logically

11 years agore/pat.t: Remove obsolete comment
Karl Williamson [Mon, 20 Feb 2012 18:32:18 +0000 (11:32 -0700)]
re/pat.t: Remove obsolete comment

11 years ago(?foo:...) loses passed in charset
Karl Williamson [Mon, 20 Feb 2012 18:27:03 +0000 (11:27 -0700)]
(?foo:...) loses passed in charset

This commit looks for the passed-in charset, and overrides it only if it
is /d and the pattern requires /u.  Previously the passed-in value was

11 years agoPatch [perl #111400] [:upper:] broken for above Latin1
Karl Williamson [Tue, 28 Feb 2012 17:11:35 +0000 (10:11 -0700)]
Patch [perl #111400] [:upper:] broken for above Latin1

This was an off-by-one error caused by my failing to realize that things
had to be done differently at the 255/256 boundary depending on whether
U+00FF matched or did not match the property.

Two properties were affected, [:upper:] and [:punct:].  The bug was that
all code points above the first one > 255 that legitimately matches the
property will match whether or not they should.  In the case of
[:upper:], this meant that effectively anything from 256..infinity
matched.  For [:punct:], it was anything above U+037D.

11 years agoCorion's release is done. Check him off
Jesse Vincent [Tue, 28 Feb 2012 16:38:13 +0000 (11:38 -0500)]
Corion's release is done. Check him off

11 years agoav_fetch: de-duplicate small bit of code
David Mitchell [Mon, 27 Feb 2012 11:32:36 +0000 (11:32 +0000)]
av_fetch: de-duplicate small bit of code

make the code slightly smaller by changing

    if (A)
return X;
    if (B)
return X;

    if (A || B)
return X;

11 years agoMerge the fixes for RT #37033 into blead.
Nicholas Clark [Mon, 27 Feb 2012 10:40:04 +0000 (11:40 +0100)]
Merge the fixes for RT #37033 into blead.

11 years agoThe parser should always close the file handle that it opened.
Nicholas Clark [Fri, 24 Feb 2012 15:13:29 +0000 (16:13 +0100)]
The parser should always close the file handle that it opened.

Previously it would leave the file handle open if it was (equal to) stdin,
on the assumption that this must have been because no script name was
supplied on the interpreter command line, so the interpreter was defaulting
to reading the script from standard input.

However, if the program has closed STDIN, then the next file handle opened
(for any reason) will have file descriptor 0. So in this situation, the
handle that require opened to read the module would be mistaken for the above
situation and left open. Effectively, this leaked a file handle.

This is now fixed, by explicitly tracking from parser creation time whether
it should keep the file handle open, and only setting this flag when
defaulting to reading the main program from standard input. This resolves
RT #37033.

11 years agoMove the close-on-exec logic to one place, at the end of S_open_script().
Nicholas Clark [Thu, 23 Feb 2012 16:45:26 +0000 (17:45 +0100)]
Move the close-on-exec logic to one place, at the end of S_open_script().

Now that the logic for stdin is implemented as an early return of NULL from
S_open_script(), in all cases that reach the end of S_open_script(), rsfp
is non-NULL, and a file handle that we wish to set to close on exec.

11 years agoChange S_open_script() to return NULL to signal "read from stdin".
Nicholas Clark [Thu, 23 Feb 2012 16:35:31 +0000 (17:35 +0100)]
Change S_open_script() to return NULL to signal "read from stdin".

Move the logic to assign PerlIO_stdin() to rsfp from S_open_script() to its
only caller, S_parse_body().

11 years agoIn perl.c, change S_open_script() to return rsfp.
Nicholas Clark [Thu, 23 Feb 2012 14:44:33 +0000 (15:44 +0100)]
In perl.c, change S_open_script() to return rsfp.

Previously it was being passed &rsfp as a parameter, because it was
returning another value, fdscript. However, the return value has been
ignored since commit cc69b689ee7c2745 removed suidperl in January 2009.

11 years agoIn struct yy_parser, change lex_flags to a U8, from part of a bitfield.
Nicholas Clark [Thu, 23 Feb 2012 10:41:01 +0000 (11:41 +0100)]
In struct yy_parser, change lex_flags to a U8, from part of a bitfield.

lex_flags holds 4 flag bits, with multiple flag bits manipulated together
at times, so they can't be split out into individual bitfields. This change
permits the C compiler to generate simpler code, reducing toke.o by about
400 bytes on this platform, but doesn't change the size of the structure.

lex_flags was added in commit 802a15e9c01d1a0b in August 2011, so is not in
any stable release.

11 years agoImprove the tests for -x
Nicholas Clark [Sun, 26 Feb 2012 14:24:21 +0000 (15:24 +0100)]
Improve the tests for -x

Test the error message generated when -x can't find a "#!perl" line.
Test that this error message still appears when -x is used with -e.

11 years agoImprove the tests for the -n and -p switches.
Nicholas Clark [Sun, 26 Feb 2012 13:15:02 +0000 (14:15 +0100)]
Improve the tests for the -n and -p switches.

Verify that -p actually runs the code in the program body.
Verify that -n doesn't implicitly print out the contents of $_.
For both, verify that an END block runs after the implicit loop.

11 years agoSimplify platform specific code in t/run/cloexec.t
Nicholas Clark [Sun, 26 Feb 2012 13:10:35 +0000 (14:10 +0100)]
Simplify platform specific code in t/run/cloexec.t

Don't assign to two lexical variables, $Is_VMS and $Is_Win32, only to use
them immediately for the same purpose - to skip the entire test.
In turn, there's no need to conditionally set $quote to a value suitable for
VMS or Win32, when neither OS ever runs the test.

The code has been this way since the file was added by commit
742218b34f58f961 in Nov 2006. Hence I don't think that the vestigial $quote
logic corresponds to pre-commit version that did run on these platforms.
Instead I infer that it has come from t/op/exec.t, used as a template for
running sub-scripts in a portable fashion.

11 years agoperldiag: Reflow for better splain output
Father Chrysostomos [Mon, 27 Feb 2012 01:25:24 +0000 (17:25 -0800)]
perldiag: Reflow for better splain output

11 years agoAdd an example how to fix '%s: command not found'
Max Maischein [Sun, 19 Feb 2012 20:04:34 +0000 (21:04 +0100)]
Add an example how to fix '%s: command not found'

11 years agoIncrease $attributes::VERSION to 0.18
Father Chrysostomos [Mon, 27 Feb 2012 00:15:03 +0000 (16:15 -0800)]
Increase $attributes::VERSION to 0.18

11 years agodoco improvement for
David Cantrell [Mon, 27 Feb 2012 00:13:18 +0000 (16:13 -0800)]
doco improvement for

It seems that many people have trouble understanding how to add custom
attributes to their subroutines.  Here's a doc patch that will
hopefully make things clearer:

11 years agoMake CPAN upstream for File::Temp
Father Chrysostomos [Sat, 25 Feb 2012 22:39:49 +0000 (14:39 -0800)]
Make CPAN upstream for File::Temp

It was set to undef, which meant it hadn’t been discussed.  In actuality,
it is actively maintained on CPAN.  See, for instance:

So this brings closer in line with reality.

11 years agoDon’t ‘normalise’ hints for bare ‘no feature’
Father Chrysostomos [Sat, 25 Feb 2012 22:26:13 +0000 (14:26 -0800)]
Don’t ‘normalise’ hints for bare ‘no feature’

‘Normalise’ in this case means to set $^H to indicate that features
are in %^H (FEATURE_BUNDLE_CUSTOM) and to make %^H contain the current
feature set.

Since ‘no feature’ sets the default feature bundle in $^H, this is
unnecessary in that case.

11 years agoregen/ Show perl.h line num in error msg
Father Chrysostomos [Sat, 25 Feb 2012 22:14:07 +0000 (14:14 -0800)]
regen/ Show perl.h line num in error msg

11 years agoperlfunc: bad wording
Father Chrysostomos [Sat, 25 Feb 2012 22:00:30 +0000 (14:00 -0800)]
perlfunc: bad wording

It is not features not in the current version, but those not in the
requested version, that are disabled.

11 years agoarybase.xs: Wrap PL_check safely
Father Chrysostomos [Sat, 25 Feb 2012 21:57:30 +0000 (13:57 -0800)]
arybase.xs: Wrap PL_check safely

11 years agoIncrease $arybase::VERSION to 0.05
Father Chrysostomos [Sat, 25 Feb 2012 21:54:51 +0000 (13:54 -0800)]
Increase $arybase::VERSION to 0.05

11 years agodon't taint $$ determined by getpid()
Zefram [Sat, 25 Feb 2012 20:32:09 +0000 (20:32 +0000)]
don't taint $$ determined by getpid()

Reading $$ in a tainted expression was tainting the internal sv_setiv()
on $$.  Since the value being set came directly from getpid(), it's
always safe, so override the tainting there.  Fixes [perl #109688].

11 years agoupdate perlfunc.html generator
Zefram [Sat, 25 Feb 2012 19:19:06 +0000 (19:19 +0000)]
update perlfunc.html generator

The format of the individual function HTML files has changed.  The index
generator needs to update to successfully extract the NAME sections.
Fixes [perl #107870].

11 years agodelay allocating trans table until needed
Zefram [Sat, 25 Feb 2012 15:41:17 +0000 (15:41 +0000)]
delay allocating trans table until needed

Previously, a table was being allocated for OP_TRANS(|R), in a
PVOP arrangement, as soon as the op was built.  However, it wasn't
used immediately, and for UTF8-flagged ops it would be thrown away,
replaced by an SV-based translation table in a SVOP or PADOP arrangement.
This mutation of the op structure occurred in pmtrans(), some time after
original op building.  If an error occurred before pmtrans(), requiring
the op to be freed, op_clear() would be misled by the UTF8 flags into
treating the PV as an SV or pad index, causing crashes in the latter
case [perl #102858].  op_clear() was implicitly assuming that pmtrans()
had been performed, due to lacking any explicit indication of the op's
state of construction.

Now, the PV table is allocated by pmtrans(), when it's actually going to
populate it.  The PV doesn't get allocated at all for UTF8-flagged ops.
Prior to pmtrans(), the op_pv/op_sv/op_padix field is all bits zero,
so there's no problem with freeing the op.

11 years agoUpdate the link for Module-Build/core integration
Chris 'BinGOs' Williams [Fri, 24 Feb 2012 21:17:55 +0000 (21:17 +0000)]
Update the link for Module-Build/core integration

11 years agomktables: Correct Unicode 6.1 omission
Karl Williamson [Fri, 24 Feb 2012 16:32:58 +0000 (09:32 -0700)]
mktables: Correct Unicode 6.1 omission

Unicode 6.1 erroneously omitted Takri as a script that uses two
characters, and have voted to publish the correction that this patch
makes.  There isn't an official Corrigendum yet.

11 years agocorrect a Pod foible that broke blead
Ricardo Signes [Fri, 24 Feb 2012 16:08:51 +0000 (11:08 -0500)]
correct a Pod foible that broke blead

11 years agoAdd description of new change process for
Max Maischein [Fri, 24 Feb 2012 13:41:11 +0000 (14:41 +0100)]
Add description of new change process for

Leo prefers now direct pull requests via Github.

11 years agoregcomp.c: Add cast to silence Solaris warning
Karl Williamson [Thu, 23 Feb 2012 16:01:54 +0000 (09:01 -0700)]
regcomp.c: Add cast to silence Solaris warning

11 years agoRemove ExtUtils-CBuilder's MANIFEST.SKIP
David Golden [Thu, 23 Feb 2012 14:01:48 +0000 (09:01 -0500)]
Remove ExtUtils-CBuilder's MANIFEST.SKIP

Apparently, 'make distclean' tries to use it in confusing and
counterproducive ways.  Easier to remove it than fix the other.

11 years agowork harder to get useful diagnostics on Win32
Ricardo Signes [Thu, 23 Feb 2012 00:24:22 +0000 (19:24 -0500)]
work harder to get useful diagnostics on Win32

The pod2html tests can do diffs of big hunks, and so they try to
use /usr/bin/diff to show how things differ.  If there is no such
program, we just say "it wasn't good."

Unfortunately, Win32 is where we keep having problems, and where
we are least likely to have diff available.  When there is no diff,
we now use Test::More::is, which will output the whole differing file.

Noisy, yes, but now smoke reports with failing Pod::Html tests will
be more useful.

11 years agoExtUtils::CBuilder: add support information
David Golden [Wed, 22 Feb 2012 22:45:06 +0000 (17:45 -0500)]
ExtUtils::CBuilder: add support information

Adds a documentation note about support.  Adds a README.patching
file with instructions for bumping versions, Changes, etc.

11 years agoUpdate for new ExtUtils::CBuilder
David Golden [Wed, 22 Feb 2012 21:29:11 +0000 (16:29 -0500)]
Update for new ExtUtils::CBuilder

Also updates release instructions with a reminder to

11 years agoadd ext/Pod-Functions/.gitignore
David Golden [Wed, 22 Feb 2012 21:20:02 +0000 (16:20 -0500)]
add ext/Pod-Functions/.gitignore

11 years agoExtUtils::CBuilder - add dual-life support files
David Golden [Wed, 22 Feb 2012 20:47:56 +0000 (15:47 -0500)]
ExtUtils::CBuilder - add dual-life support files

Adds Makefile.PL, LICENSE, etc. and updates Changes for
work in blead from 5.14.0

11 years agoignore all MYMETA files, not just .yml
David Golden [Wed, 22 Feb 2012 20:29:08 +0000 (15:29 -0500)]
ignore all MYMETA files, not just .yml

11 years ago"no feature" now means reset to default
Ricardo Signes [Tue, 21 Feb 2012 00:35:33 +0000 (19:35 -0500)]
"no feature" now means reset to default


"no feature" now resets to the default feature set.  To disable all
features (which is likely to be a pretty special-purpose request, since
it presumably won't match any named set of semantics) you can now
write "no feature ':all'"

11 years agounixify paths a bit more systematicaly in Pod-Html
Ricardo Signes [Wed, 22 Feb 2012 14:33:45 +0000 (09:33 -0500)]
unixify paths a bit more systematicaly in Pod-Html

Rather than unixifying paths sort of once off, we now do what I
threatened earlier: unixify all the --switch supplied paths during
command line parsing.

There are other bits of File::Spec being sprinkled around, quite
possibly in too-interior sections of the program, but this change
gets *all* tests passing on Win32 as well as GNU/Linux.

I think an audit of filepath normalization "border security" is
still due, but this may tide us over for now.

11 years agodon't assume that filesys starts at / in Pod-Html
Ricardo Signes [Wed, 22 Feb 2012 03:54:58 +0000 (22:54 -0500)]
don't assume that filesys starts at / in Pod-Html

The test expectations for the --htmlroot feature wanted to look for
an absolute path, so it concatenated / with the relative-to-root path.

That failed on Win32, where the cwd was C:\etc

I added a new token to the test-expectations-munger for the absolute
cwd.  I'm not 100% sure about the features' behavior, but the tests
are now less platform-specific.  I look forward to input on whether
the code is doing the right thing now...

11 years agounixify the --outfile arg to pod2html
Ricardo Signes [Wed, 22 Feb 2012 03:19:56 +0000 (22:19 -0500)]
unixify the --outfile arg to pod2html

I think we probably need a more systematic regimen of of unixify
calls, but for now, this gets tests passing on Win32.

11 years agoMake keep the existing heading
Max Maischein [Tue, 21 Feb 2012 17:59:26 +0000 (18:59 +0100)]
Make keep the existing heading

86c08a2ca2546ef08513c65dabf686423cade2f3 changed
Porting/ to be more accepting in section headings
when reading in an existing perldelta.

caaa1415975f6b8763b186234d77803148a4fd37 changed it to output
the correctly pluralized form of "Pragmata". used the same data structure for both, input
and output. This patch divides up the logic between input and output
in two data structures, and keeps the heading of the input
file when generating a fresh pod section.

11 years agoFix typo
Max Maischein [Tue, 21 Feb 2012 17:13:49 +0000 (18:13 +0100)]
Fix typo

11 years agoPluralize "Modules and Pragma" to "Modules and Pragmata"
Max Maischein [Tue, 21 Feb 2012 17:13:38 +0000 (18:13 +0100)]
Pluralize "Modules and Pragma" to "Modules and Pragmata"

11 years agoAdd perl5158delta.pod
Max Maischein [Tue, 21 Feb 2012 16:47:25 +0000 (17:47 +0100)]
Add perl5158delta.pod

11 years agoAdd epigraph for 5.15.8
Max Maischein [Tue, 21 Feb 2012 16:16:58 +0000 (17:16 +0100)]
Add epigraph for 5.15.8

11 years agoFix bug in pod2html crossreferencing
Marc Green [Tue, 7 Feb 2012 16:32:54 +0000 (11:32 -0500)]
Fix bug in pod2html crossreferencing

11 years agomakerel should not add -uncommitted to tarballs
Ricardo Signes [Mon, 20 Feb 2012 22:35:29 +0000 (17:35 -0500)]
makerel should not add -uncommitted to tarballs

For some time now (I suspect since 691ce773f), makerel has always tried
to build releases as perl-5.x.y-uncommitted.tar.gz.  This always
confuses and/or panics new release engineers, who see the error before
the "don't worry, use -s ''" advice in the RMG.

This change just makes makerel skip the usually-#ifdef-ed-away line that
is getting that -uncommitted.  makerel still picks up other
locally-applied patches, but will skip uncommitted.

11 years agoMerge branch 'release-5.15.8' into blead
Max Maischein [Mon, 20 Feb 2012 23:01:14 +0000 (00:01 +0100)]
Merge branch 'release-5.15.8' into blead

11 years agoFix typos in pod/perldelta.pod origin/release-5.15.8 v5.15.8
Max Maischein [Mon, 20 Feb 2012 22:08:57 +0000 (23:08 +0100)]
Fix typos in pod/perldelta.pod

11 years agoUpdate pod/perldelta.pod from the version numbers
Max Maischein [Mon, 20 Feb 2012 20:20:55 +0000 (21:20 +0100)]
Update pod/perldelta.pod from the version numbers

11 years agoadd new release to perlhist
Max Maischein [Mon, 20 Feb 2012 19:47:13 +0000 (20:47 +0100)]
add new release to perlhist