This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
10 years agoperldelta for [perl #68712]
Father Chrysostomos [Sun, 12 Dec 2010 00:28:59 +0000 (16:28 -0800)]
perldelta for [perl #68712]

10 years agorecursive-descent expression parsing
Zefram [Sat, 11 Dec 2010 01:31:03 +0000 (01:31 +0000)]
recursive-descent expression parsing

New API functions parse_fullexpr(), parse_listexpr(), parse_termexpr(),
and parse_arithexpr(), to parse an expression at various precedence
levels.

10 years agore/pat.t: Add todo test for #38133
Karl Williamson [Sun, 12 Dec 2010 00:20:18 +0000 (17:20 -0700)]
re/pat.t: Add todo test for #38133

10 years agoperldelta: mention need to update unicode pods
Karl Williamson [Thu, 9 Dec 2010 03:54:26 +0000 (20:54 -0700)]
perldelta: mention need to update unicode pods

10 years agounicode_strings.t: Revise tests for EBCDIC, clarity
Karl Williamson [Thu, 9 Dec 2010 03:31:43 +0000 (20:31 -0700)]
unicode_strings.t: Revise tests for EBCDIC, clarity

This patch addresses some of Hugo's concerns.

10 years agoregcomp.c: Clean up optimization for 1-char []
Karl Williamson [Wed, 8 Dec 2010 05:51:34 +0000 (22:51 -0700)]
regcomp.c: Clean up optimization for 1-char []

A single character character class can be optimized into an EXACT node.
The changes elsewhere allow this to no longer be constrained to
ASCII-only when the pattern isn't UTF-8.  Also, the optimization
shouldn't have happened for FOLDED characters, as explained in the
comments, when they participate in multi-char folds; so that is removed.

Also, a locale node with folded characters can be optimized.

10 years agoregcomp: Allow freeing up bit in ANYOF flags
Karl Williamson [Wed, 8 Dec 2010 00:04:02 +0000 (17:04 -0700)]
regcomp: Allow freeing up bit in ANYOF flags

The flags field is fully used, and until the ANYOF node is split later
in development, the CLASS bit will need to be freed up to give the space
for other uses.  This patch allows for this to easily be toggled.

10 years agoregcomp.c: Move [] inversion optimization
Karl Williamson [Tue, 7 Dec 2010 23:23:07 +0000 (16:23 -0700)]
regcomp.c: Move [] inversion optimization

The optimization to do inversion a compile time is moved to earlier.
This doesn't help today, but it may someday when we start keeping better
track of Unicode characters, and is the more logical place for it.

10 years agoregcomp.c: When inverting a [], adjust bit count
Karl Williamson [Tue, 7 Dec 2010 22:21:55 +0000 (15:21 -0700)]
regcomp.c: When inverting a [], adjust bit count

When one complements every bit, the count of those that are set should
be complemented as well.

10 years agoSubject: [PATCH] regcomp.c: adjust flag
Karl Williamson [Tue, 7 Dec 2010 22:16:07 +0000 (15:16 -0700)]
Subject: [PATCH] regcomp.c: adjust flag

When something matches above Latin1, it should have the ANYOF_UTF8 bit
set.

10 years agoregcomp.c: Change constants for clarity.
Karl Williamson [Tue, 7 Dec 2010 22:13:29 +0000 (15:13 -0700)]
regcomp.c: Change constants for clarity.

Oddly, it is clearer to use 0xFF as an exclusive-or target instead of an
unrelated #define that happens to have that value.

10 years agoregcomp.c: fix indent
Karl Williamson [Tue, 7 Dec 2010 22:06:35 +0000 (15:06 -0700)]
regcomp.c: fix indent

10 years agoregcomp.c: remove no longer needed test
Karl Williamson [Tue, 7 Dec 2010 22:04:20 +0000 (15:04 -0700)]
regcomp.c: remove no longer needed test

optimize_invert is no longer needed given the changes already made, as
now if there is something not in the bitmap, a flag will be set, and the
optimization doesn't take place unless the only flag is inversion.  And,
the bitmap is setup completely now for anything that doesn't have to be
deferred to runtime, and such deferrals are marked with other flags.

10 years agoregcomp.c: isASCII doesn't match outside ANYOF bitmap
Karl Williamson [Tue, 7 Dec 2010 21:50:13 +0000 (14:50 -0700)]
regcomp.c: isASCII doesn't match outside ANYOF bitmap

So there is no need to tell regexec that it does, and then can combine
two other statements

10 years agoregcomp.c: Fix compiler warning
Karl Williamson [Tue, 7 Dec 2010 21:36:30 +0000 (14:36 -0700)]
regcomp.c: Fix compiler warning

One smoke is warning about truncated results.  This should fix that.  It
may be that other compilers will now complain, and we'll need to add
casts, but I'm waiting to see.

10 years agoregcomp.c: Remove no longer necessary loop
Karl Williamson [Mon, 6 Dec 2010 22:11:59 +0000 (15:11 -0700)]
regcomp.c: Remove no longer necessary loop

Recent changes to this cause the bitmap to be populated where possible
with the all folding taken into consideration.  Therefore, the FOLD flag
isn't necessary except when that wasn't possible, and the loop that went
through looking for folds is also not necessary, as the bitmap is
now completely populated before it gets to where the loop was.

10 years agoregcomp.c: remove unncessary counting
Karl Williamson [Sat, 11 Dec 2010 22:02:49 +0000 (15:02 -0700)]
regcomp.c: remove unncessary counting

stored now contains the number of 1 bits in the ANYOF node, and is no
longer needed to be arbitrarily set.  Part of this is because there is
now a flag if there is any match outside the bitmap, which prohibits
optimization if so.

10 years agoProper sa_len configuration for VMS.
Craig A. Berry [Sat, 11 Dec 2010 22:42:56 +0000 (16:42 -0600)]
Proper sa_len configuration for VMS.

It's available on anything decent and recent, but it requires
_SOCKADDR_LEN defined to make it visible.

10 years agoWindows compatibility fixes for running expand-macro.pl:
Max Maischein [Sat, 11 Dec 2010 14:21:11 +0000 (15:21 +0100)]
Windows compatibility fixes for running expand-macro.pl:

a) Close filehandle to try.i so we can erase it
b) The build process wants to be run from bleadperl/Win32

10 years agoMake Porting/expand-macro.pl use $Config{make} instead of hardcoded `make`
Max Maischein [Sat, 11 Dec 2010 14:20:13 +0000 (15:20 +0100)]
Make Porting/expand-macro.pl use $Config{make} instead of hardcoded `make`

10 years agoregcomp.c: clarify comment
Karl Williamson [Sat, 11 Dec 2010 21:21:40 +0000 (14:21 -0700)]
regcomp.c: clarify comment

10 years agofix various compiler warnings from XS code
Zefram [Sat, 11 Dec 2010 18:18:12 +0000 (18:18 +0000)]
fix various compiler warnings from XS code

Trivial changes to fix warnings of types
* unclear precedence
* assignment as conditional
* signed/unsigned mixing
* unused parameter/variable
* value computed not used
* wrong argument type for a printf format
* variable may be used uninitialised (due to unhandled switch case)

10 years agoDual-life File::CheckTree
Florian Ragwitz [Thu, 9 Dec 2010 23:08:42 +0000 (00:08 +0100)]
Dual-life File::CheckTree

10 years agoUpdate ExtUtils-CBuilder to CPAN version 0.2801
Chris 'BinGOs' Williams [Sat, 11 Dec 2010 16:41:50 +0000 (16:41 +0000)]
Update ExtUtils-CBuilder to CPAN version 0.2801

  [DELTA]

  0.2801 - Wed Dec  8 21:36:56 EST 2010

    Fixed:

    - Fixed spurious t/04-base.t failure when run from Perl core
      [David Golden]

10 years agoUpgrade Devel-SelfStubber fro version 1.03 to 1.04
Florian Ragwitz [Sat, 11 Dec 2010 14:33:27 +0000 (15:33 +0100)]
Upgrade Devel-SelfStubber fro version 1.03 to 1.04

This is necessary because the CPAN version required its SelfLoader dependency to
be bumped to a version that didn't swallow text after __END__.

10 years agoFix permissions for ext/XS-APItest/t/refs.t, added as +x in 88b5a879c6c933e0.
Nicholas Clark [Sat, 11 Dec 2010 12:18:09 +0000 (12:18 +0000)]
Fix permissions for ext/XS-APItest/t/refs.t, added as +x in 88b5a879c6c933e0.

10 years agoEncode has CPAN as its upstream
Florian Ragwitz [Sat, 11 Dec 2010 11:01:22 +0000 (12:01 +0100)]
Encode has CPAN as its upstream

As confirmed by Dan.

10 years agoFix some casts in typemap
Father Chrysostomos [Sat, 11 Dec 2010 06:12:48 +0000 (22:12 -0800)]
Fix some casts in typemap

10 years agoFix test count in ext/XS-APItest/t/refs.t
Father Chrysostomos [Sat, 11 Dec 2010 06:11:30 +0000 (22:11 -0800)]
Fix test count in ext/XS-APItest/t/refs.t

10 years agoAdd ext/XS-APItest/t/refs.t to MANIFEST
Father Chrysostomos [Sat, 11 Dec 2010 06:11:10 +0000 (22:11 -0800)]
Add ext/XS-APItest/t/refs.t to MANIFEST

10 years agoFix XS types in typemap in order to deal with references with get magics correctly
gfx [Sat, 11 Dec 2010 05:57:22 +0000 (21:57 -0800)]
Fix XS types in typemap in order to deal with references with get magics correctly

10 years ago[perl #68712] caller() filenames broken by "use"
Father Chrysostomos [Sat, 11 Dec 2010 05:46:13 +0000 (21:46 -0800)]
[perl #68712] caller() filenames broken by "use"

require() sets the file name for PL_compiling but localises it to the
calling scope, not the scope that it creates. As a result, caller()
during or after require (in the same scope that require was called
from) will return the wrong file name for whichever code is being com-
piled at the time and any scope sharing the same CopFILE (or something
like that):

$ ./miniperl -Ilib -e 'BEGIN{require strict; warn join ", ", caller(0)}'
main, lib/strict.pm, 1, main::BEGIN, 1, , , , 0, ,  at -e line 1.
      ^^^^^^^^^^^^^ should be -e

This commit moves the SAVECOPFILE_FREE and CopFILE_set down below the
ENTER_with_name to put it in the right scope. It was in its existing
location presumably because namesv needed to be freed before any code
that could die (and the CopFILE_set call reads a PV allocated for
namesv). So now namesv is mortalised instead.

The if(tryrsfp) is no longer necessary, as that code is never reached
when tryrsfp is false.

The block in between that sets %INC was reading CopFILE. It can simply
use the same tryname variable that is passed to CopFILE_set.

10 years agoUpdate Win32 from CPAN (from 0.40 to 0.41)
Jan Dubois [Sat, 11 Dec 2010 01:45:30 +0000 (17:45 -0800)]
Update Win32 from CPAN (from 0.40 to 0.41)

10 years agoperldelta for [perl #72090]
Father Chrysostomos [Sat, 11 Dec 2010 00:17:09 +0000 (16:17 -0800)]
perldelta for [perl #72090]

10 years agoperldelta for [perl #68658]
Father Chrysostomos [Sat, 11 Dec 2010 00:12:13 +0000 (16:12 -0800)]
perldelta for [perl #68658]

10 years agoperldelta for 0e5d25b
Father Chrysostomos [Fri, 10 Dec 2010 22:59:31 +0000 (14:59 -0800)]
perldelta for 0e5d25b

10 years ago[perl #80548] Add the stash name to DTrace probes
David Leadbeater [Fri, 10 Dec 2010 22:56:41 +0000 (14:56 -0800)]
[perl #80548] Add the stash name to DTrace probes

This adds an additional parameter to perl's dtrace probes with the stash
name of the subroutine. This generally looks nicer than the filename but
gives a similar level of context.

As this is an additional parameter this will not have an impact on
existing DTrace scripts. (Also due to the way DTrace works I believe it
does not break binary compatibility and would be safe to backport to
maint-5.12 if desired, but I'm not a DTrace expert.)

10 years ago[perl #72090] unitialized variable name wrong with no strict refs
Father Chrysostomos [Fri, 10 Dec 2010 22:54:13 +0000 (14:54 -0800)]
[perl #72090] unitialized variable name wrong with no strict refs

$ ./perl -we '$a = @$a > 0'
Use of uninitialized value $a in array dereference at -e line 1.
Use of uninitialized value $a in numeric gt (>) at -e line 1.

S_find_uninit_var was not taking into account that rv2*v could return
undef. So it merrily looked at the child ops to find one that named
a variable.

This commit makes it skip any rv2av/rv2hv that does not have an OP_GV
as its child op.

In other words, it skips @{...} and %{...} (including the shorthand
forms @$foo and %$foo), but not @foo or %foo.

10 years agoDual-life autouse
Florian Ragwitz [Fri, 10 Dec 2010 22:07:32 +0000 (23:07 +0100)]
Dual-life autouse

10 years agoDual-life Env
Florian Ragwitz [Fri, 10 Dec 2010 21:02:52 +0000 (22:02 +0100)]
Dual-life Env

10 years agoLocalise temporary FHs in the EU::Constant tests
Florian Ragwitz [Fri, 10 Dec 2010 16:31:15 +0000 (17:31 +0100)]
Localise temporary FHs in the EU::Constant tests

This avoids makes them work on 5.6.2 again, where the fact that the "XS" glob is
also used elsewhere in the tests triggered what seems to be a bug that causes
*XS to lose it's "q" magic.

10 years agoAs of 2.25, 5.6.x is writing minor version 8, so update malice.t
Nicholas Clark [Fri, 10 Dec 2010 16:30:21 +0000 (16:30 +0000)]
As of 2.25, 5.6.x is writing minor version 8, so update malice.t

10 years ago5.8.8's Test::More doesn't provide note(), so revert to a print statement.
Nicholas Clark [Fri, 10 Dec 2010 16:29:31 +0000 (16:29 +0000)]
5.8.8's Test::More doesn't provide note(), so revert to a print statement.

10 years agoThe CPAN release will include Test::More to be used on old Perls
Abhijit Menon-Sen [Fri, 10 Dec 2010 16:13:32 +0000 (21:43 +0530)]
The CPAN release will include Test::More to be used on old Perls

10 years agoMake sure META.yml mentions perlbug as the right place to file bugs
Abhijit Menon-Sen [Fri, 10 Dec 2010 15:13:14 +0000 (20:43 +0530)]
Make sure META.yml mentions perlbug as the right place to file bugs

10 years agoConvert all Storable's tests to use Test::More.
Nicholas Clark [Fri, 10 Dec 2010 14:38:52 +0000 (14:38 +0000)]
Convert all Storable's tests to use Test::More.

Originally Storable didn't use any test modules, and had an ok subroutine in
t/st-dump.pl. Subsequently some tests were made conditional on Test::More
loading, and more recently the distribution started bundling Test::More, at
which point newer tests were written to use it. However, the older tests have
never been refactored to use it. Hence refactor tests to use Test::More, and
delete the now-unused test functions from t/st-dump.pl

Tested on blead and 5.004.

10 years agoDual-life I18N::Collate
Florian Ragwitz [Fri, 10 Dec 2010 12:50:00 +0000 (13:50 +0100)]
Dual-life I18N::Collate

10 years agoAdd probe for sa_len availability in sockaddr struct
H.Merijn Brand [Fri, 10 Dec 2010 11:29:50 +0000 (12:29 +0100)]
Add probe for sa_len availability in sockaddr struct

Sorry for the huge config_h.SH re-order. Don't know (yet) what caused that

10 years agoperldelta for [perl #19135]
Father Chrysostomos [Fri, 10 Dec 2010 08:28:02 +0000 (00:28 -0800)]
perldelta for [perl #19135]

10 years agolegacy.pm is no more
Florian Ragwitz [Fri, 10 Dec 2010 00:01:58 +0000 (01:01 +0100)]
legacy.pm is no more

It has been removed in 1863b87966ed39b042c45e12d1b4e0b90b9cc071. feature.pm
replaces it.

10 years agoperlfaq is not the only exception; just say "few"
Ricardo Signes [Thu, 9 Dec 2010 21:02:38 +0000 (16:02 -0500)]
perlfaq is not the only exception; just say "few"

10 years agoRemove ; from use statements for readability. (Obeying the documentation
Ricardo SIGNES [Thu, 9 Dec 2010 20:58:21 +0000 (15:58 -0500)]
Remove ; from use statements for readability. (Obeying the documentation
policy)

10 years agoTypo fix
Ricardo SIGNES [Thu, 9 Dec 2010 20:56:34 +0000 (15:56 -0500)]
Typo fix

10 years agoFirst draft of a documentation policy.
Jesse Vincent [Thu, 9 Dec 2010 20:45:50 +0000 (15:45 -0500)]
First draft of a documentation policy.

10 years agoSlightly update perl.pod's "DESCRIPTION"
Jesse Vincent [Thu, 9 Dec 2010 20:15:56 +0000 (15:15 -0500)]
Slightly update perl.pod's "DESCRIPTION"

10 years agoDon't explicitly talk about our support for DBM files as a feature.
Jesse Vincent [Thu, 9 Dec 2010 20:11:45 +0000 (15:11 -0500)]
Don't explicitly talk about our support for DBM files as a feature.
It's not 1995 anymore.

10 years agoremove more a2p/s2p from perl.pod
Jesse Vincent [Thu, 9 Dec 2010 20:10:15 +0000 (15:10 -0500)]
remove more a2p/s2p from perl.pod

10 years agoRemove a now-inaccurate statement about setuid scripts
Jesse Vincent [Thu, 9 Dec 2010 20:07:51 +0000 (15:07 -0500)]
Remove a now-inaccurate statement about setuid scripts

10 years agoRemove a paragraph from perl.pod pimping it as a sed/awk replacement.
Jesse Vincent [Thu, 9 Dec 2010 20:07:19 +0000 (15:07 -0500)]
Remove a paragraph from perl.pod pimping it as a sed/awk replacement.

10 years agoWordsmithing of Abigail's prose.
Jesse Vincent [Thu, 9 Dec 2010 20:05:41 +0000 (15:05 -0500)]
Wordsmithing of Abigail's prose.

10 years agoAdded a statement about the examples in perl's documentation
Abigail [Thu, 9 Dec 2010 19:48:25 +0000 (14:48 -0500)]
Added a statement about the examples in perl's documentation

10 years agoDual-life Devel::SelfStubber
Florian Ragwitz [Thu, 2 Dec 2010 09:41:33 +0000 (10:41 +0100)]
Dual-life Devel::SelfStubber

10 years agoStorable's t/malice.t now needs to use a minor version >4 ahead for testing.
Nicholas Clark [Thu, 9 Dec 2010 15:42:44 +0000 (15:42 +0000)]
Storable's t/malice.t now needs to use a minor version >4 ahead for testing.

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.

10 years agoRefactor Storable::read_magic to avoid 4 arg substr.
Nicholas Clark [Thu, 9 Dec 2010 15:41:37 +0000 (15:41 +0000)]
Refactor Storable::read_magic to avoid 4 arg substr.

This makes it fractionally shorter, and restores all compatibility with 5.004

10 years agoFix failing ExtUtils-CBuilder test
David Golden [Thu, 9 Dec 2010 02:32:26 +0000 (21:32 -0500)]
Fix failing ExtUtils-CBuilder test

The change is also being applied upstream, but this will fix
tests until the next EU::CB release is merged to blead

10 years agoDocument use of strlen() by is_ascii_string(), is_utf8_string() and friends.
Marvin Humphrey [Wed, 8 Dec 2010 20:36:33 +0000 (12:36 -0800)]
Document use of strlen() by is_ascii_string(), is_utf8_string() and friends.

10 years ago[perl #68658] attributes turn "state" into "my"
Father Chrysostomos [Thu, 9 Dec 2010 00:52:08 +0000 (16:52 -0800)]
[perl #68658] attributes turn "state" into "my"

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.

10 years agoRevert change to AUTHORS #ea316027e
Jan Dubois [Thu, 9 Dec 2010 00:09:42 +0000 (16:09 -0800)]
Revert change to AUTHORS #ea316027e

#2a25d7b already adds Paul Evans at the correct spot.

10 years agoFix file permissions mangled by #0e5d25bf
Jan Dubois [Wed, 8 Dec 2010 23:49:03 +0000 (15:49 -0800)]
Fix file permissions mangled by #0e5d25bf

10 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
Jan Dubois [Wed, 8 Dec 2010 23:45:06 +0000 (15:45 -0800)]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

10 years agoUpgrade Win32 from CPAN (from 0.39 to 0.40)
Jan Dubois [Wed, 8 Dec 2010 22:07:18 +0000 (14:07 -0800)]
Upgrade Win32 from CPAN (from 0.39 to 0.40)

Yes, still has CR/LF line endings; I'll fix it in a CPAN
release with no changes but the line-endings fix first.

10 years agoperldelta for 558b442/[perl #66104]
Father Chrysostomos [Wed, 8 Dec 2010 20:54:25 +0000 (12:54 -0800)]
perldelta for 558b442/[perl #66104]

10 years agoModified unlink_all in t/test.pl to return the count of unlinked files This will...
Brad Gilbert [Tue, 7 Dec 2010 23:16:56 +0000 (17:16 -0600)]
Modified unlink_all in t/test.pl to return the count of unlinked files This will make it so that it can be a drop-in replacement for unlink

10 years agoReplaced '1 while unlink' with 'unlink_all' in t/uni/write.t
Brad Gilbert [Tue, 7 Dec 2010 23:14:51 +0000 (17:14 -0600)]
Replaced '1 while unlink' with 'unlink_all' in t/uni/write.t

10 years agoReplaced '1 while unlink' with 'unlink_all' in t/run/switches.t
Brad Gilbert [Tue, 7 Dec 2010 23:14:30 +0000 (17:14 -0600)]
Replaced '1 while unlink' with 'unlink_all' in t/run/switches.t

10 years agoReplaced 'unlink' with 'unlink_all' in t/re/qr.t
Brad Gilbert [Tue, 7 Dec 2010 23:14:12 +0000 (17:14 -0600)]
Replaced 'unlink' with 'unlink_all' in t/re/qr.t

10 years agoReplaced 'unlink' with 'unlink_all' in t/op/sysio.t
Brad Gilbert [Tue, 7 Dec 2010 23:13:57 +0000 (17:13 -0600)]
Replaced 'unlink' with 'unlink_all' in t/op/sysio.t

10 years agoReplaced '1 while unlink' with 'unlink_all' in t/op/stat.t
Brad Gilbert [Tue, 7 Dec 2010 23:13:05 +0000 (17:13 -0600)]
Replaced '1 while unlink' with 'unlink_all' in t/op/stat.t

10 years agoReplaced 'unlink' with 'unlink_all' in t/op/magic.t
Brad Gilbert [Tue, 7 Dec 2010 23:12:31 +0000 (17:12 -0600)]
Replaced 'unlink' with 'unlink_all' in t/op/magic.t

10 years agoReplaced 'unlink' with 'unlink_all' in t/op/goto.t
Brad Gilbert [Tue, 7 Dec 2010 23:11:52 +0000 (17:11 -0600)]
Replaced 'unlink' with 'unlink_all' in t/op/goto.t

10 years agoReplaced 'unlink' with 'unlink_all' in t/op/filetest.t
Brad Gilbert [Tue, 7 Dec 2010 23:11:23 +0000 (17:11 -0600)]
Replaced 'unlink' with 'unlink_all' in t/op/filetest.t

10 years agoReplaced 'unlink' with 'unlink_all' in t/lib/deprecate.t
Brad Gilbert [Tue, 7 Dec 2010 23:11:00 +0000 (17:11 -0600)]
Replaced 'unlink' with 'unlink_all' in t/lib/deprecate.t

10 years agoReplaced '1 while unlink' with 'unlink_all' in t/io/perlio.t
Brad Gilbert [Tue, 7 Dec 2010 23:10:39 +0000 (17:10 -0600)]
Replaced '1 while unlink' with 'unlink_all' in t/io/perlio.t

10 years agoReplaced 'unlink' with 'unlink_all' in t/io/nargv.t
Brad Gilbert [Tue, 7 Dec 2010 23:09:30 +0000 (17:09 -0600)]
Replaced 'unlink' with 'unlink_all' in t/io/nargv.t

10 years agoReplaced '1 while unlink' with 'unlink_all' in t/io/fs.t
Brad Gilbert [Tue, 7 Dec 2010 23:08:07 +0000 (17:08 -0600)]
Replaced '1 while unlink' with 'unlink_all' in t/io/fs.t

10 years agoReplaced '1 while unlink' with 'unlink_all' in t/io/argv.t
Brad Gilbert [Tue, 7 Dec 2010 23:07:51 +0000 (17:07 -0600)]
Replaced '1 while unlink' with 'unlink_all' in t/io/argv.t

10 years agoReplaced '1 while unlink' with 'unlink_all' in t/op/write.t
Brad Gilbert [Tue, 7 Dec 2010 22:17:02 +0000 (16:17 -0600)]
Replaced '1 while unlink' with 'unlink_all' in t/op/write.t

10 years ago[perl #19135] string eval turns off readonlyness on lexicals
Father Chrysostomos [Wed, 8 Dec 2010 19:11:07 +0000 (11:11 -0800)]
[perl #19135] string eval turns off readonlyness on lexicals

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.

10 years agoIn Storable.xs fix #80074, caused by the Perl stack moving when expanded.
Nicholas Clark [Wed, 8 Dec 2010 11:34:49 +0000 (11:34 +0000)]
In Storable.xs fix #80074, caused by the Perl stack moving when expanded.

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().

10 years agoregexec.c: Fix locale and \s
Karl Williamson [Mon, 6 Dec 2010 19:16:24 +0000 (12:16 -0700)]
regexec.c: Fix locale and \s

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.

10 years agoregexec.c: Add missing handlers for locale \d
Karl Williamson [Mon, 6 Dec 2010 19:01:22 +0000 (12:01 -0700)]
regexec.c: Add missing handlers for locale \d

regexec.c had some code to handle \d under locales, but not everywhere.

10 years agoregcomp.sym: Correct DIGITL, NDIGITL entries
Karl Williamson [Mon, 6 Dec 2010 18:56:49 +0000 (11:56 -0700)]
regcomp.sym: Correct DIGITL, NDIGITL entries

These were missing that they were simple (matching exactly 1 character)
and have 0 regnode arguments

10 years agoregcomp.c: Add locale for \d
Karl Williamson [Mon, 6 Dec 2010 15:35:17 +0000 (08:35 -0700)]
regcomp.c: Add locale for \d

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.

10 years agotoke.c: Fix EBCDIC problem
Karl Williamson [Sun, 5 Dec 2010 20:10:13 +0000 (13:10 -0700)]
toke.c: Fix EBCDIC problem

Commit 356979f4a7d780fd67a92a9ca6c8659bd12e7168 failed to include two
instances in toke.c that needed the same treatment, i.e., converting
properly from I8 to native.

10 years agotoke.c: highlight problematic-mentioning comment
Karl Williamson [Sun, 5 Dec 2010 20:09:43 +0000 (13:09 -0700)]
toke.c: highlight problematic-mentioning comment

10 years agouni/fold.t: Prevent [] from being optimized out
Karl Williamson [Sun, 5 Dec 2010 20:08:33 +0000 (13:08 -0700)]
uni/fold.t: Prevent [] from being optimized out

This test hasn't been testing bracketed char classes because a single
character class gets optimized out.

10 years agoregcomp.c: Revert to using regcomp.sym order
Karl Williamson [Sun, 5 Dec 2010 20:07:13 +0000 (13:07 -0700)]
regcomp.c: Revert to using regcomp.sym order

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.

10 years agoregcomp.sym: Re-order for better grouping
Karl Williamson [Sun, 5 Dec 2010 19:28:21 +0000 (12:28 -0700)]
regcomp.sym: Re-order for better grouping

The recently added regnodes are moved to their respective equivalence
classes, and the named backreferences are moved to just after the
numbered backreferences

10 years agoregcomp.sym: Remove misleading comments
Karl Williamson [Sun, 5 Dec 2010 03:48:24 +0000 (20:48 -0700)]
regcomp.sym: Remove misleading comments

Yves informed me that in spite of the comments giving precise node
numbers, those numbers can change, so new nodes can be mixed in with
their kin.  Remove those comments

10 years agoAvoid setting PL_cv_has_eval unnecessarily
Father Chrysostomos [Wed, 8 Dec 2010 02:28:46 +0000 (18:28 -0800)]
Avoid setting PL_cv_has_eval unnecessarily

Quoting op.c:

/* /$x/ may cause an eval, since $x might be qr/(?{..})/  */

But the (?{..})’s compilation is only ever reached in the scope of
‘use re 'eval'’, so we can avoid setting PL_cv_has_eval (and the
slight overhead that entails) when that pragma is off.