]>
git.vpit.fr Git - perl/modules/Variable-Magic.git/log
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.
Vincent Pit [Thu, 22 Oct 2009 18:54:50 +0000 (20:54 +0200)]
Compatibility fix for 5.11.1
Vincent Pit [Sun, 4 Oct 2009 16:06:33 +0000 (18:06 +0200)]
This is 0.38
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