This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
14 years agoRemove Perl_pmflag() from the public API, and mark it as deprecated.
Nicholas Clark [Sun, 1 Nov 2009 16:43:22 +0000 (16:43 +0000)]
Remove Perl_pmflag() from the public API, and mark it as deprecated.

regcomp.c stopped using it before 5.10, leaving only toke.c. The only code on
CPAN that uses it is copies of regcomp.c. Replace it with a static function,
with a cleaner interface.

14 years agoImprovements to qr-overload tests
Rafael Garcia-Suarez [Sun, 1 Nov 2009 15:42:47 +0000 (16:42 +0100)]
Improvements to qr-overload tests

- Fix test for error message
- Add negative test cases
- Remove unneeded evals

14 years agoBump overload.pm's VERSION (plus some spelling nits)
Rafael Garcia-Suarez [Sun, 1 Nov 2009 15:29:58 +0000 (16:29 +0100)]
Bump overload.pm's VERSION (plus some spelling nits)

14 years agoDocumentation for the 'qr' overload.
Ben Morrow [Tue, 27 Oct 2009 16:12:36 +0000 (16:12 +0000)]
Documentation for the 'qr' overload.

14 years agoImplement the 'qr' overload type.
Ben Morrow [Tue, 27 Oct 2009 15:55:36 +0000 (15:55 +0000)]
Implement the 'qr' overload type.

If this is defined, it will be called instead of stringification
whenever an object is used as a regexp or interpolated into a regexp.
This will fall back to stringification even without C<fallback => 1>,
for compatibility.

An overloaded 'qr' must return either a REGEXP or a ref to a REGEXP
(such as created by qr//). Any further overloading on the return value
will be ignored.

14 years agoAdd a new overload type, "qr".
Ben Morrow [Sat, 24 Oct 2009 13:58:33 +0000 (14:58 +0100)]
Add a new overload type, "qr".

14 years agoUse of SV* instead of message, msglen, utf8 to contain error message
Gerard Goossen [Thu, 29 Oct 2009 10:05:11 +0000 (11:05 +0100)]
Use of SV* instead of message, msglen, utf8 to contain error message

14 years agoRevert "Re: [perl #38809][PATCH] loss of stack elements with a do block inside a...
Steve Peters [Sun, 1 Nov 2009 00:52:35 +0000 (19:52 -0500)]
Revert "Re: [perl #38809][PATCH] loss of stack elements with a do block inside a return"

This reverts commit 60aa6a1aa894dd62b8194841a6d6c80c15079dba.

14 years agoRe: [perl #38809][PATCH] loss of stack elements with a do block inside a return
Vincent Pit [Sun, 1 Nov 2009 00:49:59 +0000 (19:49 -0500)]
Re: [perl #38809][PATCH] loss of stack elements with a do block inside a return

14 years ago[PATCH] Todo test for [perl #38133] (was: [regex] backref problem with quantified...
Bram via RT [Sun, 1 Nov 2009 00:33:04 +0000 (19:33 -0500)]
[PATCH] Todo test for [perl #38133] (was: [regex] backref problem with quantified groups)

This patch was modified to work with the updated file locations.

14 years ago[PATCH] extra tests for t/op/tie.t (was RE: [perl #53482] I believe I found a bug...
Bram [Sun, 1 Nov 2009 00:17:57 +0000 (19:17 -0500)]
[PATCH] extra tests for t/op/tie.t (was RE: [perl #53482] I believe I found a bug with Readonly::XS that might actually be a guts bug.)

14 years agoAdds additional tests with undef for smartmatch.
Yuval Kogman [Sun, 1 Nov 2009 00:02:00 +0000 (19:02 -0500)]
Adds additional tests with undef for smartmatch.

Updated plan count missing in the original patch.

14 years agoAdd assertion to JMPENV_POP to assert that the jumplevel popped is the top level...
Gerard Goossen [Fri, 30 Oct 2009 14:03:45 +0000 (15:03 +0100)]
Add assertion to JMPENV_POP to assert that the jumplevel popped is the top level jumplevel

14 years ago[perl #69875] Slow down split in scalar context :-)
Father Chrysostomos [Sat, 31 Oct 2009 15:15:08 +0000 (16:15 +0100)]
[perl #69875] Slow down split in scalar context :-)

The patch to speed up split in scalar context broke Font::GlyphNames,
because it stops scalar(@array = split) from working. The attached
patch fixes this, and ineluctably slows it down slightly.

(Patch amended by replacing the 2nd GIMME_V macro call by the gimme
variable)

14 years agoImprove warnings about known issues in (?{...}) blocks in the regex engine
Gerard Goossen [Tue, 27 Oct 2009 20:59:34 +0000 (21:59 +0100)]
Improve warnings about known issues in (?{...}) blocks in the regex engine

14 years agoremove all references to patching.pod
Dave Rolsky [Fri, 30 Oct 2009 16:13:10 +0000 (11:13 -0500)]
remove all references to patching.pod

14 years agoRefer to perlrepository.pod instead of patching.pod
Dave Rolsky [Fri, 30 Oct 2009 16:12:48 +0000 (11:12 -0500)]
Refer to perlrepository.pod instead of patching.pod

14 years agoFix another reference to the now-gone patching.pod
Dave Rolsky [Fri, 30 Oct 2009 16:11:51 +0000 (11:11 -0500)]
Fix another reference to the now-gone patching.pod

14 years agoRemove obsolete details on how to format a patch. Just point to perlrepository instead.
Dave Rolsky [Fri, 30 Oct 2009 16:10:10 +0000 (11:10 -0500)]
Remove obsolete details on how to format a patch. Just point to perlrepository instead.

14 years agoClarify relationship of pattern modifiers and named subpatterns
Dave Rolsky [Fri, 30 Oct 2009 16:09:08 +0000 (11:09 -0500)]
Clarify relationship of pattern modifiers and named subpatterns

14 years agoUpdated ExtUtils::CBuilder to 0.27
David Golden [Fri, 30 Oct 2009 01:40:33 +0000 (21:40 -0400)]
Updated ExtUtils::CBuilder to 0.27

0.27 - Thu Oct 29 21:29:56 EDT 2009

 Other:
 - Removed Build.PL to avoid creating a circular dependency
 - Added version numbers to Windows compiler driver modules

0.26_05 - Sun Oct 25 17:29:02 EDT 2009

 Bugs fixed:
 - Fixed t/02link.t failures on cygwin with Perl 5.8 [David Golden]

 Other:
 - Made have_compiler (and have_cplusplus) quiet without echoing
   the test command to STDOUT [David Golden]

0.26_04 - Mon Oct 19 21:57:46 EDT 2009

 Enhancements:
 - Added 'have_cplusplus()' method to check for C++ support
 - Added patches for building Perl with mingw64 [Sisyphus]
 - Allow CC environment variable to override $Config{cc}

 Bugs fixed:
 - Fixed link executable command for Win32 MSVC (RT#40819) [Cosimo
   Streppone]
 - Removed MSVC version check when embedding a manifest file
   (RT #43002) [Steve Hay]

 Other:
 - Split Windows compiler driver packages into individual *.pm files

14 years agoPropagate LDLIBPTH into run_tests - Fixes 5.12 blocker [perl #70057]
Jesse Vincent [Fri, 30 Oct 2009 01:37:44 +0000 (21:37 -0400)]
Propagate LDLIBPTH into run_tests - Fixes 5.12 blocker [perl #70057]

I'm leaving the bug open as it sounds like there's a better fix that
could go into Configure that Andy mentioned wanting to make. But I'm
removing the 5.12 blocking nature of the bug;

14 years ago[PATCH] perlcommunity.pod: add information about OSDC.fr
Philippe Bruhat (BooK) [Thu, 29 Oct 2009 20:59:07 +0000 (20:59 +0000)]
[PATCH] perlcommunity.pod: add information about OSDC.fr

14 years agoAllow syswrite with offset same as length of string [perl #70095]
Gisle Aas [Thu, 29 Oct 2009 20:30:02 +0000 (21:30 +0100)]
Allow syswrite with offset same as length of string [perl #70095]

You are not really outside of the string then, but the effect will
always be a noop since the number of bytes written will be capped
to not exceed the length of the string as for other offsets.

14 years agoUpdate CPANPLUS to cpan version 0.89_06
Chris Williams [Thu, 29 Oct 2009 15:09:29 +0000 (15:09 +0000)]
Update CPANPLUS to cpan version 0.89_06

  Changes for 0.89_06     Thu Oct 29 14:55:25 2009
  ================================================
  * Fool the installer into replacing our scripts that were installed
    by core with versiononly set.
  * Handle PREREQS being mentioned twice in Makefile. Use _vcmp()
    to compare the versions, take the highest.

14 years agoRemove unused variable
Rafael Garcia-Suarez [Thu, 29 Oct 2009 09:52:53 +0000 (10:52 +0100)]
Remove unused variable

14 years agoremove unnecessary (always true) condition in S_vdie
Gerard Goossen [Wed, 28 Oct 2009 17:46:06 +0000 (18:46 +0100)]
remove unnecessary (always true) condition in S_vdie

14 years agoUpdate Module::Load::Conditional to cpan version 0.34
Chris Williams [Thu, 29 Oct 2009 09:30:42 +0000 (09:30 +0000)]
Update Module::Load::Conditional to cpan version 0.34

  Changes for 0.34    Thu Oct 29 09:22:48 GMT 2009
  =================================================
  * Remove DOS line endings from test files RT#50926
    reported by Steve Hay

14 years agoConvert all Pod::Simple files to Unix line endings.
David E. Wheeler [Wed, 28 Oct 2009 19:34:00 +0000 (12:34 -0700)]
Convert all Pod::Simple files to Unix line endings.

In response to Steve Hay's report in
[RT #50922](https://rt.cpan.org/Ticket/Display.html?id=50922).

14 years agoBump Exporter's version in blead after last patch
Rafael Garcia-Suarez [Wed, 28 Oct 2009 21:20:17 +0000 (22:20 +0100)]
Bump Exporter's version in blead after last patch

14 years agoTest exported arrays and hashes without using defined()
Jerry D. Hedden [Tue, 27 Oct 2009 17:25:51 +0000 (13:25 -0400)]
Test exported arrays and hashes without using defined()

14 years agoAdd missing files
Rafael Garcia-Suarez [Wed, 28 Oct 2009 10:34:46 +0000 (11:34 +0100)]
Add missing files

14 years agoBring Pod::Simple up to 3.09 as on CPAN.
David E. Wheeler [Tue, 27 Oct 2009 19:09:33 +0000 (12:09 -0700)]
Bring Pod::Simple up to 3.09 as on CPAN.

14 years ago$#array should be accepted as a lvalue sub return value.
Rafael Garcia-Suarez [Wed, 28 Oct 2009 09:44:31 +0000 (10:44 +0100)]
$#array should be accepted as a lvalue sub return value.

The OPpMAYBE_LVSUB flag wasn't set for OP_AV2ARYLEN, but the
new implementation of pp_av2arylen introduced by the previous
patch was relying on it. So, now, set this flag. Also add tests for
STORESIZE.

14 years agoAvoid adding magic with rvalue $#a
Eric Brine [Fri, 23 Oct 2009 23:05:40 +0000 (19:05 -0400)]
Avoid adding magic with rvalue $#a

14 years agoUpdate CPANPLUS to cpan version 0.89_05
Chris Williams [Tue, 27 Oct 2009 10:07:35 +0000 (10:07 +0000)]
Update CPANPLUS to cpan version 0.89_05

  Changes for 0.89_05     Tue Oct 27 09:24:55 2009
  ================================================
  * Change the way editing config files is called. This fixes RT #50832,
    reported by Dave Golden
  * Issue a warning in the shell if we are on MSWin32, don't have IPC::Run
    installed and are writing a log file.
  * Apply several patches from Alexandr Ciornii (CHORNY) RT #48636 that
    add toolchain versions listing to tester reports.

14 years agoBetter wording for the hash ~~ array docs
Rafael Garcia-Suarez [Tue, 27 Oct 2009 08:58:58 +0000 (09:58 +0100)]
Better wording for the hash ~~ array docs

(suggested by Aristotle Pagaltzis -- see [perl #69957])

14 years agoadd an elipses to string/ref warnings when str longer than 32 chars
Yves Orton [Mon, 26 Oct 2009 20:52:05 +0000 (21:52 +0100)]
add an elipses to string/ref warnings when str longer than 32 chars

Wasted a few minutes more than necessary trying to work out why the
string was truncated when in fact it was the error message that was
truncating the string.

14 years agorefine the documentation for deleting branches and altering history
Yves Orton [Mon, 26 Oct 2009 21:50:24 +0000 (22:50 +0100)]
refine the documentation for deleting branches and altering history

14 years agoHashed out a prose description of the (largely existing) branching and topic branch...
Jesse Vincent [Mon, 26 Oct 2009 20:08:19 +0000 (16:08 -0400)]
Hashed out a prose description of the (largely existing) branching and topic branch policy.

Wrote down the existing "no, don't mess with blead's history, bozo"
setup

14 years agomg.c uses a fixed NGROUPS contant
perlbug-followup@perl.org [Fri, 23 Oct 2009 15:20:38 +0000 (08:20 -0700)]
mg.c uses a fixed NGROUPS contant

# New Ticket Created by  casper.dik@sun.com
# Please include the string:  [perl #69977]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=69977 >

This is a bug report for perl from casper.dik@sun.com,
generated with the help of perlbug 1.36 running under perl 5.10.0.

-----------------------------------------------------------------
[Please enter your report here]

In mg.c NGROUPS is defined as follows:

#if defined(HAS_SETGROUPS)
#  ifndef NGROUPS
#    define NGROUPS 32
#  endif
#endif

and uses it later here:

  2632  #ifdef HAS_SETGROUPS
  2633          {
  2634              const char *p = SvPV_const(sv, len);
  2635              Groups_t *gary = NULL;
  2636
  2637              while (isSPACE(*p))
  2638                  ++p;
  2639              PL_egid = Atol(p);
  2640              for (i = 0; i < NGROUPS; ++i) {
  2641                  while (*p && !isSPACE(*p))
  2642                      ++p;
  2643                  while (isSPACE(*p))
  2644                      ++p;
  2645                  if (!*p)
  2646                      break;
  2647                  if(!gary)
  2648                      Newx(gary, i + 1, Groups_t);
  2649                  else
  2650                      Renew(gary, i + 1, Groups_t);
  2651                  gary[i] = Atol(p);
  2652              }
  2653              if (i)
  2654                  (void)setgroups(i, gary);
  2655              Safefree(gary);
  2656          }
  2657  #else  /* HAS_SETGROUPS */

This should be changed as follows

14 years agodisable non-unicode case insensitive trie matching
Yves Orton [Sun, 25 Oct 2009 19:37:08 +0000 (20:37 +0100)]
disable non-unicode case insensitive trie matching

Also revert 8902bb05b18c9858efa90229ca1ee42b17277554 as it merely
masked one symptom of the deeper problems.

Also fixes RT #69973, which was a segfault which was exposed by
8902bb05, see the ticket for further details.

http://rt.perl.org/rt3//Public/Bug/Display.html?id=69973

At the code of this is the problem that in unicode matching a bunch
of code points have case folding rules beyond just A-Z/a-z. Since
the case folding rules are decided at runtime by the string, we cant
use the same TRIE tables for both unicode/non-unicode matching.

Until this is reconciled or some other solution is found case insensitive
matching only gets the TRIE optimisation when the pattern is uniocde.

From CaseFolding.txt:

00B5; C; 03BC; # MICRO SIGN
00C0; C; 00E0; # LATIN CAPITAL LETTER A WITH GRAVE
00C1; C; 00E1; # LATIN CAPITAL LETTER A WITH ACUTE
00C2; C; 00E2; # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
00C3; C; 00E3; # LATIN CAPITAL LETTER A WITH TILDE
00C4; C; 00E4; # LATIN CAPITAL LETTER A WITH DIAERESIS
00C5; C; 00E5; # LATIN CAPITAL LETTER A WITH RING ABOVE
00C6; C; 00E6; # LATIN CAPITAL LETTER AE
00C7; C; 00E7; # LATIN CAPITAL LETTER C WITH CEDILLA
00C8; C; 00E8; # LATIN CAPITAL LETTER E WITH GRAVE
00C9; C; 00E9; # LATIN CAPITAL LETTER E WITH ACUTE
00CA; C; 00EA; # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
00CB; C; 00EB; # LATIN CAPITAL LETTER E WITH DIAERESIS
00CC; C; 00EC; # LATIN CAPITAL LETTER I WITH GRAVE
00CD; C; 00ED; # LATIN CAPITAL LETTER I WITH ACUTE
00CE; C; 00EE; # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
00CF; C; 00EF; # LATIN CAPITAL LETTER I WITH DIAERESIS
00D0; C; 00F0; # LATIN CAPITAL LETTER ETH
00D1; C; 00F1; # LATIN CAPITAL LETTER N WITH TILDE
00D2; C; 00F2; # LATIN CAPITAL LETTER O WITH GRAVE
00D3; C; 00F3; # LATIN CAPITAL LETTER O WITH ACUTE
00D4; C; 00F4; # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
00D5; C; 00F5; # LATIN CAPITAL LETTER O WITH TILDE
00D6; C; 00F6; # LATIN CAPITAL LETTER O WITH DIAERESIS
00D8; C; 00F8; # LATIN CAPITAL LETTER O WITH STROKE
00D9; C; 00F9; # LATIN CAPITAL LETTER U WITH GRAVE
00DA; C; 00FA; # LATIN CAPITAL LETTER U WITH ACUTE
00DB; C; 00FB; # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
00DC; C; 00FC; # LATIN CAPITAL LETTER U WITH DIAERESIS
00DD; C; 00FD; # LATIN CAPITAL LETTER Y WITH ACUTE
00DE; C; 00FE; # LATIN CAPITAL LETTER THORN
00DF; F; 0073 0073; # LATIN SMALL LETTER SHARP S

14 years agoRename to Porting/perldelta_template.pod so that t/porting/podcheck.t covers it.
Nicholas Clark [Sat, 24 Oct 2009 11:14:31 +0000 (12:14 +0100)]
Rename to Porting/perldelta_template.pod so that t/porting/podcheck.t covers it.

14 years agoNote that F<ext/> has become F<cpan/>, F<dist/> and F<ext/>
Nicholas Clark [Sat, 24 Oct 2009 11:12:42 +0000 (12:12 +0100)]
Note that F<ext/> has become F<cpan/>, F<dist/> and F<ext/>

14 years agoIn S_pending_ident(), only call gv_fetchpvn_flags() if the warning is enabled.
Nicholas Clark [Sat, 24 Oct 2009 11:57:18 +0000 (12:57 +0100)]
In S_pending_ident(), only call gv_fetchpvn_flags() if the warning is enabled.

ckWARN(WARN_AMBIGUOUS) is cheaper than Perl_gv_fetchpvn_flags().

14 years agoMake defined %hash on a non-lexical (also) generate a deprecated warning.
Nicholas Clark [Sat, 24 Oct 2009 09:25:28 +0000 (10:25 +0100)]
Make defined %hash on a non-lexical (also) generate a deprecated warning.

Tk has been fixed, and no longer uses defined %stash:: to determine if a package
has been loaded.

14 years agoAdd perl5112delta, and change 5111delta from being "the" perldelta.
Nicholas Clark [Sat, 24 Oct 2009 09:23:05 +0000 (10:23 +0100)]
Add perl5112delta, and change 5111delta from being "the" perldelta.

14 years agoIn Locale::Maketext, avoid using defined @array and defined %hash.
Nicholas Clark [Fri, 23 Oct 2009 20:30:43 +0000 (21:30 +0100)]
In Locale::Maketext, avoid using defined @array and defined %hash.

14 years agoIn I18N::LangTags::Detect, avoid using defined @array and defined %hash.
Nicholas Clark [Fri, 23 Oct 2009 20:33:27 +0000 (21:33 +0100)]
In I18N::LangTags::Detect, avoid using defined @array and defined %hash.

14 years agoAvoid using defined @array in core tests.
Nicholas Clark [Fri, 23 Oct 2009 20:30:18 +0000 (21:30 +0100)]
Avoid using defined @array in core tests.

14 years agoAvoid using defined %hash in core code and tests.
Nicholas Clark [Fri, 23 Oct 2009 20:29:49 +0000 (21:29 +0100)]
Avoid using defined %hash in core code and tests.

14 years agoUpdated Module::Load::Conditional to cpan version 0.32
Chris Williams [Fri, 23 Oct 2009 21:00:37 +0000 (22:00 +0100)]
Updated Module::Load::Conditional to cpan version 0.32

14 years agoCap the exit code of the bisecting script
Vincent Pit [Fri, 23 Oct 2009 20:34:04 +0000 (22:34 +0200)]
Cap the exit code of the bisecting script

Segfaults cause $? to be set to 139 on my machine, which stops the bisect
process.

14 years ago"-x ./foo" isn't a shell command, but "[ -x ./foo ]" is
Vincent Pit [Fri, 23 Oct 2009 20:26:57 +0000 (22:26 +0200)]
"-x ./foo" isn't a shell command, but "[ -x ./foo ]" is

14 years agoConvert the 2 Storable tests that use Test to use Test::More.
Nicholas Clark [Fri, 23 Oct 2009 19:58:28 +0000 (20:58 +0100)]
Convert the 2 Storable tests that use Test to use Test::More.

14 years agoConvert the Pod::Perldoc tests from Test to Test::More.
Nicholas Clark [Fri, 23 Oct 2009 19:52:39 +0000 (20:52 +0100)]
Convert the Pod::Perldoc tests from Test to Test::More.

Not that they test much, other than require of the various modules.

14 years agoConvert the odd Locale::Maketext test out from Test to Test::More.
Nicholas Clark [Fri, 23 Oct 2009 19:44:42 +0000 (20:44 +0100)]
Convert the odd Locale::Maketext test out from Test to Test::More.

All the others were using Test::More already.

14 years agoConvert File/CheckTree.t from Test to Test::More.
Nicholas Clark [Fri, 23 Oct 2009 18:37:25 +0000 (19:37 +0100)]
Convert File/CheckTree.t from Test to Test::More.

14 years agoConvert tests in ext/ from Test to Test::More.
Nicholas Clark [Fri, 23 Oct 2009 17:32:22 +0000 (18:32 +0100)]
Convert tests in ext/ from Test to Test::More.

14 years agoS_run_user_filter() can use the filter GV itself for the cache buffer.
Nicholas Clark [Fri, 23 Oct 2009 15:54:10 +0000 (16:54 +0100)]
S_run_user_filter() can use the filter GV itself for the cache buffer.

This saves allocating an extra SV head and body.

14 years agoS_utf16_textfilter() can use the filter GV itself for an SV buffer.
Nicholas Clark [Fri, 23 Oct 2009 14:44:16 +0000 (15:44 +0100)]
S_utf16_textfilter() can use the filter GV itself for an SV buffer.

This saves allocating an extra SV head and body.

14 years agoUpdated CPANPLUS to cpan version 0.89_04
Chris Williams [Fri, 23 Oct 2009 11:33:09 +0000 (12:33 +0100)]
Updated CPANPLUS to cpan version 0.89_04

  Changes for 0.89_04     Fri Oct 23 11:12:57 2009
  ================================================
  * Added deprecated dual-life module support which
    requires newer versions of Module::CoreList and
    Module::Load::Conditional

14 years agoUpdated Module::Load::Conditional to cpan version 0.31_01
Chris Williams [Fri, 23 Oct 2009 11:30:26 +0000 (12:30 +0100)]
Updated Module::Load::Conditional to cpan version 0.31_01

  Changes for 0.31_01 Fri Oct 23 09:47:12 BST 2009
  =================================================
  * Added DEPRECATED and support for determining if
    a core module is loaded from perl lib path and
    setting uptodate accordingly.

14 years agoa2p match() faulty
Zefram [Fri, 23 Oct 2009 09:13:21 +0000 (11:13 +0200)]
a2p match() faulty

While I was doing the $[ thing, I discovered a bug in a2p's handling of
the match() operator.  It uses a comma operator, which has unintended
behaviour in list context (e.g., in a print statement).  It also returns
empty string for a non-match, rather than the required 0.

14 years agoCPAN release of Switch 2.16
Rafael Garcia-Suarez [Fri, 23 Oct 2009 07:52:12 +0000 (09:52 +0200)]
CPAN release of Switch 2.16

14 years agoExtUtils-Install tests need abs_path @INC for utf8
H.Merijn Brand [Fri, 23 Oct 2009 06:23:12 +0000 (08:23 +0200)]
ExtUtils-Install tests need abs_path @INC for utf8

14 years agoa2p generates code using $[
Zefram [Thu, 22 Oct 2009 23:27:42 +0000 (00:27 +0100)]
a2p generates code using $[

I missed earlier that the a2p documentation mentions $[.  Patch attached.
The same doc section has a couple of other paragraphs that look like
they need updating, but I'm not sure what to do with them: one refers
to keys() not applying to arrays, and one is about $#.

-zefram

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
14 years ago[perl #69838] a2p generates code using $[
Zefram [Thu, 22 Oct 2009 22:27:57 +0000 (00:27 +0200)]
[perl #69838] a2p generates code using $[

14 years ago[perl #69903] 5.10.1 perlretut section "A bit of magic: executing Perl code in a...
Rafael Garcia-Suarez [Thu, 22 Oct 2009 22:22:16 +0000 (00:22 +0200)]
[perl #69903] 5.10.1 perlretut section "A bit of magic: executing Perl code in a regular expression" documentation

The docs were now wrong, due to new optimisations to the regexp engine.

14 years agoLet SvRX(OK) recognise a bare REGEXP.
Ben Morrow [Wed, 21 Oct 2009 14:33:55 +0000 (15:33 +0100)]
Let SvRX(OK) recognise a bare REGEXP.

This means that re::is_regexp(${qr/x/}) will now return true.

14 years agoRT#69616: regexp SVs lose regexpness in assignment
Ben Morrow [Thu, 22 Oct 2009 21:17:51 +0000 (23:17 +0200)]
RT#69616: regexp SVs lose regexpness in assignment

It uses reg_temp_copy to copy the REGEXP onto the destination SV without
needing to copy the underlying pattern structure. This means changing
the prototype of reg_temp_copy, so it can copy onto a passed-in SV, but
it isn't API (and probably shouldn't be exported) so I don't think this
is a problem.

14 years agoRemove the venerable fatal error "Runaway format"
Rafael Garcia-Suarez [Thu, 22 Oct 2009 21:04:14 +0000 (23:04 +0200)]
Remove the venerable fatal error "Runaway format"

This solves bug "[perl #69927] wrong runaway error for write",
which is a link to http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=77707

14 years agoRemove file t/0 added by last commit
Rafael Garcia-Suarez [Thu, 22 Oct 2009 20:39:45 +0000 (22:39 +0200)]
Remove file t/0 added by last commit

Make the test create it instead

14 years agoBare readdir in while loop now sets $_
Brad Gilbert [Thu, 22 Oct 2009 20:03:40 +0000 (22:03 +0200)]
Bare readdir in while loop now sets $_

14 years agoPOD link fix
Rafael Garcia-Suarez [Thu, 22 Oct 2009 19:57:00 +0000 (21:57 +0200)]
POD link fix

14 years agoIn S_utf16_textfilter() replace sv_chop() with code, as we move 1 byte at most.
Nicholas Clark [Thu, 22 Oct 2009 19:17:54 +0000 (20:17 +0100)]
In S_utf16_textfilter() replace sv_chop() with code, as we move 1 byte at most.

14 years agoS_utf16_textfilter() needs to avoid splitting UTF-16 surrogate pairs.
Nicholas Clark [Thu, 22 Oct 2009 18:39:30 +0000 (19:39 +0100)]
S_utf16_textfilter() needs to avoid splitting UTF-16 surrogate pairs.

Easier said than done.

14 years agoTest requiring files with non-BMP characters (encoded as surrogate pairs).
Nicholas Clark [Thu, 22 Oct 2009 15:39:38 +0000 (16:39 +0100)]
Test requiring files with non-BMP characters (encoded as surrogate pairs).

14 years agoTests for UTF-16 characters > 256, including those containing the octet 10.
Nicholas Clark [Thu, 22 Oct 2009 14:28:47 +0000 (15:28 +0100)]
Tests for UTF-16 characters > 256, including those containing the octet 10.

14 years ago../lib isn't valid after a chdir "..";
H.Merijn Brand [Thu, 22 Oct 2009 14:15:29 +0000 (16:15 +0200)]
../lib isn't valid after a chdir "..";

14 years agoPerl_utf16_to_utf8() should treat "\0" like any every other odd-length input.
Nicholas Clark [Thu, 22 Oct 2009 12:30:03 +0000 (13:30 +0100)]
Perl_utf16_to_utf8() should treat "\0" like any every other odd-length input.

The "be understanding" bodge to not panic, introduced in 1de9afcdf18cf98b, is
no longer needed now that c28d61051c446453 fixes the underlying problem.

14 years agoRe-write S_utf16_textfilter() to correctly handle partial reads of UTF-16.
Nicholas Clark [Thu, 22 Oct 2009 10:50:40 +0000 (11:50 +0100)]
Re-write S_utf16_textfilter() to correctly handle partial reads of UTF-16.

Treat any (and all) octects after the BOM (or all, if there was no BOM) as
initial read data for the filter, and call it to convert them to the first
line, reading more if necessary. This correctly handles the "problem" that
UTF-16LE read as a line, on the assumption that it's ASCII/ISO-8859-*/UTF-8/etc
will be truncated after the first octect of the "\n\0" pair that is "\n"
encoded as UTF-16LE. This fixes bug #69678.
Read from the upstream filter in block mode, rather than line mode.

14 years agoRemove the "hack" that removes SVt_UTF8 in the UTF16 filter, by fixing t/TEST
Nicholas Clark [Thu, 22 Oct 2009 08:26:58 +0000 (09:26 +0100)]
Remove the "hack" that removes SVt_UTF8 in the UTF16 filter, by fixing t/TEST

Given that t/TEST already had code to add -I../lib when testing UTF-8 with
-utf8, do likewise for testing UTF-16 with -utf16.

14 years agoAdded 2.21 changes to the Module::CoreList Changes file
Chris Williams [Thu, 22 Oct 2009 09:25:33 +0000 (10:25 +0100)]
Added 2.21 changes to the Module::CoreList Changes file

14 years agoUpdated Changes file for Module::CoreList
Chris Williams [Thu, 22 Oct 2009 09:18:05 +0000 (10:18 +0100)]
Updated Changes file for Module::CoreList

14 years agoBump base and fields versions to 2.15
Rafael Garcia-Suarez [Wed, 21 Oct 2009 17:34:06 +0000 (19:34 +0200)]
Bump base and fields versions to 2.15

14 years agoFix built-in prototype of each, keys, and values
Rafael Garcia-Suarez [Wed, 21 Oct 2009 17:07:09 +0000 (19:07 +0200)]
Fix built-in prototype of each, keys, and values

Since those keywords can now compile to two different ops each,
the usual inspection of opflags is not sufficient for perl to
return a meaningful prototype. So we hardcode the correct return
value for 5.12 : \[@%]

14 years agoInstall Switch from CPAn into 'site', not 'perl'
David Golden [Thu, 22 Oct 2009 03:25:49 +0000 (23:25 -0400)]
Install Switch from CPAn into 'site', not 'perl'

14 years agoRefactor S_utf16_textfilter() to use a second SV for the UTF-16 input.
Nicholas Clark [Wed, 21 Oct 2009 19:28:36 +0000 (20:28 +0100)]
Refactor S_utf16_textfilter() to use a second SV for the UTF-16 input.

Re-use the same SV for each call. Store it in IoTOP_GV(filter).

14 years agoPerl_utf16_to_utf8() should return the correct length when being "understanding"
Nicholas Clark [Wed, 21 Oct 2009 17:42:57 +0000 (18:42 +0100)]
Perl_utf16_to_utf8() should return the correct length when being "understanding"

("be understanding" being a bodge added in 1de9afcdf18cf98b, which will soon go
when I fix the underlying cause of the bugs it works around.)

14 years agoRemove the PERLIO * argument to S_filter_gets(), as it's always PL_rsfp
Nicholas Clark [Wed, 21 Oct 2009 20:40:06 +0000 (21:40 +0100)]
Remove the PERLIO * argument to S_filter_gets(), as it's always PL_rsfp

Conceptually it's also wrong, as if there are source filters, the passed-in
file handle is not passed up the stack of filters for the topmost filter to
use to read from. It was in the parameter list from the first creation of
filter_gets() in 16d20bd98cd29be76029ebf04027a7edd34d817b, when calls to
sv_gets() were replaced by it.

14 years agoFix off-by-one error in e92c6be8349ad1d36d6df1dcb526fd37421e9970.
Jan Dubois [Wed, 21 Oct 2009 18:07:35 +0000 (11:07 -0700)]
Fix off-by-one error in e92c6be8349ad1d36d6df1dcb526fd37421e9970.

This solves the curious crashes in op/fork.t that I'm seeing on *some*
Windows machines.  After locating the problem I'm surprised that not
more machines run into these crashes, especially the smoke testers
running on Windows 2000.

14 years agoFix (comment) typo pointed out by Robin Barker
Abhijit Menon-Sen [Wed, 21 Oct 2009 15:53:24 +0000 (21:23 +0530)]
Fix (comment) typo pointed out by Robin Barker

14 years agoFix uninitialized warnings in Pod::Perldoc
David Golden [Wed, 21 Oct 2009 15:24:48 +0000 (11:24 -0400)]
Fix uninitialized warnings in Pod::Perldoc

14 years agoS_utf16_textfilter() needs FILTER_DATA() to get the filter's state SV.
Nicholas Clark [Wed, 21 Oct 2009 14:19:12 +0000 (15:19 +0100)]
S_utf16_textfilter() needs FILTER_DATA() to get the filter's state SV.

aa6dbd607b0a3d8a wrongly assumed that the filter's state SV was the SV passed
in as an argument to the filter read function.

14 years agoFix documentation of Module::CoreList::is_deprecated
David Golden [Wed, 21 Oct 2009 11:49:40 +0000 (07:49 -0400)]
Fix documentation of Module::CoreList::is_deprecated

14 years agoS_utf16_textfilter() was failing honour error returns from FILTER_READ()
Nicholas Clark [Wed, 21 Oct 2009 11:41:21 +0000 (12:41 +0100)]
S_utf16_textfilter() was failing honour error returns from FILTER_READ()

14 years agopanic if S_utf16_textfilter() is called in block mode.
Nicholas Clark [Wed, 21 Oct 2009 10:59:05 +0000 (11:59 +0100)]
panic if S_utf16_textfilter() is called in block mode.

14 years agoMake filter_read() in block mode create a well-formed SV with a trailing '\0'
Nicholas Clark [Wed, 21 Oct 2009 10:06:43 +0000 (11:06 +0100)]
Make filter_read() in block mode create a well-formed SV with a trailing '\0'

14 years agoFix precedence error in Module::CoreList's test, which was causing it to fail.
Nicholas Clark [Wed, 21 Oct 2009 09:10:05 +0000 (10:10 +0100)]
Fix precedence error in Module::CoreList's test, which was causing it to fail.