This is a live mirror of the Perl 5 development currently hosted at
12 years agoFree the PL_scopestack_name
Gerard Goossen [Fri, 18 Dec 2009 14:11:25 +0000 (15:11 +0100)]
Free the PL_scopestack_name

Free the PL_scopestack_name

Gerard Goossen

From 4652807944b1b7efc8a66b3fe8d7562d23a2189f Mon Sep 17 00:00:00 2001
From: Gerard Goossen <>
Date: Fri, 18 Dec 2009 15:09:49 +0100
Subject: [PATCH 2/2] Free the PL_scopestack_name

Signed-off-by: H.Merijn Brand <>
12 years agoExport PL_curinterp symbol for MULTIPLICITY without USE_ITHREADS
Jan Dubois [Fri, 18 Dec 2009 02:28:16 +0000 (18:28 -0800)]
Export PL_curinterp symbol for MULTIPLICITY without USE_ITHREADS

This is necessary for XS extensions that define PERL_CORE.  In that
situation PERL_GET_CONTEXT will resolve to PL_curinterp, which is
normally not exported (extensions call Perl_Gcurinterp_ptr() to get a
pointer to PL_curinterp instead). With USE_ITHREADS defined
PERL_GET_CONTEXT will expand to Perl_get_context() even inside the
core because the context needs to be fetched from threadlocal storage.

12 years agoCorrect some #ifdef USE_ITHREADS / USE_MULTI
Max Maischein [Thu, 17 Dec 2009 22:22:39 +0000 (23:22 +0100)]
Correct some #ifdef USE_ITHREADS / USE_MULTI

12 years agoUpdated Module::Build to 0.35_15
David Golden [Thu, 17 Dec 2009 22:59:27 +0000 (17:59 -0500)]
Updated Module::Build to 0.35_15

This is just to sync with CPAN -- these changes should not impact

0.35_15 - Thu Dec 17 17:51:22 EST 2009

 Bug fixes:

 - Make sure PPM tests are skipped if IO::File is too old [David Golden]

12 years agoUpdated Module::Build to 0.35_14
David Golden [Thu, 17 Dec 2009 21:08:09 +0000 (16:08 -0500)]
Updated Module::Build to 0.35_14

0.35_14 - Thu Dec 17 16:02:14 EST 2009

 Bug fixes:

 - If not set, the 'module_name' is detected from 'dist_version_from'
   or from 'dist_name'.  The directory is no longer used. [David Golden]

 - The 'share_dir' property no longer defaults to 'share' and must be
   explicitly set instead; this fixes problems for CPAN distributions that
   already have a 'share' directory for whatever reason [David Golden]

 - Change t/00-compile.t test for more portability [David Golden]

 - Skip ppm.t if Pod::Html is not available [David Goldenj]

 - Changed guts of inc::latest to work properly on older versions of Perl
   [David Golden]

 - Ensure bundle_inc.t doesn't accidentally uninstall the installed M::B
   during testing if the user had 'uninst=1' set during Build.PL
   [David Golden]

0.35_13 - Sat Dec  5 11:26:36 EST 2009

 Bug fixes:

 - Protect against tempfile errors when checking ExtUtils::Installed
   [David Golden]

0.35_12 - Fri Dec  4 23:06:49 EST 2009

 Bug fixes:

 - Protect inc/ bundling tests against broken ExtUtils::Installed
   [David Golden]

0.35_11 - Thu Dec  3 11:07:44 EST 2009

 *** API CHANGE ***

 - The old API for prepare_metadata() has been restored to avoid breaking
   distributions that were overriding it (e.g. BioPerl), but the method
   has been marked deprecated and may be made private or may disappear in
   some future version of Module::Build. [David Golden]

 - A new get_metadata() method has been added as a simpler wrapper around
   the old, kludgy prepare_metadata() API. [David Golden]

0.35_10 - Tue Nov 24 22:49:19 EST 2009

 Bug fixes:

 - bundle_inc.t is more careful about permissions and open filehandles
   to avoid failures/skips on Win32 [David Golden]

 - Fix compilation error in Module::Build::Platform::VMS (RT#51766)
   [David Golden]

 - Don't generate a MANIFEST.SKIP during distclean and add any generated
   MANIFEST.SKIP to cleanup list [reported by Zefram, fixed by David Golden]

 - Module::Build::ModuleInfo version parsing would fail if a module sets
   its $VERSION from another module, but the other module is not installed.
   We now try to detect such failures, prepend 'lib' to @INC and try again.
   [David Golden]

 - MYMETA.yml used to be generated from scratch, overriding any
   customizations used to create META.yml.  Now, if META.yml exists, that
   will be used as the base for MYMETA and only prereq fields will be
   updated (to reflect any dynamic configuration); also, 'dynamic_config'
   will be set to false and 'generated_by' will be updated [David Golden]

0.35_09 - Thu Nov 19 01:30:42 EST 2009

 Bug fixes:

 - The DB package should not be included in 'provides' in META files
   [David Golden]

 - Fixed t/xs.t build failures in bleadperl for noexec temp directories
   [Nicholas Clark]

 - Adjusted order of @INC in resume() (fixes par.t, ppm.t, xs.t fails):
   @INC = @new_additions_to_inc, @saved_additions_to_inc, @default_inc
   [David Golden]

 - Skip bundle_inc.t tests if bundled Module::Build for test can't be
   tweaked (Works around test crashes on Win2) [David Golden]


 - 'C_support' is no longer an optional feature.  Modern ExtUtils::CBuilder
   and ExtUtils::ParseXS added to the 'requires' list.  This ensures that
   upgrading Module::Build will upgrade this critical modules.
   ExtUtils::CBuilder no longer requires a compiler, so it is "safe" to

12 years agoUpdated CPANPLUS to cpan release 0.90
Chris Williams [Thu, 17 Dec 2009 22:08:48 +0000 (22:08 +0000)]
Updated CPANPLUS to cpan release 0.90

  Changes for 0.90        Thu Dec 17 21:40:13 2009
  * Version bump

12 years agoImplement win32_isatty()
Jan Dubois [Thu, 17 Dec 2009 19:15:38 +0000 (11:15 -0800)]
Implement win32_isatty()

Commit 827da6a38 added a custom isatty() implementation
in win32/perlhost.h, but that code will only be used when
perl is compiled with -DPERL_IMPLICIT_SYS.  This change
makes sure that the custom implementation will be used
on Windows for all choices of build options.

12 years ago-t should only return TRUE for file handles connected to a TTY
Jan Dubois [Wed, 16 Dec 2009 23:42:19 +0000 (15:42 -0800)]
-t should only return TRUE for file handles connected to a TTY

The Microsoft C version of isatty() returns TRUE for all
character mode devices, including the /dev/null style "nul"
device and printers like "lpt1".

The included test has only been tested on Windows and Linux;
the device names for OS/2 and VMS are just best guesses...

12 years agoDocument issues when using named captures in combination with a branch reset pattern...
Abigail [Wed, 16 Dec 2009 13:01:32 +0000 (14:01 +0100)]
Document issues when using named captures in combination with a branch reset pattern (see also #71136)

12 years agoFix casting warnings
Rafael Garcia-Suarez [Wed, 16 Dec 2009 09:20:27 +0000 (10:20 +0100)]
Fix casting warnings

12 years agoAdd a test that "eval" does not create additional reference to ouside variables.
Gerard Goossen [Wed, 9 Dec 2009 16:23:00 +0000 (17:23 +0100)]
Add a test that "eval" does not create additional reference to ouside variables.

12 years agoStore the PL_compcv instead of the the PL_comppad in parser stack, and make it refere...
Gerard Goossen [Tue, 8 Dec 2009 19:41:28 +0000 (20:41 +0100)]
Store the PL_compcv instead of the the PL_comppad in parser stack, and make it reference counted. Properly solves [perl #66094]

12 years agotweak to pp_ctl.c gives smaller object code
Alex Davies [Wed, 16 Dec 2009 08:42:12 +0000 (09:42 +0100)]
tweak to pp_ctl.c gives smaller object code

12 years agoUpdate File::Copy tests to skip on OpenBSD, as it mounts too many filesystems nosuid.
Jesse Vincent [Wed, 16 Dec 2009 02:08:40 +0000 (21:08 -0500)]
Update File::Copy tests to skip on OpenBSD, as it mounts too many filesystems nosuid.

[perl #71334] is the TODO for a better fix for this

12 years agoAllow override of PERL5OPT etc in t/TEST
Tim Bunce [Tue, 15 Dec 2009 23:04:11 +0000 (23:04 +0000)]
Allow override of PERL5OPT etc in t/TEST

12 years agoDon't make C<use legacy> die on unknown legacy names
Rafael Garcia-Suarez [Tue, 15 Dec 2009 23:04:34 +0000 (00:04 +0100)]
Don't make C<use legacy> die on unknown legacy names

So we can use C<use legacy "qubits"> to avoid the new "qubit" behaviour,
without worrying about perls that didn't have qubit support at all. :)

12 years ago[perl #22977] Bug in format/write
Zefram [Tue, 15 Dec 2009 10:48:31 +0000 (11:48 +0100)]
[perl #22977] Bug in format/write

12 years ago[perl #68640] Wrong error for undef constant name
Zefram [Tue, 15 Dec 2009 10:17:35 +0000 (11:17 +0100)]
[perl #68640] Wrong error for undef constant name

12 years agomore regex folding tests
Karl Williamson [Mon, 14 Dec 2009 16:18:29 +0000 (09:18 -0700)]
more regex folding tests

12 years ago[perl #70171] 5.10.0 -> 5.10.1 Regression in fafafbaf70 (Big slowdown in 5.10 @_...
Father Chrysostomos [Mon, 14 Dec 2009 15:15:51 +0000 (16:15 +0100)]
[perl #70171] 5.10.0 -> 5.10.1 Regression in fafafbaf70 (Big slowdown in 5.10 @_ parameter passing)

In this case my %x = %$x assigns a hash to itself. This causes the
hv_clear in pp_aassign to wipe away the hash before it can be copied.
The ‘panic: attempt to copy freed scalar’ error is triggered by this
line, which copies the value:
    sv_setsv(tmpstr,*relem);        /* value */

The solution is to make sure the OPpASSIGN_COMMON flag is on in such
cases, so that pp_aassign copies everything before doing the assignment.

12 years agofix bug 67156: overload: nomethod(..., '!') return value inverted
Michael Breen [Fri, 11 Dec 2009 17:48:51 +0000 (17:48 +0000)]
fix bug 67156: overload: nomethod(..., '!') return value inverted

12 years ago[perl #71204] suppresses 'Use of uninitialized value in range (or...
Gene Sullivan [Mon, 14 Dec 2009 13:07:27 +0000 (14:07 +0100)]
[perl #71204] suppresses 'Use of uninitialized value in range (or flip)' warning

(and bump version of

12 years agocygwin IPv6 since 1.7
Reini Urban [Mon, 14 Dec 2009 12:04:37 +0000 (13:04 +0100)]
cygwin IPv6 since 1.7

Use g++ as default linker
IPv6 support for 1.7

12 years ago[perl #70764] $' fails to initialized for pre-compiled regular expression matches
Father Chrysostomos [Mon, 14 Dec 2009 11:19:35 +0000 (12:19 +0100)]
[perl #70764] $' fails to initialized for pre-compiled regular expression matches

The match vars are associated with the regexp that last matched
successfully. In the case of $str =~ $qr or /$qr/, since the $qr could
be used in multiple scopes that need their own sets of match vars, the
$qr is cloned by Perl_reg_temp_copy as of change 30677/28d8d7f. This
happens in pp_regcomp before pp_match has stringified the LHS, hence the
bug. In short, /$gror/ is not equivalent to
($which = !$which) ? /$gror/ : /$gror/, which is weird.

Attached is a patch, which admittedly is a hack, but fixes this
particular side effect of what is probably a bad design, by stringifying
the LHS in pp_regcomp, and having pp_match skip get-magic in such cases.
A real fix far exceeds my capabalities, and would also be very intrusive
according to

12 years agoFix compile failure introduced in 37e2e78edfe0a224b8a615820f46db879584f523.
Craig A. Berry [Mon, 14 Dec 2009 04:17:13 +0000 (22:17 -0600)]
Fix compile failure introduced in 37e2e78edfe0a224b8a615820f46db879584f523.

Solaris, VMS, and Win32 all failed to build after this change.  In C99's
description of:

   do statement while ( expression ) ;

the trailing semicolon does not appear to be optional.  And at least
three compilers from three vendors agree.

12 years agoEliminate OP_SETSTATE from cop.h header
Reini Urban [Sun, 13 Dec 2009 07:06:43 +0000 (08:06 +0100)]
Eliminate OP_SETSTATE from cop.h header

It had been added with change 3728 to track linenumbers in
optimized else, disabled by change 4309,
and removed with change 33072.

Bump copyright, latest change was "Fix MULTICALL in List-Util" 2009-03-07
with commit 1bbbfc50

12 years agoMake new is_utf8_X_* functions public
Rafael Garcia-Suarez [Sun, 13 Dec 2009 14:47:45 +0000 (15:47 +0100)]
Make new is_utf8_X_* functions public

12 years agoDoc nits
Rafael Garcia-Suarez [Sat, 12 Dec 2009 14:57:28 +0000 (15:57 +0100)]
Doc nits

12 years agoMerge commit 'khwilliamson/x' into blead
Rafael Garcia-Suarez [Sat, 12 Dec 2009 08:33:51 +0000 (09:33 +0100)]
Merge commit 'khwilliamson/x' into blead

12 years agoNotes on why PathTools is in Cwd/
Jesse Vincent [Thu, 10 Dec 2009 18:20:27 +0000 (13:20 -0500)]
Notes on why PathTools is in Cwd/

12 years agoUpdate Cwd / PathTools to 3.31 to get us a non-devel version number based on a chat...
Jesse Vincent [Thu, 10 Dec 2009 18:14:24 +0000 (13:14 -0500)]
Update Cwd / PathTools to 3.31 to get us a non-devel version number based on a chat with Steffen. No code changes.

12 years agoUpdated to Pod::Simple 3.11 from CPAN [perl #71004]
Jesse Vincent [Thu, 10 Dec 2009 16:44:26 +0000 (11:44 -0500)]
Updated to Pod::Simple 3.11 from CPAN [perl #71004]

12 years agoUpdate CPANPLUS to cpan version 0.89_12
Chris Williams [Thu, 10 Dec 2009 12:24:16 +0000 (12:24 +0000)]
Update CPANPLUS to cpan version 0.89_12

  Changes for 0.89_12     Mon Dec  7 13:33:16 2009
  * Resolve RT #52348 Duplicate test output, reported by Apocalypse
  * Fixed typo in Shell::Default, RT #52376, reported by Apocalypse

  Changes for 0.89_11     Tue Dec  1 13:14:24 2009
  * Fixed RT #52287 reported by Apocalypse regarding
    Test::Reporter barfing on send()
  * Change SQLite to AutoCommit, resolves RT #52308,
    reported by Apocalypse

  Changes for 0.89_10     Sat Nov 28 23:20:09 2009
  * Resolve RT #51516 setting conf options which
    include spaces.
  * Explicitly use Cwd's chdir in _chdir()

Update to allow various perl smokers test before update to 0.90

12 years agoUpdate Archive::Extract to cpan version 0.36
Chris Williams [Thu, 10 Dec 2009 12:16:57 +0000 (12:16 +0000)]
Update Archive::Extract to cpan version 0.36

  Changes for 0.36    Tue Nov 24 10:27:16 2009
  * Explicitly use Cwd's chdir

Required for CPANPLUS update

12 years agoOS/2 doesn't support inplace editing without backups
Jan Dubois [Wed, 9 Dec 2009 23:55:09 +0000 (15:55 -0800)]
OS/2 doesn't support inplace editing without backups

12 years agoUpdated docpointer for illguts
Reini Urban [Wed, 9 Dec 2009 22:45:44 +0000 (17:45 -0500)]
Updated docpointer for illguts

12 years agoFix for [perl #70910] wrong line number in syntax error message
Zefram [Wed, 9 Dec 2009 22:40:05 +0000 (17:40 -0500)]
Fix for [perl #70910] wrong line number in syntax error message

12 years agoMerge branch 'blead' of ssh:// into blead
Andy Dougherty [Tue, 8 Dec 2009 16:53:14 +0000 (11:53 -0500)]
Merge branch 'blead' of ssh:// into blead

12 years agoDocument config_args limitations reported in [perl #70912]
Andy Dougherty [Tue, 8 Dec 2009 16:36:54 +0000 (11:36 -0500)]
Document config_args limitations reported in [perl #70912]

12 years agoproper error on "grep $x (1,2,3)". Solves [perl #37314]
Gerard Goossen [Tue, 8 Dec 2009 11:42:58 +0000 (12:42 +0100)]
proper error on "grep $x (1,2,3)". Solves [perl #37314]

12 years ago[perl #70802] -i'*' refuses to work
Tony Cook [Tue, 8 Dec 2009 11:48:59 +0000 (12:48 +0100)]
[perl #70802] -i'*' refuses to work

Add regression tests
(the bug was fixed by commit c9930541bfa04399c3b648e83c9b750cee1154fb)

12 years agoundef $! before running the errno tests
Bram [Sat, 1 Aug 2009 20:11:22 +0000 (22:11 +0200)]
undef $! before running the errno tests

12 years agolegalize =begin foo bar
Ricardo Signes [Mon, 7 Dec 2009 23:24:59 +0000 (18:24 -0500)]
legalize =begin foo bar

12 years agomore aggressively deprecate L<section> and L<"section">
Ricardo Signes [Mon, 7 Dec 2009 23:21:44 +0000 (18:21 -0500)]
more aggressively deprecate L<section> and L<"section">

12 years agoremove prohibition against L<text|href>
Ricardo Signes [Mon, 7 Dec 2009 23:19:28 +0000 (18:19 -0500)]
remove prohibition against L<text|href>

12 years agoAdd latest test file to MANIFEST
Rafael Garcia-Suarez [Tue, 8 Dec 2009 08:29:11 +0000 (09:29 +0100)]
Add latest test file to MANIFEST

12 years agoutf8cache test: Hugo asks, and I provide. Merry Christmas
Chip Salzenberg [Tue, 8 Dec 2009 08:17:05 +0000 (00:17 -0800)]
utf8cache test: Hugo asks, and I provide. Merry Christmas

12 years agoThrow away uncleanable scopes when exiting a pseudo-forked process.
Jan Dubois [Tue, 8 Dec 2009 01:19:18 +0000 (17:19 -0800)]
Throw away uncleanable scopes when exiting a pseudo-forked process.

Commit adab9969 tried to clean up those additional scopes, but failed
because some of the memory was allocated from a different pool. To
avoid triggering the assert() in perl_destruct() this change instead
moves the one remaining scope back to the root of the stack, effectively
discarding the additional frames without any further processing.

12 years agoThe deep arrays for testing ~~ were not deep enough
Rafael Garcia-Suarez [Mon, 7 Dec 2009 16:51:16 +0000 (17:51 +0100)]
The deep arrays for testing ~~ were not deep enough

Without commit 6bc991bfb3c34a5d286a1202fcc0d740d72dcee7, this test
would now segfault.

12 years agoFix a test that wasn’t testing was it purported to be testing
Rafael Garcia-Suarez [Mon, 7 Dec 2009 14:03:48 +0000 (15:03 +0100)]
Fix a test that wasn’t testing was it purported to be testing

(noticed by Father Chrysostomos, further modified to avoid using
too much overloaded names like foo and Foo.)

12 years ago[perl #71076] sort with active sub (5.10 regression)
Father Chrysostomos [Mon, 7 Dec 2009 13:58:40 +0000 (14:58 +0100)]
[perl #71076] sort with active sub (5.10 regression)

One of the tests in sort.t causes a bus error (or sometimes ‘Undefined
subroutine called’) if run multiple times. This is because sort
decreases the refcount of an active sub used as a comparison routine.

Ironically enough, this test was added by the very change that broke it

12 years agoAllocate the right HV
Rafael Garcia-Suarez [Mon, 7 Dec 2009 12:55:49 +0000 (13:55 +0100)]
Allocate the right HV

This will solve an obscure bug in smart-match involving nested data
structures containing the same elements.

12 years agoFix [perl #71078] Smart match against @_ gives false negatives
Rafael Garcia-Suarez [Mon, 7 Dec 2009 12:41:05 +0000 (13:41 +0100)]
Fix [perl #71078] Smart match against @_ gives false negatives

@_ can contain NULLs for undefined elements

12 years agoMerge branch 'blead' of ssh:// into blead
Chip Salzenberg [Mon, 7 Dec 2009 08:57:10 +0000 (00:57 -0800)]
Merge branch 'blead' of ssh:// into blead

12 years agoFix for 7baa4690 breakage of threaded builds.
Tony Cook [Mon, 7 Dec 2009 03:43:41 +0000 (22:43 -0500)]
Fix for 7baa4690 breakage of threaded builds.

12 years agoImport ExtUtils::MakeMaker 6.55_03 from CPAN
Jesse Vincent [Sun, 6 Dec 2009 20:13:48 +0000 (15:13 -0500)]
Import ExtUtils::MakeMaker 6.55_03 from CPAN

12 years ago[perl #71000] Wrong variable name in warning [Sun, 6 Dec 2009 21:24:39 +0000 (22:24 +0100)]
[perl #71000] Wrong variable name in warning

Add a new warning "Missing argument in %s"

12 years agoInnocently looking union member swap
Reini Urban [Sun, 6 Dec 2009 14:31:23 +0000 (14:31 +0000)]
Innocently looking union member swap

This helps statically initializing union members on gcc,
otherwise we get "initializer element is not computable at load time".
This speeds up initializing larger B::C/B::CC compiled programs with -O1/-O2 by 10%.

12 years agoqr/\X/ expansion
Karl Williamson [Sun, 6 Dec 2009 05:21:38 +0000 (22:21 -0700)]
qr/\X/ expansion

12 years agoavoid infinite chain of utf8 magic
Chip Salzenberg [Thu, 29 Oct 2009 00:08:05 +0000 (17:08 -0700)]
avoid infinite chain of utf8 magic

12 years agowhen removing magic, fix SvMAGICAL flags (unless save_magic is active)
Chip Salzenberg [Tue, 27 Oct 2009 02:39:20 +0000 (19:39 -0700)]
when removing magic, fix SvMAGICAL flags (unless save_magic is active)

12 years agopreserve readonly flag when saving and restoring magic flags
Chip Salzenberg [Wed, 28 Oct 2009 23:41:02 +0000 (16:41 -0700)]
preserve readonly flag when saving and restoring magic flags

12 years agot/ fresh_perl_like() bug [Sat, 5 Dec 2009 00:50:02 +0000 (18:50 -0600)]
t/ fresh_perl_like() bug

The existing code does the wrong thing if a string (rather than a compiled
regexp) is supplied for $expected. Happily perl will do the right thing
if you let it.


Message-Id: <>

12 years agoPort lib/unicore/mktables to VMS.
Craig A. Berry [Fri, 4 Dec 2009 23:48:27 +0000 (17:48 -0600)]
Port lib/unicore/mktables to VMS.

This is mostly just making filename comparisons and lookups of filenames
in hashes case blind, which is necessary since filename case is not
(by default) preserved.

12 years agoSilence Win32 compiler warning
Nicholas Clark [Fri, 4 Dec 2009 15:16:04 +0000 (15:16 +0000)]
Silence Win32 compiler warning

Subject: Re: Smoke [5.11.2] v5.11.2-105-gc2123ae FAIL(F) MSWin32 Win2000 SP4 (x86/1 cpu)
Message-ID: <>

(amended to fix the obvious typo)

12 years agopp_sort.c typo: stabilty
Reini Urban [Thu, 3 Dec 2009 19:47:55 +0000 (20:47 +0100)]
pp_sort.c typo: stabilty

I'm now working on the sort code in th perl compiler as you can see :)
Reini Urban

From b8c749be70f51499fe1ffd9e483ee3a0a8305d9b Mon Sep 17 00:00:00 2001
From: Reini Urban <>
Date: Thu, 3 Dec 2009 19:44:57 +0000
Subject: [PATCH] fix typo: stabilty

Signed-off-by: H.Merijn Brand <>
12 years agoAnother C<return NORMAL> needed post bb4c52e023e0, missed from 805bf316c58a.
Nicholas Clark [Thu, 3 Dec 2009 10:07:51 +0000 (10:07 +0000)]
Another C<return NORMAL> needed post bb4c52e023e0, missed from 805bf316c58a.

12 years agoRevert makefile part of the Unicode 5.2 patch
Rafael Garcia-Suarez [Thu, 3 Dec 2009 10:34:08 +0000 (11:34 +0100)]
Revert makefile part of the Unicode 5.2 patch

lib/unicore/version was getting removed by "make distclean".

12 years agoAdd new Unicode data file in MANIFEST
Rafael Garcia-Suarez [Thu, 3 Dec 2009 10:25:12 +0000 (11:25 +0100)]
Add new Unicode data file in MANIFEST

12 years agoUnicode 5.2
Karl Williamson [Thu, 3 Dec 2009 04:36:17 +0000 (21:36 -0700)]
Unicode 5.2

12 years ago[perl #70802] -i'*' refuses to work
Tony Cook [Thu, 3 Dec 2009 09:20:09 +0000 (10:20 +0100)]
[perl #70802] -i'*' refuses to work

12 years agoEnsure that pp_qr returns a new regexp SV each time. Resolves RT #69852.
Nicholas Clark [Wed, 2 Dec 2009 16:01:10 +0000 (16:01 +0000)]
Ensure that pp_qr returns a new regexp SV each time. Resolves RT #69852.

Instead of returning a(nother) reference to the (pre-compiled) regexp in the
optree, use reg_temp_copy() to create a copy of it, and return a reference to
that. This resolves issues about Regexp::DESTROY not being called in a timely
fashion (the original bug tracked by RT #69852), as well as bugs related to
blessing regexps, and of assigning to regexps, as described in correspondence
added to the ticket.

It transpires that we also need to undo the SvPVX() sharing when ithreads
cloning a Regexp SV, because mother_re is set to NULL, instead of a cloned
copy of the mother_re. This change might fix bugs with regexps and threads in
certain other situations, but as yet neither tests nor bug reports have
indicated any problems, so it might not actually be an edge case that it's
possible to reach.

12 years agowork-around Carp/overloading miniperl problem
Karl Williamson [Tue, 1 Dec 2009 05:32:23 +0000 (22:32 -0700)]
work-around Carp/overloading miniperl problem

12 years agoCleanup all scopes before exiting a pseudo-forked process.
Jan Dubois [Wed, 2 Dec 2009 09:34:18 +0000 (01:34 -0800)]
Cleanup all scopes before exiting a pseudo-forked process.

perl_destruct() contains an assertion that the scope stack
is empty.  The remaining scopes are due to fork() being
called from within a BEGIN block.

12 years agoRevert commit cbdd5331.
Jan Dubois [Wed, 2 Dec 2009 07:11:03 +0000 (23:11 -0800)]
Revert commit cbdd5331.

Commit a09dc31d1 says:

    It's possible that someone has built a module with -DDEBUGGING,
    but they're using it against a perl built non-DEBUGGING, [...]

which means that the PL_scopestack_name symbol must always be exported.

12 years agoAdd another hint about setting WIN64=undef to build a 32-bit Perl.
Jan Dubois [Wed, 2 Dec 2009 07:03:09 +0000 (23:03 -0800)]
Add another hint about setting WIN64=undef to build a 32-bit Perl.

Of course anyone who read README.win32 already knew this. :)

12 years agoDon't redefine isnan() macro if MinGW already defined one.
Jan Dubois [Wed, 2 Dec 2009 06:55:55 +0000 (22:55 -0800)]
Don't redefine isnan() macro if MinGW already defined one.

12 years agoUpdate to reflect that I release 5.11.2
Leon Brocard [Tue, 1 Dec 2009 13:45:42 +0000 (13:45 +0000)]
Update to reflect that I release 5.11.2

12 years ago-Dmad: double free or corruption
Tony Cook [Tue, 1 Dec 2009 11:25:39 +0000 (22:25 +1100)]
-Dmad: double free or corruption

> If your perl has -Dmad, the following program crashes:
> $ bleadperl -we '$x="x" x 257; eval "for $x"'
> *** glibc detected *** bleadperl: double free or corruption (!prev): 0x0000000001dca670 ***

Change 6136c704 changed S_scan_ident from:

   e = d + destlen - 3;


   register char * const e = d + destlen + 3;

where e is used to mark the end of the buffer, this meant that the
various buffer end checks allowed the various buffers supplied
S_scan_ident to overflow.

Attached is a fix, various tests with fencepost checks on different
identifier lengths, and the specific case mentioned in the ticket.


Signed-off-by: H.Merijn Brand <>
12 years agomake regen_perly following 5ca68648d92617d8.
Nicholas Clark [Tue, 1 Dec 2009 11:25:37 +0000 (11:25 +0000)]
make regen_perly following 5ca68648d92617d8.

12 years ago-Dmad broken for c++
Tony Cook [Tue, 1 Dec 2009 08:12:30 +0000 (19:12 +1100)]
-Dmad broken for c++

On Tue, Dec 01, 2009 at 08:22:38AM +0100, H.Merijn Brand wrote:
> perly.y: In function 'int Perl_madparse(PerlInterpreter*)':
> perly.y:335: error: cast from 'TOKEN*' to 'line_t' loses precision
> perly.y:348: error: cast from 'TOKEN*' to 'line_t' loses precision
> perly.y:430: error: cast from 'TOKEN*' to 'line_t' loses precision

Uses the same mechanism used in if, unless to retrieve an ival set in

Signed-off-by: H.Merijn Brand <>
12 years agoMake the new test work in the core and bump version of Safe to 2.20
Rafael Garcia-Suarez [Mon, 30 Nov 2009 23:21:17 +0000 (00:21 +0100)]
Make the new test work in the core and bump version of Safe to 2.20

12 years ago[ #51574] sort {} bug accessing $a and $b with -Dusethreads
Tim Bunce [Mon, 30 Nov 2009 23:15:21 +0000 (00:15 +0100)]
[ #51574] sort {} bug accessing $a and $b with -Dusethreads

12 years agoTest modifiability of range elements
Eric Brine [Sat, 28 Nov 2009 04:52:41 +0000 (20:52 -0800)]
Test modifiability of range elements

12 years agoDocument in perlfunc
Zefram [Mon, 30 Nov 2009 10:42:14 +0000 (11:42 +0100)]
Document in perlfunc

12 years agoMake distclean work again
Rafael Garcia-Suarez [Mon, 30 Nov 2009 09:30:41 +0000 (10:30 +0100)]
Make distclean work again

12 years agoFix -DPERL_NO_UTF16_FILTER
Eric Brine [Fri, 27 Nov 2009 00:16:16 +0000 (19:16 -0500)]

12 years agoMake split warn in void context
Rafael Garcia-Suarez [Sun, 29 Nov 2009 22:30:45 +0000 (23:30 +0100)]
Make split warn in void context

12 years agoHandle $@ being assigned a read-only value (without error or busting the stack).
Nicholas Clark [Sun, 29 Nov 2009 19:02:05 +0000 (19:02 +0000)]
Handle $@ being assigned a read-only value (without error or busting the stack).

Discovered whilst investigating RT #70862.

12 years agoFix RT #70862 by converting ERRSV to GvSVn() to ensure a non-NULL GvSV().
Nicholas Clark [Sun, 29 Nov 2009 16:42:42 +0000 (16:42 +0000)]
Fix RT #70862 by converting ERRSV to GvSVn() to ensure a non-NULL GvSV().

12 years agoMerge branch 'blead' of ssh:// into blead
Steve Peters [Sun, 29 Nov 2009 05:45:10 +0000 (23:45 -0600)]
Merge branch 'blead' of ssh:// into blead

12 years agoAdd error codes for getaddrinfo() and getnameinfo()
Steve Peters [Sun, 29 Nov 2009 05:43:11 +0000 (23:43 -0600)]
Add error codes for getaddrinfo() and getnameinfo()

12 years agomktables performance improvement
Karl Williamson [Sat, 28 Nov 2009 19:04:34 +0000 (12:04 -0700)]
mktables performance improvement

The attached patch got the easiest performance improvements to mktables.
Hopefully this is good enough for now.

This involved:

1) Nicholas' patch
2) I stored complete_name instead of recomputing it each time.
3) Used $_[xxx] instead of shift in very heavily used subroutines
4) removed trace accidentally left in.

I also changed the misspelled subroutine name discovered by Craig Berry.
I searched for any other misspellings and didn't find any.

Also removed trailing white space that keeps creeping back in, and now
this doesn't generate pod entries if not outputting a pod file, and
clarified warning message if no mktables.lst is present.

I couldn't figure out a way to conditionally use 'no overloading', as
it is called at compile time.  So I just commented out the old stuff
that will work for 5.8, with a note about using that if you want to
use 5.8

12 years agoDocument backreferences to groups that did not match
Moritz Lenz [Thu, 26 Nov 2009 23:33:09 +0000 (00:33 +0100)]
Document backreferences to groups that did not match

Also add a test for that, fill in test description, and sneak in a vim
modeline for re_tests

12 years agoAllow a closing brace after an "use VERSION"
Vincent Pit [Sat, 28 Nov 2009 12:27:02 +0000 (13:27 +0100)]
Allow a closing brace after an "use VERSION"

This fixes [perl #70884] : use VERSION in BLOCK without semicolon -> syntax error

12 years ago-Dmad minitest failure bisect
Zefram [Thu, 26 Nov 2009 16:41:22 +0000 (16:41 +0000)]
-Dmad minitest failure bisect

I wrote:
>In my tests with -Dmad, I'm still getting a test failure ("panic: input
>overflow") from t/op/incfilter.t.  The underlying problem is the filter
>layer mishandling things when a filter function gives it a multiline
>string, so it generates an invalid SV state (strlen(SvPVX(PL_linestr))
>> SvCUR(PL_linestr)).  This faulty state also occurs without -Dmad,
>and so doesn't appear to be Mad-related, it just doesn't in practice
>cause the test panic without -Dmad.  I'm investigating this bug now.

It's fixed by the attached patch.  Since the bug is an inconsistency
in the SV data structure, it can't be sensibly tested from Perl code,
so I'm at a loss for writing a test script.  Hopefully that panic with
-Dmad is sufficient.


Signed-off-by: H.Merijn Brand <>
12 years ago-Dmad minitest failure bisect
Zefram [Thu, 26 Nov 2009 15:19:09 +0000 (15:19 +0000)]
-Dmad minitest failure bisect

Tony Cook wrote:
>Smokes with -Dmad have been failing during make minitest since the
>middle of last month.

Mostly fixed by the attached patch.  The fault is a logic error on my
part, probably from the early phase of developing the lexer API patch,
when I didn't properly understand the various buffer pointer variables.

In my tests with -Dmad, I'm still getting a test failure ("panic: input
overflow") from t/op/incfilter.t.  The underlying problem is the filter
layer mishandling things when a filter function gives it a multiline
string, so it generates an invalid SV state (strlen(SvPVX(PL_linestr))
> SvCUR(PL_linestr)).  This faulty state also occurs without -Dmad,
and so doesn't appear to be Mad-related, it just doesn't in practice
cause the test panic without -Dmad.  I'm investigating this bug now.


Signed-off-by: H.Merijn Brand <>
12 years agoperlbug reports "Message sent" even when it hasn't
Tim Bunce (via RT) [Wed, 25 Nov 2009 11:02:24 +0000 (03:02 -0800)]
perlbug reports "Message sent" even when it hasn't

perlbug doesn't check the return status of Mail::Send and so reports
"Message sent" even if it hasn't:

12 years agoperl-5.11.2 breaks NYTProf savesrc option (Lexer API suspected)
Zefram [Wed, 25 Nov 2009 22:17:52 +0000 (22:17 +0000)]
perl-5.11.2 breaks NYTProf savesrc option (Lexer API suspected)

Tim Bunce wrote:
>The primary issue is the off-by-one error in the array indexing.

There's a bit more to it than that.  The indexing was off-by-one for
*some* places that process a new line, but correct for others, so the
saved source as a whole was mangled rather than simply offset.  Also,
there were some redundant calls to update_debugger_info(), so some lines
got saved twice, in some cases off-by-one for one saving and not for
the other.  The saved source is, therefore, hopelessly broken in 5.11.2.

Attached patch fixes the source saving.  Includes a new test, which works
through all reachable places that source lines get saved.  This should
close RT #70804.


12 years agoJerry's last patch to add a TODO test didn't update the test count.
Jesse Vincent [Wed, 25 Nov 2009 20:47:41 +0000 (15:47 -0500)]
Jerry's last patch to add a TODO test didn't update the test count.

Thanks to Nicholas++ for pointing this out