perl/modules/Scope-Upper.git
3 years agoThis is 0.27 v0.27
Vincent Pit [Fri, 27 Mar 2015 22:10:45 +0000 (19:10 -0300)]
This is 0.27

3 years agoDocument that we can no longer die from uplevel in the debugger
Vincent Pit [Fri, 27 Mar 2015 21:34:26 +0000 (18:34 -0300)]
Document that we can no longer die from uplevel in the debugger

3 years agoAlso preserve PL_scopestack[cx->blk_oldscopesp - 1] in formats
Vincent Pit [Fri, 27 Mar 2015 19:45:02 +0000 (16:45 -0300)]
Also preserve PL_scopestack[cx->blk_oldscopesp - 1] in formats

3 years agoCorrectly use $TEST_VERBOSE in the testdeb target
Vincent Pit [Fri, 27 Mar 2015 19:08:14 +0000 (16:08 -0300)]
Correctly use $TEST_VERBOSE in the testdeb target

3 years agoPreserve PL_scopestack[cx->blk_oldscopesp - 1] in su_pop()
Vincent Pit [Fri, 27 Mar 2015 18:47:42 +0000 (15:47 -0300)]
Preserve PL_scopestack[cx->blk_oldscopesp - 1] in su_pop()

Starting from perl 5.19.4 commit 2537512, pp_leavesub does a second
leave_scope(PL_scopestack[cx->blk_oldscopesp - 1]) just after the usual
LEAVE call. However, this index in the scope stack may be overwritten
by our own "flush" leave_scope() call in su_pop(). More precisely, this
seems to happen in sv_clear() (called from sv_free2() called from
sv_unref_flags() called from sv_force_normal_flags() called from
leave_scope()) and only when the debugger is enabled.

3 years agoAdd POSIX to build requires
Vincent Pit [Tue, 24 Mar 2015 20:35:00 +0000 (17:35 -0300)]
Add POSIX to build requires

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

3 years agoDon't compile su_uplevel_storage_delete() before perl 5.13.7
Vincent Pit [Tue, 24 Mar 2015 02:30:16 +0000 (23:30 -0300)]
Don't compile su_uplevel_storage_delete() before perl 5.13.7

As it is unused on these older perls.

3 years agoProtect t/09-load-threads.t against old relocated perls
Vincent Pit [Tue, 24 Mar 2015 02:25:29 +0000 (23:25 -0300)]
Protect t/09-load-threads.t against old relocated perls

3 years agoUpdate VPIT::TestHelpers to 4eeb5afc
Vincent Pit [Tue, 24 Mar 2015 02:24:10 +0000 (23:24 -0300)]
Update VPIT::TestHelpers to 4eeb5afc

3 years agoAlso test that the module can be loaded in the main body
Vincent Pit [Tue, 24 Mar 2015 00:15:43 +0000 (21:15 -0300)]
Also test that the module can be loaded in the main body

3 years agoIn t/09-load-threads.t, handle spawn() failures gracefully
Vincent Pit [Tue, 24 Mar 2015 00:14:16 +0000 (21:14 -0300)]
In t/09-load-threads.t, handle spawn() failures gracefully

3 years agoThoroughly test module loading in threads
Vincent Pit [Mon, 23 Mar 2015 19:21:23 +0000 (16:21 -0300)]
Thoroughly test module loading in threads

3 years agoUpdate VPIT::TestHelpers to 6ca15279
Vincent Pit [Mon, 23 Mar 2015 19:15:04 +0000 (16:15 -0300)]
Update VPIT::TestHelpers to 6ca15279

3 years agoUpdate VPIT::TestHelpers to 6cd68168
Vincent Pit [Thu, 19 Mar 2015 19:25:32 +0000 (16:25 -0300)]
Update VPIT::TestHelpers to 6cd68168

And port threads tests to its new interface. The new 'force threads test'
environment variable is PERL_FORCE_TEST_THREADS.

3 years agoRelease UID global memory at global teardown time
Vincent Pit [Thu, 19 Mar 2015 16:08:35 +0000 (13:08 -0300)]
Release UID global memory at global teardown time

3 years agoRevamp the setup boot logic
Vincent Pit [Thu, 19 Mar 2015 15:09:46 +0000 (12:09 -0300)]
Revamp the setup boot logic

3 years agoSilence an "unused label" compiler warning
Vincent Pit [Thu, 19 Mar 2015 14:23:09 +0000 (11:23 -0300)]
Silence an "unused label" compiler warning

3 years agoReplace STATIC by static
Vincent Pit [Thu, 19 Mar 2015 13:53:46 +0000 (10:53 -0300)]
Replace STATIC by static

3 years agoFix a memory leak with the uid() feature
Vincent Pit [Thu, 19 Mar 2015 13:52:58 +0000 (10:52 -0300)]
Fix a memory leak with the uid() feature

The user data token was never freed.

3 years agoThis is 0.26 v0.26
Vincent Pit [Thu, 12 Mar 2015 23:42:04 +0000 (20:42 -0300)]
This is 0.26

3 years agoBump copyright year
Vincent Pit [Thu, 12 Mar 2015 22:55:00 +0000 (19:55 -0300)]
Bump copyright year

3 years agoUpdate VPIT::TestHelpers to 3c878c7c
Vincent Pit [Thu, 12 Mar 2015 12:58:40 +0000 (09:58 -0300)]
Update VPIT::TestHelpers to 3c878c7c

3 years agoDon’t use CvPADLIST on XSUBs rt100264
Father Chrysostomos [Fri, 6 Feb 2015 13:48:46 +0000 (14:48 +0100)]
Don’t use CvPADLIST on XSUBs

That field has been repurposed for XSUBs in perl 5.21.7. It used to be
ignored for older perls.

This fixes RT #100264.

3 years agoRemove an unused variable declaration
Vincent Pit [Fri, 6 Feb 2015 13:44:31 +0000 (14:44 +0100)]
Remove an unused variable declaration

3 years agoReally be compatible with the OP_PARENT feature
Vincent Pit [Fri, 6 Feb 2015 13:40:15 +0000 (14:40 +0100)]
Really be compatible with the OP_PARENT feature

OP_SIBLING() has been renamed to OpSIBLING() in perl 5.21.7.

3 years agoThis is 0.25 v0.25
Vincent Pit [Sun, 21 Sep 2014 17:10:00 +0000 (19:10 +0200)]
This is 0.25

3 years agoUpdate VPIT::TestHelpers to 4fb18792
Vincent Pit [Sun, 21 Sep 2014 15:35:28 +0000 (17:35 +0200)]
Update VPIT::TestHelpers to 4fb18792

3 years agoBump copyright year
Vincent Pit [Sun, 21 Sep 2014 15:33:38 +0000 (17:33 +0200)]
Bump copyright year

3 years agoWork around an assertion failure in perl 5.21.4
Vincent Pit [Sat, 20 Sep 2014 16:11:14 +0000 (18:11 +0200)]
Work around an assertion failure in perl 5.21.4

This was fixed in perl by commit 5988f306, in which Father Chrysostomos
says "CvNAMED should never be on after calling [CvGV_set], regardless
of the previous state of the CV".

3 years agoAdd support for PERL_OP_PARENT
Vincent Pit [Sat, 20 Sep 2014 15:59:52 +0000 (17:59 +0200)]
Add support for PERL_OP_PARENT

This was introduced in perl 5.21.2.

4 years agoThis is 0.24 v0.24
Vincent Pit [Tue, 10 Sep 2013 11:10:35 +0000 (13:10 +0200)]
This is 0.24

4 years agoPreserve lexicals across dounwind() calls on perl 5.19.4 and above
Vincent Pit [Mon, 9 Sep 2013 17:07:53 +0000 (19:07 +0200)]
Preserve lexicals across dounwind() calls on perl 5.19.4 and above

unwind() used to rely on the stack being preserved when dounwind() is
called. However, starting with change 25375124, dounwind() can now call
leave_scope() which will clean up lexicals in the unwinded scopes. We
can work around this by temporarily bumping the refcount of possibly
problematic scalars before calling dounwind().

See also https://rt.perl.org/rt3/Ticket/Display.html?id=119681.

4 years agoThis is 0.23 v0.23
Vincent Pit [Mon, 2 Sep 2013 11:31:20 +0000 (13:31 +0200)]
This is 0.23

4 years agoStyle nits
Vincent Pit [Mon, 2 Sep 2013 10:34:59 +0000 (12:34 +0200)]
Style nits

4 years agoAdjust t/07-context_info.t for perl 5.19.3 rt88177
Andrew Main [Mon, 2 Sep 2013 10:28:16 +0000 (12:28 +0200)]
Adjust t/07-context_info.t for perl 5.19.3

This fixes RT #88177.

4 years agoUpdate bundled Test::Leaner to 0.05
Vincent Pit [Sat, 24 Aug 2013 19:29:12 +0000 (16:29 -0300)]
Update bundled Test::Leaner to 0.05

4 years agoEnforce the perl dependency in the module file
Vincent Pit [Sat, 24 Aug 2013 18:45:41 +0000 (15:45 -0300)]
Enforce the perl dependency in the module file

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

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

4 years agoNo tabs please
Vincent Pit [Fri, 23 Aug 2013 19:00:18 +0000 (16:00 -0300)]
No tabs please

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

4 years agoSilence experimental warnings on perl 5.17.11+ for given/when in tests rt88174
Vincent Pit [Wed, 14 Aug 2013 17:34:02 +0000 (14:34 -0300)]
Silence experimental warnings on perl 5.17.11+ for given/when in tests

Using if.pm would have been cleaner but it is core only on perl 5.6.2, and
we still support 5.6.1. Moreover, trusting the toolchain on such old perls
is not really an option.

4 years agoTypos in POD rt87178
Vincent Pit [Wed, 7 Aug 2013 17:23:53 +0000 (14:23 -0300)]
Typos in POD

Reported by dsteinbrunner@pobox.com.

This fixes RT #87178.

4 years agoUpdate the bug tracker URL in META after the rt.perl.org upgrade
Vincent Pit [Wed, 7 Aug 2013 14:37:23 +0000 (11:37 -0300)]
Update the bug tracker URL in META after the rt.perl.org upgrade

4 years agoGet rid of t/99-kwalitee.t
Vincent Pit [Tue, 6 Aug 2013 03:07:59 +0000 (00:07 -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.

5 years agoThis is 0.22 v0.22
Vincent Pit [Wed, 30 Jan 2013 23:30:43 +0000 (21:30 -0200)]
This is 0.22

5 years agoBump copyright year
Vincent Pit [Wed, 30 Jan 2013 23:18:32 +0000 (21:18 -0200)]
Bump copyright year

5 years agoUpdate VPIT::TestHelpers to e8344578
Vincent Pit [Wed, 30 Jan 2013 16:56:40 +0000 (14:56 -0200)]
Update VPIT::TestHelpers to e8344578

5 years agocontext_info() should ignore %warnings::Bits until perl 5.8.7
Vincent Pit [Fri, 4 Jan 2013 12:26:18 +0000 (13:26 +0100)]
context_info() should ignore %warnings::Bits until perl 5.8.7

Just like what caller() does.

5 years agoCorrect the top warnings mask for 5.6 in t/07-context_info.t
Vincent Pit [Fri, 4 Jan 2013 12:25:03 +0000 (13:25 +0100)]
Correct the top warnings mask for 5.6 in t/07-context_info.t

It changes depending on whether the test is called with -w or not, which
itself depends on the version of Test::Harness used. To add to the
confusion, perl 5.6.1 comes without Test::More, so installing it pulls a
recent version of Test::Harness that does no longer enforces -w.

5 years agoRequire perl 5.6.1
Vincent Pit [Fri, 4 Jan 2013 12:22:19 +0000 (13:22 +0100)]
Require perl 5.6.1

5 years agoAlso skip the uplevel across eval/local $@ test on perl 5.8.[345]
Vincent Pit [Wed, 2 Jan 2013 00:39:05 +0000 (01:39 +0100)]
Also skip the uplevel across eval/local $@ test on perl 5.8.[345]

A more recent set of debugging 5.8 perls shows that this test also causes
"Can't undef active subroutine during global destruction" errors with
perl 5.8.[345]. The test used to be skipped for perl 5.8.[0126], it is now
skipped for perl 5.8.[0-6], which makes definitely more sense anyway.

5 years agoSkip 'yield to subst context' tests on perl 5.8 and below
Vincent Pit [Wed, 2 Jan 2013 00:22:27 +0000 (01:22 +0100)]
Skip 'yield to subst context' tests on perl 5.8 and below

The snippet :

    my $s = "foo";
    eval { $s =~ s/./die "wut"/e };
    qr/bar/;

segfaults on a threaded, debugging and poisonous perl 5.8.9. Just to be
safe, the relevant test won't be run before perl 5.10.

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

5 years agoAdd Config to build_requires
Vincent Pit [Fri, 2 Nov 2012 01:12:38 +0000 (23:12 -0200)]
Add Config to build_requires

5 years agoThis is 0.21 v0.21
Vincent Pit [Fri, 21 Sep 2012 15:09:54 +0000 (17:09 +0200)]
This is 0.21

5 years agoRemove an extra ;
Vincent Pit [Fri, 21 Sep 2012 14:08:15 +0000 (16:08 +0200)]
Remove an extra ;

5 years agoForce linking against the perl dll when using gcc 3.4 on Windows
Vincent Pit [Fri, 21 Sep 2012 14:07:13 +0000 (16:07 +0200)]
Force linking against the perl dll when using gcc 3.4 on Windows

When a Windows perl links an XS shared object to an import library using
gcc/g++ version 3.4.x, strange breakage happens at load time because the
mutex-related symbols seems not to be reachable. This situation happens
especially for AS perl and the default compiler suite it installs.

We fix this by forcing g++ to link against the dll instead, which should
be in the same directory as the perl executable (at least for AS perl).

5 years agoMake t/07-context_info.t pass with perls that have usesitecustomize set
Vincent Pit [Fri, 21 Sep 2012 14:02:02 +0000 (16:02 +0200)]
Make t/07-context_info.t pass with perls that have usesitecustomize set

sitecustomize.pl adds a "BEGIN { do { my $x; 1 } }" at the beginning of
the test code, which causes HINT_BLOCK_SCOPE to leak to the main program.

5 years agoFix context_info() warnings field for perl 5.17.4
Vincent Pit [Thu, 20 Sep 2012 19:38:41 +0000 (21:38 +0200)]
Fix context_info() warnings field for perl 5.17.4

5 years agoReformat the section of context_info() that extracts the warnings
Vincent Pit [Thu, 20 Sep 2012 19:18:44 +0000 (21:18 +0200)]
Reformat the section of context_info() that extracts the warnings

This will ease up future alterations to this code.

5 years agoMinor POD tweaks
Vincent Pit [Thu, 20 Sep 2012 19:02:32 +0000 (21:02 +0200)]
Minor POD tweaks

5 years agoThis is 0.20 v0.20
Vincent Pit [Mon, 17 Sep 2012 11:00:01 +0000 (13:00 +0200)]
This is 0.20

5 years agoImplement context_info()
Vincent Pit [Sun, 16 Sep 2012 22:19:33 +0000 (00:19 +0200)]
Implement context_info()

5 years agoSmall POD fixup
Vincent Pit [Sun, 16 Sep 2012 22:19:20 +0000 (00:19 +0200)]
Small POD fixup

5 years agoFix debugger compatibility with perl 5.17.1 and above
Vincent Pit [Sun, 16 Sep 2012 20:48:34 +0000 (22:48 +0200)]
Fix debugger compatibility with perl 5.17.1 and above

5 years agoTest 'return from do' in special cases
Vincent Pit [Fri, 14 Sep 2012 12:25:43 +0000 (14:25 +0200)]
Test 'return from do' in special cases

5 years agoFix spelling in a couple of new error messages
Vincent Pit [Fri, 14 Sep 2012 00:12:53 +0000 (02:12 +0200)]
Fix spelling in a couple of new error messages

5 years agoImplement leave()
Vincent Pit [Fri, 14 Sep 2012 00:04:31 +0000 (02:04 +0200)]
Implement leave()

5 years agoMove PL_stack_sp/items adjustments from su_unwind/su_yield to XSubs
Vincent Pit [Thu, 13 Sep 2012 23:44:06 +0000 (01:44 +0200)]
Move PL_stack_sp/items adjustments from su_unwind/su_yield to XSubs

5 years agoExplicitely require a C compiler
Vincent Pit [Thu, 13 Sep 2012 23:07:49 +0000 (01:07 +0200)]
Explicitely require a C compiler

5 years agoImplement yield()
Vincent Pit [Sun, 9 Sep 2012 22:06:07 +0000 (00:06 +0200)]
Implement yield()

5 years agoFix the documentation of the context argument of unwind() and uplevel()
Vincent Pit [Thu, 13 Sep 2012 17:33:07 +0000 (19:33 +0200)]
Fix the documentation of the context argument of unwind() and uplevel()

5 years agoNormalize words
Vincent Pit [Tue, 11 Sep 2012 23:27:42 +0000 (01:27 +0200)]
Normalize words

5 years agoBanish (most) eval STRING from t/84-stress-unwind.t
Vincent Pit [Tue, 11 Sep 2012 19:07:26 +0000 (21:07 +0200)]
Banish (most) eval STRING from t/84-stress-unwind.t

The span of tested configurations has changed slightly, but this test is
now about 70% faster.

5 years agoSilence a couple of warnings reported by gcc
Vincent Pit [Tue, 11 Sep 2012 12:27:00 +0000 (14:27 +0200)]
Silence a couple of warnings reported by gcc

5 years agoRevamp the logic used for skipping debugger frames
Vincent Pit [Mon, 10 Sep 2012 12:42:27 +0000 (14:42 +0200)]
Revamp the logic used for skipping debugger frames

5 years agoFix and test UP and SCOPE crossing loop/subst/given/when/default blocks
Vincent Pit [Mon, 10 Sep 2012 11:03:20 +0000 (13:03 +0200)]
Fix and test UP and SCOPE crossing loop/subst/given/when/default blocks

5 years agoMake t/63-uplevel-ctl.t pass with the debugger enabled
Vincent Pit [Mon, 10 Sep 2012 09:12:55 +0000 (11:12 +0200)]
Make t/63-uplevel-ctl.t pass with the debugger enabled

5 years agoMake some room in test ordering
Vincent Pit [Sun, 9 Sep 2012 13:34:56 +0000 (15:34 +0200)]
Make some room in test ordering

5 years agoMove the fallback OP_GIMME_REVERSE() up to the compat section
Vincent Pit [Sun, 9 Sep 2012 12:41:14 +0000 (14:41 +0200)]
Move the fallback OP_GIMME_REVERSE() up to the compat section

5 years agoFactor our verbose is() in Scope::Upper::TestGenerator
Vincent Pit [Sun, 9 Sep 2012 10:14:22 +0000 (12:14 +0200)]
Factor our verbose is() in Scope::Upper::TestGenerator

5 years agoDo less function calls in Scope::Upper::TestGenerator::gen()
Vincent Pit [Sun, 9 Sep 2012 09:31:57 +0000 (11:31 +0200)]
Do less function calls in Scope::Upper::TestGenerator::gen()

5 years agoRework how Scope::Upper::TestGenerator generates its 'local' tests
Vincent Pit [Sun, 9 Sep 2012 09:16:30 +0000 (11:16 +0200)]
Rework how Scope::Upper::TestGenerator generates its 'local' tests

5 years agoUpdate VPIT::TestHandlers
Vincent Pit [Sun, 9 Sep 2012 09:15:43 +0000 (11:15 +0200)]
Update VPIT::TestHandlers

5 years agoDo less eval STRING in t/85-stress-unwind.t
Vincent Pit [Sun, 9 Sep 2012 08:44:52 +0000 (10:44 +0200)]
Do less eval STRING in t/85-stress-unwind.t

This yields a 40% speedup.

5 years agoMake t/85-stress-unwind.t predictable
Vincent Pit [Sat, 8 Sep 2012 23:05:20 +0000 (01:05 +0200)]
Make t/85-stress-unwind.t predictable

5 years agoRevamp t/85-stress-unwind.t
Vincent Pit [Sat, 8 Sep 2012 17:48:52 +0000 (19:48 +0200)]
Revamp t/85-stress-unwind.t

Stop using eval() to compute the expected value. This highlighted an issue
with how list() was defined.

This test now runs about 25% faster.

5 years agoMake SU_CXNAME take the context as argument
Vincent Pit [Sat, 8 Sep 2012 17:46:21 +0000 (19:46 +0200)]
Make SU_CXNAME take the context as argument

5 years agoCheck that unwind(-1) dies and that unwind() doesn't
Vincent Pit [Fri, 7 Sep 2012 22:54:14 +0000 (00:54 +0200)]
Check that unwind(-1) dies and that unwind() doesn't

5 years agoFix building with the newest version of 5.17.4
Father Chrysostomos [Fri, 7 Sep 2012 12:28:05 +0000 (14:28 +0200)]
Fix building with the newest version of 5.17.4

5 years agoReally make POD headers linkable
Vincent Pit [Fri, 7 Sep 2012 11:06:34 +0000 (13:06 +0200)]
Really make POD headers linkable

5 years agoThis is 0.19 v0.19
Vincent Pit [Sat, 1 Sep 2012 13:25:22 +0000 (15:25 +0200)]
This is 0.19

5 years agoBump copyright year
Vincent Pit [Sat, 1 Sep 2012 13:01:35 +0000 (15:01 +0200)]
Bump copyright year

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

5 years agoPort module loading in tests to VPIT::TestHelpers
Vincent Pit [Wed, 22 Aug 2012 09:45:18 +0000 (11:45 +0200)]
Port module loading in tests to VPIT::TestHelpers

5 years agoKill Debian_CPANTS.txt suffixes as well
Vincent Pit [Wed, 22 Aug 2012 09:35:49 +0000 (11:35 +0200)]
Kill Debian_CPANTS.txt suffixes as well

5 years agoUpdate author tests, and add a POD spelling test
Vincent Pit [Wed, 22 Aug 2012 09:34:25 +0000 (11:34 +0200)]
Update author tests, and add a POD spelling test

Also make sure that the kwalitee test unlinks its byproducts.

5 years agoFix build with the new PADLIST API from 5.17.4 rt79182
Vincent Pit [Wed, 22 Aug 2012 09:24:55 +0000 (11:24 +0200)]
Fix build with the new PADLIST API from 5.17.4