]>
git.vpit.fr Git - perl/modules/Variable-Magic.git/log
Vincent Pit [Sun, 4 Oct 2009 15:54:49 +0000 (17:54 +0200)]
Add a cookbook section
Vincent Pit [Sun, 4 Oct 2009 15:10:59 +0000 (17:10 +0200)]
Deprecate all the user signature stuff for december 2009
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
Vincent Pit [Sun, 4 Oct 2009 12:07:42 +0000 (14:07 +0200)]
A better t/01-import.t
Vincent Pit [Sun, 4 Oct 2009 09:18:03 +0000 (11:18 +0200)]
Re-indent WriteMakefile() arguments
Vincent Pit [Sun, 4 Oct 2009 08:42:22 +0000 (10:42 +0200)]
Build the $name and the main $file from $dist
Vincent Pit [Sun, 4 Oct 2009 07:51:03 +0000 (09:51 +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 [Sat, 26 Sep 2009 09:53:10 +0000 (11:53 +0200)]
Kwalitee test overhaul
Vincent Pit [Tue, 25 Aug 2009 15:17:21 +0000 (17:17 +0200)]
This is 0.37
Vincent Pit [Tue, 25 Aug 2009 15:04:43 +0000 (17:04 +0200)]
Introduce VMG_FORKSAFE
Vincent Pit [Sun, 16 Aug 2009 22:20:50 +0000 (00:20 +0200)]
base.pm is also a dependency
Vincent Pit [Sat, 8 Aug 2009 07:38:41 +0000 (09:38 +0200)]
Get rid of t/90-boilerplate.t
Vincent Pit [Sat, 8 Aug 2009 07:38:09 +0000 (09:38 +0200)]
Clarify when get/set magic triggers for container types
Vincent Pit [Sat, 8 Aug 2009 07:31:42 +0000 (09:31 +0200)]
Righteously is really rightfully
Vincent Pit [Sun, 5 Jul 2009 16:27:15 +0000 (18:27 +0200)]
This is 0.36
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.
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
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
Vincent Pit [Fri, 15 May 2009 20:50:01 +0000 (22:50 +0200)]
This is 0.35
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.
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.
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.
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().
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
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
Vincent Pit [Sun, 19 Apr 2009 16:53:19 +0000 (18:53 +0200)]
This is 0.34
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.
Vincent Pit [Sun, 19 Apr 2009 16:07:09 +0000 (18:07 +0200)]
Rename Variable::Magic::TestDieRequired to Variable::Magic::TestScopeEnd
Vincent Pit [Thu, 16 Apr 2009 22:43:53 +0000 (00:43 +0200)]
Point the repository to the gitweb instead of the bare repo
Vincent Pit [Sat, 28 Mar 2009 01:01:55 +0000 (02:01 +0100)]
Test (lack of) stash magic for dynamic method calls
Vincent Pit [Thu, 26 Mar 2009 22:21:15 +0000 (23:21 +0100)]
Simplify the current temp test in the unmortalizer
Vincent Pit [Thu, 26 Mar 2009 19:07:59 +0000 (20:07 +0100)]
Properly unmortalize the wizard after removing it from the global hash
Vincent Pit [Wed, 25 Mar 2009 23:59:08 +0000 (00:59 +0100)]
This is 0.33
Vincent Pit [Mon, 23 Mar 2009 16:09:39 +0000 (17:09 +0100)]
skip $desc => $num is neater
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
Vincent Pit [Mon, 23 Mar 2009 14:53:06 +0000 (15:53 +0100)]
Test stash magic with AUTOLOAD
Vincent Pit [Mon, 23 Mar 2009 14:25:51 +0000 (15:25 +0100)]
Better metasyntactic variable names for t/35-stash.t
Vincent Pit [Mon, 23 Mar 2009 14:24:38 +0000 (15:24 +0100)]
More stash tests for functions/methods
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
Vincent Pit [Sun, 22 Mar 2009 17:58:27 +0000 (18:58 +0100)]
Test variables in other stashes
Vincent Pit [Sat, 21 Mar 2009 23:44:33 +0000 (00:44 +0100)]
Test when magic actions take place
Vincent Pit [Sat, 21 Mar 2009 22:16:14 +0000 (23:16 +0100)]
Rename test functions init() and check() to init_watcher() and watch()
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.
Vincent Pit [Mon, 16 Mar 2009 15:44:37 +0000 (16:44 +0100)]
Lock shared variables
Vincent Pit [Sat, 14 Mar 2009 21:39:23 +0000 (22:39 +0100)]
free callbacks fire also at the end of the global scope
Vincent Pit [Sat, 14 Mar 2009 21:36:30 +0000 (22:36 +0100)]
Document the changes regarding how cast/getdata/dispell handle errors
Vincent Pit [Tue, 3 Mar 2009 00:47:26 +0000 (01:47 +0100)]
Make getsig() croak if the supplied wizard is incorrect
Vincent Pit [Tue, 3 Mar 2009 00:47:05 +0000 (01:47 +0100)]
Factor the regexp in t/12-sig.t
Vincent Pit [Tue, 3 Mar 2009 00:38:22 +0000 (01:38 +0100)]
Clean up the remaining if (...) { ... } tests
Vincent Pit [Mon, 2 Mar 2009 16:31:03 +0000 (17:31 +0100)]
Test L:{last L} in t/18-opinfo.t
Vincent Pit [Mon, 2 Mar 2009 16:23:39 +0000 (17:23 +0100)]
Build better testcases in t/18-opinfo.t
And test for op info in LOOPEX ops.
Vincent Pit [Mon, 2 Mar 2009 14:31:29 +0000 (15:31 +0100)]
Test loop ops
Vincent Pit [Sun, 1 Mar 2009 18:16:23 +0000 (19:16 +0100)]
Hide the 'too many sigs' test from coverage
Vincent Pit [Sun, 1 Mar 2009 18:13:52 +0000 (19:13 +0100)]
The current op is always non-null in our vmg_opclass()
Vincent Pit [Sun, 1 Mar 2009 18:06:18 +0000 (19:06 +0100)]
Store a placeholder in the wizards set for every manually generated signature.
Before that, it was possible to generate the same signature twice before actually defining the wizards.
As a result of this, casting from an obsolete signature now croaks.
Vincent Pit [Sun, 1 Mar 2009 13:46:28 +0000 (14:46 +0100)]
Fix samples/synopsis.pl permissions
Vincent Pit [Sun, 1 Mar 2009 13:44:01 +0000 (14:44 +0100)]
This is 0.32
Vincent Pit [Sat, 28 Feb 2009 19:52:26 +0000 (20:52 +0100)]
Remove some trailing spaces
Vincent Pit [Sat, 28 Feb 2009 19:47:42 +0000 (20:47 +0100)]
clear magic only applies to arrays and hashes
Vincent Pit [Sat, 28 Feb 2009 16:25:35 +0000 (17:25 +0100)]
Initialize the global op names cache in a critical section
Vincent Pit [Sat, 28 Feb 2009 15:51:35 +0000 (16:51 +0100)]
We don't need a (wrong) compatibility macro for NewOp, since we only use it on 5.10
Vincent Pit [Sat, 28 Feb 2009 15:26:18 +0000 (16:26 +0100)]
hv_exists() is enough for vmg_wizard_sig()
Vincent Pit [Sat, 28 Feb 2009 15:18:58 +0000 (16:18 +0100)]
Check the number of allocated wizards in vmg_gensig()
Vincent Pit [Sat, 28 Feb 2009 15:11:18 +0000 (16:11 +0100)]
Test numeric signatures too big/small
Vincent Pit [Sat, 28 Feb 2009 14:49:30 +0000 (15:49 +0100)]
Don't store the sig in the mg_private field
Vincent Pit [Wed, 25 Feb 2009 23:12:21 +0000 (00:12 +0100)]
L<threads::shared> variables
Vincent Pit [Wed, 25 Feb 2009 22:52:22 +0000 (23:52 +0100)]
Minor fixes in the global destruction comment
Vincent Pit [Tue, 24 Feb 2009 13:33:19 +0000 (14:33 +0100)]
Fix the B stashes cache cloning, and really use it for blessing op objects
Vincent Pit [Sun, 22 Feb 2009 11:35:40 +0000 (12:35 +0100)]
Reorder the arguments to the thread callback in t/40-threads.t so that they match those of t/41-clone.t
Vincent Pit [Sun, 22 Feb 2009 11:08:30 +0000 (12:08 +0100)]
A note on global destruction and free callbacks
Vincent Pit [Sun, 22 Feb 2009 09:35:30 +0000 (10:35 +0100)]
Hide an uncoverable line
Vincent Pit [Sun, 22 Feb 2009 09:34:55 +0000 (10:34 +0100)]
Test op_info in free callbacks
Vincent Pit [Sun, 22 Feb 2009 09:03:23 +0000 (10:03 +0100)]
Move the op_info tests to a new t/18-opinfo.t
Vincent Pit [Sun, 22 Feb 2009 08:24:48 +0000 (09:24 +0100)]
A refreshed synopsis
Vincent Pit [Sun, 22 Feb 2009 08:04:49 +0000 (09:04 +0100)]
Pass the signature as a thread callback argument in t/40-threads.t
Vincent Pit [Fri, 20 Feb 2009 23:58:17 +0000 (00:58 +0100)]
An example on how to cast magic recursively
Vincent Pit [Fri, 20 Feb 2009 23:29:04 +0000 (00:29 +0100)]
More tests for different op types
Vincent Pit [Fri, 20 Feb 2009 22:28:00 +0000 (23:28 +0100)]
Bless the op info object into the right class (stealing the logic from B)
Vincent Pit [Thu, 19 Feb 2009 23:50:35 +0000 (00:50 +0100)]
This is 0.31
Vincent Pit [Thu, 19 Feb 2009 20:17:00 +0000 (21:17 +0100)]
Explicitely pass the flags to vmg_cb_call(). Also pass data in the va_args
Vincent Pit [Thu, 19 Feb 2009 16:03:18 +0000 (17:03 +0100)]
Inline the 'eval' specific part of vmg_cb_call() into vmg_svt_free()
It has become way too specific to keep it in the common wrapper.
Vincent Pit [Thu, 19 Feb 2009 15:54:07 +0000 (16:54 +0100)]
Factor the callback retval retrieval logic into a new VMG_CB_CALL_SET_RET() macro
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
Vincent Pit [Tue, 17 Feb 2009 23:38:47 +0000 (00:38 +0100)]
Stop citing all the constants in the EXPORT section
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
Vincent Pit [Tue, 17 Feb 2009 23:31:55 +0000 (00:31 +0100)]
'assignation' is really 'assignment'
Vincent Pit [Tue, 17 Feb 2009 23:29:05 +0000 (00:29 +0100)]
More code tests
Vincent Pit [Tue, 17 Feb 2009 00:52:18 +0000 (01:52 +0100)]
A clearer introduction to magic
Vincent Pit [Mon, 16 Feb 2009 18:26:17 +0000 (19:26 +0100)]
Make op_info thread safe
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.
Vincent Pit [Sat, 14 Feb 2009 13:26:00 +0000 (14:26 +0100)]
Magic variables can't be distinguished by tied()
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
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
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
Vincent Pit [Thu, 12 Feb 2009 17:04:12 +0000 (18:04 +0100)]
This is 0.30
Vincent Pit [Thu, 12 Feb 2009 16:55:10 +0000 (17:55 +0100)]
Document magic on array/hash values
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.
Vincent Pit [Wed, 11 Feb 2009 23:23:12 +0000 (00:23 +0100)]
Prefer using VMG_OP_INFO_* constants in t/35-stash.t
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