platform/upstream/perl.git
14 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.

14 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

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

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

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

14 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

14 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
stash.

* 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
NULL.

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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 <dagolden@cpan.org>
14 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

  [DELTA]

  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

14 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

  [DELTA]

  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]

14 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

  [DELTA]

  * 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."

14 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

  [DELTA]

  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

14 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

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

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

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

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

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

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

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

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

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

14 years agoTeach autodoc.pl about 'o' functions.
Ben Morrow [Wed, 9 Dec 2009 10:24:33 +0000 (10:24 +0000)]
Teach autodoc.pl 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.

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

14 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
contents.

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

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

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

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

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

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

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

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

14 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

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

14 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 ... }

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

14 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

14 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*).

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

14 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 <dagolden@cpan.org>
14 years agoPATCH: t/lib/common.pl localized $/ setting; allow input 'no_plan'
karl williamson (via RT) [Tue, 6 Jul 2010 15:27:34 +0000 (08:27 -0700)]
PATCH: t/lib/common.pl 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: http://rt.perl.org/rt3/Ticket/Display.html?id=76398 >

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/common.pl: localize changing $/

$/ changes should not affect callers.

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

14 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/shared.pm to dist/threads-shared/lib/threads/shared.pm
and remove its Makefile.PL.

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

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

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

Move threads.pm to lib/threads.pm and remove Makefile.PL

14 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 <dagolden@cpan.org>
14 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 <dagolden@cpan.org>
14 years agoAdd Bo Lindburgh alternate email to checkAUTHORS.pl
David Golden [Tue, 6 Jul 2010 12:27:13 +0000 (08:27 -0400)]
Add Bo Lindburgh alternate email to checkAUTHORS.pl

14 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 <dagolden@cpan.org>
14 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 <dagolden@cpan.org>
14 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

14 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
like:

  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 <dagolden@cpan.org>
14 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

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

14 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

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

14 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

14 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!

14 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
commandline

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

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

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

14 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/common.pl caused some glitches; some behaviors of the
underlying is() functions changed, so revised .t to work under this
scheme.

14 years agoCorrect perldelta for these changes
Karl Williamson [Sat, 3 Jul 2010 17:55:06 +0000 (11:55 -0600)]
Correct perldelta for these changes

14 years agoAdd vi hint for non-std format of charnames.pm
Karl Williamson [Sat, 3 Jul 2010 16:22:59 +0000 (10:22 -0600)]
Add vi hint for non-std format of charnames.pm

14 years agoMore charnames pod updates
Karl Williamson [Sat, 3 Jul 2010 16:22:04 +0000 (10:22 -0600)]
More charnames pod updates

14 years agocharnames: check for use bytes in vianame; efficiency
Karl Williamson [Sat, 3 Jul 2010 16:12:33 +0000 (10:12 -0600)]
charnames: check for use bytes in vianame; efficiency

When vianame returns a chr, it now verifies that it is legal under 'use
bytes'.  Update .t

An instance of taking of a substr of a huge string is needed only in an
error leg.  Move it to that leg for performance.

And make the message a subroutine so will be identical whenever raised.

14 years agoClean up charnames pod, including new changes
Karl Williamson [Thu, 1 Jul 2010 22:25:08 +0000 (16:25 -0600)]
Clean up charnames pod, including new changes

This patch brings the charnames pod up-to-date, and rewords it to
hopefully be more clear.

14 years agoClean up viacode, accept large aliases
Karl Williamson [Thu, 1 Jul 2010 22:22:14 +0000 (16:22 -0600)]
Clean up viacode, accept large aliases

This changes viacode to accept aliases that the user has defined beyond
the Unicode range.

14 years agoExtend \N{} enhancements to vianame()
Karl Williamson [Thu, 1 Jul 2010 22:06:51 +0000 (16:06 -0600)]
Extend \N{} enhancements to vianame()

This patch refactors charnames so that vianame and \N call the same
common subroutine so that they have as identical behavior as possible.

14 years agoBump version; some pod cleanup
Karl Williamson [Wed, 30 Jun 2010 21:27:39 +0000 (15:27 -0600)]
Bump version; some pod cleanup

14 years agocharnames: add CORE:: to hex()
Karl Williamson [Wed, 30 Jun 2010 21:19:39 +0000 (15:19 -0600)]
charnames: add CORE:: to hex()

Other programs do this; I don't know why just hex() needs to be
protected from user override, but I'm just copying prior art.

14 years agoAbandon plans to change viacode's return of unassigned
Karl Williamson [Wed, 30 Jun 2010 20:55:16 +0000 (14:55 -0600)]
Abandon plans to change viacode's return of unassigned

The BUGS section of the charnames pod said that it was a bug to return
undef for unassigned characters, whereas the real Unicode name is the
empty string.  demerphq noted that undef stringifies to the empty
string, so we are in fact in compliance with the standard.  This
clarifies the pod wording, removing the text from the BUGS section.

14 years agoAllow defining custom charnames to ordinals
Karl Williamson [Wed, 30 Jun 2010 20:42:59 +0000 (14:42 -0600)]
Allow defining custom charnames to ordinals

This adds the ability of a user to create a custom alias that maps to a
numeric ordinal value, instead of an official Unicode name.

The number of hashes went up so that is better to refer to them by a
name than a number, so I renamed them.

Also, viacode will return any defined user's alias for an otherwise
unamed code point.

This change is principally so that private use characters can be named
so it is more convenient to use them in Perl.

14 years agoAdd clarifying comments to charnames.t
Karl Williamson [Wed, 30 Jun 2010 19:48:33 +0000 (13:48 -0600)]
Add clarifying comments to charnames.t

14 years agoReword feedback request.
Karl Williamson [Wed, 30 Jun 2010 19:46:39 +0000 (13:46 -0600)]
Reword feedback request.

It's not clear to me what should be done about the problem of vianame
being bipolar.

14 years agoAdd a number of abbrs and variants to \N{}
Karl Williamson [Tue, 29 Jun 2010 18:54:33 +0000 (12:54 -0600)]
Add a number of abbrs and variants to \N{}

This patch adds the standard abbreviations for the control characters
(such as ACK, BEL, etc) to the repertoire that \N{} knows about.  It
also adds a few common variants of their full names, and the old names
for the 4 controls that Unicode has chosen not to have any names at all
for.

The patch also adds all the abbreviations that Unicode lists in 5.2 for
longer characters, such as NBSP, SHY, LRE, ...

To preserve complete backward compatibilty for these and future changes,
user-defined aliases are now checked first, before these are.

As a performance enhancement, these aliases are mapped to their actual
code values instead of their full names which then had to be looked up
in the large table.  Now that is avoided, and the table is not loaded
at all until a name is encountered that is not one of these aliases.

The pod and .t are updated.

14 years agoRemove a release_manager_guide step since it's now been automated away
Jesse Vincent [Sun, 4 Jul 2010 15:47:34 +0000 (11:47 -0400)]
Remove a release_manager_guide step since it's now been automated away

14 years agoUpdate Makefile to regen META.yml as it regens other files in regen_all
Jesse Vincent [Sun, 4 Jul 2010 15:44:03 +0000 (11:44 -0400)]
Update Makefile to regen META.yml as it regens other files in regen_all

14 years agoMake the META.yml regen code use regen_lib.pl per the request in release_mananger_guide,
Jesse Vincent [Sun, 4 Jul 2010 15:40:33 +0000 (11:40 -0400)]
Make the META.yml regen code use regen_lib.pl per the request in release_mananger_guide,

14 years agoMissing AUTHORS will now generate failing tests. Removing the manual
Jesse Vincent [Sun, 4 Jul 2010 15:17:20 +0000 (11:17 -0400)]
Missing AUTHORS will now generate failing tests. Removing the manual
checkAUTHORS step from the release engineering guide.

14 years agoMake checkAUTHORS a test to further reduce the release burden
Jesse Vincent [Sun, 4 Jul 2010 15:15:35 +0000 (11:15 -0400)]
Make checkAUTHORS a test to further reduce the release burden

14 years agoFurther refactoring of checkAUTHORS
Jesse Vincent [Sun, 4 Jul 2010 15:14:55 +0000 (11:14 -0400)]
Further refactoring of checkAUTHORS

14 years agorefactoring checkAUTHORS in advance of testifcation
Jesse Vincent [Sun, 4 Jul 2010 14:38:50 +0000 (10:38 -0400)]
refactoring checkAUTHORS in advance of testifcation

14 years agoBring AUTHORS up to date
Jesse Vincent [Sun, 4 Jul 2010 14:25:02 +0000 (10:25 -0400)]
Bring AUTHORS up to date

14 years agoFix Digest-MD5 tests to run properly under core
Chris 'BinGOs' Williams [Sun, 4 Jul 2010 19:02:28 +0000 (20:02 +0100)]
Fix Digest-MD5 tests to run properly under core

14 years agoUpdate Digest-MD5 to CPAN version 2.40
Chris 'BinGOs' Williams [Sun, 4 Jul 2010 15:46:01 +0000 (16:46 +0100)]
Update Digest-MD5 to CPAN version 2.40

  [DELTA]

  2010-07-03   Gisle Aas <gisle@ActiveState.com>

    Release 2.40

    Marc Pignat (1):
      Safer alignment test [RT#35823]

    Robin Barker (1):
      consting in new ext/

    Gisle Aas (1):
      Remove the MacOS branch of this test

14 years agoremove trailing space in cmpVERSION
David Golden [Sun, 4 Jul 2010 18:56:21 +0000 (14:56 -0400)]
remove trailing space in cmpVERSION

14 years agoMake Test::Harness source_handler.t use the build perl (%PERL_CORE%) on Win32.
George Greer [Sun, 4 Jul 2010 17:09:56 +0000 (13:09 -0400)]
Make Test::Harness source_handler.t use the build perl (%PERL_CORE%) on Win32.

14 years agoAdd Matt Johnson to AUTHORS.
Craig A. Berry [Sun, 4 Jul 2010 14:49:55 +0000 (09:49 -0500)]
Add Matt Johnson to AUTHORS.

14 years agodocs: updates for git-based cmpVERSION.pl
Matt Johnson [Sat, 3 Jul 2010 18:08:15 +0000 (19:08 +0100)]
docs: updates for git-based cmpVERSION.pl

Update the release_managers_guide.pod with the new command usage,
and remove the todo item