]> git.vpit.fr Git - perl/modules/Variable-Magic.git/log
perl/modules/Variable-Magic.git
15 years agoFix and test segfaults and wrong "Unknown error" exceptions when dieing in require...
Vincent Pit [Thu, 19 Feb 2009 00:01:28 +0000 (01:01 +0100)]
Fix and test segfaults and wrong "Unknown error" exceptions when dieing in require cause a free callback to fire

15 years agoStop citing all the constants in the EXPORT section
Vincent Pit [Tue, 17 Feb 2009 23:38:47 +0000 (00:38 +0100)]
Stop citing all the constants in the EXPORT section

15 years agoReorder the POD so that the functions come before the constants and the history
Vincent Pit [Tue, 17 Feb 2009 23:36:49 +0000 (00:36 +0100)]
Reorder the POD so that the functions come before the constants and the history

15 years ago'assignation' is really 'assignment'
Vincent Pit [Tue, 17 Feb 2009 23:31:55 +0000 (00:31 +0100)]
'assignation' is really 'assignment'

15 years agoMore code tests
Vincent Pit [Tue, 17 Feb 2009 23:29:05 +0000 (00:29 +0100)]
More code tests

15 years agoA clearer introduction to magic
Vincent Pit [Tue, 17 Feb 2009 00:52:18 +0000 (01:52 +0100)]
A clearer introduction to magic

15 years agoMake op_info thread safe
Vincent Pit [Mon, 16 Feb 2009 18:26:17 +0000 (19:26 +0100)]
Make op_info thread safe

15 years agoReference count vmg_op_name_len
Vincent Pit [Sat, 14 Feb 2009 15:31:09 +0000 (16:31 +0100)]
Reference count vmg_op_name_len

Its refcnt is incremented when a wizard with op_info => NAME is created, and
decremented in the destructor of those wizards. This fixes segfaults that happen
when magic with op_info => NAME is casted onto a stash and not dispelled before
END time.

15 years agoMagic variables can't be distinguished by tied()
Vincent Pit [Sat, 14 Feb 2009 13:26:00 +0000 (14:26 +0100)]
Magic variables can't be distinguished by tied()

15 years agocroak() if storing the wizard in the context fails, but don't let that mess up the...
Vincent Pit [Thu, 12 Feb 2009 20:48:29 +0000 (21:48 +0100)]
croak() if storing the wizard in the context fails, but don't let that mess up the coverage

15 years agogetdata() handles the stack itself, so make it return void and use PPCODE
Vincent Pit [Thu, 12 Feb 2009 20:33:16 +0000 (21:33 +0100)]
getdata() handles the stack itself, so make it return void and use PPCODE

15 years agoReorder a bit the wizard duplication logic to silence a cast warning
Vincent Pit [Thu, 12 Feb 2009 20:26:02 +0000 (21:26 +0100)]
Reorder a bit the wizard duplication logic to silence a cast warning

15 years agoThis is 0.30 v0.30
Vincent Pit [Thu, 12 Feb 2009 17:04:12 +0000 (18:04 +0100)]
This is 0.30

15 years agoDocument magic on array/hash values
Vincent Pit [Thu, 12 Feb 2009 16:55:10 +0000 (17:55 +0100)]
Document magic on array/hash values

15 years agoFix the testsuite for 5.8.3 and lower
Vincent Pit [Thu, 12 Feb 2009 00:17:54 +0000 (01:17 +0100)]
Fix the testsuite for 5.8.3 and lower

c78c1790ebe43372ca405385d4cc053121b53ba0 caused testsuite breakage for those old perls. It looks like this is due to a problem with the WEAKOUTSIDE status of the check blocks, and not from the magical callbacks themselves. Thus it's safe to work around the issue by moving some assignations inside the block.

15 years agoPrefer using VMG_OP_INFO_* constants in t/35-stash.t
Vincent Pit [Wed, 11 Feb 2009 23:23:12 +0000 (00:23 +0100)]
Prefer using VMG_OP_INFO_* constants in t/35-stash.t

15 years agofree magic isn't called for array values delete on 5.8.5 and lower
Vincent Pit [Wed, 11 Feb 2009 23:22:40 +0000 (00:22 +0100)]
free magic isn't called for array values delete on 5.8.5 and lower

15 years agoTest magic on symbol table in a new t/35-stash.t
Vincent Pit [Mon, 9 Feb 2009 17:20:54 +0000 (18:20 +0100)]
Test magic on symbol table in a new t/35-stash.t

15 years agoCarp is also a build dependency
Vincent Pit [Mon, 9 Feb 2009 16:16:46 +0000 (17:16 +0100)]
Carp is also a build dependency

15 years agoTest magic on array/hash elements
Vincent Pit [Mon, 9 Feb 2009 16:02:34 +0000 (17:02 +0100)]
Test magic on array/hash elements

15 years agoNote the op argument position in wizard() synopsys
Vincent Pit [Mon, 9 Feb 2009 15:47:43 +0000 (16:47 +0100)]
Note the op argument position in wizard() synopsys

15 years agoUse VMG_OP_INFO_* macros in the synopsys for op_info
Vincent Pit [Mon, 9 Feb 2009 00:34:13 +0000 (01:34 +0100)]
Use VMG_OP_INFO_* macros in the synopsys for op_info

15 years agoReally skip free callbacks during global destruction
Vincent Pit [Mon, 9 Feb 2009 00:07:02 +0000 (01:07 +0100)]
Really skip free callbacks during global destruction

15 years agoAdd compatibility macro for SvPV_const
Vincent Pit [Sun, 8 Feb 2009 23:44:08 +0000 (00:44 +0100)]
Add compatibility macro for SvPV_const

15 years agoGet current op information in magic callbacks
Vincent Pit [Sun, 8 Feb 2009 14:36:32 +0000 (15:36 +0100)]
Get current op information in magic callbacks

15 years agomPUSHi is no longer needed, but mPUSHu does
Vincent Pit [Sun, 8 Feb 2009 11:10:58 +0000 (12:10 +0100)]
mPUSHi is no longer needed, but mPUSHu does

15 years agoThis is 0.29 v0.29
Vincent Pit [Sun, 8 Feb 2009 11:06:33 +0000 (12:06 +0100)]
This is 0.29

15 years agoRequire perl 5.8
Vincent Pit [Sat, 7 Feb 2009 20:13:13 +0000 (21:13 +0100)]
Require perl 5.8

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

15 years agoSet $_[2] to the default length for len magic on scalars
Vincent Pit [Sat, 7 Feb 2009 12:10:52 +0000 (13:10 +0100)]
Set $_[2] to the default length for len magic on scalars

15 years agoAmend last change to make t/28-uvar.t pass again
Vincent Pit [Sat, 7 Feb 2009 11:29:05 +0000 (12:29 +0100)]
Amend last change to make t/28-uvar.t pass again

15 years agoTest description nit in t/28-uvar.t
Vincent Pit [Fri, 6 Feb 2009 20:54:51 +0000 (21:54 +0100)]
Test description nit in t/28-uvar.t

15 years agoDon't even define a CLONE sub when the module isn't thread safe
Vincent Pit [Thu, 29 Jan 2009 13:10:23 +0000 (14:10 +0100)]
Don't even define a CLONE sub when the module isn't thread safe

15 years agosv_mortalcopy() is more efficient than sv_2mortal(newSVsv())
Vincent Pit [Sun, 25 Jan 2009 19:56:30 +0000 (20:56 +0100)]
sv_mortalcopy() is more efficient than sv_2mortal(newSVsv())

15 years agoComment revamp in vmg_svt_free()
Vincent Pit [Sun, 25 Jan 2009 16:50:54 +0000 (17:50 +0100)]
Comment revamp in vmg_svt_free()

15 years agocount isn't used anymore in vmg_svt_len()
Vincent Pit [Sat, 24 Jan 2009 19:34:21 +0000 (20:34 +0100)]
count isn't used anymore in vmg_svt_len()

15 years agoMinor POD fix
Vincent Pit [Sat, 24 Jan 2009 19:17:03 +0000 (20:17 +0100)]
Minor POD fix

15 years agoA more reliable logic for turning off the GMAGICAL flag when no uvar magic is involved
Vincent Pit [Sat, 24 Jan 2009 19:14:31 +0000 (20:14 +0100)]
A more reliable logic for turning off the GMAGICAL flag when no uvar magic is involved

15 years agoThis is 0.28 v0.28
Vincent Pit [Sat, 24 Jan 2009 17:05:27 +0000 (18:05 +0100)]
This is 0.28

15 years agoTest uvar magic on tied hashes
Vincent Pit [Sat, 24 Jan 2009 16:56:08 +0000 (17:56 +0100)]
Test uvar magic on tied hashes

15 years agoFix segfaults when using get or uvar magic simultaneously with clear magic
Vincent Pit [Sat, 24 Jan 2009 16:36:13 +0000 (17:36 +0100)]
Fix segfaults when using get or uvar magic simultaneously with clear magic

15 years agoMore tests for t/31-array.t
Vincent Pit [Sat, 24 Jan 2009 15:08:56 +0000 (16:08 +0100)]
More tests for t/31-array.t

Including tests of exists and delete.

15 years agoDon't assign results in check blocks
Vincent Pit [Sat, 24 Jan 2009 15:06:26 +0000 (16:06 +0100)]
Don't assign results in check blocks

If the block croaks, the result won't be reset, which makes the interpretation of the test results more difficult. This requires check() to correctly forward scalar context to the block.

15 years agoShow copy_key in wizard()'s synopsys
Vincent Pit [Fri, 23 Jan 2009 23:01:58 +0000 (00:01 +0100)]
Show copy_key in wizard()'s synopsys

15 years agoBetter documentation for the values passed to the callbacks
Vincent Pit [Fri, 23 Jan 2009 22:57:29 +0000 (23:57 +0100)]
Better documentation for the values passed to the callbacks

15 years agoAllow editing the key SV in uvar callbacks by passing a new option 'copy_key'
Vincent Pit [Fri, 23 Jan 2009 22:26:31 +0000 (23:26 +0100)]
Allow editing the key SV in uvar callbacks by passing a new option 'copy_key'

15 years agoMake the benchmark a little more fair
Vincent Pit [Fri, 23 Jan 2009 21:15:03 +0000 (22:15 +0100)]
Make the benchmark a little more fair

15 years agoTest assigning to the key in an uvar callback
Vincent Pit [Fri, 23 Jan 2009 01:25:37 +0000 (02:25 +0100)]
Test assigning to the key in an uvar callback

15 years agoAlso test exists in t/32-hash.t
Vincent Pit [Fri, 23 Jan 2009 00:27:27 +0000 (01:27 +0100)]
Also test exists in t/32-hash.t

15 years agoReenable copy tests in t/32-hash.t as they are not the issue
Vincent Pit [Fri, 23 Jan 2009 00:23:14 +0000 (01:23 +0100)]
Reenable copy tests in t/32-hash.t as they are not the issue

15 years agoTest emptying a hash (can't believe this wasn't already tested)
Vincent Pit [Thu, 22 Jan 2009 23:46:19 +0000 (00:46 +0100)]
Test emptying a hash (can't believe this wasn't already tested)

15 years agoBe a little more precise about the get/clear problem
Vincent Pit [Thu, 22 Jan 2009 10:57:15 +0000 (11:57 +0100)]
Be a little more precise about the get/clear problem

15 years agoReport file/line of failures correctly
Vincent Pit [Wed, 21 Jan 2009 20:20:04 +0000 (21:20 +0100)]
Report file/line of failures correctly

15 years agoFix refcount of scalars with free callback
Vincent Pit [Tue, 20 Jan 2009 22:32:44 +0000 (23:32 +0100)]
Fix refcount of scalars with free callback

Or they'll appear as leaked for non null destruction levels.

15 years agoDon't call the free callback in global destruction
Vincent Pit [Tue, 20 Jan 2009 22:01:34 +0000 (23:01 +0100)]
Don't call the free callback in global destruction

Because in this case the wizard may not even exist anymore.

And test for that in t/15-self.t if either PERL_DESTRUCT_LEVEL is set or if
Perl::Destruct::Level is present.

15 years agoDisable the Win32 AS Perl workaround for now, as it doesn't seem to be relevant for...
Vincent Pit [Tue, 20 Jan 2009 20:09:29 +0000 (21:09 +0100)]
Disable the Win32 AS Perl workaround for now, as it doesn't seem to be relevant for the official PPM repository

15 years agoOutput the build number for Win32 AS perls at the beginning of the tests
Vincent Pit [Tue, 20 Jan 2009 19:59:58 +0000 (20:59 +0100)]
Output the build number for Win32 AS perls at the beginning of the tests

15 years agoSpacing
Vincent Pit [Tue, 20 Jan 2009 00:17:59 +0000 (01:17 +0100)]
Spacing

15 years agoA better fix for handling exceptions at compile time.
Vincent Pit [Mon, 19 Jan 2009 23:53:19 +0000 (00:53 +0100)]
A better fix for handling exceptions at compile time.

Also remove useless returns check for call_sv. It's called in scalar context, so it has to return exactly one scalar.

15 years agoRemove an unused variable
Vincent Pit [Mon, 19 Jan 2009 20:35:53 +0000 (21:35 +0100)]
Remove an unused variable

15 years agoTest the "die in free callback in BEGIN" issue in a new t/17-ctl.t
Vincent Pit [Mon, 19 Jan 2009 00:23:43 +0000 (01:23 +0100)]
Test the "die in free callback in BEGIN" issue in a new t/17-ctl.t

15 years agoThis is 0.27 v0.27
Vincent Pit [Sun, 18 Jan 2009 23:37:11 +0000 (00:37 +0100)]
This is 0.27

15 years agoBump copyright year
Vincent Pit [Sun, 18 Jan 2009 23:32:36 +0000 (00:32 +0100)]
Bump copyright year

15 years agoDocument the "get/clear on hashes" problem
Vincent Pit [Sun, 18 Jan 2009 23:32:05 +0000 (00:32 +0100)]
Document the "get/clear on hashes" problem

15 years agoConvert t/16-huf.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 23:25:59 +0000 (00:25 +0100)]
Convert t/16-huf.t to the new testing framework

15 years agoConvert t/34-glob.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 23:09:52 +0000 (00:09 +0100)]
Convert t/34-glob.t to the new testing framework

15 years agoConvert t/33-code.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 23:04:39 +0000 (00:04 +0100)]
Convert t/33-code.t to the new testing framework

15 years agoAdd repository and bugtracker url to META.yml.
Florian Ragwitz [Sun, 18 Jan 2009 22:28:49 +0000 (23:28 +0100)]
Add repository and bugtracker url to META.yml.

15 years agoFix segfaults that seems to happen when one croak in a callback at compile time
Vincent Pit [Sun, 18 Jan 2009 22:26:04 +0000 (23:26 +0100)]
Fix segfaults that seems to happen when one croak in a callback at compile time

15 years agoConvert t/32-hash.t to the new testing framework, but don't check clear/copy magic...
Vincent Pit [Sun, 18 Jan 2009 21:14:19 +0000 (22:14 +0100)]
Convert t/32-hash.t to the new testing framework, but don't check clear/copy magic interaction yet

15 years agoConvert t/31-array.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:48:35 +0000 (16:48 +0100)]
Convert t/31-array.t to the new testing framework

15 years agoConvert t/30-scalar.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:48:27 +0000 (16:48 +0100)]
Convert t/30-scalar.t to the new testing framework

15 years agoConvert t/28-uvar.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:46:41 +0000 (16:46 +0100)]
Convert t/28-uvar.t to the new testing framework

15 years agoConvert t/27-local.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:46:32 +0000 (16:46 +0100)]
Convert t/27-local.t to the new testing framework

15 years agoConvert t/25-copy.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:46:23 +0000 (16:46 +0100)]
Convert t/25-copy.t to the new testing framework

15 years agoConvert t/24-free.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:46:16 +0000 (16:46 +0100)]
Convert t/24-free.t to the new testing framework

15 years agoConvert t/23-clear.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:46:09 +0000 (16:46 +0100)]
Convert t/23-clear.t to the new testing framework

15 years agoCleanup t/22-len.t
Vincent Pit [Sun, 18 Jan 2009 15:45:45 +0000 (16:45 +0100)]
Cleanup t/22-len.t

15 years agoConvert t/21-set.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:45:15 +0000 (16:45 +0100)]
Convert t/21-set.t to the new testing framework

15 years agoConvert t/20-get.t to the new testing framework
Vincent Pit [Sun, 18 Jan 2009 15:45:06 +0000 (16:45 +0100)]
Convert t/20-get.t to the new testing framework

15 years agoFactor some test logic in a helper module
Vincent Pit [Sun, 18 Jan 2009 15:44:41 +0000 (16:44 +0100)]
Factor some test logic in a helper module

15 years agoDocument the return values of the callbacks
Vincent Pit [Sat, 27 Dec 2008 11:31:29 +0000 (12:31 +0100)]
Document the return values of the callbacks

15 years agoMore linefeeds make the POD clearer
Vincent Pit [Sat, 27 Dec 2008 11:27:50 +0000 (12:27 +0100)]
More linefeeds make the POD clearer

15 years agoFix an offset of 1 with len magic on scalars
Vincent Pit [Sat, 27 Dec 2008 11:22:07 +0000 (12:22 +0100)]
Fix an offset of 1 with len magic on scalars

15 years agoDon't redefine VMG_COMPAT_ARRAY_PUSH_NOLEN
Vincent Pit [Wed, 17 Dec 2008 22:21:21 +0000 (23:21 +0100)]
Don't redefine VMG_COMPAT_ARRAY_PUSH_NOLEN

15 years agoThe context is actually used in vmg_sv_magicuvar() for sv_magic()
Vincent Pit [Tue, 2 Dec 2008 23:20:09 +0000 (00:20 +0100)]
The context is actually used in vmg_sv_magicuvar() for sv_magic()

15 years agoThis is 0.26 v0.26
Vincent Pit [Sat, 29 Nov 2008 23:05:47 +0000 (00:05 +0100)]
This is 0.26

15 years agoFix leaks of cloned coderefs that access lexicals
Vincent Pit [Sat, 29 Nov 2008 21:45:27 +0000 (22:45 +0100)]
Fix leaks of cloned coderefs that access lexicals

15 years agoIntroduce VMG_COMPAT_ARRAY_UNSHIFT_NOLEN_VOID to cover unshift no longer calling...
Vincent Pit [Thu, 27 Nov 2008 23:03:07 +0000 (00:03 +0100)]
Introduce VMG_COMPAT_ARRAY_UNSHIFT_NOLEN_VOID to cover unshift no longer calling len magic in void context (since 34908)

15 years agoDocument magic changes in 5.8.9
Vincent Pit [Thu, 13 Nov 2008 22:55:36 +0000 (23:55 +0100)]
Document magic changes in 5.8.9

15 years agoFix building for maint-5.8
Vincent Pit [Thu, 13 Nov 2008 22:45:28 +0000 (23:45 +0100)]
Fix building for maint-5.8

15 years agoThis is 0.25 v0.25
Vincent Pit [Wed, 12 Nov 2008 19:40:27 +0000 (20:40 +0100)]
This is 0.25

15 years agoImprove logic for the SvREFCNT_inc workaround in vmg_data_new(). Also, enable it...
Vincent Pit [Wed, 12 Nov 2008 19:07:57 +0000 (20:07 +0100)]
Improve logic for the SvREFCNT_inc workaround in vmg_data_new(). Also, enable it up to 5.8.3 included, as it was before the previous macro overhaul

15 years agoOnly enable VMG_COMPAT_ARRAY_PUSH_NOLEN for ActiveState's 5.8.[78] on Windows, as...
Vincent Pit [Wed, 12 Nov 2008 18:58:03 +0000 (19:58 +0100)]
Only enable VMG_COMPAT_ARRAY_PUSH_NOLEN for ActiveState's 5.8.[78] on Windows, as the relevant patch has been integrated for 5.8.9

15 years agoVersion macro overhaul. Enable correct behaviour for 5.8.9
Vincent Pit [Wed, 12 Nov 2008 18:56:17 +0000 (19:56 +0100)]
Version macro overhaul. Enable correct behaviour for 5.8.9

16 years agoOld Pod::Coverage don't ignore CLONE
Vincent Pit [Sat, 18 Oct 2008 13:17:24 +0000 (15:17 +0200)]
Old Pod::Coverage don't ignore CLONE

16 years agoThis is 0.24 v0.24
Vincent Pit [Sun, 12 Oct 2008 14:50:49 +0000 (16:50 +0200)]
This is 0.24

16 years agoReally fix building on perls with multiplicity but no threads
Vincent Pit [Sun, 12 Oct 2008 14:49:35 +0000 (16:49 +0200)]
Really fix building on perls with multiplicity but no threads

16 years agoThis is 0.23 v0.23
Vincent Pit [Sat, 11 Oct 2008 17:25:59 +0000 (19:25 +0200)]
This is 0.23

16 years agow->cb_dup is currently always NULL
Vincent Pit [Sat, 11 Oct 2008 16:53:46 +0000 (18:53 +0200)]
w->cb_dup is currently always NULL