]>
git.vpit.fr Git - perl/modules/indirect.git/log
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.
Vincent Pit [Tue, 14 Jul 2009 16:03:09 +0000 (18:03 +0200)]
Document the diagnostics
Vincent Pit [Tue, 14 Jul 2009 15:57:17 +0000 (17:57 +0200)]
Thanks Andrew and Florian
Vincent Pit [Tue, 14 Jul 2009 15:42:29 +0000 (17:42 +0200)]
Freshen t/22-bad-mixed.t
Vincent Pit [Tue, 14 Jul 2009 15:36:03 +0000 (17:36 +0200)]
Freshen t/20-good.t
Vincent Pit [Tue, 14 Jul 2009 15:31:50 +0000 (17:31 +0200)]
Rename try() to zap() as we'll need try() for something else soon
Vincent Pit [Tue, 14 Jul 2009 14:25:00 +0000 (16:25 +0200)]
Simplify the warning handler in t/21-bad.t
Vincent Pit [Tue, 14 Jul 2009 14:22:12 +0000 (16:22 +0200)]
Document that we know handle blocks
Vincent Pit [Tue, 14 Jul 2009 14:00:19 +0000 (16:00 +0200)]
Handle indirect calls on blocks
Vincent Pit [Tue, 14 Jul 2009 12:36:46 +0000 (14:36 +0200)]
Make the default error message public
Vincent Pit [Tue, 14 Jul 2009 12:25:22 +0000 (14:25 +0200)]
Only enable the pragma during compile time
In particular, don't handle OPs that are created as part of load_module().
This solves RT #47866.
Vincent Pit [Tue, 14 Jul 2009 10:32:57 +0000 (12:32 +0200)]
Revamp t/21-bad.t
Vincent Pit [Wed, 8 Jul 2009 22:54:51 +0000 (00:54 +0200)]
This is 0.15
Vincent Pit [Wed, 8 Jul 2009 14:07:24 +0000 (16:07 +0200)]
Fix "meth meth" not being correctly reported
Vincent Pit [Tue, 7 Jul 2009 23:11:28 +0000 (01:11 +0200)]
Add a stress test
Vincent Pit [Tue, 7 Jul 2009 22:58:54 +0000 (00:58 +0200)]
Fix line number for multiline indirect constructs
Vincent Pit [Tue, 7 Jul 2009 20:52:25 +0000 (22:52 +0200)]
Store a proper op info instead of hijacking a SV
Vincent Pit [Tue, 7 Jul 2009 19:57:04 +0000 (21:57 +0200)]
Factor the cloning logic in a separate function
Vincent Pit [Thu, 18 Jun 2009 12:13:59 +0000 (14:13 +0200)]
A few POD nits
Florian Ragwitz [Fri, 5 Jun 2009 05:08:19 +0000 (07:08 +0200)]
Remove unused variable.
Vincent Pit [Thu, 4 Jun 2009 21:54:31 +0000 (23:54 +0200)]
This is 0.14
Vincent Pit [Thu, 4 Jun 2009 21:47:48 +0000 (23:47 +0200)]
Be proud about our workarounds
Vincent Pit [Thu, 4 Jun 2009 21:43:01 +0000 (23:43 +0200)]
Use a better metasyntactic name instead of C<sub>
Vincent Pit [Fri, 29 May 2009 09:52:20 +0000 (11:52 +0200)]
Don't actually create an entry when storing NULL in the ptable
This is actually unneeded because ptable_fetch() returns NULL when it can't find the entry. This way we can remove the short-lived ptable_delete().
Vincent Pit [Thu, 28 May 2009 22:48:07 +0000 (00:48 +0200)]
Fix a small leak of hints objects
Vincent Pit [Thu, 28 May 2009 22:34:04 +0000 (00:34 +0200)]
Prevent bogus invalid syntaxes caused by reallocated memory chunks
Make sure that all our check functions reset a possible previous entry in the pointer table. Then, check in ck_entersub that the object op (the first kid after the pushmark) is of a proper type, so that we are pretty sure that its map entry has been either reset or filled.
Vincent Pit [Sun, 24 May 2009 18:50:51 +0000 (20:50 +0200)]
This is 0.13
Vincent Pit [Sun, 24 May 2009 18:44:01 +0000 (20:44 +0200)]
Test the workaround more extensively
Vincent Pit [Sun, 24 May 2009 18:15:20 +0000 (20:15 +0200)]
Work around the "pragma propagating into require" bug
Vincent Pit [Sun, 24 May 2009 14:34:31 +0000 (16:34 +0200)]
Rename 'id' to 'hint' for consistency
Vincent Pit [Sat, 23 May 2009 22:32:22 +0000 (00:32 +0200)]
Stop leaking the package name passed to the hook
Vincent Pit [Sat, 23 May 2009 22:28:59 +0000 (00:28 +0200)]
We want to test code in ck_entersub(), not hint
Vincent Pit [Sat, 23 May 2009 22:26:55 +0000 (00:26 +0200)]
Add a TODO test for the "pragma propagating into require" issue
Vincent Pit [Sun, 17 May 2009 20:46:00 +0000 (22:46 +0200)]
Get rid of t/90-boilerplate.t
Vincent Pit [Sun, 17 May 2009 20:45:23 +0000 (22:45 +0200)]
Lower the ptable initial size
Vincent Pit [Fri, 15 May 2009 22:38:07 +0000 (00:38 +0200)]
5.9.5 fix
Vincent Pit [Thu, 7 May 2009 23:17:56 +0000 (01:17 +0200)]
Also pass the file and the line number to the hook
So that we can warn or die with the correct error message. This is required because caller() can't be trusted at compile time.
Vincent Pit [Thu, 7 May 2009 22:45:59 +0000 (00:45 +0200)]
Pass copies as hook arguments
Vincent Pit [Thu, 7 May 2009 22:40:47 +0000 (00:40 +0200)]
Make names stored in the op map readonly
Vincent Pit [Sun, 3 May 2009 14:26:40 +0000 (16:26 +0200)]
This is 0.12
Vincent Pit [Sun, 3 May 2009 14:24:59 +0000 (16:24 +0200)]
POD cleanup
Vincent Pit [Sun, 3 May 2009 14:23:54 +0000 (16:23 +0200)]
Freshen the synopsis
Vincent Pit [Sun, 3 May 2009 13:00:36 +0000 (15:00 +0200)]
Introduce the 'hook' unimport option
Vincent Pit [Sun, 3 May 2009 12:47:14 +0000 (14:47 +0200)]
Rename some test files
Vincent Pit [Sun, 3 May 2009 12:29:01 +0000 (14:29 +0200)]
Disable thread safety for 5.8.x on Windows
Vincent Pit [Sun, 3 May 2009 12:24:04 +0000 (14:24 +0200)]
Make the op map thread safe
Vincent Pit [Sat, 2 May 2009 22:53:08 +0000 (00:53 +0200)]
Introduce the I_THREADSAFE() constant
Vincent Pit [Sat, 2 May 2009 22:49:36 +0000 (00:49 +0200)]
Make the hint thread-safe and store a coderef called each time an indirect construct is spotted
Vincent Pit [Sat, 2 May 2009 22:21:36 +0000 (00:21 +0200)]
Don't hardcode the package name as the hints key
Vincent Pit [Sat, 2 May 2009 22:17:24 +0000 (00:17 +0200)]
Switch to a ptable-based OP map
Vincent Pit [Wed, 22 Apr 2009 20:51:43 +0000 (22:51 +0200)]
Slashes are reserved and hence must be encoded in the search part of an URL