]>
git.vpit.fr Git - perl/modules/indirect.git/log
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 .
Vincent Pit [Sun, 23 Oct 2011 10:47:47 +0000 (12:47 +0200)]
Test "no indirect 'global'" with threads
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.
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.
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.
Vincent Pit [Sun, 23 Oct 2011 00:29:22 +0000 (02:29 +0200)]
Freshen the documentation
Vincent Pit [Sun, 23 Oct 2011 00:08:08 +0000 (02:08 +0200)]
Make sure code examples fit in a 80 columns terminal
Vincent Pit [Sun, 23 Oct 2011 00:06:55 +0000 (02:06 +0200)]
A couple of cosmetic code changes
Vincent Pit [Sun, 23 Oct 2011 00:06:40 +0000 (02:06 +0200)]
Also forcefully reset the localize hint flag for use 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.
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().
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.
Vincent Pit [Wed, 24 Aug 2011 15:39:33 +0000 (17:39 +0200)]
This is 0.25
Vincent Pit [Wed, 24 Aug 2011 15:29:44 +0000 (17:29 +0200)]
Try to prevent t/50-external.t from crashing on Cygwin
Vincent Pit [Wed, 24 Aug 2011 12:53:11 +0000 (14:53 +0200)]
Encode the README file in UTF-8
Vincent Pit [Wed, 27 Jul 2011 15:50:25 +0000 (17:50 +0200)]
Remove remaining occurences of $^V
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.
Vincent Pit [Sun, 17 Jul 2011 23:13:23 +0000 (01:13 +0200)]
This is 0.24
Vincent Pit [Sun, 17 Jul 2011 23:05:41 +0000 (01:05 +0200)]
Ignore MYMETA.json
Vincent Pit [Sun, 17 Jul 2011 23:03:35 +0000 (01:03 +0200)]
Add META.json
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.
Vincent Pit [Sun, 17 Jul 2011 22:31:54 +0000 (00:31 +0200)]
Test that indirect does not vivify entries in %^H
Vincent Pit [Tue, 5 Jul 2011 22:54:14 +0000 (00:54 +0200)]
Test interaction with eval STRING
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 .
Vincent Pit [Mon, 3 Jan 2011 21:45:38 +0000 (22:45 +0100)]
Only declare dMY_CXT when really needed
Vincent Pit [Mon, 3 Jan 2011 21:40:42 +0000 (22:40 +0100)]
Clarify our policy towards C++ compilers
Vincent Pit [Mon, 3 Jan 2011 21:22:51 +0000 (22:22 +0100)]
Switch to qw<>
Vincent Pit [Mon, 3 Jan 2011 21:10:21 +0000 (22:10 +0100)]
Bump copyright year
Vincent Pit [Mon, 3 Jan 2011 21:10:07 +0000 (22:10 +0100)]
Update ptable.h
Vincent Pit [Sun, 3 Oct 2010 00:14:35 +0000 (02:14 +0200)]
This is 0.23
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.
Vincent Pit [Sat, 2 Oct 2010 23:27:47 +0000 (01:27 +0200)]
Ignore MYMETA.yml
Vincent Pit [Tue, 24 Aug 2010 20:57:51 +0000 (22:57 +0200)]
Get rid of CALL_FPTR()
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.
Vincent Pit [Mon, 23 Aug 2010 09:53:50 +0000 (11:53 +0200)]
Refine indirect_find
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.
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
Vincent Pit [Sat, 21 Aug 2010 10:51:58 +0000 (12:51 +0200)]
Rename t/80-regressions.t to t/50-external.t
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.
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.
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.
Vincent Pit [Mon, 16 Aug 2010 15:52:27 +0000 (17:52 +0200)]
This is 0.22
Vincent Pit [Mon, 16 Aug 2010 15:47:48 +0000 (17:47 +0200)]
Yet more quotelike tests
Vincent Pit [Mon, 16 Aug 2010 15:21:17 +0000 (17:21 +0200)]
More quotelike environments testing
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.
Vincent Pit [Mon, 16 Aug 2010 13:20:26 +0000 (15:20 +0200)]
Typos
Vincent Pit [Mon, 16 Aug 2010 13:09:38 +0000 (15:09 +0200)]
Allow /^:?fatal$/ to specify the lethal behaviour
This fixes RT #59498.
Vincent Pit [Mon, 16 Aug 2010 12:53:34 +0000 (14:53 +0200)]
Only check methods where the method name is a constant
This fixes RT #60378.
Vincent Pit [Mon, 31 May 2010 23:08:22 +0000 (01:08 +0200)]
This is 0.21
Vincent Pit [Mon, 31 May 2010 22:28:24 +0000 (00:28 +0200)]
Fix the thread destructor trick for 5.13.1
This fixes RT #57699.
Vincent Pit [Tue, 18 May 2010 21:21:50 +0000 (23:21 +0200)]
Require perl 5.8.1
5.8.0 seems to cause a lot of "Modification of a a read-only value" errors.
Vincent Pit [Tue, 18 May 2010 21:14:45 +0000 (23:14 +0200)]
Use a PPCODE: section in CLONE
Vincent Pit [Sat, 24 Apr 2010 13:05:22 +0000 (15:05 +0200)]
MY_CXT_INIT can be a declaration, so put it in a block to be strictly conformant to C89
Thanks Jan Dubois for reporting.
Vincent Pit [Sat, 24 Apr 2010 13:03:03 +0000 (15:03 +0200)]
Add Tatsuhiko Miyagawa's regression test
Vincent Pit [Sat, 24 Apr 2010 12:50:35 +0000 (14:50 +0200)]
Disable taint mode for t/30-scope.t
It prevents a regression test from failing with the old code.
Vincent Pit [Sun, 18 Apr 2010 21:13:10 +0000 (23:13 +0200)]
This is 0.20
Vincent Pit [Sun, 18 Apr 2010 21:16:32 +0000 (23:16 +0200)]
Remove an unused variable
Vincent Pit [Sun, 18 Apr 2010 20:53:42 +0000 (22:53 +0200)]
Fix test failures with 5.12 on Windows where Strawberry Perl crashes because the SystemRoot environment variable is missing
Vincent Pit [Sun, 18 Apr 2010 16:09:45 +0000 (18:09 +0200)]
Protect $@ in the regression test for RT #50570
Vincent Pit [Sun, 18 Apr 2010 16:07:40 +0000 (18:07 +0200)]
Add a regression test for a bug that appeared while fixing RT #50570 but got re-fixed in
a4ebcbe07de579d5877df84c114f162f49019724
Vincent Pit [Sun, 18 Apr 2010 15:53:20 +0000 (17:53 +0200)]
Add a regression test for RT #50570
Vincent Pit [Sun, 18 Apr 2010 15:33:17 +0000 (17:33 +0200)]
Identify the require scope by the outmost cv outside of the current one
Vincent Pit [Thu, 15 Apr 2010 23:36:27 +0000 (01:36 +0200)]
{ENTER,LEAVE}_with_name are no longer needed starting perl 5.11.4
Vincent Pit [Thu, 15 Apr 2010 06:41:05 +0000 (08:41 +0200)]
Bump copyright year
Vincent Pit [Sun, 3 Jan 2010 00:47:10 +0000 (01:47 +0100)]
Add a link to Matt's blog post
Vincent Pit [Tue, 29 Dec 2009 17:17:01 +0000 (18:17 +0100)]
Update ptable.h
Vincent Pit [Tue, 29 Dec 2009 16:27:38 +0000 (17:27 +0100)]
Fix for {ENTER,LEAVE}_with_name
Vincent Pit [Sun, 4 Oct 2009 09:18:03 +0000 (11:18 +0200)]
Re-indent WriteMakefile() arguments
Vincent Pit [Sun, 4 Oct 2009 08:44:38 +0000 (10:44 +0200)]
Build the $name and the main $file from $dist
Vincent Pit [Sun, 4 Oct 2009 07:54:18 +0000 (09:54 +0200)]
Put prerequisites in their own separate hash
Vincent Pit [Sun, 4 Oct 2009 07:28:22 +0000 (09:28 +0200)]
Give an explicit value to dynamic_config
Vincent Pit [Wed, 30 Sep 2009 22:16:49 +0000 (00:16 +0200)]
Only look up to the first require scope for the require propagation workaround
Vincent Pit [Sat, 26 Sep 2009 09:53:10 +0000 (11:53 +0200)]
Kwalitee test overhaul
Vincent Pit [Fri, 28 Aug 2009 18:37:18 +0000 (20:37 +0200)]
This is 0.19
Vincent Pit [Fri, 28 Aug 2009 18:22:32 +0000 (20:22 +0200)]
Introduce I_FORKSAFE
Vincent Pit [Fri, 28 Aug 2009 17:28:45 +0000 (19:28 +0200)]
We don't need this (wrong) macro wrapper for indirect_teardown()
Vincent Pit [Fri, 28 Aug 2009 17:18:24 +0000 (19:18 +0200)]
Reset the callbacks when the root interpreter is destroyed
This fix segfaults when the pragma is first loaded from inside a thread.
The global state for the root interpreter is also freed, so it won't leak
anymore.
Vincent Pit [Fri, 28 Aug 2009 16:45:22 +0000 (18:45 +0200)]
Make some room in t/4*.t
Vincent Pit [Fri, 28 Aug 2009 11:09:33 +0000 (13:09 +0200)]
c07766a234204d78a80b6d75534e03ae3465b6f3 is a better fix for RT #47902 than
4cb0e2cc26fbe39a7a040b090b1a1e6c2380af0f
As the issue wasn't actually fixed for non-anonsubs.
Vincent Pit [Fri, 28 Aug 2009 09:29:45 +0000 (11:29 +0200)]
Only remap the hint through the pointer table for threaded perls
And just use the coderef as the hint when we don't need the require
workaround.
Vincent Pit [Thu, 27 Aug 2009 22:21:56 +0000 (00:21 +0200)]
I_THREADSAFE ought to be true when PERL_INDIRECT_PM_DISABLE is set
Vincent Pit [Thu, 27 Aug 2009 22:14:08 +0000 (00:14 +0200)]
Use the hint pointer as the unique identifier for the %^H entry
The previous solution (using the callback CV) could cause pragma leaks if
you specified the same "hook" (i.e. a reference to the same sub) in two
different require scopes.
Vincent Pit [Thu, 27 Aug 2009 21:48:32 +0000 (23:48 +0200)]
Fix signedness of the pointer<->int conversions
Vincent Pit [Thu, 27 Aug 2009 21:47:43 +0000 (23:47 +0200)]
SvIOK and SvROK imply SvOK
Vincent Pit [Sun, 23 Aug 2009 16:15:17 +0000 (18:15 +0200)]
This is 0.18
Vincent Pit [Sun, 23 Aug 2009 15:55:58 +0000 (17:55 +0200)]
Make sure PERL_INDIRECT_PM_DISABLE is not set before running tests
Vincent Pit [Sun, 23 Aug 2009 15:28:58 +0000 (17:28 +0200)]
Add the PERL_INDIRECT_PM_DISABLE environment variable
Vincent Pit [Thu, 16 Jul 2009 12:10:24 +0000 (14:10 +0200)]
This is 0.17
Vincent Pit [Wed, 15 Jul 2009 17:09:08 +0000 (19:09 +0200)]
Freshen t/40-threads.t
Vincent Pit [Wed, 15 Jul 2009 16:59:31 +0000 (18:59 +0200)]
More freshness for t/21-bad.t
Vincent Pit [Wed, 15 Jul 2009 16:54:51 +0000 (18:54 +0200)]
Freshen t/10-args.t
Vincent Pit [Wed, 15 Jul 2009 16:43:42 +0000 (18:43 +0200)]
Don't use 'Fatal' as a metasyntactic name
Vincent Pit [Wed, 15 Jul 2009 16:42:10 +0000 (18:42 +0200)]
Freshen t/30-scope.t
Vincent Pit [Wed, 15 Jul 2009 16:25:23 +0000 (18:25 +0200)]
Replace an occurrence of SvREFCNT_inc by SvREFCNT_inc_simple_NN
Vincent Pit [Wed, 15 Jul 2009 16:15:42 +0000 (18:15 +0200)]
Turn on CvCLONE for all anonymous subs passed as hooks
So that they're cloned later, which seems to fix some strange issues that arose with
a5339a6ced4d5e3ad1541320476c3d6bf8ff9408 when the default callbacks were no longer capturing an external pad (which used to make them eligible for cloning).
This fixes RT #47902.
Vincent Pit [Wed, 15 Jul 2009 13:25:11 +0000 (15:25 +0200)]
Fix t/80-regressions.t failing on Win32
The Windows shell doesn't like double quotes inside -e code.
Vincent Pit [Wed, 15 Jul 2009 13:20:08 +0000 (15:20 +0200)]
Document and test constant folding
Vincent Pit [Tue, 14 Jul 2009 16:47:04 +0000 (18:47 +0200)]
This is 0.16
Vincent Pit [Tue, 14 Jul 2009 16:44:15 +0000 (18:44 +0200)]
Cover ck_scope actually handling an OP_SCOPE
This never happens unless taint mode is off.
Vincent Pit [Tue, 14 Jul 2009 16:17:09 +0000 (18:17 +0200)]
Remove ck_leave()
We don't need to clean the map entries for leave ops because they can only be created by mutating from a lineseq.