]> git.vpit.fr Git - perl/modules/Variable-Magic.git/log
perl/modules/Variable-Magic.git
14 years agoSvREFCNT_dec already checks if the SV is non null
Vincent Pit [Thu, 19 Aug 2010 10:47:16 +0000 (12:47 +0200)]
SvREFCNT_dec already checks if the SV is non null

14 years agoThis is 0.43 v0.43
Vincent Pit [Fri, 25 Jun 2010 23:35:32 +0000 (01:35 +0200)]
This is 0.43

14 years agoMore control tests
Vincent Pit [Fri, 25 Jun 2010 23:10:43 +0000 (01:10 +0200)]
More control tests

14 years agoPrettify the constants export list
Vincent Pit [Fri, 25 Jun 2010 20:31:57 +0000 (22:31 +0200)]
Prettify the constants export list

14 years ago5.13.2 calls get magic on globs
Vincent Pit [Fri, 25 Jun 2010 20:30:18 +0000 (22:30 +0200)]
5.13.2 calls get magic on globs

Add the new compatibility macro VMG_COMPAT_GLOB_GET to reflect this change.

14 years agoFix CLONE_PARAMS struct initialization for perl 5.13.2
Vincent Pit [Fri, 25 Jun 2010 20:16:50 +0000 (22:16 +0200)]
Fix CLONE_PARAMS struct initialization for perl 5.13.2

14 years agoAlways use a safe version of call_sv()
Vincent Pit [Fri, 25 Jun 2010 20:05:22 +0000 (22:05 +0200)]
Always use a safe version of call_sv()

All the relevant code has been factored out of vmg_cb_free() into a new
vmg_call_sv() function.

14 years agoException propagation fixes
Vincent Pit [Fri, 25 Jun 2010 18:34:14 +0000 (20:34 +0200)]
Exception propagation fixes

First, make sure that exceptions thrown in a free callback at the end of a
regular block are propagated.

Second, prevent duplication of error messages when dieing in a free callback
at BEGIN time.

14 years agoThis is 0.42 v0.42
Vincent Pit [Wed, 19 May 2010 00:13:23 +0000 (02:13 +0200)]
This is 0.42

14 years agoFix tests for perl 5.13
Vincent Pit [Tue, 18 May 2010 23:46:47 +0000 (01:46 +0200)]
Fix tests for perl 5.13

14 years agoFix t/18-opinfo.t failures with perl 5.13
Vincent Pit [Tue, 18 May 2010 22:27:59 +0000 (00:27 +0200)]
Fix t/18-opinfo.t failures with perl 5.13

14 years agoComplete coverage of the len callback
Vincent Pit [Sat, 24 Apr 2010 21:46:47 +0000 (23:46 +0200)]
Complete coverage of the len callback

14 years agoImprove op_info coverage
Vincent Pit [Sat, 24 Apr 2010 21:01:49 +0000 (23:01 +0200)]
Improve op_info coverage

14 years agoThis is 0.41 v0.41
Vincent Pit [Mon, 15 Mar 2010 17:28:47 +0000 (18:28 +0100)]
This is 0.41

14 years agoCompatibility fix for 5.12.0
Vincent Pit [Mon, 15 Mar 2010 17:22:47 +0000 (18:22 +0100)]
Compatibility fix for 5.12.0

14 years agoA few doc corrections
Shlomi Fish [Sat, 6 Mar 2010 00:32:39 +0000 (01:32 +0100)]
A few doc corrections

14 years agoTune the userdata example
Vincent Pit [Tue, 23 Feb 2010 13:42:19 +0000 (14:42 +0100)]
Tune the userdata example

14 years agoCorrectly propagate the errors thrown when variable destruction happens at compile...
Vincent Pit [Wed, 13 Jan 2010 01:07:57 +0000 (02:07 +0100)]
Correctly propagate the errors thrown when variable destruction happens at compile-time

14 years agoThis is 0.40 v0.40
Vincent Pit [Wed, 6 Jan 2010 23:16:43 +0000 (00:16 +0100)]
This is 0.40

14 years agoIndentation
Vincent Pit [Wed, 6 Jan 2010 22:58:37 +0000 (23:58 +0100)]
Indentation

14 years agoBump copyright year
Vincent Pit [Wed, 6 Jan 2010 22:57:03 +0000 (23:57 +0100)]
Bump copyright year

14 years agoUse SvREFCNT_inc_simple_void() whenever possible
Vincent Pit [Wed, 6 Jan 2010 22:54:49 +0000 (23:54 +0100)]
Use SvREFCNT_inc_simple_void() whenever possible

14 years agoUse SvRV_const() whenever possible
Vincent Pit [Wed, 6 Jan 2010 22:48:11 +0000 (23:48 +0100)]
Use SvRV_const() whenever possible

14 years agoSvPV_const is only available since 5.9.3
Vincent Pit [Mon, 28 Dec 2009 23:01:25 +0000 (00:01 +0100)]
SvPV_const is only available since 5.9.3

14 years agoCast the op_info value before applying bit shifts
Vincent Pit [Mon, 28 Dec 2009 22:56:45 +0000 (23:56 +0100)]
Cast the op_info value before applying bit shifts

Also move the opinfo member before the uvar one in the MGWIZ struct, as
it's used more frequently.

14 years agoUse size_t as the index type in the pointer table
Vincent Pit [Mon, 28 Dec 2009 22:13:22 +0000 (23:13 +0100)]
Use size_t as the index type in the pointer table

14 years agoFix expected constness for utf8_length() arguments
Vincent Pit [Mon, 28 Dec 2009 21:40:08 +0000 (22:40 +0100)]
Fix expected constness for utf8_length() arguments

14 years agoFix type coercions on values returned from callbacks
Vincent Pit [Mon, 28 Dec 2009 18:59:39 +0000 (19:59 +0100)]
Fix type coercions on values returned from callbacks

14 years agocall_sv() ought to take an I32
Vincent Pit [Mon, 28 Dec 2009 18:35:07 +0000 (19:35 +0100)]
call_sv() ought to take an I32

14 years agoExplicitely cap the op_info parameter to 255
Vincent Pit [Mon, 28 Dec 2009 18:25:11 +0000 (19:25 +0100)]
Explicitely cap the op_info parameter to 255

14 years agoWizard ids are IV, not UV
Vincent Pit [Mon, 28 Dec 2009 18:19:31 +0000 (19:19 +0100)]
Wizard ids are IV, not UV

14 years agoFix memory miswrite when passing data arguments to cast()
Vincent Pit [Mon, 28 Dec 2009 18:12:46 +0000 (19:12 +0100)]
Fix memory miswrite when passing data arguments to cast()

14 years agoThis is 0.39 v0.39
Vincent Pit [Tue, 1 Dec 2009 00:00:22 +0000 (01:00 +0100)]
This is 0.39

14 years agoDocument passing a string reference as the callback
Vincent Pit [Mon, 30 Nov 2009 23:59:21 +0000 (00:59 +0100)]
Document passing a string reference as the callback

14 years agoFix compiler warnings with the Intel CC
Vincent Pit [Mon, 30 Nov 2009 21:14:16 +0000 (22:14 +0100)]
Fix compiler warnings with the Intel CC

14 years agoTest string callbacks
Vincent Pit [Mon, 30 Nov 2009 20:57:24 +0000 (21:57 +0100)]
Test string callbacks

14 years agoTest destruction of magic callbacks
Vincent Pit [Mon, 30 Nov 2009 20:45:24 +0000 (21:45 +0100)]
Test destruction of magic callbacks

14 years agoAlso test getdata() in t/80-leaks.t
Vincent Pit [Mon, 30 Nov 2009 20:22:10 +0000 (21:22 +0100)]
Also test getdata() in t/80-leaks.t

14 years agoStop leaking objects stored in the data slot
Vincent Pit [Mon, 30 Nov 2009 20:18:23 +0000 (21:18 +0100)]
Stop leaking objects stored in the data slot

14 years agoStop passing arguments to the data callback through an AV
Vincent Pit [Mon, 30 Nov 2009 20:02:04 +0000 (21:02 +0100)]
Stop passing arguments to the data callback through an AV

14 years agoFix t/35-stash.t for 5.11.2
Vincent Pit [Mon, 30 Nov 2009 17:30:56 +0000 (18:30 +0100)]
Fix t/35-stash.t for 5.11.2

And make it more robust for other versions.

14 years agoDirectly store the CVs into the MGWIZ structure
Vincent Pit [Mon, 30 Nov 2009 00:16:18 +0000 (01:16 +0100)]
Directly store the CVs into the MGWIZ structure

Instead of references to CVs.

14 years agoFree the thread local context from an atexit callback
Vincent Pit [Mon, 30 Nov 2009 00:12:05 +0000 (01:12 +0100)]
Free the thread local context from an atexit callback

They happen very late in the destruction process but that's not an issue
there. The MGWIZ structure and the SVs they contain are destroyed and
removed from the global pointer table when the wizard object is destroyed.
At the time the atexit callback fires, the pointer table is then empty and
the only thing left to do is to free its own (shared) memory.

14 years agoStop leaking the SVs that reference the callbacks
Vincent Pit [Sun, 29 Nov 2009 23:14:30 +0000 (00:14 +0100)]
Stop leaking the SVs that reference the callbacks

15 years agoFix a consting error
Vincent Pit [Fri, 27 Nov 2009 11:16:16 +0000 (12:16 +0100)]
Fix a consting error

15 years agoMake the wizard store the MGWIZ address as an IV
Vincent Pit [Fri, 27 Nov 2009 11:13:53 +0000 (12:13 +0100)]
Make the wizard store the MGWIZ address as an IV

Also, since we validated the wizard, use SvIVX to read the address.
That way, we no longer need to pass the interpreter to vmg_find().
This results also in some consting goodness.

15 years agoEmpty the global pointer table at the end of a thread
Vincent Pit [Thu, 26 Nov 2009 21:10:19 +0000 (22:10 +0100)]
Empty the global pointer table at the end of a thread

15 years agoRemove unused variables
Vincent Pit [Thu, 26 Nov 2009 20:53:13 +0000 (21:53 +0100)]
Remove unused variables

15 years agoFactor the V::M magic searching logic into a new vmg_find()
Vincent Pit [Thu, 26 Nov 2009 20:50:50 +0000 (21:50 +0100)]
Factor the V::M magic searching logic into a new vmg_find()

15 years agoRemove all signature-related features
Vincent Pit [Thu, 26 Nov 2009 00:40:07 +0000 (01:40 +0100)]
Remove all signature-related features

From now on, the wizards are only stored in a global pointer table with
threaded perls.

15 years agoCompatibility fix for 5.11.1
Vincent Pit [Thu, 22 Oct 2009 18:54:50 +0000 (20:54 +0200)]
Compatibility fix for 5.11.1

15 years agoThis is 0.38 v0.38
Vincent Pit [Sun, 4 Oct 2009 16:06:33 +0000 (18:06 +0200)]
This is 0.38

15 years agoAdd a cookbook section
Vincent Pit [Sun, 4 Oct 2009 15:54:49 +0000 (17:54 +0200)]
Add a cookbook section

15 years agoDeprecate all the user signature stuff for december 2009
Vincent Pit [Sun, 4 Oct 2009 15:10:59 +0000 (17:10 +0200)]
Deprecate all the user signature stuff for december 2009

15 years agoIntroduce VMG_COMPAT_ARRAY_PUSH_NOLEN_VOID and fix 5.11.0 compatibility
Vincent Pit [Sun, 4 Oct 2009 14:42:55 +0000 (16:42 +0200)]
Introduce VMG_COMPAT_ARRAY_PUSH_NOLEN_VOID and fix 5.11.0 compatibility

15 years agoA better t/01-import.t
Vincent Pit [Sun, 4 Oct 2009 12:07:42 +0000 (14:07 +0200)]
A better t/01-import.t

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

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

15 years agoPut prerequisites in their own separate hash
Vincent Pit [Sun, 4 Oct 2009 07:51:03 +0000 (09:51 +0200)]
Put prerequisites in their own separate hash

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

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

15 years agoThis is 0.37 v0.37
Vincent Pit [Tue, 25 Aug 2009 15:17:21 +0000 (17:17 +0200)]
This is 0.37

15 years agoIntroduce VMG_FORKSAFE
Vincent Pit [Tue, 25 Aug 2009 15:04:43 +0000 (17:04 +0200)]
Introduce VMG_FORKSAFE

15 years agobase.pm is also a dependency
Vincent Pit [Sun, 16 Aug 2009 22:20:50 +0000 (00:20 +0200)]
base.pm is also a dependency

15 years agoGet rid of t/90-boilerplate.t
Vincent Pit [Sat, 8 Aug 2009 07:38:41 +0000 (09:38 +0200)]
Get rid of t/90-boilerplate.t

15 years agoClarify when get/set magic triggers for container types
Vincent Pit [Sat, 8 Aug 2009 07:38:09 +0000 (09:38 +0200)]
Clarify when get/set magic triggers for container types

15 years agoRighteously is really rightfully
Vincent Pit [Sat, 8 Aug 2009 07:31:42 +0000 (09:31 +0200)]
Righteously is really rightfully

15 years agoThis is 0.36 v0.36
Vincent Pit [Sun, 5 Jul 2009 16:27:15 +0000 (18:27 +0200)]
This is 0.36

15 years agoMake getdata() return an empty list when no magic is present
Vincent Pit [Tue, 23 Jun 2009 23:47:14 +0000 (01:47 +0200)]
Make getdata() return an empty list when no magic is present

And correct the wrong chunk of doc that had slipped in when the wizard validation cleanup happened.

15 years agoAlso require threads 1.67 and threads::shared 1.14 in t/41-clone.t
Vincent Pit [Tue, 23 Jun 2009 23:36:41 +0000 (01:36 +0200)]
Also require threads 1.67 and threads::shared 1.14 in t/41-clone.t

15 years agoVMG_COMPAT_ARRAY_PUSH_NOLEN needs to be enabled for AS Perl 5.8 with build >= 822
Vincent Pit [Thu, 21 May 2009 15:29:01 +0000 (17:29 +0200)]
VMG_COMPAT_ARRAY_PUSH_NOLEN needs to be enabled for AS Perl 5.8 with build >= 822

15 years agoThis is 0.35 v0.35
Vincent Pit [Fri, 15 May 2009 20:50:01 +0000 (22:50 +0200)]
This is 0.35

15 years agoRequire threads 1.67 and threads::shared 1.14 in t/40-threads.t
Vincent Pit [Fri, 15 May 2009 19:02:51 +0000 (21:02 +0200)]
Require threads 1.67 and threads::shared 1.14 in t/40-threads.t

Let's hope this will clear up the smokes a little. They are bundled with 5.10.

15 years agoDrop support for 5.9.5
Vincent Pit [Fri, 15 May 2009 17:49:44 +0000 (19:49 +0200)]
Drop support for 5.9.5

uvar magic now requires 5.10.

15 years agoTest repeated method calls on stashes
Vincent Pit [Fri, 15 May 2009 17:10:10 +0000 (19:10 +0200)]
Test repeated method calls on stashes

When an inherited method is called several times, method cache kicks in and magic isn't triggered anymore.

15 years agoStore the last popped stack index for after call_sv()
Vincent Pit [Mon, 27 Apr 2009 20:37:28 +0000 (22:37 +0200)]
Store the last popped stack index for after call_sv()

This also silences a compilation warning for cxinc().

15 years agoRemove the fake context namesv workaround introduced in fbcb2462798d2fa931a5c97ebf0ce...
Vincent Pit [Fri, 24 Apr 2009 22:27:40 +0000 (00:27 +0200)]
Remove the fake context namesv workaround introduced in fbcb2462798d2fa931a5c97ebf0cec73177dce23, as 135abb4d38a3a9eab3a7e6d6cde33aafd62488c2 also fixes the issue in a better way

15 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

15 years agoThis is 0.34 v0.34
Vincent Pit [Sun, 19 Apr 2009 16:53:19 +0000 (18:53 +0200)]
This is 0.34

15 years agoPrevent call_sv() in vmg_svt_free() to clobber the last popped context slot
Vincent Pit [Sun, 19 Apr 2009 16:42:38 +0000 (18:42 +0200)]
Prevent call_sv() in vmg_svt_free() to clobber the last popped context slot

This caused havoc when dieing in eval at compile time because call_sv() was overwriting this slot while there was still some live pointers to it up in the call stack.

15 years agoRename Variable::Magic::TestDieRequired to Variable::Magic::TestScopeEnd
Vincent Pit [Sun, 19 Apr 2009 16:07:09 +0000 (18:07 +0200)]
Rename Variable::Magic::TestDieRequired to Variable::Magic::TestScopeEnd

15 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

15 years agoTest (lack of) stash magic for dynamic method calls
Vincent Pit [Sat, 28 Mar 2009 01:01:55 +0000 (02:01 +0100)]
Test (lack of) stash magic for dynamic method calls

15 years agoSimplify the current temp test in the unmortalizer
Vincent Pit [Thu, 26 Mar 2009 22:21:15 +0000 (23:21 +0100)]
Simplify the current temp test in the unmortalizer

15 years agoProperly unmortalize the wizard after removing it from the global hash
Vincent Pit [Thu, 26 Mar 2009 19:07:59 +0000 (20:07 +0100)]
Properly unmortalize the wizard after removing it from the global hash

15 years agoThis is 0.33 v0.33
Vincent Pit [Wed, 25 Mar 2009 23:59:08 +0000 (00:59 +0100)]
This is 0.33

15 years agoskip $desc => $num is neater
Vincent Pit [Mon, 23 Mar 2009 16:09:39 +0000 (17:09 +0100)]
skip $desc => $num is neater

15 years agoTest that the uvar/clear doesn't confuse B::Deparse in t/32-hash.t
Vincent Pit [Mon, 23 Mar 2009 16:01:14 +0000 (17:01 +0100)]
Test that the uvar/clear doesn't confuse B::Deparse in t/32-hash.t

15 years agoTest stash magic with AUTOLOAD
Vincent Pit [Mon, 23 Mar 2009 14:53:06 +0000 (15:53 +0100)]
Test stash magic with AUTOLOAD

15 years agoBetter metasyntactic variable names for t/35-stash.t
Vincent Pit [Mon, 23 Mar 2009 14:25:51 +0000 (15:25 +0100)]
Better metasyntactic variable names for t/35-stash.t

15 years agoMore stash tests for functions/methods
Vincent Pit [Mon, 23 Mar 2009 14:24:38 +0000 (15:24 +0100)]
More stash tests for functions/methods

15 years agoThere's no need to disable strict refs for getting the stash of a package whose name...
Vincent Pit [Mon, 23 Mar 2009 13:57:26 +0000 (14:57 +0100)]
There's no need to disable strict refs for getting the stash of a package whose name is known at compile time

15 years agoTest variables in other stashes
Vincent Pit [Sun, 22 Mar 2009 17:58:27 +0000 (18:58 +0100)]
Test variables in other stashes

15 years agoTest when magic actions take place
Vincent Pit [Sat, 21 Mar 2009 23:44:33 +0000 (00:44 +0100)]
Test when magic actions take place

15 years agoRename test functions init() and check() to init_watcher() and watch()
Vincent Pit [Sat, 21 Mar 2009 22:16:14 +0000 (23:16 +0100)]
Rename test functions init() and check() to init_watcher() and watch()

15 years agoRevert "clear magic only applies to arrays and hashes"
Vincent Pit [Fri, 20 Mar 2009 13:47:51 +0000 (14:47 +0100)]
Revert "clear magic only applies to arrays and hashes"

This reverts commit 4affb8304508fab43fb2247aa6d4d842c5fb82f2.

And test that deleting from a tied array may trigger clear magic on the value.

15 years agoLock shared variables
Vincent Pit [Mon, 16 Mar 2009 15:44:37 +0000 (16:44 +0100)]
Lock shared variables

15 years agofree callbacks fire also at the end of the global scope
Vincent Pit [Sat, 14 Mar 2009 21:39:23 +0000 (22:39 +0100)]
free callbacks fire also at the end of the global scope

15 years agoDocument the changes regarding how cast/getdata/dispell handle errors
Vincent Pit [Sat, 14 Mar 2009 21:36:30 +0000 (22:36 +0100)]
Document the changes regarding how cast/getdata/dispell handle errors

15 years agoMake getsig() croak if the supplied wizard is incorrect
Vincent Pit [Tue, 3 Mar 2009 00:47:26 +0000 (01:47 +0100)]
Make getsig() croak if the supplied wizard is incorrect