This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
10 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.)

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

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

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

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

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

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

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

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

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

10 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

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

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

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

10 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

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

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

10 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>
10 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>
10 years agoFix typo
Abigail [Thu, 8 Jul 2010 07:21:22 +0000 (09:21 +0200)]
Fix typo

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

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

10 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

10 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>
10 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>
10 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

10 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>
10 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>
10 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

10 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>
10 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

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

10 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

10 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

10 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

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

10 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

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

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

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

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

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

10 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

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

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

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

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

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

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

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

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

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

10 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

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

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

10 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

10 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

10 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,

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

10 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

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

10 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

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

10 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

10 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

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

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

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

10 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

10 years agoUpdate Porting/cmpVERSION.pl to use git
Matt Johnson [Sat, 3 Jul 2010 18:01:58 +0000 (19:01 +0100)]
Update Porting/cmpVERSION.pl to use git

Update Porting/cmpVERSION.pl to take a directory and a git tag,
rather than two directories, as suggested in perltodo.

10 years agoMake previous test fix conditional on the platform being Windows
Rafael Garcia-Suarez [Sun, 4 Jul 2010 11:31:57 +0000 (13:31 +0200)]
Make previous test fix conditional on the platform being Windows

10 years agoForce t/io/openpid.t to use the alarm() watchdog strategy.
George Greer [Sun, 4 Jul 2010 05:20:53 +0000 (01:20 -0400)]
Force t/io/openpid.t to use the alarm() watchdog strategy.

* The default watchdog strategy on Win32 doesn't work because the watchdog
is executed via subshell ("cmd /c perl -e '...'"). When the test finishes
and tries to kill the watchdog all it manages to do is whack cmd.exe and
the watchdog still fires, potentially killing an innocent process.

* Trying to use the fork() strategy instead causes openpid.t's test #9's
"ok" to be lost occasionally.  The message itself is generated by the 4th
child of the test and should go directly to stdout, but sometimes the
output vanishes for unexplained reasons.  This doesn't appear to happen
without the watchdog enabled.

* Using the alarm() watchdog strategy seems to not cause any badness.

10 years agoadd some comments to pp_concat
David Mitchell [Sat, 3 Jul 2010 16:01:33 +0000 (17:01 +0100)]
add some comments to pp_concat

make it clearer what type of concat each code branch handles

10 years agomake_patchnum.pl: handle not on a branch properly
David Mitchell [Sat, 3 Jul 2010 15:47:05 +0000 (16:47 +0100)]
make_patchnum.pl: handle not on a branch properly

10 years agoavoid multiple FETCH/stringify on filetest ops
David Mitchell [Sat, 3 Jul 2010 14:41:34 +0000 (15:41 +0100)]
avoid multiple FETCH/stringify on filetest ops

some of the filetest operators could call mg_get and/or overload fallback
stringify multiple times

10 years agoadd my_[l]stat_flags(); make my_[l]stat() mathoms
David Mitchell [Sat, 3 Jul 2010 13:24:11 +0000 (14:24 +0100)]
add my_[l]stat_flags(); make my_[l]stat() mathoms

my_stat() and my_lstat() call get magic on the stack arg, so create _flags()
variants that allow us to control this. (I can't just change the signature
or the mg_get() behaviour since my_[l]stat() are listed as being in the
public API, even though they're undocumented.)

10 years agoPL_amagic_generation doesn't show overload loaded
David Mitchell [Sat, 3 Jul 2010 12:36:59 +0000 (13:36 +0100)]
PL_amagic_generation doesn't show overload loaded

PL_amagic_generation is non-zero even without the presence of
'use overload', so don't bother using it as a short-cut test of
whether we can skip AMAGIC processing

10 years agofix bad indentation in pp_regcomp
David Mitchell [Sat, 3 Jul 2010 12:24:08 +0000 (13:24 +0100)]
fix bad indentation in pp_regcomp

10 years agoavoid extra FETCHes on overloaded qr stringify
David Mitchell [Sat, 3 Jul 2010 12:17:40 +0000 (13:17 +0100)]
avoid extra FETCHes on overloaded qr stringify

/$tied/ called FETCH too many times if the FETCH returned an overloaded
object with no qr method, but with stringify fallback

10 years agooverload.t: clarify concat #FETCH expected
David Mitchell [Fri, 2 Jul 2010 21:06:49 +0000 (22:06 +0100)]
overload.t: clarify concat #FETCH expected

It turns out that the number of FETCHes for the fallback ($tied_ovld . foo)
just needed explaining, not fixing.

10 years agoremove double stringify-overload from $ovld .= foo
David Mitchell [Fri, 2 Jul 2010 20:33:01 +0000 (21:33 +0100)]
remove double stringify-overload from $ovld .= foo

There was a piece of code in pp_concat who's job it was to determine the
UT8ness of the LHS, and it did it in a heavy-handed way to cope with the
special case of a regexp (which is an RV pointing to REGEXP which might
be UTF8)

10 years agoeval: handle taint of overloaded/tied arg
David Mitchell [Wed, 23 Jun 2010 23:02:39 +0000 (00:02 +0100)]
eval: handle taint of overloaded/tied arg

string eval would check its arg for taint before processing magic, overload
etc. If the magic or overload returned a tainted value, it wouldn't
be detected. Fixes part of #75716.

10 years agoeval $overloaded can crash
David Mitchell [Tue, 22 Jun 2010 23:23:24 +0000 (00:23 +0100)]
eval $overloaded can crash

Perl_lex_start() assumes that the SV passed to it is a well-behaved
string that it can do PVX() stuff to. If it's actually a ref to an
overloaded object, it can crash and burn. Fixed by creating a stringified
copy of the SV if necessary.

10 years agofix tainting and overload
David Mitchell [Tue, 22 Jun 2010 16:03:12 +0000 (17:03 +0100)]
fix tainting and overload

Sometimes when an overload method returned a tainted value, that
taintedness got lost. This fixes #75716: overload removes tainting.

It also considerably expands the tied series of tests in overload.t.
It now taints the return value, and checks for correct taintedness.
It also tests against two overload packages: the new one only has fallback
methods, which affects the return path for the tainted value.

It now also compares the expected (non-tied, non-overload) expression
value against a overloaded version of that expression in addition to
versions where a tied var returned an overloaded object; e.g. in these
expressions:
    1: 1 + $plain_value
    2: 1 + $overloaded_var
    3: 1 + $tied_scalar_that_returns_overloaded_value
    4: 1 + $tied_array_whose element_0_holds_an_overloaded_value[0]
then the value of expression 1 is compared against each of 2,3,4, whereas
before it was only compared against 3,4.

10 years agotaint-enable lib/overload.t
David Mitchell [Fri, 18 Jun 2010 21:45:45 +0000 (22:45 +0100)]
taint-enable lib/overload.t

Stick a -T at the top of lib/overload.t in preparation for adding some
taint tests later. This causes some of the current tests to fail, since
the FETCH count has changed: so we fix those up too. They change because
under taint, code like ${$x} is compiled as enter/gvsv/leave/rv2sv rather
than gvsv/rv2sv (see Perl_scope), and the leave creates a mortal copy of
the tied value, avoiding any further fetches.

10 years agoExporter version bump
Steffen Mueller [Sat, 3 Jul 2010 15:07:06 +0000 (17:07 +0200)]
Exporter version bump

After being modified by 9b86bb5cacfb65a283299b005919058f8a61701a.

10 years agoFix RT #74472 Exporter.pm blocks Signal handling
Todd Rinaldo [Sat, 3 Jul 2010 13:32:08 +0000 (15:32 +0200)]
Fix RT #74472 Exporter.pm blocks Signal handling

Exporter.pm overrides SIG{__WARN__}. This means It's not possible to
write a test to trap warning events for this error. Since all the line
seems to do is make the warning more verbose, I suggest it not be done
if someone has defined a custom signal. At the moment Test::NoWarnings
cannot trap these warnings because of this.

10 years agoSkip suid File::Copy tests on a nosuid partition
Ævar Arnfjörð Bjarmason [Thu, 13 May 2010 20:05:35 +0000 (20:05 +0000)]
Skip suid File::Copy tests on a nosuid partition

These tests were being skipped on OpenBSD, but nosuid partitions can
exist on other systems too. Now it just checks if it can create a suid
directory, if not the tests are skipped.

Perl builds without errors in a nosuid /tmp with this patch.

10 years agoAdjust 'make test.valgrind' to account for cpan/dist/ext separation.
George Greer [Fri, 2 Jul 2010 22:50:12 +0000 (18:50 -0400)]
Adjust 'make test.valgrind' to account for cpan/dist/ext separation.

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
10 years agoPlug more memory leaks in vms.c.
Craig A. Berry [Sat, 3 Jul 2010 00:04:35 +0000 (19:04 -0500)]
Plug more memory leaks in vms.c.

In Perl_rename() we were allocating the same thing twice.

In vms_fid_to_name() (used by realpath() and realname()), we had
another flagrant omission of freeing local storage.

10 years agoCorrect the version of the included Test-Harness in Maintainers.pl
Chris 'BinGOs' Williams [Fri, 2 Jul 2010 14:11:06 +0000 (15:11 +0100)]
Correct the version of the included Test-Harness in Maintainers.pl

10 years agoUpdate CPANPLUS to CPAN version 0.9005
Chris 'BinGOs' Williams [Fri, 2 Jul 2010 14:05:53 +0000 (15:05 +0100)]
Update CPANPLUS to CPAN version 0.9005

  [DELTA]

  Changes for 0.9005      Tue Jun 29 22:42:25 2010
  ================================================
  * Corrected spelling mistakes in POD, pointed out by H.Merijn Brand
  * Amend SQLite source engine to set SYNCHRONOUS pragma to OFF
  * Make sure that Selfupdate checks if CPANPLUS::Dist::Build is
    installed or not and update it if it is. Spotted by Ilmari
  * Apply a patch from Peter Ludikovsky RT #55782 that adds indexes
    to Source::SQLite

  Changes for 0.9004      Sat May  8 22:21:04 2010
  ================================================
  * Applied a patch from Schwern RT #53133 "test failure occurs if
    the build directory is symlinked"
  * Explicitly set the location of cpanp-run-perl when under PERL_CORE
    in t/inc/conf.pl
  * Make sure that we find cpanp-run-perl in ../../utils when PERL_CORE
  * Apply a patch from Barbie [RT #56768], that fixes regex in
    RELEVANT_TEST_RESULT
  * Fixed a typo in the POD for cpan2dist, pointed out by Babar
    (Olivier Raginel) on irc.
  * Add a BEGIN {} block to cpanp-run-perl this resolves RT #55964
    and RT #57106

  Changes for 0.9003      Mon Mar 15 13:51:12 2010
  ================================================
  * Resolve warnings when using blead perl, reported by Apocalypse RT #55501
  * Applied patch from Apocalypse RT #55541 that changes the
    behviour when a prereq on a core-only module is detected. We
    raise a warning now, but will proceed with the installation.
    This is how CPAN.pm handles it.
  * Removed one duff mirror and an out-of-date mirror from
    our default mirror list. Replaced with fast-sync mirrors.

  Changes for 0.9002      Fri Mar 12 13:11:00 2010
  ================================================
  * Added support for CPAN Testers 2.0 (David Golden)

  Changes for 0.9001      Thu Dec 24 10:21:11 2009
  ================================================
  * RT #52988 Regression in Internals::Utils, reported by CRAKRJACK
  * Fix a regression with dist_type not being propagated

10 years agoMark UPSTREAM as 'cpan' for Digest-SHA at Mark Shelor's request.
Chris 'BinGOs' Williams [Fri, 2 Jul 2010 06:11:48 +0000 (07:11 +0100)]
Mark UPSTREAM as 'cpan' for Digest-SHA at Mark Shelor's request.

  Date: Thu, 01 Jul 2010 16:51:02 -0700
  Reply-To: mshelor@cpan.org
  User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
  To: "Chris 'BinGOs' Williams" <chris@bingosnet.co.uk>
  Subject: Re: [Fwd: [rt.cpan.org #58997] correct URL for SHA1 NIST test vectors]

  >Chris 'BinGOs' Williams wrote:

  >Speaking of which, the UPSTREAM flag is set to 'undef' for Digest-SHA
  >
  >How should I mark Digest-SHA?

  I keep very close tabs on Digest-SHA, and would like to assure that the
  current version on CPAN (which I maintain) is the canonical one.
  Whenever blead suggests changes to Digest-SHA, I try to respond immediately.

  Cheers, Mark

10 years agoFix nasty memory leak in vms.c:Perl_flex_stat_int().
Craig A. Berry [Fri, 2 Jul 2010 00:47:34 +0000 (19:47 -0500)]
Fix nasty memory leak in vms.c:Perl_flex_stat_int().

Thanks to Mark Berryman in

  Message-id: <52BFD39B-C4BA-4350-AA1F-C2E7F128EF21@theberrymans.com>

for the report and the fix.

10 years agot/lib/common.pl can use caller to infer the name of the pragma under test.
Nicholas Clark [Thu, 1 Jul 2010 19:41:21 +0000 (20:41 +0100)]
t/lib/common.pl can use caller to infer the name of the pragma under test.

This avoids needing to use a variable in package main to pass in information.
Also, remove an unnecessary $ENV{PERL5LIB} assignment cargo-culted into most
users of t/lib/common,pl, and remove the BEGIN block as the code it contained
doesn't need to run at BEGIN time.

10 years agoFix to MANIFEST in base
Chas. Owens [Thu, 1 Jul 2010 19:42:04 +0000 (20:42 +0100)]
Fix to MANIFEST in base

Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
10 years agoFix pthread include error for Time::Piece
H.Merijn Brand [Thu, 1 Jul 2010 17:05:03 +0000 (19:05 +0200)]
Fix pthread include error for Time::Piece

Oh, um, lovely. Did I really want to look at that code? I can only assume
that in *BSD the API for _strptime() is fixed. But it's static for us, so
it doesn't need to be fixed.

Does the appended patch fix it?

Nicholas Clark

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
10 years agoadd cherrymaint and git-deltatool to MANIFEST
David Golden [Thu, 1 Jul 2010 16:04:06 +0000 (12:04 -0400)]
add cherrymaint and git-deltatool to MANIFEST

10 years agoConvert zlib src from K&R functions declarations to ANSI C.
Nicholas Clark [Thu, 1 Jul 2010 15:54:10 +0000 (16:54 +0100)]
Convert zlib src from K&R functions declarations to ANSI C.

K&R declarations aren't valid C++, hence C++ builds choke. zlib defaults to
K&R (I infer for maximum portability), but helpfully the zlib distribution
provides a zlib2ansi script to convert the declarations.

10 years agoConvert subs.t to use t/lib/common.pl
Nicholas Clark [Thu, 1 Jul 2010 12:59:26 +0000 (13:59 +0100)]
Convert subs.t to use t/lib/common.pl