14 years agofix RT 23810: eval and tied methods
David Mitchell [Thu, 8 Apr 2010 12:16:56 +0000]
fix RT 23810: eval and tied methods

Something like the following ended up corrupted:
    sub FETCH { eval 'BEGIN{syntax err}' }
The croak on error popped back the context stack etc to the EVAL pushed by
entereval, but the corresponding JUMPENV_PUSH(3) unwound all the way to the
outer perl_run, losing all the mg_get() related parts of the C stack.

It turns out that the run-time parts of pp_entereval were protected with
a new JUMPENV level, but the compile-time parts weren't. Add this.

14 years agomore mods to -Dl debugging output
David Mitchell [Tue, 6 Apr 2010 19:53:45 +0000]
more mods to -Dl debugging output

14 years agoimprove -Dl debugging output
David Mitchell [Tue, 30 Mar 2010 19:26:31 +0000]
improve -Dl debugging output

In particular, distinguish between scope and context stack push/pops,
show depth of JUMPENV stack, and show STACKINFO push/pops

14 years agoPL_defoutgv isn't always a GV.
David Mitchell [Tue, 30 Mar 2010 14:03:50 +0000]
PL_defoutgv isn't always a GV.

Nasty code like the following results in PL_defoutgv not pointing
to a valid GV:

    my $x = *STDERR; select($x); $x = 1;

This causes all sorts of SEGVs when PL_defoutgv is subsequently accessed,
because most code assumes that it has a valid gv_gp pointer.  It also
turns out that PL_defoutgv is under-tested; for example, temporarily
hacking pp_close to make an arg-less close() croak didn't cause any
minitest failures.

Add a new test file that does some basic testing of a bad PL_defoutgv,
and fix all the obvious badness in accessing it.

This also fixes #20727, which although ostensibly a tie bug, was due to
PL_defoutgv pointing to a tiedelem scalar, and fun like that described
above happening.

14 years agoRT #67962: $1 treated as tainted in untainted match
David Mitchell [Thu, 25 Mar 2010 10:56:35 +0000]
RT #67962: $1 treated as tainted in untainted match

Fix the issue in the following:

    use re 'taint';
    $tainted =~ /(...)/;
    # $1 now correctly tainted
    $untainted =~ s/(...)/$1/;
    # $untainted now incorrectly tainted

The problem stems from when $1 is updated.

pp_substcont, which is called after the replacement expression has been
evaluated, checks the returned expression for taintedness, and if so,
taints the variable being substituted. For a substitution like
s/(...)/x$1/ this works fine: the expression "x".$1 causes $1's get magic
to be called, which sets $1 based on the recent match, and is marked as
not tainted.  Thus the returned expression is untainted. In the variant
s/(...)/$1/, the returned value on the stack is $1 itself, and its get
magic hasn't been called yet. So it still has the tainted flag from the
previous pattern.

The solution is to mg_get the returned expression *before* testing for
taintedness.

14 years agoFix assorted bugs related to magic (such as pos) not "sticking" to
David Mitchell [Tue, 23 Mar 2010 12:11:43 +0000]
Fix assorted bugs related to magic (such as pos) not "sticking" to
magical array and hash elements; e.g. the following looped infinitely:

    $h{tainted_element} =~ /..../g

There are two side-effects of this fix.
First, MGf_GSKIP has been extended to work on tied array
elements as well as hash elements. This is the mechanism that skips all
but the first tied element magic gets until after the next set.
Second, rvalue hash/array element access where the element has get magic,
now directly returns the element rather than a mortal copy.

The root cause of the bug was code similar to the following in pp_alem,
pp_aelemfast, pp_helem and pp_rv2av:

    if (!lval && SvGMAGICAL(sv)) /* see note in pp_helem() */
sv = sv_mortalcopy(sv);

According to the note, this was added in 1998 to make this work:

    local $tied{foo} = $tied{foo}

Since it returns a copy rather than the element, this make //g fail.
My first attempt, a few years ago,  to fix this, took the approach that
the LHS of the bind should be made an lvalue in the presence of //g, since
it now modifies its LHS; i.e.

    expr =~ //        expr is rvalue
    expr =~ s///      expr is lvalue
    expr =~ //g       expr was rvalue, I proposed to change it to lvalue

Unfortunately this fix broke too much stuff (stuff that was arguably
already broken, but it upset people). For example, f() ~= s////
correctly gives the error

    Can't modify non-lvalue subroutine call

My fix extended f() =~ //g to give the same error. Which is reasonable,
because the g isn't doing what you want. But plenty of people had code that
only needed to match once and the g had just been cargo-culted. So it
broke their working code. So lets not do this.

My new approach has been to remove the sv_mortalcopy(). It turns out
that this is no longer needed to fix the local $tied{foo} issue.
Presumably that went away as a side-effect of my container/value magic
localisation rationalisation of a few years ago, although I haven't
analysed it - just noted that the tests still pass (!). However, an issue
with removing it is that mg_get() no longer gets called. So a plain

    $tied_hash{elem};

in void context no longer calls FETCH(). Which broke some tests and might
break some code. Also, there's an issue with the delayed calling of magic
in @+[n] and %+{foo}; by the time the get magic is called, the original
pattern may have gone out of scope.

The solution is to simply replace the original

sv = sv_mortalcopy(sv);

with

mg_get(sv);

This then caused problems with tied array FETCH() getting called too much.
I fixed this by extending the MGf_GSKIP mechanism to tied arrays as well
as hashes. I don't understand why tied arrays have always been treated
differently than tied hashes, but unifying them didn't seem to break
anything (except for a Storable test, whose comment indicated that the
test's author thought FETCH() was being called to often anyway).

14 years ago[perl #73626] get magic wasn't called on 3rd arg of open
David Mitchell [Sun, 21 Mar 2010 14:17:13 +0000]
[perl #73626] get magic wasn't called on 3rd arg of open

Change f6c77cf1bf4d7cb2c7a64dd7608120b471f84062 introduced
    open($fh,"+<",undef)
but in the process stopped calling mg_get() on the third arg,
so tied values etc weren't getting processed

14 years ago[perl #45167] Taint removal by sprintf
David Mitchell [Sun, 21 Mar 2010 00:01:09 +0000]
[perl #45167] Taint removal by sprintf

Under some circumstances the value returned by sprintf wasn't tainted,
even though its args were. While trying to fix this, I also came across
a second bug (which made fixing the first bug very confusing!) where
the TARG of the sprintf op, after getting tainted once, permanently
retained taint magic, which depending on circumstances, wasn't always set
to untainted (mg_len =0)

The original bug basically boiled down to parts of Perl_sv_vcatpvfn()
directly manipulating the target with SvGROW() / Copy(), which failed
to taint the target. Other parts used sv_catsv(), which did. So for
example:
    "%s%s" failed, (only SvGROW)
    "%s %s" worked (the space char was appended using sv_catsv).

14 years ago[perl #6758] tainted values become untainted in tied hashes
David Mitchell [Sat, 20 Mar 2010 15:41:13 +0000]
[perl #6758] tainted values become untainted in tied hashes

14 years agoAdd Porting/corelist-diff to MANIFEST
H.Merijn Brand [Mon, 15 Mar 2010 12:19:39 +0000]
Add Porting/corelist-diff to MANIFEST

14 years agoUpdated AUTHORS file to be current with checkAUTHORS output
Jesse Vincent [Sun, 14 Mar 2010 22:27:55 +0000]
Updated AUTHORS file to be current with checkAUTHORS output

14 years agoseveral typos in perldelta
Jesse Vincent [Sun, 14 Mar 2010 21:42:56 +0000]
several typos in perldelta

14 years agofeature.pm needed to be taught about "use feature ':5.12'"
Jesse Vincent [Sun, 14 Mar 2010 20:30:30 +0000]
feature.pm needed to be taught about "use feature ':5.12'"

14 years agoperldelta updated for new version of Module::CoreList
Jesse Vincent [Sun, 14 Mar 2010 19:28:26 +0000]
perldelta updated for new version of Module::CoreList

14 years agoModule::CoreList bumped to 2.27 and updated with versions of things
Jesse Vincent [Sun, 14 Mar 2010 19:27:28 +0000]
Module::CoreList bumped to 2.27 and updated with versions of things
we'll ship in 5.12.0

14 years agoAdded placeholder for RC0 in perlhist
Jesse Vincent [Sun, 14 Mar 2010 19:40:32 +0000]
Added placeholder for RC0 in perlhist

14 years agoREADME updates for 5.12.0
Jesse Vincent [Sun, 14 Mar 2010 19:55:57 +0000]
README updates for 5.12.0

14 years agoThe "right" perldelta is now 5.12.0's
Jesse Vincent [Sun, 14 Mar 2010 19:57:38 +0000]
The "right" perldelta is now 5.12.0's

14 years agoUpdate patchlevel.h to note that this is RC0 and not yet a real release
Jesse Vincent [Sun, 14 Mar 2010 19:42:35 +0000]
Update patchlevel.h to note that this is RC0 and not yet a real release

14 years agoBump to 5.12.0
Jesse Vincent [Sun, 14 Mar 2010 19:15:59 +0000]
Bump to 5.12.0

14 years agoperldelta typo caught by Karl
Jesse Vincent [Sun, 14 Mar 2010 20:39:22 +0000]
perldelta typo caught by Karl

14 years agoA few small fixes to perl5120delta.pod
Karl Williamson [Sun, 14 Mar 2010 20:22:26 +0000]
A few small fixes to perl5120delta.pod

14 years agoLeft a debugging statement in a Porting tool. Oops!
Jesse Vincent [Sun, 14 Mar 2010 18:06:27 +0000]
Left a debugging statement in a Porting tool. Oops!

14 years agoRemove TODO section from perldelta
Jesse Vincent [Sun, 14 Mar 2010 17:52:28 +0000]
Remove TODO section from perldelta

14 years agoFurther updates to perldelta:
Jesse Vincent [Sun, 14 Mar 2010 17:51:55 +0000]
Further updates to perldelta:

    rewrapping and module list updates

14 years agoAdd the author list for 5.12.0
Jesse Vincent [Sun, 14 Mar 2010 16:13:39 +0000]
Add the author list for 5.12.0

14 years agoUpdate Perl 5.12.0 delta. It needs a spellcheck, proofreading and a module list.
Jesse Vincent [Sun, 14 Mar 2010 15:43:33 +0000]
Update Perl 5.12.0 delta. It needs a spellcheck, proofreading and a module list.

14 years agobetter perl version output in corelist-diff
Ricardo Signes [Sun, 14 Mar 2010 16:35:23 +0000]
better perl version output in corelist-diff

14 years agotool to produce corelist diffs
Ricardo Signes [Sun, 14 Mar 2010 16:27:53 +0000]
tool to produce corelist diffs

14 years agopod cleanup
Jesse Vincent [Sat, 13 Mar 2010 21:51:56 +0000]
pod cleanup

14 years agoSome copyediting perldelta. Pulled in .11.5 delta
Jesse Vincent [Sat, 13 Mar 2010 21:45:00 +0000]
Some copyediting perldelta. Pulled in .11.5 delta

14 years agoRevive threaded builds for AIX
H.Merijn Brand [Sat, 13 Mar 2010 14:29:49 +0000]
Revive threaded builds for AIX

If random_r is disabled, so should srandom_r be. Changes in a distant
caused errors like:

"reentr.h", line 773.16: 1506-007 (S) "struct random_data" is undefined.

14 years agoIn Perl_sv_compile_2op(), remove a suggestion to merge code with pp_entersub.
Nicholas Clark [Sat, 13 Mar 2010 10:35:13 +0000]
In Perl_sv_compile_2op(), remove a suggestion to merge code with pp_entersub.

Add a comment explaining the problems with this function.

14 years agoUse POD references to documentation when possible.
Tom Hukins [Thu, 4 Mar 2010 17:38:41 +0000]
Use POD references to documentation when possible.

14 years agoUse simpler language.
Tom Hukins [Fri, 26 Feb 2010 13:21:43 +0000]
Use simpler language.

14 years agoUse POD-style references in the "SEE ALSO" section.
Tom Hukins [Thu, 20 Aug 2009 09:50:52 +0000]
Use POD-style references in the "SEE ALSO" section.

14 years agoUse POD-style references
Tom Hukins [Thu, 20 Aug 2009 09:42:30 +0000]
Use POD-style references

14 years agoTighten the ropes on sGMTIME_min for HP-UX 11.00
H.Merijn Brand [Fri, 12 Mar 2010 07:43:24 +0000]
Tighten the ropes on sGMTIME_min for HP-UX 11.00

The original long-running test had a tighter limit for
sGMTIME_min and sLOCALTIME_min than the 2**47-1 limit
that was now hardcoded. Take the safe route.

14 years ago[perl# 73490] Bump Time::Piece to a devel release that's newer than what
Jesse Vincent [Thu, 11 Mar 2010 21:52:42 +0000]
[perl# 73490] Bump Time::Piece to a devel release that's newer than what
was in Blead but is old than the current updated CPAN release. Comment
out a now deprecated 'use UNIVERSAL' line to prevent warnings from
production code. It's bad form to ship software that deprecates things
and then keeps using them and warning. Thanks to xdg++ for the spotting.

14 years agoClarify that patching deprecate.pm is intended to facilitate a staged transition.
Nicholas Clark [Thu, 11 Mar 2010 17:03:28 +0000]
Clarify that patching deprecate.pm is intended to facilitate a staged transition.

14 years agoDescribe the limitations and pitfalls of @DB::args.
Nicholas Clark [Thu, 11 Mar 2010 16:44:01 +0000]
Describe the limitations and pitfalls of @DB::args.

14 years agoFix stringification assumption bug in overload.t, revealed by ia64-linux-ld.
Nicholas Clark [Thu, 11 Mar 2010 14:08:07 +0000]
Fix stringification assumption bug in overload.t, revealed by ia64-linux-ld.

Specifically:
1: / returns and NV where possible, only returning an integer if the dividend
   is an integer larger than an NV can represent accurately, and integer
   division is exact (ie no fractional part/remainder).
2: The test is performing $ref/1, intending it to be an identity operation
   on the numeric value of the reference.
3: The test assumes that the return result of the division will be a number
   that stringifies identically to the integer value of the reference.

The fails if both:

1: The system memory map is such that addresses are very large (ia64 does)
2: NVs are large enough to hold these addresses

because then the address becomes converted to an NV which has sufficient
decimal digits that stringification defaults to scientific notation.

Itanium Linux users the world over will be cheering because they can now
compile Perl with long doubles with confidence that all tests pass.

14 years agoremove gv_try_downgrade from the public API
David Mitchell [Thu, 11 Mar 2010 12:18:00 +0000]
remove gv_try_downgrade from the public API

it's a recently added function, so removing it now does no harm.

14 years agoLimit HP-UX 11.00 time to 48 bit in 64bit mode
H.Merijn Brand [Thu, 11 Mar 2010 10:11:17 +0000]
Limit HP-UX 11.00 time to 48 bit in 64bit mode

14 years agoRe-TODO one more Deparse test
Rafael Garcia-Suarez [Thu, 11 Mar 2010 09:53:43 +0000]
Re-TODO one more Deparse test

(was missing from 0fa4a26596a4646f9aae1dcd199a2f30933e6f01)

14 years agoNote that can be warned on implicit utf8 upgrade
Karl Williamson [Wed, 10 Mar 2010 23:47:55 +0000]
Note that can be warned on implicit utf8 upgrade

The module encoding::warnings can be used to warn when two strings are
concatenated where one is utf8 and the other is not and contains
non-ASCII.

Note the existence of this in the pod documentation.

14 years agorevert const deparsing in Deparse.pm
David Mitchell [Wed, 10 Mar 2010 21:47:34 +0000]
revert const deparsing in Deparse.pm

The code was added in 5.11.0 by
    2990415a4519bc3988d7224ae15100c3e9e901ee
    805b10112885d8868f21f8e860792d65e1e6c19d
but causes a big slowdown on most deparsing, due to the need
to walk the entire package tree looking for constant subs.

For more details, see
    [perl #73052] Storable considerably slower at storing coderefs

14 years ago[perl #72740]: Blead breaks LEMBARK/LinkedList-Single-0.99.1.tar.gz
Zefram [Wed, 10 Mar 2010 19:53:50 +0000]
[perl #72740]: Blead breaks LEMBARK/LinkedList-Single-0.99.1.tar.gz

f7461760003db2ce68155c97ea6c1658e96fcd27 improved the PL_check hook for
bareword subs, but broke the above module. This is Zefram's followup:

The issue is that speculative function lookups were leaving detritus
consisting of empty GVs in the stash.  These didn't affect normal
functioning, but code that looks inside the stash could see them, and
code that makes unreliable assumptions about the format of the stash
can be broken.  This is the same general mode of failure that we saw
with namespace::clean.

LinkedList-Single's failing test was using direct stash access poorly,
in a way that made for a poor test, quite apart from making too many
assumptions about stash structure.  In the latest version of the package,
0.99.6, the test has been changed to a much better form, which actually
tests what it meant to and incidentally doesn't read the stash at all.

Although they don't affect normal functioning, the empty GVs shouldn't
be there.  It's much like the upgraded constant subs, which we concluded
ought to be downgraded when the upgraded form is no longer required,
in order to save memory.  The solution here is similar: delete the
empty GV when it is detected that a real GV is no longer required.
The present patch does this at the same time as checking for constant-sub
downgradability.

14 years agoIn comments, correct two instances of SVf_PADSTALE to SVs_PADSTALE.
Nicholas Clark [Mon, 8 Mar 2010 14:05:52 +0000]
In comments, correct two instances of SVf_PADSTALE to SVs_PADSTALE.

14 years agoadd makerel option to skip tarball creation
David Golden [Fri, 5 Mar 2010 20:18:48 +0000]
add makerel option to skip tarball creation

14 years agoFix comments about @INC ordering
Rafael Garcia-Suarez [Mon, 8 Mar 2010 11:21:20 +0000]
Fix comments about @INC ordering

14 years agolist undocumented API and internal functions in perlapi.pod and perlintern.pod
Tony Cook [Mon, 1 Mar 2010 12:44:54 +0000]
list undocumented API and internal functions in perlapi.pod and perlintern.pod

List any functions from embed.fnc that don't have documentation in
their own section of perlapi/perlintern as a reminder to either
document them, remove them or perhaps flag them as undeserving of
documentation.

14 years agoSupport cygwin-1.7 mount
Reini Urban [Thu, 4 Mar 2010 17:09:35 +0000]
Support cygwin-1.7 mount

14 years agoAdd perlintern.pod documentation docatch + prescan_version
Reini Urban [Thu, 4 Mar 2010 11:53:51 +0000]
Add perlintern.pod documentation docatch + prescan_version

docatch - perl run-time exception handling

14 years agoDocument that there are bugs with EBCDIC and regexes
Karl Williamson [Sat, 6 Mar 2010 18:18:36 +0000]
Document that there are bugs with EBCDIC and regexes

14 years agoBump Safe to version 2.25
Rafael Garcia-Suarez [Sun, 7 Mar 2010 21:37:52 +0000]
Bump Safe to version 2.25

14 years agoFurther improvements to the security fix in 16ac9e9a4185d3315152ade5286d4dd3d25bff32
Nick Cleaton [Sun, 7 Mar 2010 14:27:31 +0000]
Further improvements to the security fix in 16ac9e9a4185d3315152ade5286d4dd3d25bff32

- Destroy all stash entries at once to avoid race conditions.
- For that we save away reference to stashes entries (not
  stash entries themselves like previously, to avoid trigerring
  tie methods)
- Don't skip sub-packages that might be named "main::"

14 years agoRevert "Upgrade to IPC::SysV 2.02" - We're frozen. This will be great when we unfreeze
Jesse Vincent [Sun, 7 Mar 2010 20:31:23 +0000]
Revert "Upgrade to IPC::SysV 2.02" - We're frozen. This will be great when we unfreeze

This reverts commit 8a720e6ba3939d5db4327226c93348d5acf35145.

14 years agoRevert "Upgrade to Devel::PPPort 3.19_02" - we're frozen. This will be great when...
Jesse Vincent [Sun, 7 Mar 2010 20:30:56 +0000]
Revert "Upgrade to Devel::PPPort 3.19_02" - we're frozen. This will be great when we unfreeze

This reverts commit bfc37ff708b737d2490a23505b932c94f1898073.

14 years agoMerge remote branch 'origin/blead' into blead
Marcus Holland-Moritz [Sun, 7 Mar 2010 15:59:12 +0000]
Merge remote branch 'origin/blead' into blead

14 years agoUpgrade to IPC::SysV 2.02
Marcus Holland-Moritz [Sun, 7 Mar 2010 15:55:48 +0000]
Upgrade to IPC::SysV 2.02

14 years agoOnly define PERL_PATCHNUM when either git or the .patch file is available
Gisle Aas [Tue, 2 Mar 2010 19:42:39 +0000]
Only define PERL_PATCHNUM when either git or the .patch file is available

This patch also make PERL_GIT_UNCOMMITTED_CHANGES useful and thus avoids
always adding the "*" to the 'perl -v' output.

14 years agoUpgrade to Devel::PPPort 3.19_02
Marcus Holland-Moritz [Sun, 7 Mar 2010 12:48:24 +0000]
Upgrade to Devel::PPPort 3.19_02

14 years agoModuule::Build test tweaks for VMS.
Craig A. Berry [Sun, 7 Mar 2010 00:54:30 +0000]
Moduule::Build test tweaks for VMS.

More complete fix available upstream at:

http://rt.cpan.org/Public/Bug/Display.html?id=55288

14 years agoExtUtils-CBuilder test tweak for VMS.
Craig A. Berry [Sun, 7 Mar 2010 00:51:18 +0000]
ExtUtils-CBuilder test tweak for VMS.

Idential to upstream fix at https://rt.cpan.org/Ticket/Display.html?id=55236

14 years agoMerge branch 'dual/Safe' into blead
Rafael Garcia-Suarez [Sat, 6 Mar 2010 21:44:12 +0000]
Merge branch 'dual/Safe' into blead

14 years agoBump version to 2.24 and update Changes
Rafael Garcia-Suarez [Sat, 6 Mar 2010 21:39:07 +0000]
Bump version to 2.24 and update Changes

14 years agoClean the stashes from the Safe compartment after evaluation of code.
Rafael Garcia-Suarez [Sat, 6 Mar 2010 21:30:47 +0000]
Clean the stashes from the Safe compartment after evaluation of code.

This way, objects created from inside the Safe compartment won't be
able to call transparently code compiled in the Safe compartment,
without the restrictions being anymore in place.

14 years agoFix an example for LC_COLLATE in POSIX.pod that actually sets LC_ALL
Vincent Pit [Wed, 3 Mar 2010 13:48:58 +0000]
Fix an example for LC_COLLATE in POSIX.pod that actually sets LC_ALL

Spotted by Olivier Raginel.

14 years agoRevert "Forbid labels with keyword names"
Jan Dubois [Wed, 3 Mar 2010 00:24:23 +0000]
Revert "Forbid labels with keyword names"

This reverts commit f71d6157c7933c0d3df645f0411d97d7e2b66b2f.

Revert "Add new error "Can't use keyword '%s' as a label""

This reverts commit 28ccebc469d90664106fcc1cb73d7321c4b60716.

14 years agoSetup @INC at compile time because commit ec34a119 needs to load utf8.pm
Jan Dubois [Wed, 3 Mar 2010 02:19:03 +0000]
Setup @INC at compile time because commit ec34a119 needs to load utf8.pm

'.' needs to remain in @INC because the test also loads comp/hints.aux
at compile time too.

14 years ago[perl #73174] swash_init() wasn't saving %^H
David Mitchell [Tue, 2 Mar 2010 20:39:28 +0000]
[perl #73174] swash_init() wasn't saving %^H

14 years agofetching from e.g. github requires a repo name
David Mitchell [Tue, 2 Mar 2010 16:26:36 +0000]
fetching from e.g. github requires a repo name

14 years agoSkip Pod::Parser's find.t on VMS for now.
Craig A. Berry [Tue, 2 Mar 2010 04:01:48 +0000]
Skip Pod::Parser's find.t on VMS for now.

Pending integration of https://rt.cpan.org/Ticket/Display.html?id=55121

14 years agoDon't scrub DCL$PATH unless it's there.
Craig A. Berry [Tue, 2 Mar 2010 01:55:08 +0000]
Don't scrub DCL$PATH unless it's there.

It's optional and this was causing test failures when it didn't exist.

14 years agoCannot portably split on $Config{path_sep} -- use quotemeta($Config{path_sep}).
Craig A. Berry [Tue, 2 Mar 2010 00:56:45 +0000]
Cannot portably split on $Config{path_sep} -- use quotemeta($Config{path_sep}).

Broken in fc5e5837c991d3d3224259ff5c1d728d4e0636e2.

On VMS we were getting:

$ perl -"MConfig" -e "print join('+',split $Config{path_sep}, 'foo|bar|baz');"
f+o+o+|+b+a+r+|+b+a+z

which is a *lot* more pieces than we want.  What was intended was:

$ perl -"MConfig" -e "print join('+',split quotemeta($Config{path_sep}), 'foo|bar|baz');"
foo+bar+baz

No version bump as this is test infrastructure and 1.55 has not been
released outside of development releases of blead.

14 years agoUn-TODO warning test
Rafael Garcia-Suarez [Sun, 28 Feb 2010 22:47:19 +0000]
Un-TODO warning test

14 years agoNote this doesn't work: $re = "\\N{...}"; /$re/
Karl Williamson [Sun, 28 Feb 2010 15:48:33 +0000]
Note this doesn't work: $re = "\\N{...}"; /$re/

14 years agoDocument some re bugs in perlre.pod
Karl Williamson [Fri, 26 Feb 2010 03:45:11 +0000]
Document some re bugs in perlre.pod

14 years agoDocument 5.8 regression #72998 in delta
Karl Williamson [Fri, 26 Feb 2010 03:44:04 +0000]
Document 5.8 regression #72998 in delta

14 years agoDocument parsing changes for [perl #56444] patch
Karl Williamson [Fri, 26 Feb 2010 02:38:15 +0000]
Document parsing changes for [perl #56444] patch

14 years agoRevise wording about /x caveats
Karl Williamson [Fri, 26 Feb 2010 02:17:57 +0000]
Revise wording about /x caveats

14 years agoMention \N{U+...} documentation in delta
Karl Williamson [Fri, 26 Feb 2010 02:16:56 +0000]
Mention \N{U+...} documentation in delta

14 years agoAdd statement about UTF-8 and \N{} to delta
Karl Williamson [Fri, 26 Feb 2010 02:14:30 +0000]
Add statement about UTF-8 and \N{} to delta

14 years agoDocument Unicode case-insensitive [] range bug
Karl Williamson [Fri, 26 Feb 2010 01:48:50 +0000]
Document Unicode case-insensitive [] range bug

14 years agoQuote a code example
Karl Williamson [Fri, 26 Feb 2010 01:39:29 +0000]
Quote a code example

14 years agoAdd deprecation of non-name \N{foo} to delta pod
Karl Williamson [Thu, 25 Feb 2010 23:28:50 +0000]
Add deprecation of non-name \N{foo} to delta pod

14 years agoRevise notes on /x modifier
Karl Williamson [Thu, 25 Feb 2010 22:03:47 +0000]
Revise notes on /x modifier

14 years agoMark \N meaning [^\n] as experimental
Karl Williamson [Thu, 25 Feb 2010 21:43:48 +0000]
Mark \N meaning [^\n] as experimental

14 years agoMention there are places /x modifier is ineffective
Karl Williamson [Thu, 25 Feb 2010 20:41:10 +0000]
Mention there are places /x modifier is ineffective

14 years agoClarify perlrebackslash.pod
Karl Williamson [Thu, 25 Feb 2010 19:49:31 +0000]
Clarify perlrebackslash.pod

14 years agoNote existence (and warn against using) \N{U+c1.c2...}
Karl Williamson [Thu, 25 Feb 2010 19:48:12 +0000]
Note existence (and warn against using) \N{U+c1.c2...}

14 years agoNote that \N{U+...} forces character semantics
Karl Williamson [Thu, 25 Feb 2010 19:36:53 +0000]
Note that \N{U+...} forces character semantics

14 years agoDocument \N{U+...}
Karl Williamson [Thu, 25 Feb 2010 19:35:14 +0000]
Document \N{U+...}

14 years agoMention \N{U+...} in perlunicode.pod
Karl Williamson [Thu, 25 Feb 2010 19:31:12 +0000]
Mention \N{U+...} in perlunicode.pod

14 years agoUpdate documentation
Karl Williamson [Thu, 25 Feb 2010 19:25:04 +0000]
Update documentation

List known bugs, mention new meaning of \N

14 years agoUpdate pods for \N changes
Karl Williamson [Wed, 24 Feb 2010 00:33:35 +0000]
Update pods for \N changes

14 years agoUpdate charnames documentations for \N changes, bugs
Karl Williamson [Wed, 24 Feb 2010 00:31:48 +0000]
Update charnames documentations for \N changes, bugs

\N has a possible new meaning, and mention bug reports filed against
charnames

14 years agoClarify sv.c API wording.
Karl Williamson [Tue, 23 Feb 2010 04:43:35 +0000]
Clarify sv.c API wording.

14 years agofix for [perl #72604] @DB::args and win32 fork
David Mitchell [Sun, 28 Feb 2010 15:13:33 +0000]
fix for [perl #72604] @DB::args and win32 fork

A previous fix for [perl #66108] (7fa38291524c327a3cb23bfe94979e1537743cac)
stopped cloning PL_dbargs, on the grounds that it was usually filled with
garbage (it contains an un-refcounted copy of @_'s elements; once the
function has returned, these may have been freed or reassigned). However,
the fix instead recreated PL_dbargs as a new empty AV that *wasn't* then
associated with the DB::args glob; so modifications to PL_dbargs weren't
seen via @DB::args.

The fix is to simply set it to null when cloning; pp_caller() will
recreate it again if necessary when it is needed.