1 Revision history for indirect
3 0.19 2009-08-28 18:40 UTC
4 + Add : The new constant I_FORKSAFE can be tested to know whether the
5 module will behave nicely when fork()ing. It's currently always
6 true except on Windows where you need perl 5.10.1 for it to be
8 + Fix : I_THREADSAFE and I_FORKSAFE ought to be true when
9 PERL_INDIRECT_PM_DISABLE is set.
10 + Fix : The pragma could still leak if you passed to the "hook" option
11 a reference to the same (named) subroutine from two different
12 require scopes. The fix also provides a better solution for
14 + Fix : Segfaults when indirect is loaded for the first time from
16 + Fix : Leaks of memory associated with the root interpreter.
17 + Opt : Less memory will be used for non-threaded perls version 5.10.0
18 and below, and for threaded perls from version 5.10.1.
20 0.18 2009-08-23 16:15 UTC
21 + Add : When set, the PERL_INDIRECT_PM_DISABLE environment variable
22 disables the pragma globally.
24 0.17 2009-07-16 12:10 UTC
25 + Fix : [RT #47902] : "no indirect" leaking again.
26 This actually turned out to be a bug in how the hook coderefs
27 were stored in the hints hash.
28 Thanks Andrew Main for reporting once again.
29 + Fix : t/80-regressions.t failing on Windows.
30 + Tst : Yet more cleanups.
32 0.16 2009-07-14 16:50 UTC
33 + Add : Indirect calls on blocks are now reported. For those, '{' is
34 passed to the hook as the object description.
35 + Add : The new indirect::msg() function publicizes the default
36 warning/exception message.
37 + Fix : [RT #47866] : Segfault with UTF-8 regexps.
38 Thanks Andrew Main for reporting.
41 0.15 2009-07-08 22:55 UTC
42 + Fix : Invalid constructs with the same method and package name were
44 + Fix : The error line number used to point to the end of the expression
45 instead of its beginning.
47 0.14 2009-06-04 21:55 UTC
48 + Fix : Prevent bogus invalid syntaxes caused by reallocated memory
49 chunks. Thanks Andrew Main for reporting with a reproducible
52 0.13 2009-05-24 18:50 UTC
53 + Add : The hook now receives the file name and the line where the
54 error happened in respectively $_[2] and $_[3].
55 + Fix : Pass mortalized copies of the method name and object to the
56 hook. This seems to fix some rare crashes.
57 + Fix : Work around a bug in perl 5.10.0 and lower. Thanks Andrew Main
58 for teaching me about this issue.
59 + Fix : Report the correct file in error messages (a regression from the
62 0.12 2009-05-03 14:30 UTC
63 + Add : You can specify the action to execute for each indirect
64 construct encountered with the new "hook => $coderef" unimport()
66 + Chg : A ptable is now used internally for the op => position mapping.
67 + Fix : The pragma is now built with thread safety features enabled
68 whenever possible (a notable exception is perl 5.8.x on Win32,
69 as something seems wrong with its context handling).
70 The new indirect::I_THREADSAFE() constant reflects this.
71 + Fix : A negation precedence nit in indirect_ck_entersub().
72 + Tst : "use/no indirect" while parsing an indirect construct.
73 + Tst : Thread safety.
75 0.11 2009-02-08 18:35 UTC
76 + Fix : Potential collisions by hashing pointers with a wrong format.
77 + Upd : Resources in META.yml.
79 0.10 2009-01-17 12:40 UTC
80 Re-release 0.09_01 as stable.
82 0.09_01 2008-12-08 17:55 UTC
83 + Fix : Invalid memory read with "${\(new Foo)}" constructs. The
84 corresponding test is turned back on.
85 + Tst : Refinements in t/30-scope.t
87 0.09 2008-12-05 20:35 UTC
88 + Add : Support for perl 5.8.
89 + Tst : Skip a test in t/10-good.t that randomly segfaults for (I guess)
90 systems stricter than linux in the way they manage their memory.
92 0.08 2008-10-22 14:45 UTC
93 + Fix : A rare edge case for package whose names are prefix of 'main'.
94 + Tst : Test $$ as variable and state variables.
96 0.07_03 2008-10-17 20:10 UTC
97 + Add : Support and tests for variables with spaces after the sigil.
98 + Upd : META.yml spec updated to 1.4.
100 0.07_02 2008-10-15 21:10 UTC
101 + Add : Support and tests for package variables.
102 + Tst : Coverage improved by removing dead code.
104 0.07_01 2008-10-15 16:00 UTC
105 + Fix : [RT #40055] : Not handling RV2SV => GV(SV) correctly, which
106 could cause 'no indirect; print' segfaults. Thanks Goro Fuji for
109 0.06 2008-10-11 16:45 UTC
111 + Tst : Test "no indirect 'anything'", "foo Class->bar", and indirect
112 uses of exec() and system().
114 0.05 2008-10-02 14:40 UTC
115 + Chg : Now the old check function is always called before storing an op
117 + Fix : Misc code and docs refinements.
119 0.04 2008-08-30 19:00 UTC
120 + Fix : Clean up the op->src hash when we're done with an entersub.
121 + Tst : No longer fork for testing. IPC::Cmd isn't required anymore.
123 0.03 2008-08-12 15:25 UTC
124 This release is kindly supported by Copenhagen Hotel Centrum WiFi.
125 + Fix : Tests used not to pass PERL5OPTS to their kids. This lead to
126 failures under CPAN. I think.
129 0.02 2008-08-11 15:55 UTC
130 + Fix : Some building failures with old gcc versions that didn't seem to
131 like the ((hint == 2) ? croak : warn)(msg) construct. I think.
132 + Rem : Unused cruft from a previous implementation.
133 + Tst : Fail more gracefully when we can't capture buffers or when the
134 child returned an error.
136 0.01 2008-08-10 20:40 UTC
137 First version, released on an unsuspecting world.