]> git.vpit.fr Git - perl/modules/Lexical-Types.git/log
perl/modules/Lexical-Types.git
9 years agoCompatibility fix for perl 5.21.6 rt100202
Father Chrysostomos [Fri, 6 Feb 2015 14:00:09 +0000 (15:00 +0100)]
Compatibility fix for perl 5.21.6

Given

    my Int ($x, ($y, $z), $t) = ("x", "y");

In 5.20.1 it parses as:

6     <;> nextstate(main 2 -e:1) v:{ ->7
e     <2> aassign[t5] vKS ->f
-        <1> ex-list lKP ->a
7           <0> pushmark s ->8
8           <$> const(PV "x") s ->9
9           <$> const(PV "y") s ->a
-        <1> ex-list lKPRM* ->e
a           <0> padrange[$x:2,3] lRM/LVINTRO,1 ->b
-           <0> padsv[$x:2,3] lRM*/LVINTRO ->b
c           <@> list lKPRM* ->d
b              <0> padrange[$y:2,3; $z:2,3] lRM/LVINTRO,2 ->c
-              <0> padsv[$y:2,3] lRM*/LVINTRO ->-
-              <0> padsv[$z:2,3] lRM*/LVINTRO ->c
d           <0> padsv[$t:2,3] lRM*/LVINTRO ->e

In 5.21.6-to-be:

6     <;> nextstate(main 3 -e:1) v:{ ->7
b     <2> aassign[t5] vKS ->c
-        <1> ex-list lKP ->a
7           <0> pushmark s ->8
8           <$> const[PV "x"] s ->9
9           <$> const[PV "y"] s ->a
-        <1> ex-list lKPRM* ->b
a           <0> padrange[$x:3,4; $y:3,4; $z:3,4; $t:3,4] lRM/LVINTRO,4 ->b
-           <0> padsv[$x:3,4] lRM*/LVINTRO ->-
-           <1> ex-list lKPRM* ->-
-              <0> ex-pushmark sRM*/LVINTRO ->-
-              <0> padsv[$y:3,4] lRM*/LVINTRO ->-
-              <0> padsv[$z:3,4] lRM*/LVINTRO ->-
-           <0> padsv[$t:3,4] lRM*/LVINTRO ->-

The inner list is optimised away, but still visible in the op tree.

Also, I noticed that this comment in Types.xs is wrong:

   /* In a padrange sequence, either all lexicals are typed, or none are.
    * Thus we can stop at the first padsv op. However, note that these
    * lexicals can need to call different methods in different packages. */

$ perl5.20.1 -MO=Concise -e '(my main $a, my $b, my main $c) = ()'
6  <@> leave[1 ref] vKP/REFC ->(end)
1     <0> enter ->2
2     <;> nextstate(main 1 -e:1) v:{ ->3
5     <2> aassign[t4] vKS ->6
-        <1> ex-list lK ->4
3           <0> pushmark s ->4
-           <0> stub lP ->-
-        <1> ex-list lKPRM* ->5
4           <0> padrange[$a:1,2; $b:1,2; $c:1,2] lRM/LVINTRO,3 ->5
-           <0> padsv[$a:1,2] lRM*/LVINTRO ->-
-           <0> padsv[$b:1,2] lRM*/LVINTRO ->-
-           <0> padsv[$c:1,2] lRM*/LVINTRO ->-
-e syntax OK

I don’t know whether that has any bearing on the correctness of the code,
but I suspect there is a bug.

The attached patch gets all the tests passing, but I don’t know whether I
caught everything. Note that there are cases where the sibling of the
padrange is actually a null op :

$ ./perl -ILib  -MO=Concise -e '@a[my $x, my $y, my $z]'
7  <@> leave[1 ref] vKP/REFC ->(end)
1     <0> enter ->2
2     <;> nextstate(main 1 -e:1) v:{ ->3
6     <@> aslice vK ->7
3        <0> padrange[$x:1,2; $y:1,2; $z:1,2] l/LVINTRO,3 ->4
-        <1> ex-list lK ->4
-           <0> ex-pushmark s ->-
-           <0> padsv[$x:1,2] lM/LVINTRO ->-
-           <0> padsv[$y:1,2] lM/LVINTRO ->-
-           <0> padsv[$z:1,2] lM/LVINTRO ->-
5        <1> rv2av[t2] sKR/1 ->6
4           <#> gv[*a] s ->5
-e syntax OK

This fixes RT #100202.

9 years agoThis is 0.13 v0.13
Vincent Pit [Sat, 4 Oct 2014 23:34:10 +0000 (01:34 +0200)]
This is 0.13

9 years agoFix a wrong copypasta in Changes
Vincent Pit [Sat, 4 Oct 2014 23:20:41 +0000 (01:20 +0200)]
Fix a wrong copypasta in Changes

9 years agoBump copyright year
Vincent Pit [Sat, 4 Oct 2014 23:07:58 +0000 (01:07 +0200)]
Bump copyright year

9 years agoWarn about the global slowdown
Vincent Pit [Sat, 4 Oct 2014 23:00:31 +0000 (01:00 +0200)]
Warn about the global slowdown

9 years agoAdd support for PERL_OP_PARENT
Vincent Pit [Sat, 4 Oct 2014 22:59:00 +0000 (00:59 +0200)]
Add support for PERL_OP_PARENT

This was introduced in perl 5.21.2.

9 years agoDo nothing after that the thread local storage has been freed
Vincent Pit [Sat, 4 Oct 2014 22:54:33 +0000 (00:54 +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.

9 years agoNullify thread local storage entries when they are freed
Vincent Pit [Sat, 4 Oct 2014 22:39:58 +0000 (00:39 +0200)]
Nullify thread local storage entries when they are freed

This makes possible problems easier to reproduce.

9 years agoProperly decrement the refcount of the default method name at thread end
Vincent Pit [Sat, 4 Oct 2014 22:39:00 +0000 (00:39 +0200)]
Properly decrement the refcount of the default method name at thread end

9 years agoDon't cleanup thread local storage before END blocks are executed
Vincent Pit [Sat, 4 Oct 2014 22:31:46 +0000 (00:31 +0200)]
Don't cleanup thread local storage before END blocks are executed

reap.h is no longer necessary.

9 years agoUse run_perl() from VPIT::TestHelpers
Vincent Pit [Sat, 4 Oct 2014 22:27:40 +0000 (00:27 +0200)]
Use run_perl() from VPIT::TestHelpers

This updates VPIT::TestHelpers to 4fb18792.

10 years agoRenumber test files
Vincent Pit [Fri, 4 Oct 2013 20:34:48 +0000 (17:34 -0300)]
Renumber test files

To make place for the upcoming addition of non scalar types.

10 years agoRemove a now useless SKIP directive
Vincent Pit [Fri, 4 Oct 2013 20:20:43 +0000 (17:20 -0300)]
Remove a now useless SKIP directive

The block was skipped for perl 5.8.2 and below, but we now require 5.8.3.

10 years agoRemove profanity
Vincent Pit [Mon, 9 Sep 2013 12:18:56 +0000 (14:18 +0200)]
Remove profanity

10 years agoAdd support for padrange ops, introduced in perl 5.17.6
Vincent Pit [Fri, 6 Sep 2013 15:37:59 +0000 (17:37 +0200)]
Add support for padrange ops, introduced in perl 5.17.6

This fixes RT #86112.

10 years agoRename <lt_op_info>, lt_op_map to <lt_op_padxv_info>, lt_op_padxv_map
Vincent Pit [Fri, 6 Sep 2013 15:32:20 +0000 (17:32 +0200)]
Rename <lt_op_info>, lt_op_map to <lt_op_padxv_info>, lt_op_padxv_map

As we'll need a new pointer table soon.

10 years agoAdd more basic tests
Vincent Pit [Fri, 6 Sep 2013 15:26:36 +0000 (17:26 +0200)]
Add more basic tests

10 years agoMove the run-time initializer call into a new lt_op_info_call() helper
Vincent Pit [Fri, 6 Sep 2013 11:10:30 +0000 (13:10 +0200)]
Move the run-time initializer call into a new lt_op_info_call() helper

10 years agoRename lt_op_info.old_pp_padsv to .old_pp
Vincent Pit [Fri, 6 Sep 2013 10:56:40 +0000 (12:56 +0200)]
Rename lt_op_info.old_pp_padsv to .old_pp

For it will be soon allowed to be something else.

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

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

10 years agoNo tabs please
Vincent Pit [Fri, 23 Aug 2013 18:56:38 +0000 (15:56 -0300)]
No tabs please

10 years agoPOD verbatim paragraphs should fit into a terminal
Vincent Pit [Fri, 23 Aug 2013 18:40:43 +0000 (15:40 -0300)]
POD verbatim paragraphs should fit into a terminal

10 years agoMake sure the POD headings are linkable
Vincent Pit [Fri, 23 Aug 2013 18:39:38 +0000 (15:39 -0300)]
Make sure the POD headings are linkable

10 years agoReplace check functions in a thread-safe way
Vincent Pit [Thu, 22 Aug 2013 21:14:15 +0000 (18:14 -0300)]
Replace check functions in a thread-safe way

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

10 years agoUpdate the bug tracker URL in META after the rt.perl.org upgrade
Vincent Pit [Wed, 7 Aug 2013 14:39:02 +0000 (11:39 -0300)]
Update the bug tracker URL in META after the rt.perl.org upgrade

10 years agoGet rid of t/99-kwalitee.t
Vincent Pit [Tue, 6 Aug 2013 02:55:44 +0000 (23:55 -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 agoUpdate VPIT::TestHelpers to e8344578
Vincent Pit [Wed, 30 Jan 2013 16:45:05 +0000 (14:45 -0200)]
Update VPIT::TestHelpers to e8344578

11 years agoPreserve the PATH environment variable when running a sub-perl on cygwin
Vincent Pit [Fri, 2 Nov 2012 12:40:37 +0000 (10:40 -0200)]
Preserve the PATH environment variable when running a sub-perl on cygwin

11 years agoStrip spaces at the end of lines
Vincent Pit [Fri, 2 Nov 2012 12:37:21 +0000 (10:37 -0200)]
Strip spaces at the end of lines

11 years agoThreads tests may not be able to spawn all the threads
Vincent Pit [Fri, 2 Nov 2012 12:35:46 +0000 (10:35 -0200)]
Threads tests may not be able to spawn all the threads

To work around this :
- move all the threads boilerplate to a new helper test module ;
- capture the warnings/errors that threads->create may throw and reprint
them properly as diagnostics ;
- do not hardcode the plan and use 'no_plan' instead.

11 years agoPort module loading in magic tests to VPIT::TestHelpers
Vincent Pit [Fri, 2 Nov 2012 01:42:11 +0000 (23:42 -0200)]
Port module loading in magic tests to VPIT::TestHelpers

11 years agoUpdate author tests, and add a POD spelling test
Vincent Pit [Fri, 2 Nov 2012 01:32:27 +0000 (23:32 -0200)]
Update author tests, and add a POD spelling test

Also make sure that the kwalitee test unlinks its byproducts.

11 years agoKill Debian_CPANTS.txt suffixes as well
Vincent Pit [Fri, 2 Nov 2012 01:28:39 +0000 (23:28 -0200)]
Kill Debian_CPANTS.txt suffixes as well

11 years agoQuote version numbers in Makefile.PL
Vincent Pit [Fri, 2 Nov 2012 01:27:31 +0000 (23:27 -0200)]
Quote version numbers in Makefile.PL

11 years agoAdd BUILD_REQUIRES to WriteMakefile()
Vincent Pit [Fri, 2 Nov 2012 01:25:57 +0000 (23:25 -0200)]
Add BUILD_REQUIRES to WriteMakefile()

11 years agoSimplify Config loading in Makefile.PL
Vincent Pit [Fri, 2 Nov 2012 01:23:14 +0000 (23:23 -0200)]
Simplify Config loading in Makefile.PL

Also add it to configure_requires and build_requires.

11 years agoCorrect a skip reason in t/18-hints.t
Vincent Pit [Fri, 15 Jun 2012 12:40:43 +0000 (14:40 +0200)]
Correct a skip reason in t/18-hints.t

Copypasta is baaad.

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

12 years agoSilence some "unused result" compiler warnings
Vincent Pit [Tue, 6 Sep 2011 17:25:21 +0000 (19:25 +0200)]
Silence some "unused result" compiler warnings

12 years agoSkip the hint entry vivification test on 5.11
Vincent Pit [Sun, 4 Sep 2011 16:01:30 +0000 (18:01 +0200)]
Skip the hint entry vivification test on 5.11

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

12 years agoThis is 0.12 v0.12
Vincent Pit [Wed, 24 Aug 2011 16:27:57 +0000 (18:27 +0200)]
This is 0.12

12 years agoEncode the README file in UTF-8
Vincent Pit [Wed, 24 Aug 2011 16:12:57 +0000 (18:12 +0200)]
Encode the README file in UTF-8

12 years agoAdd META.json
Vincent Pit [Wed, 24 Aug 2011 16:11:32 +0000 (18:11 +0200)]
Add META.json

12 years agoIgnore MYMETA.json
Vincent Pit [Wed, 24 Aug 2011 16:10:35 +0000 (18:10 +0200)]
Ignore MYMETA.json

12 years agoReplace $] by "$]"
Vincent Pit [Wed, 24 Aug 2011 16:09:48 +0000 (18:09 +0200)]
Replace $] by "$]"

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

Occurences of $^V were also replaced by $].

12 years agoThe last argument to hv_fetch is the lvalue flag, not the hash
Vincent Pit [Wed, 24 Aug 2011 15:48:45 +0000 (17:48 +0200)]
The last argument to hv_fetch is the lvalue flag, not the hash

This could have caused entry vivifications in %^H on 5.8.

13 years agoThis is 0.11 v0.11
Vincent Pit [Sat, 26 Feb 2011 21:58:43 +0000 (22:58 +0100)]
This is 0.11

13 years agoMinor POD tweak
Vincent Pit [Sat, 26 Feb 2011 19:22:05 +0000 (20:22 +0100)]
Minor POD tweak

13 years agoAlways skip seen ops in our peep replacement rt66146
Vincent Pit [Sat, 26 Feb 2011 19:18:09 +0000 (20:18 +0100)]
Always skip seen ops in our peep replacement

Sometimes, there are loops in the next chain as e.g. with infinite loops
like "for (;;) { ... }". We can't reuse the op_opt member because it's
almost always set after the first pass.

This fixes RT #66146.

13 years agoThis is 0.10 v0.10
Vincent Pit [Mon, 3 Jan 2011 20:32:15 +0000 (21:32 +0100)]
This is 0.10

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

13 years agoFix building on Windows
Vincent Pit [Mon, 3 Jan 2011 20:20:16 +0000 (21:20 +0100)]
Fix building on Windows

13 years agoRequire perl 5.8.3
Vincent Pit [Mon, 3 Jan 2011 15:01:34 +0000 (16:01 +0100)]
Require perl 5.8.3

5.8.2 has a buggy peephole optimizer that may cause test failures.

13 years agoSkip threads tests unless perl version is 5.13.4 or greater
Vincent Pit [Mon, 3 Jan 2011 14:59:22 +0000 (15:59 +0100)]
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.

13 years agoForce linking against the perl dll when using gcc 3.4 on Windows
Vincent Pit [Mon, 3 Jan 2011 14:46:33 +0000 (15:46 +0100)]
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).

This change is the integration of commit 14f8af2 from Variable::Magic's
repository.

13 years agoIntroduce LT_FORKSAFE
Vincent Pit [Mon, 3 Jan 2011 14:25:13 +0000 (15:25 +0100)]
Introduce LT_FORKSAFE

13 years agoOnly load Carp on error
Vincent Pit [Mon, 3 Jan 2011 14:18:36 +0000 (15:18 +0100)]
Only load Carp on error

13 years agoFix test failures with Strawberry Perl 5.12
Vincent Pit [Mon, 3 Jan 2011 11:40:59 +0000 (12:40 +0100)]
Fix test failures with Strawberry Perl 5.12

perl crashes because the SystemRoot environment variable is missing.

13 years agoUse TARG in lt_pp_padsv
Vincent Pit [Mon, 3 Jan 2011 11:20:15 +0000 (12:20 +0100)]
Use TARG in lt_pp_padsv

This is how Perl_pp_padsv gets the SV.

13 years agoBump copyright year
Vincent Pit [Sat, 1 Jan 2011 22:48:08 +0000 (23:48 +0100)]
Bump copyright year

13 years agoRemove the #ifdef wrapping the mutex locks/unlocks
Vincent Pit [Sat, 1 Jan 2011 22:32:43 +0000 (23:32 +0100)]
Remove the #ifdef wrapping the mutex locks/unlocks

13 years agoOnly declare dMY_CXT when really needed
Vincent Pit [Sat, 1 Jan 2011 22:28:48 +0000 (23:28 +0100)]
Only declare dMY_CXT when really needed

13 years agoGet rid of CALL_FPTR
Vincent Pit [Sat, 1 Jan 2011 22:23:59 +0000 (23:23 +0100)]
Get rid of CALL_FPTR

13 years agoSet the ppaddr member of padsv ops at peep time
Vincent Pit [Sat, 1 Jan 2011 22:21:10 +0000 (23:21 +0100)]
Set the ppaddr member of padsv ops at peep time

There was a race in the "PL_ppaddr[OP_PADSV] save/restore dance" in that
perl might be compiling ops inside and outside the scope of the pragma at
the same time. We solve this by setting the op_ppaddr member of padsv ops
to a_pp_deref during the peephole optimization phase.

13 years agoUse cop_hints_fetch_pvn() whenever possible
Vincent Pit [Fri, 31 Dec 2010 16:36:54 +0000 (17:36 +0100)]
Use cop_hints_fetch_pvn() whenever possible

refcounted_he_fetch() never was public, but in recent 5.13.x versions it is
no longer linkable.

13 years agoUse the new CLONE_PARAMS API with perl 5.13.2
Vincent Pit [Fri, 31 Dec 2010 17:12:38 +0000 (18:12 +0100)]
Use the new CLONE_PARAMS API with perl 5.13.2

13 years agoClarify our policy towards C++ compilers
Vincent Pit [Fri, 31 Dec 2010 16:48:02 +0000 (17:48 +0100)]
Clarify our policy towards C++ compilers

13 years agoUpdate ptable.h
Vincent Pit [Fri, 31 Dec 2010 16:46:28 +0000 (17:46 +0100)]
Update ptable.h

13 years agoIgnore MYMETA.yml
Vincent Pit [Fri, 31 Dec 2010 16:39:15 +0000 (17:39 +0100)]
Ignore MYMETA.yml

13 years agoGet rid of ENTERn/LEAVEn
Vincent Pit [Fri, 31 Dec 2010 16:34:14 +0000 (17:34 +0100)]
Get rid of ENTERn/LEAVEn

They are no longer needed since 420f91f3c4f8aa318ede84928eb7c671921500ea.

13 years agoIdentify the require scope by the outmost cv outside of the current one
Vincent Pit [Tue, 1 Jun 2010 17:09:15 +0000 (19:09 +0200)]
Identify the require scope by the outmost cv outside of the current one

13 years agoFix the thread destructor trick for 5.13.1
Vincent Pit [Tue, 1 Jun 2010 16:36:55 +0000 (18:36 +0200)]
Fix the thread destructor trick for 5.13.1

13 years agoRequire perl 5.8.1
Vincent Pit [Tue, 18 May 2010 22:15:11 +0000 (00:15 +0200)]
Require perl 5.8.1

14 years ago{ENTER,LEAVE}_with_name are no longer needed starting perl 5.11.4
Vincent Pit [Thu, 15 Apr 2010 23:32:33 +0000 (01:32 +0200)]
{ENTER,LEAVE}_with_name are no longer needed starting perl 5.11.4

14 years agoThis is 0.09 v0.09
Vincent Pit [Sat, 2 Jan 2010 23:59:11 +0000 (00:59 +0100)]
This is 0.09

14 years agoBump copyright year
Vincent Pit [Sat, 2 Jan 2010 23:58:06 +0000 (00:58 +0100)]
Bump copyright year

14 years agoTrailing whitespace
Vincent Pit [Sat, 2 Jan 2010 23:37:05 +0000 (00:37 +0100)]
Trailing whitespace

14 years agoDo not mix declarations and code
Vincent Pit [Sat, 2 Jan 2010 23:35:01 +0000 (00:35 +0100)]
Do not mix declarations and code

14 years agoCLONE doesn't need to return anything, so make it use a PPCODE section
Vincent Pit [Sat, 2 Jan 2010 23:33:29 +0000 (00:33 +0100)]
CLONE doesn't need to return anything, so make it use a PPCODE section

14 years agoAdd the missing return type to lt_setup()
Vincent Pit [Sat, 2 Jan 2010 23:30:55 +0000 (00:30 +0100)]
Add the missing return type to lt_setup()

14 years agoRename the pp_padsv member to old_pp_padsv
Vincent Pit [Sat, 2 Jan 2010 23:30:09 +0000 (00:30 +0100)]
Rename the pp_padsv member to old_pp_padsv

As pp_padsv is a compatibility macro from the perl core headers.

14 years agoUpdate ptable.h
Vincent Pit [Tue, 29 Dec 2009 17:15:52 +0000 (18:15 +0100)]
Update ptable.h

14 years agoAlso call FREETMPS/LEAVE when skipping a typed declaration
Vincent Pit [Tue, 29 Dec 2009 17:04:53 +0000 (18:04 +0100)]
Also call FREETMPS/LEAVE when skipping a typed declaration

This fixes unbalanced scopes that were uncovered by the new named scope
feature in blead

14 years agoFix for {ENTER,LEAVE}_with_name
Vincent Pit [Tue, 29 Dec 2009 16:30:01 +0000 (17:30 +0100)]
Fix for {ENTER,LEAVE}_with_name

14 years agoRe-indent WriteMakefile() arguments
Vincent Pit [Sun, 4 Oct 2009 09:18:03 +0000 (11:18 +0200)]
Re-indent WriteMakefile() arguments

14 years agoBuild the $name and the main $file from $dist
Vincent Pit [Sun, 4 Oct 2009 08:24:28 +0000 (10:24 +0200)]
Build the $name and the main $file from $dist

14 years agoPut prerequisites in their own separate hash
Vincent Pit [Sun, 4 Oct 2009 08:00:08 +0000 (10:00 +0200)]
Put prerequisites in their own separate hash

14 years agoGive an explicit value to dynamic_config
Vincent Pit [Sun, 4 Oct 2009 07:28:21 +0000 (09:28 +0200)]
Give an explicit value to dynamic_config

14 years agoOnly look up to the first require scope for the require propagation workaround
Vincent Pit [Wed, 30 Sep 2009 22:22:50 +0000 (00:22 +0200)]
Only look up to the first require scope for the require propagation workaround

14 years agoKwalitee test overhaul
Vincent Pit [Sat, 26 Sep 2009 09:53:10 +0000 (11:53 +0200)]
Kwalitee test overhaul

14 years agoReset the callbacks when the root interpreter is destroyed
Vincent Pit [Fri, 11 Sep 2009 22:57:41 +0000 (00:57 +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.

14 years agoOnly remap the hint through the pointer table for threaded perls
Vincent Pit [Fri, 11 Sep 2009 21:45:35 +0000 (23:45 +0200)]
Only remap the hint through the pointer table for threaded perls

Also use the hint pointer as the unique identifier for the %^H entry, so
that the pragma no longer leaks when you specify the same hook (i.e. a
reference to the same sub) in two different require scopes.

14 years agoThis is 0.08 v0.08
Vincent Pit [Sat, 4 Jul 2009 19:34:57 +0000 (21:34 +0200)]
This is 0.08

14 years agoStore the default method name in the thread local storage area
Vincent Pit [Sat, 4 Jul 2009 13:00:03 +0000 (15:00 +0200)]
Store the default method name in the thread local storage area

Because we actually write to it in threads (its refcount is incremented).

14 years agoIncrement the refcount after cloning
Vincent Pit [Sat, 4 Jul 2009 12:52:25 +0000 (14:52 +0200)]
Increment the refcount after cloning

14 years agoRequire Variable::Magic 0.35 in t/23-magic-uvar.t
Vincent Pit [Sat, 4 Jul 2009 11:52:05 +0000 (13:52 +0200)]
Require Variable::Magic 0.35 in t/23-magic-uvar.t

So that perl 5.9.5 isn't considered as having uvar magic anymore.

14 years agoCorrect the refcount of the source SVs that aren't actually stored
Vincent Pit [Sat, 4 Jul 2009 11:46:48 +0000 (13:46 +0200)]
Correct the refcount of the source SVs that aren't actually stored

14 years agoDecide to use shared op info according to MULTIPLICITY
Vincent Pit [Sat, 4 Jul 2009 10:46:04 +0000 (12:46 +0200)]
Decide to use shared op info according to MULTIPLICITY

And not LT_MULTIPLICITY, since it can be disabled at configure time.