platform/upstream/perl.git
13 years ago[perl #80674] Fix compilation with very old versions of glibc
David Leadbeater [Fri, 17 Dec 2010 04:14:40 +0000 (20:14 -0800)]
[perl #80674] Fix compilation with very old versions of glibc

__priority_which_t does not exist on glibc 2.1.

sin6_scope is not present in the set of kernel headers my copy of glibc 2.1 is
using. (The presence of sin6_scope in sockaddr_in6 should maybe be a Configure
test.)

blead now compiles on a positively ancient box -- although the Socket tests
fail.

13 years agoSilence some data truncation compiler warnings
Jan Dubois [Thu, 16 Dec 2010 06:41:47 +0000 (22:41 -0800)]
Silence some data truncation compiler warnings

13 years agotest.pl: extend EBCDIC functions to beyond 255
Karl Williamson [Thu, 16 Dec 2010 17:38:09 +0000 (10:38 -0700)]
test.pl: extend EBCDIC functions to beyond 255

Allow the functions to handle non-latin1 input.  This would only show up
on EBCDIC platforms.

13 years agoVersion bumps for modules changed by a6d37805ca8a9ba8 ($Id$ removal).
Nicholas Clark [Thu, 16 Dec 2010 16:48:26 +0000 (16:48 +0000)]
Version bumps for modules changed by a6d37805ca8a9ba8 ($Id$ removal).

13 years agoRemove "dead" RCS $Id$ tags from files that we own.
Nicholas Clark [Thu, 16 Dec 2010 16:28:44 +0000 (16:28 +0000)]
Remove "dead" RCS $Id$ tags from files that we own.

All files have been modified more recently than their tag, rendering
information in the tag redundant.

13 years agoonly call amagic_deref_call() if we have to
David Mitchell [Thu, 16 Dec 2010 16:14:06 +0000 (16:14 +0000)]
only call amagic_deref_call() if we have to

13 years agouniprops.pod: restore properties counts
Karl Williamson [Thu, 16 Dec 2010 16:11:27 +0000 (09:11 -0700)]
uniprops.pod: restore properties counts

As a side effect of commit bd9ebcfd4a6439f22bcaf330cd6d936de78362c5,
which was to make smalle unicore tables, the counts of the number of
code points matched by the various properties in perluniprops.pod were
removed.  This restores them

13 years agoMove common code from ext/[GONS]DBM_File/t/[gons]dbm.t to t/lib/dbmt_common.pl
Nicholas Clark [Thu, 16 Dec 2010 16:02:20 +0000 (16:02 +0000)]
Move common code from ext/[GONS]DBM_File/t/[gons]dbm.t to t/lib/dbmt_common.pl

This eliminates 1445 lines, ie almost 500 lines duplicated fourfold.

13 years agoConverge ext/[GNOS]DBM_File/t/[gnos]dbm.t by parameterising the class name.
Nicholas Clark [Thu, 16 Dec 2010 14:09:42 +0000 (14:09 +0000)]
Converge ext/[GNOS]DBM_File/t/[gnos]dbm.t by parameterising the class name.

13 years agoConverge ext/[GNOS]DBM_File/t/[gnos]dbm.t further.
Nicholas Clark [Thu, 16 Dec 2010 13:25:05 +0000 (13:25 +0000)]
Converge ext/[GNOS]DBM_File/t/[gnos]dbm.t further.

Including Cross propagating some fixes:

grep in void context warning (f84167b37281b9fd c57cf257e9e58200), but improve
it by avoiding void context entirely, by actually testing the results :-)

"cleaner close on tests, take 2", d1e4d418969ad3c5

13 years agoConverge ext/[GNOS]DBM_File/t/[gnos]dbm.t by using the same filename.
Nicholas Clark [Thu, 16 Dec 2010 11:37:43 +0000 (11:37 +0000)]
Converge ext/[GNOS]DBM_File/t/[gnos]dbm.t by using the same filename.

Choose the 1 dot form used by sdbm.t, to keep VMS happy. Also, propagate into
ndbm.t the part of the test for 20001013.009 that cbc5248d01a71061 missed.
Move the exist tests from f4b9d8806d76b352 earlier in sdbm.t, to increase
consistency - the alternative attempts to have 2 DBM files open simultaneously,
which ODBM_File doesn't support. (Implied TODO: add an explicit test for this
to the other 3.)

13 years agoTweak gdbm.t to use GDBM_WRITER instead of GDBM_WRCREAT when re-opening a file.
Nicholas Clark [Thu, 16 Dec 2010 14:47:27 +0000 (15:47 +0100)]
Tweak gdbm.t to use GDBM_WRITER instead of GDBM_WRCREAT when re-opening a file.

The analagous tests for [nos]dbm.t don't use |O_CREAT for this case. gdbm.t
has been using GDBM_WRCREAT here since the file was added by Larry in 5.000

13 years agoFix typo in perlvar
Chris 'BinGOs' Williams [Thu, 16 Dec 2010 14:09:55 +0000 (14:09 +0000)]
Fix typo in perlvar

13 years agoregcomp.c: Optimize [cC] char class to EXACTF
Karl Williamson [Thu, 16 Dec 2010 01:11:44 +0000 (18:11 -0700)]
regcomp.c: Optimize [cC] char class to EXACTF

A two character character class where the two elements are the folds of
each other can be optimized into an EXACTF regnode.  This should not
change the speed of execution appreciably, except that EXACTF regnodes
are candidates for further optimization by combining with adjacent nodes
of the same type.

This commit brings the optimization level up to somewhat better than
when I started mucking around with ANYOF nodes.

13 years agoregcomp.c: More work on ANYOF_CLASS
Karl Williamson [Wed, 15 Dec 2010 23:33:02 +0000 (16:33 -0700)]
regcomp.c: More work on ANYOF_CLASS

I overlooked two cases in a previous commit where it would be advisable
to make changes in case the ANYOF_CLASS bit needs to be combined with
ANYOF_LOCALE.

13 years agol1_char_class_tab.h: include multi-char folds
Karl Williamson [Wed, 15 Dec 2010 23:31:02 +0000 (16:31 -0700)]
l1_char_class_tab.h: include multi-char folds

This patch is the result of running mk_PL_charclass.pl

13 years agomk_PL_charclass.pl: extend for multi-char folds
Karl Williamson [Wed, 15 Dec 2010 21:44:45 +0000 (14:44 -0700)]
mk_PL_charclass.pl: extend for multi-char folds

13 years agoregexec.c: white space changes due to prev. commit
Karl Williamson [Wed, 15 Dec 2010 22:34:48 +0000 (15:34 -0700)]
regexec.c: white space changes due to prev. commit

This is essentially a white-space patch.  Commit
dbaae6dafbe2bb8bf9fcd1e83874b9a683e0290f effectively removed two nests
of blocks.  This finishes that removal, outdents the previous innter
blocks, and reformats the comments for the extra space.

One declaration was moved as a result of removing a block.

13 years agoregex: Multi-char /i shouldnt match single char []
Karl Williamson [Wed, 15 Dec 2010 22:22:38 +0000 (15:22 -0700)]
regex: Multi-char /i shouldnt match single char []

":\N{LATIN SMALL LIGATURE ST}:" !~ /:[_st]:/i

because it is two character, but previously it did match.  The cause of
this is that the code was using swash_fetch() to test if the fold
matches.  But swash_fetch() only checks if the first character matches,
not all characters, so it was falsely returning true.

This is an intermediate commit, with some cleanup of blocks, comments,
and accompanying indentation of regexec.c to follow immediately.

13 years agoRevamp t/uni/fold.t
Karl Williamson [Wed, 15 Dec 2010 16:57:25 +0000 (09:57 -0700)]
Revamp t/uni/fold.t

This patch revamps fold.t but using essentially the same tests on
essentially the same character set.  It:
    1) Works on EBCDIC
    2) Uses test.pl
    3) Separates out the 8 tests per character that previously were all
        combined into a single test per character
    4) Outputs on each line the actual test performed
    5) Corrects and hardens some tests on multi-character folding
        characters.

To expand on point 5):  Previously, the wrong behavior was tested for;
correct behavior failed.  For example,
    ":\N{LATIN SMALL LIGATURE ST}:" =~ /:[_st]:/i
previously passed.  But the fold of the string is two characters, and so
should not match a one-character long character class.  Instead it
should match:
    ":\N{LATIN SMALL LIGATURE ST}:" =~ /:[_st]{2}:/i
The new test includes TODO tests for both of them.
    ":\N{LATIN SMALL LIGATURE ST}:" !~ /:[_st]:/i
    ":\N{LATIN SMALL LIGATURE ST}:" =~ /:[_st]{2}:/i

Also the inverse relation
    ":st:" =~ /:[_\N{LATIN SMALL LIGATURE ST}]:/i
passes, semi-coincidentally, for some.  By changing the test to
    ":ST:" =~ /:[_\N{LATIN SMALL LIGATURE ST}]:/i
they all fail, (and are made TODO's).

13 years agodon't upgrade overload IV return values to NV
David Mitchell [Wed, 15 Dec 2010 19:38:17 +0000 (19:38 +0000)]
don't upgrade overload IV return values to NV

(if we can avoid it).

Fix for RT #77456. Basically it extends the usage of the AMGf_numeric flag
to the remaining overloadable numeric ops that behave differently with IV
and NV.

13 years agoUpgrade Devel::SelfStubber from 1.04 to 1.05
Florian Ragwitz [Wed, 15 Dec 2010 19:14:31 +0000 (20:14 +0100)]
Upgrade Devel::SelfStubber from 1.04 to 1.05

This is necessary so the CPAN version can fix the INSTALLDIRS parameter it uses
on older perls.

13 years agoUpgrade Dumpvalue from version 1.14 to 1.15
Florian Ragwitz [Wed, 15 Dec 2010 19:14:31 +0000 (20:14 +0100)]
Upgrade Dumpvalue from version 1.14 to 1.15

This is necessary so the CPAN version can fix the INSTALLDIRS parameter it uses
on older perls.

13 years agoUpgrade Env from version 1.01 to 1.02
Florian Ragwitz [Wed, 15 Dec 2010 19:14:31 +0000 (20:14 +0100)]
Upgrade Env from version 1.01 to 1.02

This is necessary so the CPAN version can fix the INSTALLDIRS parameter it uses
on older perls.

13 years agoConvert ext/SDBM_File/t/sdbm.t to Test::More.
Nicholas Clark [Wed, 15 Dec 2010 16:48:48 +0000 (16:48 +0000)]
Convert ext/SDBM_File/t/sdbm.t to Test::More.

13 years agoConvert ext/ODBM_File/t/odbm.t to Test::More.
Nicholas Clark [Wed, 15 Dec 2010 16:20:39 +0000 (16:20 +0000)]
Convert ext/ODBM_File/t/odbm.t to Test::More.

13 years agoConvert ext/NDBM_File/t/ndbm.t to Test::More.
Nicholas Clark [Wed, 15 Dec 2010 16:01:55 +0000 (16:01 +0000)]
Convert ext/NDBM_File/t/ndbm.t to Test::More.

13 years agoConvert ext/GDBM_File/t/gdbm.t to Test::More.
Nicholas Clark [Wed, 15 Dec 2010 15:25:33 +0000 (15:25 +0000)]
Convert ext/GDBM_File/t/gdbm.t to Test::More.

13 years agoRemove redundant use strict,warnings,?DBM_File from ext/?DBM_File/t/?dbm.t.
Nicholas Clark [Wed, 15 Dec 2010 15:08:04 +0000 (15:08 +0000)]
Remove redundant use strict,warnings,?DBM_File from ext/?DBM_File/t/?dbm.t.

13 years agoAdd another e-mail address for Renee Baecker's to checkAUTHORS.pl
Nicholas Clark [Wed, 15 Dec 2010 16:28:54 +0000 (16:28 +0000)]
Add another e-mail address for Renee Baecker's to checkAUTHORS.pl

13 years agoChange ExtUtils::CBuilder upstream to blead
David Golden [Wed, 15 Dec 2010 15:47:14 +0000 (10:47 -0500)]
Change ExtUtils::CBuilder upstream to blead

ExtUtils::CBuilder now has blead as its upstream repository.  The
distribution has been moved to the dist/ directory consistent with
this change.

13 years agoadd some tests for the regex flags u, d, and l
OtrsUser [Tue, 14 Dec 2010 11:11:48 +0000 (03:11 -0800)]
add some tests for the regex flags u, d, and l

13 years agoConvert all File::Glob tests to Test::More.
Nicholas Clark [Wed, 15 Dec 2010 11:47:19 +0000 (11:47 +0000)]
Convert all File::Glob tests to Test::More.

(Apart from basic.t, which was already using Test::More)

13 years agoregcomp.c: Fix VC6 compiler warnings
Karl Williamson [Wed, 15 Dec 2010 03:34:02 +0000 (20:34 -0700)]
regcomp.c: Fix VC6 compiler warnings

The number passed here is never larger than 255.

13 years agoskip_all() is a separate function in test.pl
Jan Dubois [Wed, 15 Dec 2010 00:04:00 +0000 (16:04 -0800)]
skip_all() is a separate function in test.pl

and not just an argument to plan().

13 years agoDefine our own sockaddr_in6 for VC6
Jan Dubois [Tue, 14 Dec 2010 23:48:10 +0000 (15:48 -0800)]
Define our own sockaddr_in6 for VC6

The version defined by the VC6 headers is missing the sin6_scope_id
field, used by Socket.xs.  Ideally VC6 should be used with later
versions of the header files from a Windows Platform SDK, but this
patch at least keeps it compilable with plain VC6.  I have not verified
that the IPv6 code will actually works with this configuration.

13 years ago#define some symbols for VC6 compatibility
Jan Dubois [Tue, 14 Dec 2010 23:40:17 +0000 (15:40 -0800)]
#define some symbols for VC6 compatibility

HWND_MESSAGE and WC_NO_BEST_FIT_CHARS are not defined by the VC6
headers unless WINVER is set to 0x0500 or higher, but then the
headers will generate a lot of warnings because Windows 2000
was still in beta when those headers where released.
PROCESSOR_ARCHITCTURE_AMD64 is not defined at all in the
VC6 headers.

13 years agoDual-life Dumpvalue
Florian Ragwitz [Wed, 15 Dec 2010 00:00:30 +0000 (01:00 +0100)]
Dual-life Dumpvalue

13 years agoUpdate Digest-SHA to CPAN version 5.50
Chris 'BinGOs' Williams [Tue, 14 Dec 2010 18:56:42 +0000 (18:56 +0000)]
Update Digest-SHA to CPAN version 5.50

  [DELTA]

  5.50  Tue Dec 14 06:20:08 MST 2010
        - adopted convention that '-' always means STDIN
                -- actual filename '-' accessed as './-'
                -- accords with behavior of sha1sum/md5sum
        - corrected undefined subroutine oversight in shasum
                -- inadvertent migration of _bail() from SHA.pm

13 years agoConvert ext/Fcntl/t/syslfs.t to Test::More and t/op/lfs.t to test.pl
Nicholas Clark [Tue, 14 Dec 2010 16:59:11 +0000 (16:59 +0000)]
Convert ext/Fcntl/t/syslfs.t to Test::More and t/op/lfs.t to test.pl

13 years agoAdd $Tests_Are_Passing to test.pl, analogous to Test::Builder's is_passing().
Nicholas Clark [Tue, 14 Dec 2010 16:58:10 +0000 (16:58 +0000)]
Add $Tests_Are_Passing to test.pl, analogous to Test::Builder's is_passing().

13 years agoIn Fcntl's syslfs.t and t/op/lfs.t, eliminate bye().
Nicholas Clark [Tue, 14 Dec 2010 16:12:39 +0000 (16:12 +0000)]
In Fcntl's syslfs.t and t/op/lfs.t, eliminate bye().

Its cleanup actions are implicit in the END block, so replace C<warn ...; bye>;
with C<die ...> and other calls of C<bye;> with C<exit 0;>

Also, remove the newlines from the strings passed to die, to make the
diagnostics more useful for locating failures.

13 years agoIn Fcntl's syslfs.t and t/op/lfs.t, eliminate zap().
Nicholas Clark [Tue, 14 Dec 2010 15:43:02 +0000 (15:43 +0000)]
In Fcntl's syslfs.t and t/op/lfs.t, eliminate zap().

Now that we're using tempfiles, it no longer contains code to unlink the test
files, only a close. Inline the C<close BIG> into bye(), and remove the other
call to zap(), which was immediately after an explicit close of BIG.

13 years agoRefactor syslfs.t and lfs.t to call bye() directly from explain() when skipping.
Nicholas Clark [Mon, 13 Dec 2010 17:20:44 +0000 (17:20 +0000)]
Refactor syslfs.t and lfs.t to call bye() directly from explain() when skipping.

This will make it easier to refactoring to use Test::More/test.pl

13 years agoConvert ext/Fcntl/t/syslfs.t to File::Temp
Nicholas Clark [Mon, 13 Dec 2010 17:01:09 +0000 (17:01 +0000)]
Convert ext/Fcntl/t/syslfs.t to File::Temp

This reduces the differences between ext/Fcntl/t/syslfs.t and t/op/lfs.t

13 years agoReduce inconsistencies between ext/Fcntl/t/syslfs.t and t/op/lfs.t
Nicholas Clark [Mon, 13 Dec 2010 14:42:32 +0000 (14:42 +0000)]
Reduce inconsistencies between ext/Fcntl/t/syslfs.t and t/op/lfs.t

The two are testing the same functionality, and comments in each reference the
other. However, the two have diverged, sometimes in the same commit, sometimes
when corrections have been applied to only one. (eg 972720f939262dd0)

13 years agoCheck return values in the test programs run by syslfs.t and lfs.t
Nicholas Clark [Mon, 13 Dec 2010 16:08:38 +0000 (16:08 +0000)]
Check return values in the test programs run by syslfs.t and lfs.t

Also fix a bug introduced in 1c25d394345c1b97, which accidentally neutered the
test program of t/op/lfs.t, causing it to attempt to open an empty file, and
hence do nothing and then always exit with 0.

13 years agoBe more consistent with 'the Perl core'
Abigail [Tue, 14 Dec 2010 16:35:18 +0000 (17:35 +0100)]
Be more consistent with 'the Perl core'

13 years agopermit labels to be stacked
Zefram [Sun, 12 Dec 2010 11:41:55 +0000 (11:41 +0000)]
permit labels to be stacked

Liberalise label syntax a little more, by allowing multiple adjacent
labels with no intervening statements, as in "foo: bar: baz:".

13 years agomark blockhooks API as experimental
Zefram [Mon, 13 Dec 2010 20:53:19 +0000 (20:53 +0000)]
mark blockhooks API as experimental

13 years agoExplicitly close filehandle in ExtUtils::CBuilder::have_compiler().
Craig A. Berry [Mon, 13 Dec 2010 13:21:28 +0000 (07:21 -0600)]
Explicitly close filehandle in ExtUtils::CBuilder::have_compiler().

A recent change removed the lexical scope that would have caused
the lexical filehandle on the temporary source file to get closed
automatically.  If the filehandle is still open for write, you
can't compile it or delete unless it's open for shared access,
which is not the default on VMS (and deleting an open fle might
be a problem on Windows as well).

Without deleting the .c files, a subsequent make (even after a make
realclean) will identify CBuilder as an XS extension and fail when
it can't compile the non-existent CBuilder.c, which breaks the build
for second and subsequent runs of a smoke test.

13 years agoperldelta tweaks
Father Chrysostomos [Mon, 13 Dec 2010 06:38:24 +0000 (22:38 -0800)]
perldelta tweaks

13 years agoperldelta for a4256772
Father Chrysostomos [Mon, 13 Dec 2010 06:32:22 +0000 (22:32 -0800)]
perldelta for a4256772

13 years agoperldelta for ad021bf/[perl #76026]
Father Chrysostomos [Mon, 13 Dec 2010 04:45:47 +0000 (20:45 -0800)]
perldelta for ad021bf/[perl #76026]

13 years agoperldelta for 78cdf10
Father Chrysostomos [Mon, 13 Dec 2010 04:44:26 +0000 (20:44 -0800)]
perldelta for 78cdf10

13 years agoperldelta for 88b5a87
Father Chrysostomos [Mon, 13 Dec 2010 02:12:37 +0000 (18:12 -0800)]
perldelta for 88b5a87

13 years agoReduce redundant macros and prototypes in vmsish.h.
Craig A. Berry [Sun, 12 Dec 2010 23:43:32 +0000 (17:43 -0600)]
Reduce redundant macros and prototypes in vmsish.h.

In imitation of e64ca59f2852bc5d0450eea5ed412609a046829d, we don't
really need different prototypes or macros for MULTIPLICITY and
non-MULTIPLICITY.  For now, leave drop-in replacements of CRTL
functions alone as there may be more going on there (arguably
these really have no business passing around Perl thread context).

13 years agoUpdate ExtUtils-CBuilder to CPAN version 0.2802
Chris 'BinGOs' Williams [Sun, 12 Dec 2010 22:08:49 +0000 (22:08 +0000)]
Update ExtUtils-CBuilder to CPAN version 0.2802

  [DELTA]

  0.2802 - Sun Dec 12 07:22:43 EST 2010

    Fixed:

    - Incorporated another t/04-base.t fix from bleadperl
      [Chris Williams]

13 years agoUpdate Digest-SHA to CPAN version 5.49
Chris 'BinGOs' Williams [Sun, 12 Dec 2010 21:58:41 +0000 (21:58 +0000)]
Update Digest-SHA to CPAN version 5.49

  [DELTA]

  5.49  Sun Dec 12 07:22:04 MST 2010
        - modified Addfile to accept all POSIX filenames
                -- standard allows all characters except NUL and '/'
        - updated shasum to more closely mimic sha1sum/md5sum
                -- added "backslash processing" to handle newlines
                        and backslashes in filenames
                -- now accepts all POSIX filenames via Addfile
                -- thanks to Sean Burke for identifying edge cases

13 years agoMake entertry a LOGOP, not BASEOP/UNOP
Reini Urban [Sun, 12 Dec 2010 15:20:33 +0000 (16:20 +0100)]
Make entertry a LOGOP, not BASEOP/UNOP

The initial parse-time UNOP is upgraded at ck_eval to an LOGOP
- op_other holding the ptr to leavetry -
which causes problems at run-time B optype inspection.
The opclass info was always wrong, the Bytecode compiler broke with 5.12.

13 years agoblead breaks Attribute::Constant
Karl Williamson [Sun, 12 Dec 2010 18:28:20 +0000 (11:28 -0700)]
blead breaks Attribute::Constant

The problem is that I confused FOLD with ANYOF_FOLD, and as a result,
emitted a locale regnode, which is tainted.  Any tests that required
non-tainting started failing

13 years agorename some grammar productions for clarity
Zefram [Sat, 11 Dec 2010 20:38:16 +0000 (20:38 +0000)]
rename some grammar productions for clarity

Some of the names for types of expression were misleading.
Rename "listexpr"->"optlistexpr", "listexprcom"->"optexpr", and
"argexpr"->"listexpr" to make them more accurately descriptive and
more consistent.

13 years agoFix test count in t/re/pat.t
Father Chrysostomos [Sun, 12 Dec 2010 07:31:44 +0000 (23:31 -0800)]
Fix test count in t/re/pat.t

13 years ago[perl #76026] match variables persist between calls to a sort sub
Father Chrysostomos [Sun, 12 Dec 2010 02:50:49 +0000 (18:50 -0800)]
[perl #76026] match variables persist between calls to a sort sub

Since, for speed’s sake, pp_sort does not call PUSH/POPBLOCK for
every invocation of a sort subroutine, it fails to restore PL_curpm
after each call (POPBLOCK usually handles that). So the new values of
match vars like $1 when the sub returns are what it sees at the next
invocation.

This commit fixes this by resetting PL_curpm after each call to the
subroutine. There are actually three different functions for this
(S_sortcv*) so they all need modification.

13 years agoperldelta for [perl #68712]
Father Chrysostomos [Sun, 12 Dec 2010 00:28:59 +0000 (16:28 -0800)]
perldelta for [perl #68712]

13 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.

13 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

13 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

13 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.

13 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.

13 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.

13 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.

13 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.

13 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.

13 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.

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

13 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.

13 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

13 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.

13 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.

13 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.

13 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.

13 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

13 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`

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

13 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)

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

13 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]

13 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__.

13 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.

13 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.

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

13 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

13 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

13 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

13 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.

13 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)

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

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

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