perl/modules/indirect.git
2 years agoFix breakage caused by core change f14cf363 rt127118
Vincent Pit [Mon, 8 Jul 2019 10:20:56 +0000 (12:20 +0200)]
Fix breakage caused by core change f14cf363

This fixes [RT #127118].

4 years agoThis is 0.38 v0.38
Vincent Pit [Sat, 4 Nov 2017 15:38:13 +0000 (16:38 +0100)]
This is 0.38

4 years agoBump copyright year
Vincent Pit [Sat, 4 Nov 2017 15:22:23 +0000 (16:22 +0100)]
Bump copyright year

4 years agoUpdate VPIT::TestHelpers to 15e8aee3 rt123374
Vincent Pit [Sat, 4 Nov 2017 14:57:41 +0000 (15:57 +0100)]
Update VPIT::TestHelpers to 15e8aee3

5 years agoThis is 0.37 v0.37
Vincent Pit [Tue, 12 Jul 2016 16:40:50 +0000 (13:40 -0300)]
This is 0.37

5 years agoBump copyright year
Vincent Pit [Tue, 12 Jul 2016 15:57:06 +0000 (12:57 -0300)]
Bump copyright year

5 years agoTest indirect calls in babycart in heredocs
Vincent Pit [Tue, 12 Jul 2016 15:41:51 +0000 (12:41 -0300)]
Test indirect calls in babycart in heredocs

5 years agoProperly handle heredocs rt115392
Vincent Pit [Tue, 12 Jul 2016 14:52:50 +0000 (11:52 -0300)]
Properly handle heredocs

This fixes RT #115392.

5 years agoUpdate VPIT::TestHelpers to 32b27283
Vincent Pit [Tue, 12 Jul 2016 14:49:53 +0000 (11:49 -0300)]
Update VPIT::TestHelpers to 32b27283

5 years agoUpdate XS helpers to 18554226
Vincent Pit [Mon, 11 Jul 2016 15:50:20 +0000 (12:50 -0300)]
Update XS helpers to 18554226

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

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

It's outdated and now covered by cpancover.

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

6 years agoHarden t/40-threads.t and t/42-threads-global.t against stray exits
Vincent Pit [Fri, 31 Jul 2015 15:47:32 +0000 (12:47 -0300)]
Harden t/40-threads.t and t/42-threads-global.t against stray exits

6 years agoUpdate t/09-load-threads.t
Vincent Pit [Fri, 31 Jul 2015 15:27:11 +0000 (12:27 -0300)]
Update t/09-load-threads.t

It now exercises cloning and protects against stray exits in threads.

6 years agoUpdate VPIT::TestHelpers to ba865c42
Vincent Pit [Fri, 31 Jul 2015 15:25:27 +0000 (12:25 -0300)]
Update VPIT::TestHelpers to ba865c42

6 years agoThis is 0.36 v0.36
Vincent Pit [Fri, 17 Jul 2015 22:15:05 +0000 (19:15 -0300)]
This is 0.36

6 years agoAlso test no indirect fatal and compilation errors in require
Vincent Pit [Fri, 17 Jul 2015 21:46:19 +0000 (18:46 -0300)]
Also test no indirect fatal and compilation errors in require

6 years agoPreserve previous compilation errors on fatal indirect constructs rt104312
Vincent Pit [Fri, 17 Jul 2015 18:54:47 +0000 (15:54 -0300)]
Preserve previous compilation errors on fatal indirect constructs

This fixes RT #104312.

6 years agoUpdate VPIT::TestHelpers to 3ba261a5
Vincent Pit [Fri, 17 Jul 2015 18:49:39 +0000 (15:49 -0300)]
Update VPIT::TestHelpers to 3ba261a5

6 years agoUpdate ptable.h
Vincent Pit [Thu, 14 May 2015 16:19:01 +0000 (18:19 +0200)]
Update ptable.h

6 years agoRevamp cloned thread cleanup
Vincent Pit [Mon, 20 Apr 2015 16:21:08 +0000 (13:21 -0300)]
Revamp cloned thread cleanup

And fix the third test in t/41-threads-teardown.t to actually test
something. As a result, we see that the module actually catches indirect
constructs inside eval STRING at global destruction time.

6 years agoClarify package names in t/41-threads-teardown.t
Vincent Pit [Mon, 20 Apr 2015 16:20:31 +0000 (13:20 -0300)]
Clarify package names in t/41-threads-teardown.t

6 years agoUpdate VPIT::TestHelpers to 2a6ac0f1
Vincent Pit [Mon, 20 Apr 2015 15:58:55 +0000 (12:58 -0300)]
Update VPIT::TestHelpers to 2a6ac0f1

6 years agoThis is 0.35 v0.35
Vincent Pit [Mon, 6 Apr 2015 22:20:22 +0000 (19:20 -0300)]
This is 0.35

6 years agoNo tabs please
Vincent Pit [Mon, 6 Apr 2015 21:57:18 +0000 (18:57 -0300)]
No tabs please

6 years agoManually release MY_CXT.global_code at interpreter teardown time
Vincent Pit [Mon, 6 Apr 2015 19:57:53 +0000 (16:57 -0300)]
Manually release MY_CXT.global_code at interpreter teardown time

6 years agoTurn indirect_loaded into a signed integer
Vincent Pit [Mon, 6 Apr 2015 19:53:16 +0000 (16:53 -0300)]
Turn indirect_loaded into a signed integer

And add some related asserts, just in case.

6 years agoRename I_CHECK_MUTEX_* to I_CHECK_*
Vincent Pit [Mon, 6 Apr 2015 19:51:36 +0000 (16:51 -0300)]
Rename I_CHECK_MUTEX_* to I_CHECK_*

6 years agoMake sure we don't take the OP_REFCNT mutex twice on perl 5.9.2 and below
Vincent Pit [Mon, 6 Apr 2015 19:50:50 +0000 (16:50 -0300)]
Make sure we don't take the OP_REFCNT mutex twice on perl 5.9.2 and below

6 years agoTest asymetrical thread termination
Vincent Pit [Mon, 6 Apr 2015 18:46:40 +0000 (15:46 -0300)]
Test asymetrical thread termination

6 years agoReference-count global setup/teardown
Vincent Pit [Mon, 6 Apr 2015 18:45:46 +0000 (15:45 -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).

6 years agoHandle undef properly for failure diagnostics in t/09-load-threads.t
Vincent Pit [Mon, 6 Apr 2015 17:11:10 +0000 (14:11 -0300)]
Handle undef properly for failure diagnostics in t/09-load-threads.t

6 years agoMake sure the module is loaded in the first thread first
Vincent Pit [Mon, 6 Apr 2015 16:30:10 +0000 (13:30 -0300)]
Make sure the module is loaded in the first thread first

6 years agoImprove diagnostics in t/09-load-threads.t in case of failure
Vincent Pit [Mon, 6 Apr 2015 15:47:40 +0000 (12:47 -0300)]
Improve diagnostics in t/09-load-threads.t in case of failure

6 years agoThis is 0.34 v0.34
Vincent Pit [Thu, 2 Apr 2015 19:50:16 +0000 (16:50 -0300)]
This is 0.34

6 years agoAlso point to tomc's FMTEYEWTK post in POD rt100068
Vincent Pit [Tue, 31 Mar 2015 20:38:48 +0000 (17:38 -0300)]
Also point to tomc's FMTEYEWTK post in POD

This fixes RT #100068.

6 years agoImprove scheduling for the parallel loading test
Vincent Pit [Tue, 31 Mar 2015 20:06:12 +0000 (17:06 -0300)]
Improve scheduling for the parallel loading test

6 years agoKeep track of which thread-local contexts have been initialized
Vincent Pit [Tue, 31 Mar 2015 19:15:40 +0000 (16:15 -0300)]
Keep track of which thread-local contexts have been initialized

If you have two threads that are run in parallel, and the the module is
first loaded in one and then in the other, then our check functions might
be called in the second thread before the module's boot function is
executed. This is bad because the boot function is needed to initialize the
thread-local context, and this context is needed by the check functions.

To fix this, we keep track of which contexts were initialized thanks to a
refcounted pointer table.

6 years agoMake sure MULTIPLICITY builds set PERL_IMPLICIT_CONTEXT
Vincent Pit [Tue, 31 Mar 2015 19:08:50 +0000 (16:08 -0300)]
Make sure MULTIPLICITY builds set PERL_IMPLICIT_CONTEXT

6 years agoAdd a couple of missing volatile qualifiers
Vincent Pit [Tue, 31 Mar 2015 17:25:53 +0000 (14:25 -0300)]
Add a couple of missing volatile qualifiers

6 years agoAdd POSIX to build requires
Vincent Pit [Tue, 31 Mar 2015 12:35:47 +0000 (09:35 -0300)]
Add POSIX to build requires

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

6 years agoBump copyright year
Vincent Pit [Tue, 24 Mar 2015 15:35:40 +0000 (12:35 -0300)]
Bump copyright year

6 years agoThoroughly test module loading in threads
Vincent Pit [Tue, 24 Mar 2015 15:35:21 +0000 (12:35 -0300)]
Thoroughly test module loading in threads

6 years agoRevamp the setup boot logic
Vincent Pit [Tue, 24 Mar 2015 15:34:23 +0000 (12:34 -0300)]
Revamp the setup boot logic

This will solve crashes when the module is loaded simultaneously in
different threads.

6 years agoReplace STATIC by static
Vincent Pit [Tue, 24 Mar 2015 15:24:57 +0000 (12:24 -0300)]
Replace STATIC by static

6 years agoProtect run_perl() tests against old relocated perls
Vincent Pit [Tue, 24 Mar 2015 15:23:04 +0000 (12:23 -0300)]
Protect run_perl() tests against old relocated perls

6 years agoPort threads tests to the new VPIT::TestHelpers interface
Vincent Pit [Tue, 24 Mar 2015 15:13:15 +0000 (12:13 -0300)]
Port threads tests to the new VPIT::TestHelpers interface

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

6 years agoUpdate VPIT::TestHelpers to 4eeb5afc
Vincent Pit [Tue, 24 Mar 2015 15:07:54 +0000 (12:07 -0300)]
Update VPIT::TestHelpers to 4eeb5afc

6 years agoUpdate VPIT::TestHelpers to 3c878c7c
Vincent Pit [Thu, 12 Mar 2015 14:03:57 +0000 (11:03 -0300)]
Update VPIT::TestHelpers to 3c878c7c

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

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

7 years agoThis is 0.33 v0.33
Vincent Pit [Mon, 29 Sep 2014 20:29:19 +0000 (22:29 +0200)]
This is 0.33

7 years agoDo nothing after that the thread local storage has been freed
Vincent Pit [Mon, 29 Sep 2014 20:02:18 +0000 (22:02 +0200)]
Do nothing after that the thread local storage has been freed

This de facto disables the pragma for code eval'd during global
destruction of a thread or a pseudo-fork.

7 years agoUse the new CLONE_PARAMS API with perl 5.13.2
Vincent Pit [Mon, 29 Sep 2014 16:30:41 +0000 (18:30 +0200)]
Use the new CLONE_PARAMS API with perl 5.13.2

7 years agoNullify thread local storage entries when they are freed
Vincent Pit [Mon, 29 Sep 2014 15:19:14 +0000 (17:19 +0200)]
Nullify thread local storage entries when they are freed

This makes possible problems easier to reproduce.

7 years agoDon't cleanup thread local storage before END blocks are executed rt99083
Vincent Pit [Mon, 29 Sep 2014 14:13:13 +0000 (16:13 +0200)]
Don't cleanup thread local storage before END blocks are executed

reap.h is no longer necessary.

This fixes RT #99083.

7 years agoThis is 0.32 v0.32
Vincent Pit [Sun, 21 Sep 2014 20:15:52 +0000 (22:15 +0200)]
This is 0.32

7 years agoBump copyright year
Vincent Pit [Sun, 21 Sep 2014 20:00:49 +0000 (22:00 +0200)]
Bump copyright year

7 years agoDon't segfault for indirect constructs inside the empty package
Vincent Pit [Sun, 21 Sep 2014 19:44:42 +0000 (21:44 +0200)]
Don't segfault for indirect constructs inside the empty package

The empty package was an old feature that was removed in perl 5.10.

7 years agoAdd support for PERL_OP_PARENT
Vincent Pit [Sun, 21 Sep 2014 19:04:31 +0000 (21:04 +0200)]
Add support for PERL_OP_PARENT

This was introduced in perl 5.21.2.

7 years agoUse run_perl() from VPIT::TestHelpers rt92806
Vincent Pit [Mon, 1 Sep 2014 13:04:38 +0000 (15:04 +0200)]
Use run_perl() from VPIT::TestHelpers

This updates VPIT::TestHelpers to 4fb18792.

7 years agoSilence a sign-compare warning
Vincent Pit [Tue, 19 Aug 2014 00:08:44 +0000 (02:08 +0200)]
Silence a sign-compare warning

8 years agoThis is 0.31 v0.31
Vincent Pit [Thu, 5 Sep 2013 16:45:02 +0000 (18:45 +0200)]
This is 0.31

8 years agoAdd some tests for 'new { __PACKAGE__ }'
Vincent Pit [Thu, 5 Sep 2013 14:12:11 +0000 (16:12 +0200)]
Add some tests for 'new { __PACKAGE__ }'

8 years agoRemove profanity
Vincent Pit [Thu, 5 Sep 2013 11:55:38 +0000 (13:55 +0200)]
Remove profanity

We're professionals (or something).

8 years agoHandle __PACKAGE__ as object name correctly rt88428
Vincent Pit [Thu, 5 Sep 2013 11:02:10 +0000 (13:02 +0200)]
Handle __PACKAGE__ as object name correctly

__PACKAGE__ cannot appear as the object name for indirect calls, but it
can for direct ones. This could cause wrong reports of indirect calls
when the actual package name appeared later in the source, for instance
in a comment. This is fixed by looking for '__PACKAGE__' in the source
buffer when we already have a hit for the current package name, and by
keeping the first one of those two.

This fixes RT #88428.

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

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

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

8 years agoNo tabs please
Vincent Pit [Fri, 23 Aug 2013 19:39:07 +0000 (16:39 -0300)]
No tabs please

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

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

8 years agoThis is 0.30 v0.30
Vincent Pit [Thu, 16 May 2013 15:57:49 +0000 (17:57 +0200)]
This is 0.30

8 years agoUpdate the bug tracker URL in META after the rt.perl.org upgrade rt84649
Vincent Pit [Thu, 16 May 2013 15:41:07 +0000 (17:41 +0200)]
Update the bug tracker URL in META after the rt.perl.org upgrade

This fixes RT #84649.

8 years agoPartially revert 502e3aac. rt83806 rt83839
Andrew Main [Thu, 16 May 2013 15:11:41 +0000 (17:11 +0200)]
Partially revert 502e3aac.

Vincent: This fixes things, but I don't know why.

This fixes RT #83806 and RT #83839.

8 years agoThis is 0.29 v0.29
Vincent Pit [Tue, 5 Mar 2013 01:30:05 +0000 (22:30 -0300)]
This is 0.29

8 years agoIn string-like envs, take the position to the beginning of the string rt83659
Vincent Pit [Tue, 5 Mar 2013 01:06:04 +0000 (22:06 -0300)]
In string-like envs, take the position to the beginning of the string

This fixes RT #83659.

8 years agoForce linking against the perl dll when using gcc 3.4 on Windows
Vincent Pit [Tue, 5 Mar 2013 00:12:52 +0000 (21:12 -0300)]
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).

8 years agoThis is 0.28 v0.28
Vincent Pit [Tue, 26 Feb 2013 17:05:22 +0000 (14:05 -0300)]
This is 0.28

8 years agoReplace check functions in a thread-safe way
Vincent Pit [Tue, 26 Feb 2013 16:35:11 +0000 (13:35 -0300)]
Replace check functions in a thread-safe way

8 years agoMake indirect_find() more resilient to embedded nuls
Vincent Pit [Tue, 26 Feb 2013 14:42:39 +0000 (11:42 -0300)]
Make indirect_find() more resilient to embedded nuls

8 years agoClarify what indirect_find() does by renaming some variables
Vincent Pit [Tue, 26 Feb 2013 14:31:20 +0000 (11:31 -0300)]
Clarify what indirect_find() does by renaming some variables

8 years agoProperly set and check the line number of method and object tokens rt83450
Vincent Pit [Tue, 26 Feb 2013 00:16:15 +0000 (21:16 -0300)]
Properly set and check the line number of method and object tokens

This fixes RT #83450.

8 years agoSilence an "unused result" compiler warning
Vincent Pit [Tue, 26 Feb 2013 00:03:19 +0000 (21:03 -0300)]
Silence an "unused result" compiler warning

8 years agoThis is 0.27 v0.27
Vincent Pit [Wed, 30 Jan 2013 18:57:44 +0000 (16:57 -0200)]
This is 0.27

8 years agoBump copyright year
Vincent Pit [Wed, 30 Jan 2013 18:44:35 +0000 (16:44 -0200)]
Bump copyright year

8 years agoMake indirect play nice with Devel::CallParser rt82562
Andrew Main [Wed, 30 Jan 2013 17:52:09 +0000 (15:52 -0200)]
Make indirect play nice with Devel::CallParser

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

9 years agoPort module loading in tests to VPIT::TestHelpers
Vincent Pit [Fri, 2 Nov 2012 13:12:18 +0000 (11:12 -0200)]
Port module loading in tests to VPIT::TestHelpers

9 years agoAdd BUILD_REQUIRES to WriteMakefile()
Vincent Pit [Fri, 2 Nov 2012 13:06:39 +0000 (11:06 -0200)]
Add BUILD_REQUIRES to WriteMakefile()

9 years agoQuote version numbers in Makefile.PL
Vincent Pit [Fri, 2 Nov 2012 13:04:49 +0000 (11:04 -0200)]
Quote version numbers in Makefile.PL

9 years agoKill Debian_CPANTS.txt suffixes as well
Vincent Pit [Fri, 2 Nov 2012 13:03:07 +0000 (11:03 -0200)]
Kill Debian_CPANTS.txt suffixes as well

9 years agoUpdate author tests, and add a POD spelling test
Vincent Pit [Fri, 2 Nov 2012 13:02:07 +0000 (11:02 -0200)]
Update author tests, and add a POD spelling test

Also make sure that the kwalitee test unlinks its byproducts.

9 years agoRequire Module::ExtractUse 0.24 for the Kwalitee test
Vincent Pit [Sun, 19 Feb 2012 13:09:03 +0000 (14:09 +0100)]
Require Module::ExtractUse 0.24 for the Kwalitee test

10 years agot/40-threads.t should always run at least one test
Vincent Pit [Fri, 11 Nov 2011 18:38:48 +0000 (19:38 +0100)]
t/40-threads.t should always run at least one test

No test means failure.

10 years agoMake sure the POD headings are linkable
Vincent Pit [Fri, 11 Nov 2011 18:08:09 +0000 (19:08 +0100)]
Make sure the POD headings are linkable

10 years agoReorder the members of the indirect_op_info struct a bit
Vincent Pit [Fri, 11 Nov 2011 18:00:43 +0000 (19:00 +0100)]
Reorder the members of the indirect_op_info struct a bit

10 years agoThis is 0.26 v0.26
Vincent Pit [Sun, 23 Oct 2011 14:22:50 +0000 (16:22 +0200)]
This is 0.26

10 years agoPreserve the PATH environment variable when running a sub-perl on cygwin
Vincent Pit [Sun, 23 Oct 2011 14:04:51 +0000 (16:04 +0200)]
Preserve the PATH environment variable when running a sub-perl on cygwin