perl/modules/indirect.git
13 years agoReplace an occurrence of SvREFCNT_inc by SvREFCNT_inc_simple_NN
Vincent Pit [Wed, 15 Jul 2009 16:25:23 +0000 (18:25 +0200)]
Replace an occurrence of SvREFCNT_inc by SvREFCNT_inc_simple_NN

13 years agoTurn on CvCLONE for all anonymous subs passed as hooks rt47902
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.

13 years agoFix t/80-regressions.t failing on Win32
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.

13 years agoDocument and test constant folding
Vincent Pit [Wed, 15 Jul 2009 13:20:08 +0000 (15:20 +0200)]
Document and test constant folding

13 years agoThis is 0.16 v0.16
Vincent Pit [Tue, 14 Jul 2009 16:47:04 +0000 (18:47 +0200)]
This is 0.16

13 years agoCover ck_scope actually handling an OP_SCOPE
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.

13 years agoRemove ck_leave()
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.

13 years agoDocument the diagnostics
Vincent Pit [Tue, 14 Jul 2009 16:03:09 +0000 (18:03 +0200)]
Document the diagnostics

13 years agoThanks Andrew and Florian
Vincent Pit [Tue, 14 Jul 2009 15:57:17 +0000 (17:57 +0200)]
Thanks Andrew and Florian

13 years agoFreshen t/22-bad-mixed.t
Vincent Pit [Tue, 14 Jul 2009 15:42:29 +0000 (17:42 +0200)]
Freshen t/22-bad-mixed.t

13 years agoFreshen t/20-good.t
Vincent Pit [Tue, 14 Jul 2009 15:36:03 +0000 (17:36 +0200)]
Freshen t/20-good.t

13 years agoRename try() to zap() as we'll need try() for something else soon
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

13 years agoSimplify the warning handler in t/21-bad.t
Vincent Pit [Tue, 14 Jul 2009 14:25:00 +0000 (16:25 +0200)]
Simplify the warning handler in t/21-bad.t

13 years agoDocument that we know handle blocks
Vincent Pit [Tue, 14 Jul 2009 14:22:12 +0000 (16:22 +0200)]
Document that we know handle blocks

13 years agoHandle indirect calls on blocks
Vincent Pit [Tue, 14 Jul 2009 14:00:19 +0000 (16:00 +0200)]
Handle indirect calls on blocks

13 years agoMake the default error message public
Vincent Pit [Tue, 14 Jul 2009 12:36:46 +0000 (14:36 +0200)]
Make the default error message public

13 years agoOnly enable the pragma during compile time rt47866
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.

13 years agoRevamp t/21-bad.t
Vincent Pit [Tue, 14 Jul 2009 10:32:57 +0000 (12:32 +0200)]
Revamp t/21-bad.t

13 years agoThis is 0.15 v0.15
Vincent Pit [Wed, 8 Jul 2009 22:54:51 +0000 (00:54 +0200)]
This is 0.15

13 years agoFix "meth meth" not being correctly reported
Vincent Pit [Wed, 8 Jul 2009 14:07:24 +0000 (16:07 +0200)]
Fix "meth meth" not being correctly reported

13 years agoAdd a stress test
Vincent Pit [Tue, 7 Jul 2009 23:11:28 +0000 (01:11 +0200)]
Add a stress test

13 years agoFix line number for multiline indirect constructs
Vincent Pit [Tue, 7 Jul 2009 22:58:54 +0000 (00:58 +0200)]
Fix line number for multiline indirect constructs

13 years agoStore a proper op info instead of hijacking a SV
Vincent Pit [Tue, 7 Jul 2009 20:52:25 +0000 (22:52 +0200)]
Store a proper op info instead of hijacking a SV

13 years agoFactor the cloning logic in a separate function
Vincent Pit [Tue, 7 Jul 2009 19:57:04 +0000 (21:57 +0200)]
Factor the cloning logic in a separate function

13 years agoA few POD nits
Vincent Pit [Thu, 18 Jun 2009 12:13:59 +0000 (14:13 +0200)]
A few POD nits

13 years agoRemove unused variable.
Florian Ragwitz [Fri, 5 Jun 2009 05:08:19 +0000 (07:08 +0200)]
Remove unused variable.

13 years agoThis is 0.14 v0.14
Vincent Pit [Thu, 4 Jun 2009 21:54:31 +0000 (23:54 +0200)]
This is 0.14

13 years agoBe proud about our workarounds
Vincent Pit [Thu, 4 Jun 2009 21:47:48 +0000 (23:47 +0200)]
Be proud about our workarounds

13 years agoUse a better metasyntactic name instead of C<sub>
Vincent Pit [Thu, 4 Jun 2009 21:43:01 +0000 (23:43 +0200)]
Use a better metasyntactic name instead of C<sub>

13 years agoDon't actually create an entry when storing NULL in the ptable
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().

13 years agoFix a small leak of hints objects
Vincent Pit [Thu, 28 May 2009 22:48:07 +0000 (00:48 +0200)]
Fix a small leak of hints objects

13 years agoPrevent bogus invalid syntaxes caused by reallocated memory chunks
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.

13 years agoThis is 0.13 v0.13
Vincent Pit [Sun, 24 May 2009 18:50:51 +0000 (20:50 +0200)]
This is 0.13

13 years agoTest the workaround more extensively
Vincent Pit [Sun, 24 May 2009 18:44:01 +0000 (20:44 +0200)]
Test the workaround more extensively

13 years agoWork around the "pragma propagating into require" bug
Vincent Pit [Sun, 24 May 2009 18:15:20 +0000 (20:15 +0200)]
Work around the "pragma propagating into require" bug

13 years agoRename 'id' to 'hint' for consistency
Vincent Pit [Sun, 24 May 2009 14:34:31 +0000 (16:34 +0200)]
Rename 'id' to 'hint' for consistency

13 years agoStop leaking the package name passed to the hook
Vincent Pit [Sat, 23 May 2009 22:32:22 +0000 (00:32 +0200)]
Stop leaking the package name passed to the hook

13 years agoWe want to test code in ck_entersub(), not hint
Vincent Pit [Sat, 23 May 2009 22:28:59 +0000 (00:28 +0200)]
We want to test code in ck_entersub(), not hint

13 years agoAdd a TODO test for the "pragma propagating into require" issue
Vincent Pit [Sat, 23 May 2009 22:26:55 +0000 (00:26 +0200)]
Add a TODO test for the "pragma propagating into require" issue

13 years agoGet rid of t/90-boilerplate.t
Vincent Pit [Sun, 17 May 2009 20:46:00 +0000 (22:46 +0200)]
Get rid of t/90-boilerplate.t

13 years agoLower the ptable initial size
Vincent Pit [Sun, 17 May 2009 20:45:23 +0000 (22:45 +0200)]
Lower the ptable initial size

13 years ago5.9.5 fix
Vincent Pit [Fri, 15 May 2009 22:38:07 +0000 (00:38 +0200)]
5.9.5 fix

13 years agoAlso pass the file and the line number to the hook
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.

13 years agoPass copies as hook arguments
Vincent Pit [Thu, 7 May 2009 22:45:59 +0000 (00:45 +0200)]
Pass copies as hook arguments

13 years agoMake names stored in the op map readonly
Vincent Pit [Thu, 7 May 2009 22:40:47 +0000 (00:40 +0200)]
Make names stored in the op map readonly

13 years agoThis is 0.12 v0.12
Vincent Pit [Sun, 3 May 2009 14:26:40 +0000 (16:26 +0200)]
This is 0.12

13 years agoPOD cleanup
Vincent Pit [Sun, 3 May 2009 14:24:59 +0000 (16:24 +0200)]
POD cleanup

13 years agoFreshen the synopsis
Vincent Pit [Sun, 3 May 2009 14:23:54 +0000 (16:23 +0200)]
Freshen the synopsis

13 years agoIntroduce the 'hook' unimport option
Vincent Pit [Sun, 3 May 2009 13:00:36 +0000 (15:00 +0200)]
Introduce the 'hook' unimport option

13 years agoRename some test files
Vincent Pit [Sun, 3 May 2009 12:47:14 +0000 (14:47 +0200)]
Rename some test files

13 years agoDisable thread safety for 5.8.x on Windows
Vincent Pit [Sun, 3 May 2009 12:29:01 +0000 (14:29 +0200)]
Disable thread safety for 5.8.x on Windows

13 years agoMake the op map thread safe
Vincent Pit [Sun, 3 May 2009 12:24:04 +0000 (14:24 +0200)]
Make the op map thread safe

13 years agoIntroduce the I_THREADSAFE() constant
Vincent Pit [Sat, 2 May 2009 22:53:08 +0000 (00:53 +0200)]
Introduce the I_THREADSAFE() constant

13 years agoMake the hint thread-safe and store a coderef called each time an indirect construct...
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

13 years agoDon't hardcode the package name as the hints key
Vincent Pit [Sat, 2 May 2009 22:21:36 +0000 (00:21 +0200)]
Don't hardcode the package name as the hints key

13 years agoSwitch to a ptable-based OP map
Vincent Pit [Sat, 2 May 2009 22:17:24 +0000 (00:17 +0200)]
Switch to a ptable-based OP map

13 years agoSlashes are reserved and hence must be encoded in the search part of an URL
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

13 years agoTighten the scope of pl_linestr in indirect_map_store()
Vincent Pit [Fri, 17 Apr 2009 14:51:36 +0000 (16:51 +0200)]
Tighten the scope of pl_linestr in indirect_map_store()

13 years agoTest use/no indirect while parsing an indirect construct
Vincent Pit [Fri, 17 Apr 2009 13:31:12 +0000 (15:31 +0200)]
Test use/no indirect while parsing an indirect construct

13 years agoPoint the repository to the gitweb instead of the bare repo
Vincent Pit [Thu, 16 Apr 2009 22:43:53 +0000 (00:43 +0200)]
Point the repository to the gitweb instead of the bare repo

13 years agoDon't even try to fetch the object if the method couldn't be found
Vincent Pit [Thu, 26 Feb 2009 11:11:44 +0000 (12:11 +0100)]
Don't even try to fetch the object if the method couldn't be found

13 years agoSomewhat improve the readability of indirect_ck_entersub()
Vincent Pit [Wed, 25 Feb 2009 20:37:08 +0000 (21:37 +0100)]
Somewhat improve the readability of indirect_ck_entersub()

13 years agoFix negation precedence
Vincent Pit [Wed, 25 Feb 2009 20:27:35 +0000 (21:27 +0100)]
Fix negation precedence

13 years agoSilence an "unused return value" warning
Vincent Pit [Thu, 12 Feb 2009 20:53:26 +0000 (21:53 +0100)]
Silence an "unused return value" warning

13 years agoConsting fix
Vincent Pit [Thu, 12 Feb 2009 20:51:56 +0000 (21:51 +0100)]
Consting fix

13 years agoThis is 0.11 v0.11
Vincent Pit [Sun, 8 Feb 2009 18:32:56 +0000 (19:32 +0100)]
This is 0.11

13 years agoUse recent ExtUtils::MakeMaker features to generate a better META.yml
Vincent Pit [Sat, 7 Feb 2009 21:24:11 +0000 (22:24 +0100)]
Use recent ExtUtils::MakeMaker features to generate a better META.yml

13 years agoAdd a cast to make icc happy
Vincent Pit [Mon, 19 Jan 2009 20:06:17 +0000 (21:06 +0100)]
Add a cast to make icc happy

13 years agoSilence a visibility warning
Vincent Pit [Mon, 19 Jan 2009 20:05:36 +0000 (21:05 +0100)]
Silence a visibility warning

13 years agoFix a possible collisions by hashing pointers with the format %u
Vincent Pit [Mon, 19 Jan 2009 20:02:41 +0000 (21:02 +0100)]
Fix a possible collisions by hashing pointers with the format %u

13 years agoThis is 0.10 v0.10
Vincent Pit [Sat, 17 Jan 2009 12:39:06 +0000 (13:39 +0100)]
This is 0.10

13 years agoYet more diagnostics for t/30-scope.t
Vincent Pit [Sat, 17 Jan 2009 12:34:52 +0000 (13:34 +0100)]
Yet more diagnostics for t/30-scope.t

13 years agoBump copyright year
Vincent Pit [Sat, 17 Jan 2009 12:20:27 +0000 (13:20 +0100)]
Bump copyright year

13 years agoMove the CAVEATS paragraph above DEPENDENCIES
Vincent Pit [Sat, 27 Dec 2008 14:21:45 +0000 (15:21 +0100)]
Move the CAVEATS paragraph above DEPENDENCIES

13 years agoCleanup indirect_map_clean() recursion
Vincent Pit [Wed, 10 Dec 2008 20:27:33 +0000 (21:27 +0100)]
Cleanup indirect_map_clean() recursion

13 years agoThis is 0.09_01 v0.09_01
Vincent Pit [Mon, 8 Dec 2008 17:54:06 +0000 (18:54 +0100)]
This is 0.09_01

13 years agoBetter handling of extraneous warnings in t/30-scope.t
Vincent Pit [Mon, 8 Dec 2008 13:26:20 +0000 (14:26 +0100)]
Better handling of extraneous warnings in t/30-scope.t

13 years agoPhrasing fix
Vincent Pit [Sun, 7 Dec 2008 16:43:25 +0000 (17:43 +0100)]
Phrasing fix

13 years agoReally fix the "${\(new Hlagh)}" bug by ensuring that the kid of a rv2sv is a SVOP...
Vincent Pit [Sat, 6 Dec 2008 01:18:38 +0000 (02:18 +0100)]
Really fix the "${\(new Hlagh)}" bug by ensuring that the kid of a rv2sv is a SVOP before looking for its sv

13 years agoIn t/30-scope.t, avoid failures for "eval 'no indirect; $x = new Foo'" for being...
Vincent Pit [Fri, 5 Dec 2008 23:25:15 +0000 (00:25 +0100)]
In t/30-scope.t, avoid failures for "eval 'no indirect; $x = new Foo'" for being seen as 'more than two warnings' because of an uninitialized $w

13 years agoThis is 0.09 v0.09
Vincent Pit [Fri, 5 Dec 2008 20:35:31 +0000 (21:35 +0100)]
This is 0.09

13 years agoDocument the pragma not propagating into 'eval STRING' on 5.8
Vincent Pit [Fri, 5 Dec 2008 20:31:18 +0000 (21:31 +0100)]
Document the pragma not propagating into 'eval STRING' on 5.8

13 years agoSkip the segfaulting "${\(new Hlagh)}" test
Vincent Pit [Fri, 5 Dec 2008 20:20:01 +0000 (21:20 +0100)]
Skip the segfaulting "${\(new Hlagh)}" test

13 years agoTest eval block
Vincent Pit [Fri, 5 Dec 2008 19:19:19 +0000 (20:19 +0100)]
Test eval block

13 years agoTest if the pragma propagates through eval string
Vincent Pit [Fri, 5 Dec 2008 19:17:35 +0000 (20:17 +0100)]
Test if the pragma propagates through eval string

13 years agoTest that the code compiled fine in t/30-scope.t
Vincent Pit [Fri, 5 Dec 2008 18:56:17 +0000 (19:56 +0100)]
Test that the code compiled fine in t/30-scope.t

13 years agoSupport for perl 5.8
Vincent Pit [Fri, 5 Dec 2008 18:15:37 +0000 (19:15 +0100)]
Support for perl 5.8

13 years ago"use feature 'state'" as a prefix, so that we'll be able to skip it on older perls
Vincent Pit [Fri, 5 Dec 2008 17:16:34 +0000 (18:16 +0100)]
"use feature 'state'" as a prefix, so that we'll be able to skip it on older perls

13 years agoAllow specifying a prefix and skipping individual tests
Vincent Pit [Fri, 5 Dec 2008 17:13:49 +0000 (18:13 +0100)]
Allow specifying a prefix and skipping individual tests

13 years agoRemove the 'inside s///' test for now, as it seems to randomly fail
Vincent Pit [Fri, 5 Dec 2008 16:02:16 +0000 (17:02 +0100)]
Remove the 'inside s///' test for now, as it seems to randomly fail

13 years agoIn tests, say 'no/use indirect' inside the eval string, in preparation of 5.8 backport
Vincent Pit [Fri, 5 Dec 2008 15:59:36 +0000 (16:59 +0100)]
In tests, say 'no/use indirect' inside the eval string, in preparation of 5.8 backport

13 years agoReally test that no indirect 'hlagh' does not croak
Vincent Pit [Fri, 5 Dec 2008 15:52:17 +0000 (16:52 +0100)]
Really test that no indirect 'hlagh' does not croak

13 years agoThis is 0.08 v0.08
Vincent Pit [Wed, 22 Oct 2008 14:42:22 +0000 (16:42 +0200)]
This is 0.08

13 years agoTest state variables
Vincent Pit [Wed, 22 Oct 2008 14:38:09 +0000 (16:38 +0200)]
Test state variables

13 years agoDocument the failure to see an indirect syntax at the very end of the file (without...
Vincent Pit [Mon, 20 Oct 2008 15:59:02 +0000 (17:59 +0200)]
Document the failure to see an indirect syntax at the very end of the file (without semicolon)

13 years agoFix a rare edge case for package whose names are prefix of 'main'
Vincent Pit [Sun, 19 Oct 2008 23:42:54 +0000 (01:42 +0200)]
Fix a rare edge case for package whose names are prefix of 'main'

13 years agoBrr. Those strstr() really were fugly
Vincent Pit [Sun, 19 Oct 2008 23:15:52 +0000 (01:15 +0200)]
Brr. Those strstr() really were fugly

13 years agoTest $$ as object
Vincent Pit [Sun, 19 Oct 2008 23:11:08 +0000 (01:11 +0200)]
Test $$ as object

13 years agoThis is 0.07_03 v0.07_03
Vincent Pit [Fri, 17 Oct 2008 20:09:36 +0000 (22:09 +0200)]
This is 0.07_03

13 years agoMake test descriptions shorter
Vincent Pit [Thu, 16 Oct 2008 17:46:47 +0000 (19:46 +0200)]
Make test descriptions shorter