This is a live mirror of the Perl 5 development currently hosted at
11 years agoAdd tests for \400 for "" strings, s//replacement/
Karl Williamson [Thu, 24 Jun 2010 17:00:06 +0000 (11:00 -0600)]
Add tests for \400 for "" strings, s//replacement/

Signed-off-by: David Golden <>
11 years ago\400 -\777 now means the same thing in all d-quote
Karl Williamson [Thu, 24 Jun 2010 14:21:27 +0000 (08:21 -0600)]
\400 -\777 now means the same thing in all d-quote

Prior to this patch, \400 - \777 meant something different in some
circumstances in regexes outside bracketed character classes.  A
deprecated warning message has been in place since 5.10.1 when this
happens.  Remove the warning, and bring the behavior into line with the
other double-quotish contexts.  \400 - \777 now always means the same
thing as \x{100} - \x{1FF} (except when the octal forms  are taken as

Signed-off-by: David Golden <>
11 years agoAdd examples to perlre on perils of not using \g{}
Karl Williamson [Thu, 24 Jun 2010 14:06:27 +0000 (08:06 -0600)]
Add examples to perlre on perils of not using \g{}

These come from Abigail.

Signed-off-by: David Golden <>
11 years agoRemove extra blanks from t/re/re_tests, vim
Karl Williamson [Thu, 24 Jun 2010 00:53:56 +0000 (18:53 -0600)]
Remove extra blanks from t/re/re_tests, vim

My vim settings were causing extra blanks in this file; remove the ones
I added recently and set the vim options to disable the offending

Signed-off-by: David Golden <>
11 years agoReinstate aa3f85c5f369736a7e50055b726cf2ca11336ce9.
Craig A. Berry [Sat, 17 Jul 2010 22:46:48 +0000 (17:46 -0500)]
Reinstate aa3f85c5f369736a7e50055b726cf2ca11336ce9.

Which was clobbered by 7b0eef92ba8ed2aa84e9187dadebc5cabfc3a3c5.

And still awaiting upstream integration at:


Also bumped the version this time to leave a better clue that something
has changed in blead.

11 years agoIn pp_qr, use gv_stashsv() directly on the SV.
Nicholas Clark [Sat, 17 Jul 2010 12:00:46 +0000 (13:00 +0100)]
In pp_qr, use gv_stashsv() directly on the SV.

Brought to you by the campaign for the elimination of strlen().

11 years agoAvoid test suite hang with new readline test on VMS.
Craig A. Berry [Fri, 16 Jul 2010 17:04:54 +0000 (12:04 -0500)]
Avoid test suite hang with new readline test on VMS.

11 years agoAdd Perl_blockhook_register to perl5133delta.
Ben Morrow [Fri, 16 Jul 2010 16:15:19 +0000 (17:15 +0100)]
Add Perl_blockhook_register to perl5133delta.

Signed-off-by: David Golden <>
11 years agoUpdate perl5133delta
Josh ben Jore [Fri, 16 Jul 2010 06:00:25 +0000 (06:00 +0000)]
Update perl5133delta

11 years agoThe debugger now continues to use RemotePort when it's been configured to use it.
Josh ben Jore [Tue, 13 Jul 2010 21:49:57 +0000 (14:49 -0700)]
The debugger now continues to use RemotePort when it's been configured to use it.

11 years agoperlop.pod: Rephrase hexadecimal escape wording
David Golden [Thu, 15 Jul 2010 02:26:33 +0000 (20:26 -0600)]
perlop.pod: Rephrase hexadecimal escape wording

Clarifies how hexadecimal escapes are interpreted, with particular
attention to the treatment of invalid characters.

Based on an original draft patch by Karl Williamson.

11 years agoAdd summary list mode to git-deltatool
David Golden [Fri, 16 Jul 2010 03:55:50 +0000 (23:55 -0400)]
Add summary list mode to git-deltatool

11 years agoMore perl5133delta updates
David Golden [Fri, 16 Jul 2010 03:48:07 +0000 (23:48 -0400)]
More perl5133delta updates

11 years agoMention that Ask did not actually release 5.11.6
Leon Brocard [Thu, 15 Jul 2010 19:42:08 +0000 (20:42 +0100)]
Mention that Ask did not actually release 5.11.6

11 years agoSmall spelling/grammar nit to Locale::Maketext::Guts*
Jesse Vincent [Thu, 15 Jul 2010 18:42:53 +0000 (14:42 -0400)]
Small spelling/grammar nit to Locale::Maketext::Guts*

11 years agoClean up older Locale::Maketext internals to no longer do crazy string
Todd Rinaldo [Thu, 15 Jul 2010 18:24:07 +0000 (14:24 -0400)]
Clean up older Locale::Maketext internals to no longer do crazy string
eval tricks.

11 years agouse modern Perl style in example
Alexandr Ciornii [Tue, 11 May 2010 15:41:22 +0000 (18:41 +0300)]
use modern Perl style in example

Signed-off-by: David Golden <>
11 years agoMake example work with "use strict" by eliminating barewords.
Alexandr Ciornii [Tue, 11 May 2010 15:39:19 +0000 (18:39 +0300)]
Make example work with "use strict" by eliminating barewords.

Signed-off-by: David Golden <>
11 years agoStop using $ENV{LESS} for parameters not intended for less
Josh ben Jore [Thu, 15 Jul 2010 13:06:28 +0000 (13:06 +0000)]
Stop using $ENV{LESS} for parameters not intended for less

11 years agoConfigure has a path to less and can use it
Josh ben Jore [Thu, 15 Jul 2010 13:04:26 +0000 (13:04 +0000)]
Configure has a path to less and can use it

11 years agoMacros to en/disable blockhook entries.
Ben Morrow [Tue, 13 Jul 2010 21:20:21 +0000 (22:20 +0100)]
Macros to en/disable blockhook entries.

This allows the individual callbacks to be switched on and off as
necessary, without removing the entry from PL_blockhooks.

11 years agoUpdate MANIFEST.
Ben Morrow [Tue, 13 Jul 2010 20:06:19 +0000 (21:06 +0100)]

Properly, this time.

11 years agoRemove diagnostics from XS-APItest/t/blockhooks.
Ben Morrow [Tue, 13 Jul 2010 20:02:29 +0000 (21:02 +0100)]
Remove diagnostics from XS-APItest/t/blockhooks.

They were causing problems with 'make test'.

11 years ago[perl #72729] Test appending sv_gets for ascii/utf8 in target and handle
Josh ben Jore [Thu, 15 Jul 2010 05:08:24 +0000 (22:08 -0700)]
[perl #72729] Test appending sv_gets for ascii/utf8 in target and handle

11 years ago[perl #72729] TODO for aborted readline() returning '' instead of undef
Josh ben Jore [Thu, 15 Jul 2010 05:06:16 +0000 (22:06 -0700)]
[perl #72729] TODO for aborted readline() returning '' instead of undef

11 years ago[perl #72729] Truncate sv_gets(sv) only when not appending to a string
Josh ben Jore [Thu, 15 Jul 2010 05:02:28 +0000 (22:02 -0700)]
[perl #72729] Truncate sv_gets(sv) only when not appending to a string

11 years agoAdd a 'blocking' type for git-deltatool
David Golden [Thu, 15 Jul 2010 02:00:41 +0000 (22:00 -0400)]
Add a 'blocking' type for git-deltatool

11 years agoPATCH: [perl #76502] Fix doc
Karl Williamson [Wed, 14 Jul 2010 23:21:40 +0000 (17:21 -0600)]
PATCH: [perl #76502] Fix doc

Thank you for your bug report.  Change <lower> to <upper> as the report

Signed-off-by: David Golden <>
11 years agoprotect CvGV weakref with backref
David Mitchell [Mon, 12 Jul 2010 19:53:04 +0000 (20:53 +0100)]
protect CvGV weakref with backref

Each CV usually has a pointer, CvGV(cv), back to the GV that corresponds
to the CV's name (or to *foo::__ANON__ for anon CVs).  This pointer wasn't
reference counted, to avoid loops. This could leave it dangling if the GV
is deleted.

We fix this by:

For named subs, adding backref magic to the GV, so that when the GV is
freed, it can trigger processing the CV's CvGV field. This processing
consists of: if it looks like the freeing of the GV is about to trigger
freeing of the CV too, set it to NULL; otherwise make it point to
*foo::__ANON__ (and set CvAONON(cv)).

For anon subs, make CvGV a strong reference, i.e. increment the refcnt of
*foo::__ANON__. This doesn't cause a loop, since in this case the
__ANON__ glob doesn't point to the CV. This also avoids dangling pointers
if someone does an explicit 'delete $foo::{__ANON__}'.

Note that there was already some partial protection for CvGV with
commit f1c32fec87699aee2eeb638f44135f21217d2127. This worked by
anonymising any corresponding CV when freeing a stash or stash entry.
This had two drawbacks. First it didn't fix CVs that were anonmous or that
weren't currently pointed to by the GV (e.g. after local *foo), and
second, it caused *all* CVs to get anonymised during cleanup, even the
ones that would have been deleted shortly afterwards anyway. This commit
effectively removes that former commit, while reusing a bit of the
actual anonymising code.

11 years agoin CLONEf_JOIN_IN, cache found stashes
David Mitchell [Mon, 5 Jul 2010 21:25:12 +0000 (22:25 +0100)]
in CLONEf_JOIN_IN, cache found stashes

When joining a thread, we skip cloning a stash if a stash of the same
name already exists in the parent thread. Add it to PL_ptr_table too, so
we don't have to repeat the expensive name comparison each time

11 years agoadd all stash backrefs individually when joining
David Mitchell [Mon, 5 Jul 2010 21:07:30 +0000 (22:07 +0100)]
add all stash backrefs individually when joining

When joining a thread, a 'mini' interpreter clone is performed to
clone the returned SVs and dependents back into the parent interpreter.
To make things simple in this case, don't clone the xhv_backreferences
array of any stashes, but individually add in any cloned GVs and CVs
whose [CG]vSTASH points that way. This is faster (avoids an expensive test
per CV/GV) and better (doesn't clone unnecessary SVs in the backref array)

11 years agomake it an error to look for magic hv backref
David Mitchell [Mon, 5 Jul 2010 20:11:21 +0000 (21:11 +0100)]
make it an error to look for magic hv backref

Now that we only store a stash's backref AV in xhv_backreferences,
make it a panic if we don't find it there, rather than falling back to
look for backref magic.

11 years agoprotect CvSTASH weakref with backrefs
David Mitchell [Mon, 5 Jul 2010 19:40:33 +0000 (20:40 +0100)]
protect CvSTASH weakref with backrefs

Each CV usually has a pointer, CvSTASH, back to the stash that it was
complied in. This pointer isn't reference counted, to avoid loops. Which
can leave it dangling if the stash is deleted.

There is already protection for the similar GvSTASH field in GVs: the
stash has an array of backrefs, xhv_backreferences, pointing to the GVs
whose GvSTASHes point to it, and which is used to zero all the GvSTASH
fields should the stash be deleted.

All this patch does is also add the CVs with CvSTASH to that stash's
backref list too.

11 years agotidy some code in gv_init()
David Mitchell [Sun, 4 Jul 2010 20:44:35 +0000 (21:44 +0100)]
tidy some code in gv_init()

Use an intermediate variable cv to avoid lots of GvCV(gv)'s

11 years agoprocess xhv_backreferences early in S_hfreeentries
David Mitchell [Sun, 4 Jul 2010 19:51:35 +0000 (20:51 +0100)]
process xhv_backreferences early in S_hfreeentries

When deleting a stash, make the algorithm
    GvSTASH($_) = NULL for (@xhv_backreferences);
    delete xhv_backreferences;
    free each stash entry;

Previously the algorithm was

    hide xhv_backreferences as ordinary backref magic;
    free each stash entry:
this may trigger a sv_del_backref() for each GV being freed
    delete @xhv_backreferences

The new method is:

* more efficient: one scan through @xhv_backreferences rather than lots of
calls to sv_del_backref(), removing elements one by one;

* makes the code simpler; the 'hide xhv_backreferences as backref magic'
hack no longer needs to be done

* removes a bug whereby GVs that had a refcnt > 1 (the usual case) were
left with a GvSTASH pointing to the freed stash; it's now NULL instead. I
couldn't think of a test for this.

There are two drawbacks:

* If the GV gets freed at the same time as the stash, the freeing code
sees the GV with a GVSTASH of NULL rather than still pointing to the

* As far as I can see, the only difference this currently makes is that
mro_method_changed_in() is no longer called by sv_clear(), but since we're
blowing away the whole stash anyway, method resolution doesn't really
bother us any more.

At some point in the future I might set GvSTASH to %__ANON__ rather than

11 years ago[perl #72729] Test that sv_gets doesn't revive dead strings
Josh ben Jore [Wed, 14 Jul 2010 06:57:14 +0000 (23:57 -0700)]
[perl #72729] Test that sv_gets doesn't revive dead strings

11 years agoAdd t/op/readline.t docs
Josh ben Jore [Wed, 14 Jul 2010 06:56:29 +0000 (23:56 -0700)]
Add t/op/readline.t docs

11 years agoAdd x-ref from call site in do_readline() of sv_grow() to it's matching test in t...
Josh ben Jore [Wed, 14 Jul 2010 04:33:34 +0000 (21:33 -0700)]
Add x-ref from call site in do_readline() of sv_grow() to it's matching test in t/op/readline.t

11 years agoUpdate template for linked perldelta sections in deltatool
David Golden [Wed, 14 Jul 2010 15:02:54 +0000 (11:02 -0400)]
Update template for linked perldelta sections in deltatool

11 years agoAdd help and fix doc typo for git-deltatool
David Golden [Wed, 14 Jul 2010 14:54:22 +0000 (10:54 -0400)]
Add help and fix doc typo for git-deltatool

11 years agoRevise perldelta template to group doc/utility bullets
David Golden [Wed, 14 Jul 2010 02:07:35 +0000 (22:07 -0400)]
Revise perldelta template to group doc/utility bullets

11 years agoFix transient pod infelicities spotted by podcheck.t
Nicholas Clark [Tue, 13 Jul 2010 19:20:21 +0000 (20:20 +0100)]
Fix transient pod infelicities spotted by podcheck.t

11 years agoAdd more recent commits to perldelta
David Golden [Tue, 13 Jul 2010 16:08:58 +0000 (12:08 -0400)]
Add more recent commits to perldelta

11 years agoperlop.pod: Document current \000 \x behavior
Karl Williamson [Thu, 8 Jul 2010 16:18:58 +0000 (10:18 -0600)]
perlop.pod: Document current \000 \x behavior

Signed-off-by: David Golden <>
11 years agoUpdate CPANPLUS to CPAN version 0.9007
Chris 'BinGOs' Williams [Tue, 13 Jul 2010 11:14:35 +0000 (12:14 +0100)]
Update CPANPLUS to CPAN version 0.9007


  Changes for 0.9007      Tue Jul 13 10:44:30 2010
  * Fix the shell test to skip if test is not being run under a
    terminal, reported by Justin Case RT #59254

  Changes for 0.9006      Fri Jul  9 13:44:22 2010
  * Finally resolved the issue where a prereq on Config would not be
    recognised as a core module

11 years agoUpdate ExtUtil-ParseXS to CPAN version 2.2206
Chris 'BinGOs' Williams [Tue, 13 Jul 2010 11:08:05 +0000 (12:08 +0100)]
Update ExtUtil-ParseXS to CPAN version 2.2206


  2.2206 - Sun Jul  4 15:43:21 EDT 2010

  Bug fixes:

  - Make xsubpp accept the _ prototype (RT#57157) [Rafael Garcia-Suarez]

  - INCLUDE_COMMAND portability fixes for VMS (RT#58181) [Craig Berry]

  - INCLUDE_COMMAND fixes to detect non-zero exit codes (RT#52873)
    [Steffen Mueller]

11 years agoUpdate Archive-Tar to CPAN version 1.64
Chris 'BinGOs' Williams [Tue, 13 Jul 2010 11:02:16 +0000 (12:02 +0100)]
Update Archive-Tar to CPAN version 1.64


  * important changes in version 1.64 09/07/2010
  - Removed the PERL_CORE specific chdir from all the tests
  - Apply a patch from David Muir Sharnoff RT #58916,
    "skip files via a callback and limit memory use when skipping files"
  - Apply a patch from Daphne Pfister RT #59150
    "Assumes all references filename are IO::Handle's instead of trying to stringify."

11 years agoUpdate IPC-Cmd to CPAN version 0.60
Chris 'BinGOs' Williams [Tue, 13 Jul 2010 10:56:15 +0000 (11:56 +0100)]
Update IPC-Cmd to CPAN version 0.60


  Changes for 0.60    Mon Jul  5 09:04:54 BST 2010
  * Corrected spelling mistakes in POD, spotted by H.Merijn Brand
  * Apply a patch from Burak Gursoy RT #58886, which fixes paths
    on MSWin32
  * Apply patch from Petya Kohts, RT #50398, which allows more
    flexible configuration of run_forked and its children

11 years agoReset variables being initialized by readline before we do possibly blocking I/O
Josh ben Jore [Tue, 13 Jul 2010 06:56:55 +0000 (23:56 -0700)]
Reset variables being initialized by readline before we do possibly blocking I/O

11 years agonew is a reserved word in C++, don't use it as a variable name
Tony Cook [Tue, 13 Jul 2010 05:11:54 +0000 (15:11 +1000)]
new is a reserved word in C++, don't use it as a variable name

Fix a cause of black smoke for C++ builds.

11 years agoCreate S_assert_uft8_cache_coherent() with one copy of the cache panic code.
Nicholas Clark [Mon, 12 Jul 2010 12:39:19 +0000 (13:39 +0100)]
Create S_assert_uft8_cache_coherent() with one copy of the cache panic code.

Replacing 4 copies of this debugging-only routine with 1 reduces source and
object code size.

11 years agoPerl_sv_len_utf8 can use the UTF-8 offset cache to reduce its linear scan.
Nicholas Clark [Mon, 12 Jul 2010 12:09:28 +0000 (13:09 +0100)]
Perl_sv_len_utf8 can use the UTF-8 offset cache to reduce its linear scan.

Previously, if the scalar's character length wasn't yet known, but an offset
midway was, the offset would be ignored, and the linear scan of UTF-8 was for
the entire length of the scalar.

11 years agoPerl_sv_pos_b2u now calls utf8_mg_len_cache_update for the string end offset.
Nicholas Clark [Mon, 12 Jul 2010 10:56:59 +0000 (11:56 +0100)]
Perl_sv_pos_b2u now calls utf8_mg_len_cache_update for the string end offset.

Previously it would not take special action if the offset requested happened to
be the end of the string, meaning that the (fixed size) UTF-8 offset cache
would be used for a value which could (and should) be stored elsewhere.

11 years agoS_sv_pos_u2b_cached now updates the UTF-8 length cache if at the end of string.
Nicholas Clark [Mon, 12 Jul 2010 10:38:31 +0000 (11:38 +0100)]
S_sv_pos_u2b_cached now updates the UTF-8 length cache if at the end of string.

Pass in a boolean to S_sv_pos_u2b_forwards, which sets it to true if it
discovers that the UTF-8 offset is at (or after) the end of the string.
This can only happen if we don't already know the SV's length (in Unicode
characters), because if we know it, we always call S_sv_pos_u2b_midway().

11 years agoBreak S_utf8_mg_len_cache_update() out from Perl_sv_len_utf8().
Nicholas Clark [Mon, 12 Jul 2010 10:16:41 +0000 (11:16 +0100)]
Break S_utf8_mg_len_cache_update() out from Perl_sv_len_utf8().

11 years agoFix for RT#2353: catch yyparse() exceptions in (?{...})
George Greer [Sat, 10 Jul 2010 23:18:12 +0000 (19:18 -0400)]
Fix for RT#2353: catch yyparse() exceptions in (?{...})

Ticket is entitled:
"panic: top_env when localizing a lexical variable in qr{(?{...})}"

but a better description would be:
"(?{...}) does not catch yyparse() exceptions in regex compilation"

Changes Perl_sv_compile_2op() to tell doeval() that it must use
S_try_yyparse() to catch any exception that yyparse() may throw.

11 years agoUpdate MANIFEST.
Ben Morrow [Wed, 9 Dec 2009 10:37:14 +0000 (10:37 +0000)]

11 years agoDocument the blockhook functions and macros.
Ben Morrow [Wed, 9 Dec 2009 10:32:23 +0000 (10:32 +0000)]
Document the blockhook functions and macros.

11 years agoTeach about 'o' functions.
Ben Morrow [Wed, 9 Dec 2009 10:24:33 +0000 (10:24 +0000)]
Teach about 'o' functions.

That is, functions with no #define foo Perl_foo. I'm not certain this is
the right way to do it, as I don't really understand which flags autodoc
honours from which places; currently, it's necessary to put the 'o' flag
on the =for apidoc line or it will be ignored.

11 years agoSystematic tests for the block hooks.
Ben Morrow [Mon, 7 Dec 2009 19:00:04 +0000 (19:00 +0000)]
Systematic tests for the block hooks.

I've left the dummy implementation of @{^C_S_C} in, as it's actually
useful for some of the other tests. (Something simpler would work just
as well, of course.)

11 years agoWrap PL_blockhooks in an API function.
Ben Morrow [Mon, 7 Dec 2009 12:55:57 +0000 (12:55 +0000)]
Wrap PL_blockhooks in an API function.

This should help prevent people from thinking they can get cute with the

11 years agoMacroify the block_hooks structure.
Ben Morrow [Mon, 7 Dec 2009 11:52:23 +0000 (11:52 +0000)]
Macroify the block_hooks structure.

Add a flags member, so it can be extended later if necessary. Add a
bhk_eval member, called from doeval to catch requires and string evals.

11 years agoInitial very basic tests for PL_blockhooks.
Ben Morrow [Thu, 26 Nov 2009 17:22:22 +0000 (17:22 +0000)]
Initial very basic tests for PL_blockhooks.

This is taken directly from rafl's @{^COMPILE_SCOPE_CONTAINER}
implementation posted on p5p.

11 years agoGeneric hooks into Perl_block_{start,end}.
Ben Morrow [Thu, 26 Nov 2009 17:18:29 +0000 (17:18 +0000)]
Generic hooks into Perl_block_{start,end}.

These take the form of a vtable pushed onto the new PL_blockhooks array.
This could probably do with a API around it later. Separate pre_end and
post_end hooks are needed to capture globals before the stack is unwound
(like needblockscope in the existing code). The intention is that once
a vtable is installed it never gets removed, so where necessary
extensions using this will need to use a hinthv element to determine
whether to do anything or not.

11 years agoAvoid UTF-8 cache panics with offsets beyond the string. Fixes RT #75898.
Nicholas Clark [Sun, 11 Jul 2010 19:11:10 +0000 (20:11 +0100)]
Avoid UTF-8 cache panics with offsets beyond the string. Fixes RT #75898.

Change S_sv_pos_u2b_forwards() to take a point to the (requested) UTF-8 offset,
and return the actual UTF-8 offset for the byte position returned. This ensures
that the cache is consistent with reality.

11 years agoIn Perl_sv_pos_u2b_flags and S_sv_pos_u2b_cached, return early for offset 0.
Nicholas Clark [Sun, 11 Jul 2010 16:17:37 +0000 (17:17 +0100)]
In Perl_sv_pos_u2b_flags and S_sv_pos_u2b_cached, return early for offset 0.

0 Unicode characters are always 0 octets long. Returning early ensures that
any offsets we calculate later will always be non-zero.

11 years agoIn S_sv_pos_u2b_midway, inline the call to S_sv_pos_u2b_forwards.
Nicholas Clark [Sun, 11 Jul 2010 15:49:29 +0000 (16:49 +0100)]
In S_sv_pos_u2b_midway, inline the call to S_sv_pos_u2b_forwards.

11 years agoSort and complete the op flags lists for op_dump()
Vincent Pit [Sun, 11 Jul 2010 11:34:28 +0000 (13:34 +0200)]
Sort and complete the op flags lists for op_dump()

11 years agoRT #73520: POSIX::strftime memory leak
Tony Cook [Sun, 11 Jul 2010 11:23:30 +0000 (21:23 +1000)]
RT #73520: POSIX::strftime memory leak

Tested before/after with valgrind.

11 years agoDie with $@ instead of empty message
Josh ben Jore [Sat, 10 Jul 2010 14:54:55 +0000 (07:54 -0700)]
Die with $@ instead of empty message

11 years agoRemove extra/useless $@ check after eval { require PadWalker } (which is still checked)
Josh ben Jore [Sat, 10 Jul 2010 14:54:32 +0000 (07:54 -0700)]
Remove extra/useless $@ check after eval { require PadWalker } (which is still checked)

11 years agoPromote eval( "require ..." ) to eval { require ... }
Josh ben Jore [Sat, 10 Jul 2010 14:53:35 +0000 (07:53 -0700)]
Promote eval( "require ..." ) to eval { require ... }

11 years agoPromote eval { require( ... )} || die to mere require( ... )
Josh ben Jore [Sat, 10 Jul 2010 14:52:06 +0000 (07:52 -0700)]
Promote eval { require( ... )} || die to mere require( ... )

11 years agoRemove indirect object notation from debugger
Josh ben Jore [Sat, 10 Jul 2010 14:50:41 +0000 (07:50 -0700)]
Remove indirect object notation from debugger

11 years agoDocument that @{$main::{'_<'.$filename}} lines are dualvar to (COP*).
Josh ben Jore [Sat, 10 Jul 2010 14:38:31 +0000 (07:38 -0700)]
Document that @{$main::{'_<'.$filename}} lines are dualvar to (COP*).

11 years agoIn t/harness, clear PERL5LIB, PERLLIB, PERL5OPT as t/TEST does.
Nicholas Clark [Fri, 9 Jul 2010 09:42:41 +0000 (10:42 +0100)]
In t/harness, clear PERL5LIB, PERLLIB, PERL5OPT as t/TEST does.

In fact, as t/harness requires t/TEST, simply get t/TEST to do it for
t/harness too.

11 years agoSilence compiler warning
Jerry D. Hedden [Thu, 8 Jul 2010 15:20:35 +0000 (11:20 -0400)]
Silence compiler warning

Signed-off-by: David Golden <>
11 years agoPATCH: t/lib/ localized $/ setting; allow input 'no_plan'
karl williamson (via RT) [Tue, 6 Jul 2010 15:27:34 +0000 (08:27 -0700)]
PATCH: t/lib/ localized $/ setting; allow input 'no_plan'

# New Ticket Created by  karl williamson
# Please include the string:  [perl #76398]
# in the subject line of all future correspondence about this issue.
# <URL: >

See attached patches

>From 275169a8df5851331669da2dd791483379c3fc5e Mon Sep 17 00:00:00 2001
From: Karl Williamson <khw@khw-desktop.(none)>
Date: Tue, 6 Jul 2010 09:20:42 -0600
Subject: [PATCH] t/lib/ localize changing $/

$/ changes should not affect callers.

Signed-off-by: H.Merijn Brand <>
11 years agoFix typo
Abigail [Thu, 8 Jul 2010 07:21:22 +0000 (09:21 +0200)]
Fix typo

11 years agoReorganize dist/threads-shared
Jerry D. Hedden [Wed, 7 Jul 2010 16:22:09 +0000 (12:22 -0400)]
Reorganize dist/threads-shared

Move dist/threads-shared/ to dist/threads-shared/lib/threads/
and remove its Makefile.PL.

11 years agoGet rid of PERL_DECL_PROT
Jan Dubois [Wed, 7 Jul 2010 22:22:44 +0000 (15:22 -0700)]

It was added for PERL_OBJECT support in commit 0cb9638,
which has been removed again with commit acfe0ab.

11 years agoReorganize dist/threads
Jerry D. Hedden [Wed, 30 Jun 2010 15:15:50 +0000 (11:15 -0400)]
Reorganize dist/threads

Move to lib/ and remove Makefile.PL

11 years agocautionary note about "no VERSION"
Ricardo Signes [Tue, 6 Jul 2010 15:41:53 +0000 (11:41 -0400)]
cautionary note about "no VERSION"

Signed-off-by: David Golden <>
11 years agoChange of address for Bo Lindbergh
Bo Lindbergh [Tue, 6 Jul 2010 15:13:12 +0000 (17:13 +0200)]
Change of address for Bo Lindbergh

Signed-off-by: David Golden <>
11 years agoAdd Bo Lindburgh alternate email to
David Golden [Tue, 6 Jul 2010 12:27:13 +0000 (08:27 -0400)]
Add Bo Lindburgh alternate email to

11 years agoCode for allowing uppercase X/B in hexadecimal/binary numbers (#76296).
Bo Lindbergh [Sun, 4 Jul 2010 23:31:01 +0000 (01:31 +0200)]
Code for allowing uppercase X/B in hexadecimal/binary numbers (#76296).

Signed-off-by: David Golden <>
11 years agoTests for allowing uppercase X/B in hexadecimal/binary numbers (#76296).
Bo Lindbergh [Sun, 4 Jul 2010 22:04:46 +0000 (00:04 +0200)]
Tests for allowing uppercase X/B in hexadecimal/binary numbers (#76296).

Signed-off-by: David Golden <>
11 years agoClean up new Locale-Maketest test for use in core
David Golden [Tue, 6 Jul 2010 05:38:12 +0000 (01:38 -0400)]
Clean up new Locale-Maketest test for use in core

11 years agoLocale::Maketext external cache support
Todd Rinaldo [Tue, 6 Jul 2010 05:28:00 +0000 (01:28 -0400)]
Locale::Maketext external cache support

This patch with tests provides RO support for lexicon hashes in
Locale::Maketext.  This allows you to have GDBM language files owned by
root which can be accessed by non-root, but not altered.

If your lexicon is a tied hash the simple act of caching the compiled
value can be fatal.

For example a GDBM_File GDBM_READER tied hash will die with something

  gdbm store returned -1, errno 2, key "..." at ...

All you need to do is turn on caching outside of the lexicon hash itself
like so:

  sub init {
      my ($lh) = @_;
      $lh->{'use_external_lex_cache'} = 1;

And then instead of storing the compiled value in the lexicon hash it
will store it in $lh->{'_external_lex_cache'}

I've verified that blead is the authoritative location for
Locale::Maketext source.

Signed-off-by: David Golden <>
11 years agoreplace spaces with tabs in MANIFEST
David Golden [Tue, 6 Jul 2010 04:42:53 +0000 (00:42 -0400)]
replace spaces with tabs in MANIFEST

11 years agoDon't set strict for 'no 6;'
David Golden [Tue, 6 Jul 2010 04:33:31 +0000 (00:33 -0400)]
Don't set strict for 'no 6;'

Commit faee19b51573e81abe8811f1256a1d27777d6d04 was incomplete
and only stopped features from being enabled under 'no'.

This patch merges all 'use N.NN' type logic into a single if clause
and then checks version numbers in separate if statements within it.

11 years agoIgnore generated files from Time-HiRes
David Golden [Tue, 6 Jul 2010 04:10:03 +0000 (00:10 -0400)]
Ignore generated files from Time-HiRes

11 years agoEnsure new arg to watchdog() in t/ gets initialized
Jerry D. Hedden [Mon, 5 Jul 2010 18:50:04 +0000 (14:50 -0400)]
Ensure new arg to watchdog() in t/ gets initialized

11 years agoadded a "list" command to list open tickets that might have patches
Jesse Vincent [Mon, 5 Jul 2010 11:46:48 +0000 (12:46 +0100)]
added a "list" command to list open tickets that might have patches

11 years agowe can't depend on patches having filenames. Thanks git!
Jesse Vincent [Mon, 5 Jul 2010 11:41:28 +0000 (12:41 +0100)]
we can't depend on patches having filenames. Thanks git!

11 years agoFirst pass at a tool to help porters apply RT patches from the
Jesse Vincent [Mon, 5 Jul 2010 11:26:52 +0000 (12:26 +0100)]
First pass at a tool to help porters apply RT patches from the

11 years agoIn Perl_lex_start(), use newSVpvn_flags() to reduce source and object size.
Nicholas Clark [Mon, 5 Jul 2010 11:45:19 +0000 (12:45 +0100)]
In Perl_lex_start(), use newSVpvn_flags() to reduce source and object size.

11 years agoIn pp_regcomp and pp_entereval, use newSVpvn_flags() to simplify code.
Nicholas Clark [Mon, 5 Jul 2010 09:32:38 +0000 (10:32 +0100)]
In pp_regcomp and pp_entereval, use newSVpvn_flags() to simplify code.

11 years agoSpeed up viacode
Karl Williamson [Sat, 3 Jul 2010 18:31:54 +0000 (12:31 -0600)]
Speed up viacode

Capturing parentheses greatly slow down regexes, at least here.
On my machine, viacode took 27 seconds for the 22K Unicode names without
capturing parens; 45s with.

11 years agocharnames.t update because of rebase
Karl Williamson [Sat, 3 Jul 2010 17:55:57 +0000 (11:55 -0600)]
charnames.t update because of rebase

Use of t/lib/ caused some glitches; some behaviors of the
underlying is() functions changed, so revised .t to work under this