]> git.vpit.fr Git - perl/modules/indirect.git/log
perl/modules/indirect.git
9 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.

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

9 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

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

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

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

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

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

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

10 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

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

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

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

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

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

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

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

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

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

11 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__ }'

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

We're professionals (or something).

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

11 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

11 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

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

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

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

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

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

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

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

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

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

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

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

11 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

11 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

11 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

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

11 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

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

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

11 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

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

12 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

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

12 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

12 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

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

12 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

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

13 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

13 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

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

13 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

13 years agoRevert "Try to prevent t/50-external.t from crashing on Cygwin"
Vincent Pit [Sun, 23 Oct 2011 13:59:00 +0000 (15:59 +0200)]
Revert "Try to prevent t/50-external.t from crashing on Cygwin"

This reverts commit da77956a4d2f4fbfc4d6c4c2ed78063e5654ac5b.

13 years agoTest "no indirect 'global'" with threads
Vincent Pit [Sun, 23 Oct 2011 10:47:47 +0000 (12:47 +0200)]
Test "no indirect 'global'" with threads

13 years agoPort t/46-stress.t to Test::Leaner
Vincent Pit [Sun, 23 Oct 2011 10:16:56 +0000 (12:16 +0200)]
Port t/46-stress.t to Test::Leaner

This makes the test suite about 25% faster for a threaded perl.

13 years agoPort threads test to Test::Leaner and move boilerplate to an helper module
Vincent Pit [Sun, 23 Oct 2011 10:14:20 +0000 (12:14 +0200)]
Port threads test to Test::Leaner and move boilerplate to an helper module

Test::Leaner 0.04 is bundled.

13 years agoForbid passing 'hook' and 'fatal' at the same time
Vincent Pit [Sun, 23 Oct 2011 09:49:47 +0000 (11:49 +0200)]
Forbid passing 'hook' and 'fatal' at the same time

Carp is required.

13 years agoFreshen the documentation
Vincent Pit [Sun, 23 Oct 2011 00:29:22 +0000 (02:29 +0200)]
Freshen the documentation

13 years agoMake sure code examples fit in a 80 columns terminal
Vincent Pit [Sun, 23 Oct 2011 00:08:08 +0000 (02:08 +0200)]
Make sure code examples fit in a 80 columns terminal

13 years agoA couple of cosmetic code changes
Vincent Pit [Sun, 23 Oct 2011 00:06:55 +0000 (02:06 +0200)]
A couple of cosmetic code changes

13 years agoAlso forcefully reset the localize hint flag for use indirect
Vincent Pit [Sun, 23 Oct 2011 00:06:40 +0000 (02:06 +0200)]
Also forcefully reset the localize hint flag for use indirect

13 years agoAdd 'global' option to 'no indirect'
Vincent Pit [Sat, 22 Oct 2011 23:59:29 +0000 (01:59 +0200)]
Add 'global' option to 'no indirect'

This enables the module globally.

13 years agoStop leaking the SVs stored in the hints structure.
Vincent Pit [Mon, 5 Sep 2011 17:58:10 +0000 (19:58 +0200)]
Stop leaking the SVs stored in the hints structure.

After being clone, they only need one refcount push, which is done at the
end of indirect_clone().

13 years agoSkip the hint entry vivification test on 5.11 rt70618
Vincent Pit [Sun, 4 Sep 2011 15:11:52 +0000 (17:11 +0200)]
Skip the hint entry vivification test on 5.11

It fails the same way even when indirect is not loaded.

This fixes RT #70618.

13 years agoThis is 0.25 v0.25
Vincent Pit [Wed, 24 Aug 2011 15:39:33 +0000 (17:39 +0200)]
This is 0.25

13 years agoTry to prevent t/50-external.t from crashing on Cygwin
Vincent Pit [Wed, 24 Aug 2011 15:29:44 +0000 (17:29 +0200)]
Try to prevent t/50-external.t from crashing on Cygwin

13 years agoEncode the README file in UTF-8
Vincent Pit [Wed, 24 Aug 2011 12:53:11 +0000 (14:53 +0200)]
Encode the README file in UTF-8

13 years agoRemove remaining occurences of $^V
Vincent Pit [Wed, 27 Jul 2011 15:50:25 +0000 (17:50 +0200)]
Remove remaining occurences of $^V

13 years agoThe last argument to hv_fetch is the lvalue flag, not the hash rt69291
Vincent Pit [Mon, 18 Jul 2011 09:39:07 +0000 (11:39 +0200)]
The last argument to hv_fetch is the lvalue flag, not the hash

This fixes RT #69291 on perl 5.8.

13 years agoThis is 0.24 v0.24
Vincent Pit [Sun, 17 Jul 2011 23:13:23 +0000 (01:13 +0200)]
This is 0.24

13 years agoIgnore MYMETA.json
Vincent Pit [Sun, 17 Jul 2011 23:05:41 +0000 (01:05 +0200)]
Ignore MYMETA.json

13 years agoAdd META.json
Vincent Pit [Sun, 17 Jul 2011 23:03:35 +0000 (01:03 +0200)]
Add META.json

13 years agoReplace $] by "$]" in tests
Vincent Pit [Sun, 17 Jul 2011 22:48:02 +0000 (00:48 +0200)]
Replace $] by "$]" in tests

An old bug could cause $] to be initialized to a wrong decimal value.
Since its stringified value was always right, we use it instead.

13 years agoTest that indirect does not vivify entries in %^H
Vincent Pit [Sun, 17 Jul 2011 22:31:54 +0000 (00:31 +0200)]
Test that indirect does not vivify entries in %^H

13 years agoTest interaction with eval STRING
Vincent Pit [Tue, 5 Jul 2011 22:54:14 +0000 (00:54 +0200)]
Test interaction with eval STRING

13 years agoRevert "Always get the hint directly from %^H" rt64521
Vincent Pit [Tue, 5 Jul 2011 22:24:33 +0000 (00:24 +0200)]
Revert "Always get the hint directly from %^H"

We should always fetch the hint from the COPs so that we get the right
environment in eval STRING.

This fixes RT #64521 and RT #69291 in 5.10.

This reverts commit 6429fd7545e28fe43dd128c3ce6bb2ccf031e514.

13 years agoOnly declare dMY_CXT when really needed
Vincent Pit [Mon, 3 Jan 2011 21:45:38 +0000 (22:45 +0100)]
Only declare dMY_CXT when really needed

13 years agoClarify our policy towards C++ compilers
Vincent Pit [Mon, 3 Jan 2011 21:40:42 +0000 (22:40 +0100)]
Clarify our policy towards C++ compilers

13 years agoSwitch to qw<>
Vincent Pit [Mon, 3 Jan 2011 21:22:51 +0000 (22:22 +0100)]
Switch to qw<>

13 years agoBump copyright year
Vincent Pit [Mon, 3 Jan 2011 21:10:21 +0000 (22:10 +0100)]
Bump copyright year

13 years agoUpdate ptable.h
Vincent Pit [Mon, 3 Jan 2011 21:10:07 +0000 (22:10 +0100)]
Update ptable.h

14 years agoThis is 0.23 v0.23
Vincent Pit [Sun, 3 Oct 2010 00:14:35 +0000 (02:14 +0200)]
This is 0.23

14 years agoSkip threads tests unless perl version is 5.13.4 or greater
Vincent Pit [Sat, 2 Oct 2010 23:35:11 +0000 (01:35 +0200)]
Skip threads tests unless perl version is 5.13.4 or greater

There was a long standing bug in the handling of GV <-> CV double linkage
that could (and explicitely did with a poisonous perl) cause segfaults at
thread destruction. It got fixed by Dave in commit 803f274 which went in
5.13.3, but the fix was amended for 5.13.4 in commit 09aad8f. Since it's
not really fair for the user to not be able to install the module because
of this, we skip the threads tests unless perl is at least 5.13.4.

14 years agoIgnore MYMETA.yml
Vincent Pit [Sat, 2 Oct 2010 23:27:47 +0000 (01:27 +0200)]
Ignore MYMETA.yml

14 years agoGet rid of CALL_FPTR()
Vincent Pit [Tue, 24 Aug 2010 20:57:51 +0000 (22:57 +0200)]
Get rid of CALL_FPTR()

14 years agoGet rid of indirect_is_indirect
Vincent Pit [Mon, 23 Aug 2010 10:39:22 +0000 (12:39 +0200)]
Get rid of indirect_is_indirect

Its check is redundant and not decisive at all.

14 years agoRefine indirect_find
Vincent Pit [Mon, 23 Aug 2010 09:53:50 +0000 (11:53 +0200)]
Refine indirect_find

14 years agoAlways get the hint directly from %^H
Vincent Pit [Mon, 23 Aug 2010 09:19:23 +0000 (11:19 +0200)]
Always get the hint directly from %^H

Since we explicitely ensure that we only fetch the hint at compile time, we
should always be able to get it from %^H. However, the require propagation
bug was fixed for %^H only in 5.12, while it was fixed in 5.10.1 for the
internal hint chain. So we also have to enable the require propagation
workaround on 5.10.1.

14 years agoDocument and test that the "-e without semicolon" bug is fixed on 5.12
Vincent Pit [Sat, 21 Aug 2010 12:23:59 +0000 (14:23 +0200)]
Document and test that the "-e without semicolon" bug is fixed on 5.12

14 years agoRename t/80-regressions.t to t/50-external.t
Vincent Pit [Sat, 21 Aug 2010 10:51:58 +0000 (12:51 +0200)]
Rename t/80-regressions.t to t/50-external.t

14 years agoRemove some dead code in indirect_ck_method
Vincent Pit [Thu, 19 Aug 2010 15:19:38 +0000 (17:19 +0200)]
Remove some dead code in indirect_ck_method

We already check that the first kid of the method op is a const op. Thus
it must have been checked before. Otherwise, someone has returned a const
op from a custom check function and haven't recalled in the old check
chain, which is bad and ultimately their fault.

14 years agoStore the offset from the source buffer beginning in the op info object
Vincent Pit [Thu, 19 Aug 2010 15:05:48 +0000 (17:05 +0200)]
Store the offset from the source buffer beginning in the op info object

This fixes potential errors where some indirect constructs are wrongly
reported (or failed to be) when the source buffer is grown between the
method and the object name.

Also, from now on, an op info object is never stored when the correct
position could not have been found in the source buffer. This is really
how it should have behaved from the beginning.

14 years agoProperly handle method_named ops
Vincent Pit [Thu, 19 Aug 2010 14:22:05 +0000 (16:22 +0200)]
Properly handle method_named ops

They are directly generated (i.e. without being mutated from a method op)
for use foo/no foo. This should solve the random failures of t/30-scope.t.

14 years agoThis is 0.22 v0.22
Vincent Pit [Mon, 16 Aug 2010 15:52:27 +0000 (17:52 +0200)]
This is 0.22

14 years agoYet more quotelike tests
Vincent Pit [Mon, 16 Aug 2010 15:47:48 +0000 (17:47 +0200)]
Yet more quotelike tests

14 years agoMore quotelike environments testing
Vincent Pit [Mon, 16 Aug 2010 15:21:17 +0000 (17:21 +0200)]
More quotelike environments testing

14 years agoGet rid of the linestr check
Vincent Pit [Mon, 16 Aug 2010 14:38:45 +0000 (16:38 +0200)]
Get rid of the linestr check

It simplifies the code, remove some potential breakage if the linestr
changes inside an indirect expression, and allows for reporting indirect
constructs in quotelike environments.