]>
git.vpit.fr Git - perl/modules/Variable-Magic.git/log
Vincent Pit [Sun, 21 Nov 2010 13:43:04 +0000 (14:43 +0100)]
A bare glob that isn't part of a fetch doesn't call get magic anymore in 5.13.7
Vincent Pit [Sun, 21 Nov 2010 13:42:06 +0000 (14:42 +0100)]
Add more glob tests
Vincent Pit [Sun, 21 Nov 2010 13:23:09 +0000 (14:23 +0100)]
Wording fix
Vincent Pit [Thu, 28 Oct 2010 22:20:04 +0000 (00:20 +0200)]
Give a saner default to pPTBLMS
This silences a compiler warning.
Vincent Pit [Thu, 28 Oct 2010 22:19:32 +0000 (00:19 +0200)]
Skip NULL values when walking a table
ptable_fetch already returns NULL for nonexistent entries, so NULL can't
possibly have any other meaning than "this node is not currently in use".
Vincent Pit [Thu, 28 Oct 2010 22:18:08 +0000 (00:18 +0200)]
Add ptable_delete to ptable.h
Vincent Pit [Sat, 16 Oct 2010 12:34:04 +0000 (14:34 +0200)]
Explicitely state that C++ compilers aren't supported
Vincent Pit [Sun, 3 Oct 2010 00:22:17 +0000 (02:22 +0200)]
Ignore MYMETA.yml
Peter Rabbitson [Sat, 25 Sep 2010 18:18:36 +0000 (20:18 +0200)]
Clarify minimum perl 5.10.0 requirement for hash magic
Vincent Pit [Fri, 24 Sep 2010 19:10:06 +0000 (21:10 +0200)]
This is 0.44
Vincent Pit [Fri, 24 Sep 2010 18:00:03 +0000 (20:00 +0200)]
Correctly propagate exceptions from _wizard()
Vincent Pit [Fri, 24 Sep 2010 17:59:24 +0000 (19:59 +0200)]
Only load Carp.pm when throwing an error
Vincent Pit [Fri, 24 Sep 2010 17:08:21 +0000 (19:08 +0200)]
Describe why we don't have to guard against PL_dirty in vmg_mgwiz_free()
Vincent Pit [Fri, 24 Sep 2010 16:10:23 +0000 (18:10 +0200)]
Force threads tests with the PERL_VARIABLE_MAGIC_TEST_THREADS environment variable
Vincent Pit [Fri, 24 Sep 2010 15:58:29 +0000 (17:58 +0200)]
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.
Vincent Pit [Thu, 23 Sep 2010 21:58:40 +0000 (23:58 +0200)]
Remove the patchlevel test
Commit
d29a774d106d145036eda849ab57f42410100008 removed the only place it
was used, and perl left perforce almost three years ago.
Vincent Pit [Thu, 23 Sep 2010 21:55:16 +0000 (23:55 +0200)]
Remove the test for non-released perl 5.11.0
Who would be crazy enough to still use them? And the test seems to break
with some git checkouts.
Vincent Pit [Thu, 23 Sep 2010 16:52:42 +0000 (18:52 +0200)]
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 (should) fix RT #51483.
Vincent Pit [Thu, 23 Sep 2010 14:45:12 +0000 (16:45 +0200)]
Clarify some logic in Makefile.PL
Vincent Pit [Thu, 19 Aug 2010 10:47:16 +0000 (12:47 +0200)]
SvREFCNT_dec already checks if the SV is non null
Vincent Pit [Fri, 25 Jun 2010 23:35:32 +0000 (01:35 +0200)]
This is 0.43
Vincent Pit [Fri, 25 Jun 2010 23:10:43 +0000 (01:10 +0200)]
More control tests
Vincent Pit [Fri, 25 Jun 2010 20:31:57 +0000 (22:31 +0200)]
Prettify the constants export list
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.
Vincent Pit [Fri, 25 Jun 2010 20:16:50 +0000 (22:16 +0200)]
Fix CLONE_PARAMS struct initialization for perl 5.13.2
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.
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.
Vincent Pit [Wed, 19 May 2010 00:13:23 +0000 (02:13 +0200)]
This is 0.42
Vincent Pit [Tue, 18 May 2010 23:46:47 +0000 (01:46 +0200)]
Fix tests for 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
Vincent Pit [Sat, 24 Apr 2010 21:46:47 +0000 (23:46 +0200)]
Complete coverage of the len callback
Vincent Pit [Sat, 24 Apr 2010 21:01:49 +0000 (23:01 +0200)]
Improve op_info coverage
Vincent Pit [Mon, 15 Mar 2010 17:28:47 +0000 (18:28 +0100)]
This is 0.41
Vincent Pit [Mon, 15 Mar 2010 17:22:47 +0000 (18:22 +0100)]
Compatibility fix for 5.12.0
Shlomi Fish [Sat, 6 Mar 2010 00:32:39 +0000 (01:32 +0100)]
A few doc corrections
Vincent Pit [Tue, 23 Feb 2010 13:42:19 +0000 (14:42 +0100)]
Tune the userdata example
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
Vincent Pit [Wed, 6 Jan 2010 23:16:43 +0000 (00:16 +0100)]
This is 0.40
Vincent Pit [Wed, 6 Jan 2010 22:58:37 +0000 (23:58 +0100)]
Indentation
Vincent Pit [Wed, 6 Jan 2010 22:57:03 +0000 (23:57 +0100)]
Bump copyright year
Vincent Pit [Wed, 6 Jan 2010 22:54:49 +0000 (23:54 +0100)]
Use SvREFCNT_inc_simple_void() whenever possible
Vincent Pit [Wed, 6 Jan 2010 22:48:11 +0000 (23:48 +0100)]
Use SvRV_const() whenever possible
Vincent Pit [Mon, 28 Dec 2009 23:01:25 +0000 (00:01 +0100)]
SvPV_const is only available since 5.9.3
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.
Vincent Pit [Mon, 28 Dec 2009 22:13:22 +0000 (23:13 +0100)]
Use size_t as the index type in the pointer table
Vincent Pit [Mon, 28 Dec 2009 21:40:08 +0000 (22:40 +0100)]
Fix expected constness for utf8_length() arguments
Vincent Pit [Mon, 28 Dec 2009 18:59:39 +0000 (19:59 +0100)]
Fix type coercions on values returned from callbacks
Vincent Pit [Mon, 28 Dec 2009 18:35:07 +0000 (19:35 +0100)]
call_sv() ought to take an I32
Vincent Pit [Mon, 28 Dec 2009 18:25:11 +0000 (19:25 +0100)]
Explicitely cap the op_info parameter to 255
Vincent Pit [Mon, 28 Dec 2009 18:19:31 +0000 (19:19 +0100)]
Wizard ids are IV, not UV
Vincent Pit [Mon, 28 Dec 2009 18:12:46 +0000 (19:12 +0100)]
Fix memory miswrite when passing data arguments to cast()
Vincent Pit [Tue, 1 Dec 2009 00:00:22 +0000 (01:00 +0100)]
This is 0.39
Vincent Pit [Mon, 30 Nov 2009 23:59:21 +0000 (00:59 +0100)]
Document passing a string reference as the callback
Vincent Pit [Mon, 30 Nov 2009 21:14:16 +0000 (22:14 +0100)]
Fix compiler warnings with the Intel CC
Vincent Pit [Mon, 30 Nov 2009 20:57:24 +0000 (21:57 +0100)]
Test string callbacks
Vincent Pit [Mon, 30 Nov 2009 20:45:24 +0000 (21:45 +0100)]
Test destruction of magic callbacks
Vincent Pit [Mon, 30 Nov 2009 20:22:10 +0000 (21:22 +0100)]
Also test getdata() in t/80-leaks.t
Vincent Pit [Mon, 30 Nov 2009 20:18:23 +0000 (21:18 +0100)]
Stop leaking objects stored in the data slot
Vincent Pit [Mon, 30 Nov 2009 20:02:04 +0000 (21:02 +0100)]
Stop passing arguments to the data callback through an AV
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.
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.
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.
Vincent Pit [Sun, 29 Nov 2009 23:14:30 +0000 (00:14 +0100)]
Stop leaking the SVs that reference the callbacks
Vincent Pit [Fri, 27 Nov 2009 11:16:16 +0000 (12:16 +0100)]
Fix a consting error
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.
Vincent Pit [Thu, 26 Nov 2009 21:10:19 +0000 (22:10 +0100)]
Empty the global pointer table at the end of a thread
Vincent Pit [Thu, 26 Nov 2009 20:53:13 +0000 (21:53 +0100)]
Remove unused variables
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()
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