]> git.vpit.fr Git - perl/modules/Variable-Magic.git/log
perl/modules/Variable-Magic.git
7 years agoOnly enable careful self destruction on perl 5.25.3 and higher
Vincent Pit [Wed, 7 Dec 2016 00:55:57 +0000 (22:55 -0200)]
Only enable careful self destruction on perl 5.25.3 and higher

7 years agoHandle self destruction manually rt115792
Dave Mitchell [Tue, 6 Dec 2016 23:45:35 +0000 (21:45 -0200)]
Handle self destruction manually

A slightly modified version of the failing test code is as follows:

    use Variable::Magic qw<wizard cast>;

    my $wiz2 = wizard;
    my $wiz1 = wizard free =>
            sub { warn "recasting\n"; &cast($_[0], $wiz2); die ; };

    warn "result of eval = [" . eval {
     my $v = do { my $val = 123; \$val };
     study;
     &cast($v, $wiz1);
     warn "just at end of eval\n";
    } . "]\n";
    warn "just after eval\n";

On 5.24.0, this gives:

    just at end of eval
    recasting
    result of eval = []
    recasting
    just after eval

The mortal RV that is created to temporarily point at the scalar being
freed (the IV(123) above) to pass to the free method, isn't initially
freed, and is only freed by the FREETMPS in the nextstate following the
eval. When freed, it triggers another free of the IV(123), which although
it should now be under the influence of $wiz2 rather than $wiz1, it still
calls the 'free' anon sub (I don't understand why its still called, and I
haven't looked into it).

The TEMP not getting freed until after the statement following the eval is
the bug my blead patch was supposed to fix (which it does), but which
caused infinite recursion.

My fix avoids making the temporary mortal RV a TEMP on the tmps stack,
and instead stores a pointer to it in the vmg_svt_free_cleanup_ud struct.
This RV is then manually freed in both the normal and exception cleanup
paths.

7 years agoTest that recasting happens only once
Vincent Pit [Tue, 6 Dec 2016 23:38:07 +0000 (21:38 -0200)]
Test that recasting happens only once

This fails starting from perl 5.24.

8 years agoThis is 0.60 v0.60
Vincent Pit [Tue, 6 Sep 2016 22:34:17 +0000 (19:34 -0300)]
This is 0.60

8 years agoSkip len magic test on negative indices on recent perls rt117081
Vincent Pit [Tue, 6 Sep 2016 21:33:16 +0000 (18:33 -0300)]
Skip len magic test on negative indices on recent perls

Starting from perl 5.25.4, this does not cause len magic to be triggered
anymore. It has been temporarily reverted from the core, but is likely to
come back, so this should appease the smokes.

This fixes [RT #128989].

8 years agoBump copyright year
Vincent Pit [Tue, 6 Sep 2016 21:25:41 +0000 (18:25 -0300)]
Bump copyright year

8 years agoUpdate VPIT::XSHelpers to 18554226
Vincent Pit [Tue, 6 Sep 2016 21:24:08 +0000 (18:24 -0300)]
Update VPIT::XSHelpers to 18554226

Modulo the C++ bit... sigh.

8 years agoThe Big Boilerplate Factorization
Vincent Pit [Wed, 4 Nov 2015 13:34:25 +0000 (11:34 -0200)]
The Big Boilerplate Factorization

9 years agoThis is 0.59 v0.59
Vincent Pit [Mon, 5 Oct 2015 19:05:32 +0000 (16:05 -0300)]
This is 0.59

9 years agoRemove a now obsolete workaround for context stack smashing
Vincent Pit [Thu, 1 Oct 2015 13:51:18 +0000 (10:51 -0300)]
Remove a now obsolete workaround for context stack smashing

Since we switch stacks, we also switch context stacks, so this is no longer
necessary.

9 years agoExecute magic callbacks into separate stacks rt107294
Vincent Pit [Thu, 1 Oct 2015 13:09:17 +0000 (10:09 -0300)]
Execute magic callbacks into separate stacks

When magic triggered, stack corruption could occur since the magic callback
arguments were passed on the same stack as the ambient one. This issue has
long gone unnoticed because most ops first unpack their stack arguments
before processing magic, but also because this module is mostly used in
practice to capture magic outside of the usual program op structure were
the argument stack is relevant.

This was made visible with core change 6442877a (publicized in perl 5.22.0)
which caused get magic on transliterations to happen on the same C argument
list as a PUSHmortal. This resulted in an undefined behaviour which was
usually resolved by the magic being processed first (for example by gcc),
but cl.exe on win32 prefers to execute the PUSHmortal first, hence the
stack was corrupted.

This fixes RT #107294.

9 years agoImprove support for custom ops
Vincent Pit [Fri, 25 Sep 2015 10:54:47 +0000 (12:54 +0200)]
Improve support for custom ops

This was added to the core in commit 1830b3d9, which was publicized in perl
5.13.7. Note that our version is slightly different but simpler, since I
can't see how the op type might change during the call to OP_CLASS().

9 years agoCorrectly bless UTF-8 transliteration op objects
Vincent Pit [Fri, 25 Sep 2015 10:26:01 +0000 (12:26 +0200)]
Correctly bless UTF-8 transliteration op objects

This is a port of commit 512ba29b from perl.

9 years agoRepresent nulled COPs as B::COP objects
Vincent Pit [Fri, 25 Sep 2015 10:09:04 +0000 (12:09 +0200)]
Represent nulled COPs as B::COP objects

This change was added to the core B.xs in commit 619dadb5, which was made
public in perl 5.21.7. It is pretty unlikely that magic will ever be called
for these nulled ops, but it is better to keep our chunk of B.xs in sync
with the core.

9 years agoAdd support for ops of class UNOP_AUX
Vincent Pit [Fri, 25 Sep 2015 10:00:36 +0000 (12:00 +0200)]
Add support for ops of class UNOP_AUX

This class has been added in commit 2f7c6295, which was publicly available
in perl 5.21.7.

9 years agoRemove the code coverage link
Vincent Pit [Fri, 31 Jul 2015 18:55:13 +0000 (15:55 -0300)]
Remove the code coverage link

It's outdated and now covered by cpancover.

9 years agoMake sure asserts are only checked on DEBUGGING builds
Vincent Pit [Fri, 31 Jul 2015 18:50:17 +0000 (15:50 -0300)]
Make sure asserts are only checked on DEBUGGING builds

9 years agoThis is 0.58 v0.58
Vincent Pit [Tue, 21 Jul 2015 16:00:13 +0000 (13:00 -0300)]
This is 0.58

9 years agoRemove the done_testing() comment in t/09-load-threads.t
Vincent Pit [Tue, 21 Jul 2015 15:25:50 +0000 (12:25 -0300)]
Remove the done_testing() comment in t/09-load-threads.t

The croaking stubs are actually imported only when the environment variable
PERL_TEST_LEANER_USES_TEST_MORE is set.

9 years agoSimplify the timeout logic in t/09-load-threads.t
Vincent Pit [Tue, 21 Jul 2015 15:09:57 +0000 (12:09 -0300)]
Simplify the timeout logic in t/09-load-threads.t

The old loop could actually never be executed more than one iteration.
A real good implementation would check whether any of the peers has exited,
but it would involve much more work.

9 years agoRemove an unused static variable
Vincent Pit [Mon, 20 Jul 2015 22:37:15 +0000 (19:37 -0300)]
Remove an unused static variable

9 years agoWork around stray exits in t/09-load-threads.t
Vincent Pit [Mon, 20 Jul 2015 22:20:34 +0000 (19:20 -0300)]
Work around stray exits in t/09-load-threads.t

9 years agoWork around stray exits in t/40-threads.t and t/41-clone.t
Vincent Pit [Mon, 20 Jul 2015 18:47:42 +0000 (15:47 -0300)]
Work around stray exits in t/40-threads.t and t/41-clone.t

9 years agoUpdate VPIT::TestHelpers to ba865c42
Vincent Pit [Mon, 20 Jul 2015 22:34:14 +0000 (19:34 -0300)]
Update VPIT::TestHelpers to ba865c42

9 years agoAvoid global lookups in the magic callbacks in t/18-opinfo.t
Vincent Pit [Mon, 20 Jul 2015 18:03:32 +0000 (15:03 -0300)]
Avoid global lookups in the magic callbacks in t/18-opinfo.t

This will hopefull work around a rare test failure on MSWin32 (see
http://www.cpantesters.org/cpan/report/cbda218a-6c4a-1014-b9c5-a00a324d4f1e)

9 years agoDelay destruction of reference return values till the current statement end
Vincent Pit [Mon, 20 Jul 2015 17:12:48 +0000 (14:12 -0300)]
Delay destruction of reference return values till the current statement end

9 years agoTest timely destruction of values returned from magic callbacks
Vincent Pit [Mon, 20 Jul 2015 16:32:52 +0000 (13:32 -0300)]
Test timely destruction of values returned from magic callbacks

9 years agoUpdate VPIT::TestHelpers to 3ba261a5
Vincent Pit [Mon, 20 Jul 2015 16:28:55 +0000 (13:28 -0300)]
Update VPIT::TestHelpers to 3ba261a5

9 years agoThis is 0.57 v0.57
Vincent Pit [Fri, 17 Apr 2015 15:20:02 +0000 (12:20 -0300)]
This is 0.57

9 years agoRename a variable in t/09-load-threads.t
Vincent Pit [Thu, 16 Apr 2015 19:25:49 +0000 (16:25 -0300)]
Rename a variable in t/09-load-threads.t

9 years agoAlso test cloning in t/09-load-threads.t
Vincent Pit [Thu, 16 Apr 2015 19:24:18 +0000 (16:24 -0300)]
Also test cloning in t/09-load-threads.t

9 years agovmg_teardown() should also be called at the end of cloned threads
Vincent Pit [Tue, 14 Apr 2015 17:12:44 +0000 (14:12 -0300)]
vmg_teardown() should also be called at the end of cloned threads

This is achieved by removing the "top interpreter" guard in vmg_teardown(),
which has been obsoleted by our new loaded refcount.

9 years agoUpdate VPIT::TestHelpers to 6d578776
Vincent Pit [Tue, 14 Apr 2015 17:07:43 +0000 (14:07 -0300)]
Update VPIT::TestHelpers to 6d578776

And list the dependencies for the 'capture' feature in BUILD_REQUIRES.

9 years agoMake sure t/40-threads.t does not use the CLONE method
Vincent Pit [Tue, 14 Apr 2015 17:01:55 +0000 (14:01 -0300)]
Make sure t/40-threads.t does not use the CLONE method

This is t/41-clone.t's job.

9 years agoUpdate VPIT::TestHelpers to 3edc6d15
Vincent Pit [Tue, 14 Apr 2015 16:53:04 +0000 (13:53 -0300)]
Update VPIT::TestHelpers to 3edc6d15

POSIX is now correctly required.

9 years agoAllow disabling thread safety in Makefile.PL
Vincent Pit [Tue, 14 Apr 2015 16:50:58 +0000 (13:50 -0300)]
Allow disabling thread safety in Makefile.PL

Note that thread safety still cannot be forcefully enabled if the necessary
macros are not defined.

9 years agoMake sure the load refcount is reset on global setup
Vincent Pit [Tue, 14 Apr 2015 14:46:12 +0000 (11:46 -0300)]
Make sure the load refcount is reset on global setup

9 years agoDon't lock the VMG_LOADED mutex across global destruction
Vincent Pit [Thu, 9 Apr 2015 18:12:26 +0000 (15:12 -0300)]
Don't lock the VMG_LOADED mutex across global destruction

If this mutex falls back to the OP_REFCNT mutex, and that a coderef is
freed during global destruction, the mutex is taken twice and the process
hangs. As a general rule, it does not seem very safe so we just set
vmg_loaded to zero early and only run the global teardown callback if
it is zero. This ensures that this callback will only be called once.

9 years agoUpdate VPIT::TestHelpers to f24eb57f
Vincent Pit [Thu, 9 Apr 2015 16:57:47 +0000 (13:57 -0300)]
Update VPIT::TestHelpers to f24eb57f

And port t/17-ctl.t to the new 'capture' feature. Capture::Tiny is no
longer needed for the optional external tests.

9 years agoReference-count global setup/teardown
Vincent Pit [Wed, 8 Apr 2015 12:24:50 +0000 (09:24 -0300)]
Reference-count global setup/teardown

This fixes surprises like this one : module loaded in thread 1, then in
thread 2, then thread 1 ends and now the module does not work anymore in
thread 2 (even though it should).

9 years agoUpdate t/09-load-test.t
Vincent Pit [Mon, 6 Apr 2015 18:50:05 +0000 (15:50 -0300)]
Update t/09-load-test.t

It now has better diagnostics in case of failure, and it tests asymetrical
thread termination.

9 years agoMake sure MULTIPLICITY builds set PERL_IMPLICIT_CONTEXT
Vincent Pit [Tue, 31 Mar 2015 20:18:40 +0000 (17:18 -0300)]
Make sure MULTIPLICITY builds set PERL_IMPLICIT_CONTEXT

9 years agoAdd a missing volatile qualifier
Vincent Pit [Tue, 31 Mar 2015 17:22:15 +0000 (14:22 -0300)]
Add a missing volatile qualifier

9 years agoImprove scheduling for the parallel loading test
Vincent Pit [Tue, 31 Mar 2015 17:14:53 +0000 (14:14 -0300)]
Improve scheduling for the parallel loading test

9 years agoRevamp the setup boot logic
Vincent Pit [Mon, 30 Mar 2015 20:45:56 +0000 (17:45 -0300)]
Revamp the setup boot logic

All of this just to fix a couple of leaks!

9 years agoSet PERL_DESTRUCT_LEVEL through the environment variable on debugging perls
Vincent Pit [Mon, 30 Mar 2015 20:01:51 +0000 (17:01 -0300)]
Set PERL_DESTRUCT_LEVEL through the environment variable on debugging perls

9 years agoAlways honor $ENV{PERL_DESTRUCT_LEVEL} when it's set for a debugging perl
Vincent Pit [Mon, 30 Mar 2015 19:39:04 +0000 (16:39 -0300)]
Always honor $ENV{PERL_DESTRUCT_LEVEL} when it's set for a debugging perl

I.e. don't fall back to Perl::Destruct::Level if the level is not high
enough.

9 years agoUse PERL_FORCE_TEST_THREADS to force testing global destruction
Vincent Pit [Mon, 30 Mar 2015 17:16:21 +0000 (14:16 -0300)]
Use PERL_FORCE_TEST_THREADS to force testing global destruction

9 years agoRevamp PERL_DESTRUCT_LEVEL handling
Vincent Pit [Mon, 30 Mar 2015 17:14:20 +0000 (14:14 -0300)]
Revamp PERL_DESTRUCT_LEVEL handling

9 years agoAllow passing level 0 to Variable::Magic::TestGlobalDestruction::import
Vincent Pit [Mon, 30 Mar 2015 17:13:40 +0000 (14:13 -0300)]
Allow passing level 0 to Variable::Magic::TestGlobalDestruction::import

9 years agoPort thread tests to the new VPIT::TestHelpers interface
Vincent Pit [Sat, 28 Mar 2015 00:41:12 +0000 (21:41 -0300)]
Port thread tests to the new VPIT::TestHelpers interface

The new 'force threads test' environment variable is
PERL_FORCE_TEST_THREADS.

9 years agoThoroughly test module loading in threads
Vincent Pit [Sat, 28 Mar 2015 00:32:38 +0000 (21:32 -0300)]
Thoroughly test module loading in threads

9 years agoUpdate VPIT::TestHelpers to 4eeb5afc
Vincent Pit [Sat, 28 Mar 2015 00:31:52 +0000 (21:31 -0300)]
Update VPIT::TestHelpers to 4eeb5afc

9 years agoUpdate the ActivePerl/gcc-3.4 hack for EUMM 7.04
Vincent Pit [Tue, 24 Mar 2015 19:54:30 +0000 (16:54 -0300)]
Update the ActivePerl/gcc-3.4 hack for EUMM 7.04

Starting from this version, PERL_ARCHIVE is quoted so we can no longer set
it to the empty string. Instead, we remove all occurrences of PERL_ARCHIVE
in the linking step section of the Makefile, which is OK since we specify
the perl DLL in other variables. This new technique is still valid for
older versions of EUMM.

9 years agoThis is 0.56 v0.56
Vincent Pit [Wed, 11 Mar 2015 15:07:32 +0000 (12:07 -0300)]
This is 0.56

9 years agoBump copyright year
Vincent Pit [Wed, 11 Mar 2015 15:01:22 +0000 (12:01 -0300)]
Bump copyright year

9 years agoUpdate VPIT::TestHelpers to 3d200396
Vincent Pit [Wed, 11 Mar 2015 14:39:51 +0000 (11:39 -0300)]
Update VPIT::TestHelpers to 3d200396

9 years agoAdd lib.pm to BUILD_REQUIRES
Vincent Pit [Wed, 11 Mar 2015 13:25:06 +0000 (10:25 -0300)]
Add lib.pm to BUILD_REQUIRES

9 years agoReplace STATIC by static
Vincent Pit [Wed, 11 Mar 2015 01:30:07 +0000 (22:30 -0300)]
Replace STATIC by static

9 years agoSet the mg_flags inside vmg_sv_magicext() according to the vtbl entries
Vincent Pit [Wed, 11 Mar 2015 01:04:33 +0000 (22:04 -0300)]
Set the mg_flags inside vmg_sv_magicext() according to the vtbl entries

9 years agoFactor the sv_magicext() calls into one vmg_sv_magicext()
Vincent Pit [Wed, 11 Mar 2015 00:58:17 +0000 (21:58 -0300)]
Factor the sv_magicext() calls into one vmg_sv_magicext()

This new function effectively steals the given object.

9 years agoAdd a couple of missing SvREFCNT_dec() after sv_magicext()
Vincent Pit [Wed, 11 Mar 2015 00:41:08 +0000 (21:41 -0300)]
Add a couple of missing SvREFCNT_dec() after sv_magicext()

9 years agoSimplify vmg_propagate_errsv_free() so that ERRSV is not used as a lvalue rt101410
Vincent Pit [Tue, 10 Mar 2015 20:02:17 +0000 (17:02 -0300)]
Simplify vmg_propagate_errsv_free() so that ERRSV is not used as a lvalue

9 years agoSimplify vmg_pp_propagate_errsv() so that ERRSV is not used as a lvalue
Vincent Pit [Tue, 10 Mar 2015 20:01:30 +0000 (17:01 -0300)]
Simplify vmg_pp_propagate_errsv() so that ERRSV is not used as a lvalue

9 years agoSimplify vmg_call_sv() so that ERRSV is no longer used as a lvalue
Vincent Pit [Tue, 10 Mar 2015 19:33:52 +0000 (16:33 -0300)]
Simplify vmg_call_sv() so that ERRSV is no longer used as a lvalue

It's less hackish and more resilient to core changes.

9 years agoCode cleanups in Variable::Magic::TestGlobalDestruction::import
Vincent Pit [Tue, 10 Mar 2015 19:10:36 +0000 (16:10 -0300)]
Code cleanups in Variable::Magic::TestGlobalDestruction::import

9 years agoMake Variable::Magic::TestGlobalDestruction::import return its result
Vincent Pit [Tue, 10 Mar 2015 19:08:30 +0000 (16:08 -0300)]
Make Variable::Magic::TestGlobalDestruction::import return its result

9 years agoOutput a diagnostic if global destruction is not tested
Vincent Pit [Tue, 10 Mar 2015 19:07:08 +0000 (16:07 -0300)]
Output a diagnostic if global destruction is not tested

9 years agoOnly test global destruction on perl 5.13.4+
Vincent Pit [Tue, 10 Mar 2015 19:05:26 +0000 (16:05 -0300)]
Only test global destruction on perl 5.13.4+

Or if PERL_VARIABLE_MAGIC_TEST_THREADS is set, for debugging purpose.

9 years agoRemove taint mode from t/15-self.t
Vincent Pit [Tue, 10 Mar 2015 18:55:52 +0000 (15:55 -0300)]
Remove taint mode from t/15-self.t

Or Config::Perl::V will never be used.

9 years agoBetter logic for deciding if this perl has DEBUGGING enabled
Vincent Pit [Tue, 10 Mar 2015 18:55:18 +0000 (15:55 -0300)]
Better logic for deciding if this perl has DEBUGGING enabled

In particular, it uses Config::Perl::V if it is present.

10 years agoThis is 0.55 v0.55
Vincent Pit [Mon, 20 Oct 2014 23:45:33 +0000 (21:45 -0200)]
This is 0.55

10 years agoRemove test dependencies list in POD
Vincent Pit [Mon, 20 Oct 2014 23:33:59 +0000 (21:33 -0200)]
Remove test dependencies list in POD

10 years agoAdd support for METHOP ops rt99319
Vincent Pit [Mon, 20 Oct 2014 21:39:48 +0000 (19:39 -0200)]
Add support for METHOP ops

This new op class has been introduced with perl commit b46e009d9, which was
published with perl 5.21.5.

This fixes RT #99319.

10 years agoDon't hardcode the OPc_* values
Vincent Pit [Mon, 20 Oct 2014 21:31:50 +0000 (19:31 -0200)]
Don't hardcode the OPc_* values

This simplifies the addition of new op classes.

10 years agoThis is 0.54 v0.54
Vincent Pit [Mon, 22 Sep 2014 17:30:47 +0000 (19:30 +0200)]
This is 0.54

10 years agoBump copyright year
Vincent Pit [Mon, 22 Sep 2014 17:09:53 +0000 (19:09 +0200)]
Bump copyright year

10 years agoAdd support for copy magic on code prototype clone rt90205
Vincent Pit [Mon, 22 Sep 2014 17:07:25 +0000 (19:07 +0200)]
Add support for copy magic on code prototype clone

This introduces the constant VMG_COMPAT_CODE_COPY_CLONE.

10 years agoReally make t/35-stash.t pass on 5.21.4 rt98525
Vincent Pit [Mon, 22 Sep 2014 16:20:30 +0000 (18:20 +0200)]
Really make t/35-stash.t pass on 5.21.4

Looks like the core was changed between commit 31d52b17 and the release
of perl 5.21.4.

10 years agoUse run_perl() from VPIT::TestHelpers
Vincent Pit [Mon, 1 Sep 2014 12:57:05 +0000 (14:57 +0200)]
Use run_perl() from VPIT::TestHelpers

This updates VPIT::TestHelpers to 4fb18792.

10 years agoMake t/35-stash.t pass on 5.21.4
Vincent Pit [Mon, 1 Sep 2014 12:09:07 +0000 (14:09 +0200)]
Make t/35-stash.t pass on 5.21.4

11 years agoThis is 0.53 v0.53
Vincent Pit [Sun, 1 Sep 2013 17:50:02 +0000 (19:50 +0200)]
This is 0.53

11 years agoBump copyright year
Vincent Pit [Sun, 1 Sep 2013 17:42:32 +0000 (19:42 +0200)]
Bump copyright year

11 years agoMake Perl version numbers more readable
Vincent Pit [Sat, 24 Aug 2013 18:19:32 +0000 (15:19 -0300)]
Make Perl version numbers more readable

11 years agoRemove obsolete kwalitee workarounds
Vincent Pit [Sat, 24 Aug 2013 16:40:45 +0000 (13:40 -0300)]
Remove obsolete kwalitee workarounds

11 years agoNo tabs please
Vincent Pit [Fri, 23 Aug 2013 19:37:57 +0000 (16:37 -0300)]
No tabs please

11 years agoStop bundling author tests
Vincent Pit [Tue, 20 Aug 2013 21:17:15 +0000 (18:17 -0300)]
Stop bundling author tests

11 years agoGet rid of t/99-kwalitee.t
Vincent Pit [Tue, 6 Aug 2013 03:23:30 +0000 (00:23 -0300)]
Get rid of t/99-kwalitee.t

New versions started to throw warnings if specific environment variables
are not set. This may be appropriate for dist manager users, but not really
for the rest of the world.

Since kwalitee metrics are either obvious or useless, there's no big loss
in removing this test anyway.

11 years agoUpdate the bug tracker URL in META after the rt.perl.org upgrade
Vincent Pit [Sun, 23 Jun 2013 02:24:58 +0000 (23:24 -0300)]
Update the bug tracker URL in META after the rt.perl.org upgrade

11 years agoTypo in POD rt86338
Vincent Pit [Sun, 23 Jun 2013 02:23:02 +0000 (23:23 -0300)]
Typo in POD

Reported by dsteinbrunner@pobox.com.

This fixes RT #86338.

11 years agoUpdate VPIT::TestHelpers to e8344578
Vincent Pit [Wed, 30 Jan 2013 17:10:51 +0000 (15:10 -0200)]
Update VPIT::TestHelpers to e8344578

11 years agoThis is 0.52 v0.52
Vincent Pit [Mon, 5 Nov 2012 02:30:14 +0000 (00:30 -0200)]
This is 0.52

11 years agoAdd VMG_COMPAT_SCALAR_NOLEN rt80388
Vincent Pit [Mon, 5 Nov 2012 02:11:20 +0000 (00:11 -0200)]
Add VMG_COMPAT_SCALAR_NOLEN

Starting from perl 5.17.4, perl no longer calls 'len' magic on scalars.
This new compatibility macro reflects this change.

This fixes RT #80388.

11 years agoMake t/35-stash.t pass with perl 5.17.4 and above
Vincent Pit [Mon, 5 Nov 2012 01:36:33 +0000 (23:36 -0200)]
Make t/35-stash.t pass with perl 5.17.4 and above

Since this version, delete on a stash does no longer calls 'store' uvar
magic twice.

12 years agoSimplify Config loading in Makefile.PL
Vincent Pit [Fri, 2 Nov 2012 01:08:09 +0000 (23:08 -0200)]
Simplify Config loading in Makefile.PL

12 years agoDon't run the POD spelling test in taint mode
Vincent Pit [Fri, 2 Nov 2012 00:27:25 +0000 (22:27 -0200)]
Don't run the POD spelling test in taint mode

This causes the test to crash on perl 5.12 and below with sensitive
architectures like FreeBSD. Ultimately the root of the issue seems to have
been https://rt.perl.org/rt3/Public/Bug/Display.html?id=60378.

Thanks Slaven Rezic for debugging this.

12 years agoUpdate author tests requirements
Vincent Pit [Wed, 22 Aug 2012 10:14:10 +0000 (12:14 +0200)]
Update author tests requirements

12 years agoAdd BUILD_REQUIRES to WriteMakefile()
Vincent Pit [Wed, 22 Aug 2012 10:12:49 +0000 (12:12 +0200)]
Add BUILD_REQUIRES to WriteMakefile()

12 years agoCheck destruction order for exceptions thrown in free callbacks
Vincent Pit [Mon, 20 Aug 2012 17:39:21 +0000 (19:39 +0200)]
Check destruction order for exceptions thrown in free callbacks

12 years agoUpdate how author tests load their dependencies
Vincent Pit [Mon, 20 Aug 2012 17:03:06 +0000 (19:03 +0200)]
Update how author tests load their dependencies

Also make sure that the kwalitee test unlinks its byproducts.