| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
It has been removed in 1863b87966ed39b042c45e12d1b4e0b90b9cc071. feature.pm
replaces it.
|
| |
|
|
|
|
| |
policy)
|
| |
|
| |
|
| |
|
|
|
|
| |
It's not 1995 anymore.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The "safety margin" of 4 has been used up, now that Storable 2.25 can read
v2.8 files, but only writes out v2.4 on 5.004. All tests now pass on 5.004
(albeit with a bunch of warnings about ambiguous use of barewords, which are
no longer warnings).
Also, update $Test::Builder::Level to make diagnosing failing tests easier.
|
|
|
|
| |
This makes it fractionally shorter, and restores all compatibility with 5.004
|
|
|
|
|
| |
The change is also being applied upstream, but this will fix
tests until the next EU::CB release is merged to blead
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is for two reasons:
• In S_my_kid, the attribute-handling code comes before the code that
marks the padop as being a state instead of a my, which it knows to
do based on the value of PL_parser->in_my. The attribute-handling
code begins by setting PL_parser->in_my to FALSE, preventing the
code that follows from doing its job.
So now PL_parser->in_my is read at the top of S_my_kid, before the
attribute code, with the statehood recorded in a boolean. Then the
code that marks the padop as being state checks that boolean
instead of in_my.
• A lexical variable declaration that has an attribute and is assigned
to in the same expression compiles to something similar to:
(attributes->import(... \$x ...), my $x) = 3;
where the list is actually in scalar context, returning the my $x
which is then assigned to (something that cannot be expressed
directly in Perl syntax). So Perl_ck_sassign needs to take that list
op into account when creating the ‘once’ op that actually makes
state assignment work. Up till now it was just looking for a padsv
on its LHS. This commit makes it check also for a list op whose last
item is a padsv.
|
|
|
|
| |
#2a25d7b already adds Paul Evans at the correct spot.
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
Yes, still has CR/LF line endings; I'll fix it in a CPAN
release with no changes but the line-endings fix first.
|
| | |
|
| |
| |
| |
| | |
will make it so that it can be a drop-in replacement for unlink
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don’t turn off readonliness on lexicals when freeing pad entries.
The readonliness is (prior to this commit) turned off explicitly in
pad_free under ithreads. See also bug #19022, which resulted from the
same change. There is some discussion there, too, but nobody seemed to
know exactly why the readonliness needed to be turned off.
Change 4761/2aa1bed, from January of 2000, added that SvREADONLY_off.
It is supposed to make sure that pad entries that were constants will
not be constants the next time they are used.
Dave Mitchell writes:
> I think...[this]...fix is correct (just removing the SvREADONLY_off).
> The issue it was trying to fix appears to have been properly fixed
> later by 3b1c21fabed159100271bd60bac3f870f5ac16af, which is why it's
> safe to remove it.
So this commit just deletes that code.
|
| |
| |
| |
| |
| |
| |
| |
| | |
cbc736f3c4431a04 refactored Storable::{net_,}pstore to simplify the logic in
their caller, Storable::_store(). However, it introduced a bug, by assigning
the result of do_store() to a location on the Perl stack, which fails if the
Perl stack moves, because it was reallocated. Fix this assumption, and add a
test which causes the Perl stack to expand during the call to do_store().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The handling for locale \s and \S both assume that the character in
ASCII platforms at 0x20 is a space. This is not necessarily so.
I'm guessing that the code was originally just copied and pasted from
the non-locale space handling code without thinking. That code hard-coded
in the space character, probably to avoid an expensive swash fetch for a
common situation.
|
| |
| |
| |
| | |
regexec.c had some code to handle \d under locales, but not everywhere.
|
| |
| |
| |
| |
| | |
These were missing that they were simple (matching exactly 1 character)
and have 0 regnode arguments
|
| |
| |
| |
| |
| |
| |
| |
| | |
The DIGITL and NDIGITL regnodes were not being generated; instead
regular DIGIT and NDIGIT regnodes were even under locale.
This means no one has probably ever used Perl on a locale that changed
the digits.
|
| |
| |
| |
| |
| |
| | |
Commit 356979f4a7d780fd67a92a9ca6c8659bd12e7168 failed to include two
instances in toke.c that needed the same treatment, i.e., converting
properly from I8 to native.
|
| | |
|
| |
| |
| |
| |
| | |
This test hasn't been testing bracketed char classes because a single
character class gets optimized out.
|
| |
| |
| |
| |
| |
| | |
Now that the new nodes are grouped properly, we can use the fact that
the named backreferences all come after all the numbered backreferences,
as had been there before.
|
| |
| |
| |
| |
| |
| | |
The recently added regnodes are moved to their respective equivalence
classes, and the named backreferences are moved to just after the
numbered backreferences
|