pfenwick / autodie

Make functions succeed or die in Perl, with lexical scope.

autodie / Changes
8822d277 » pfenwick 2008-09-06 1.992 released 1 Revision history for autodie
2
12c7902e » pfenwick 2009-07-01 Removed oops where a debugg... 3 * TEST: Removed spurious warning about insufficient credit.
4
a72aad70 » Jerry D. Hedden 2009-07-01 Reduce debug output from hi... 5 * TEST: hints.t produces less debugging output when testing
6 the Perl core. (Thanks to Jerry D. Hedden)
7
fe193f2a » pfenwick 2009-07-01 Remove spurious failures fr... 8 * TEST: hints.t no longer spuriously fails when checking
9 the return values from File::Copy under Windows before
10 Perl 5.10.1. (Thanks to Curtis Jewell)
11
45270eb4 » pfenwick 2009-06-30 Bump to 2.03 and release 12 2.03 Wed Jul 1 15:39:16 AUSEST 2009
ab614fe5 » pfenwick 2009-06-30 Fix booching test on 5.8.x ... 13
14 * BUGFIX: Stopped blog_hints.t from booching under Perl
15 5.8.x. because parent.pm is not installed.
16
5dc61d7c » pfenwick 2009-06-30 Push to 2.02 and release 17 2.02 Wed Jul 1 15:06:21 AUSEST 2009
18
c55a7a70 » pfenwick 2009-06-30 Add context()/return() to a... 19 * FEATURE: autodie::exception now supports ->context() to
20 discover the context of the failing subroutine, and
21 ->return() to get a list of what it returned.
22
23 * BUGFIX: ->function from autodie::exception now returns
24 the original name of the dying sub, rather than its imported
25 name. For example, 'File::Copy::copy' rather than 'main::copy'.
26 Core functions continue to always return 'CORE::whatever'.
27
1a5f9cf2 » pfenwick 2009-06-30 Add extra tests based upon ... 28 * TEST: blog_hints.t tests new hinting features against
29 examples in my blog at http://pjf.id.au/blog/
30
2fe96c50 » pfenwick 2009-06-30 Bump to 2.01 and release. 31 2.01 Wed Jul 1 01:31:24 AUSEST 2009
32
8c414faa » pfenwick 2009-06-28 Thank-you, Toby, for docufi... 33 * DOCUMENTATION: General copyediting and tidy-up
34 (Thanks to Toby Corkindale)
35
1fb3bbd8 » pfenwick 2009-06-29 Perl 5.10.1 fixes 36 * BUGFIX: Warnings are no longer emitted when undefined values
37 are compared by hinting routines.
38
39 * BUGFIX: Hints for File::Copy now operate correctly under
40 Perl 5.10.1.
41
36240690 » pfenwick 2009-06-30 5.8.x : inheritance is suff... 42 * BUGFIX: Inheritance is now considered sufficient to declare
43 allegiance to the hints provider role under Perl 5.8.x.
44 (Thanks to Glenn Fowler)
45
1fb3bbd8 » pfenwick 2009-06-29 Perl 5.10.1 fixes 46 * TEST: hints.t no longer throws failures under Perl 5.10.1.
47
21a03deb » jawnsy 2009-06-29 pod-coverage.t no longer fa... 48 * TEST: pod-coverage.t (author test) no longer fails if
2fe96c50 » pfenwick 2009-06-30 Bump to 2.01 and release. 49 Sub::Identify is not installed.
50 (Thanks to Jonathan Yu. RT #47437)
21a03deb » jawnsy 2009-06-29 pod-coverage.t no longer fa... 51
aa3813d6 » pfenwick 2009-06-28 Release 2.0 52 2.00 Mon Jun 29 01:24:49 AUSEST 2009
8da7e15d » pfenwick 2009-05-21 Bump to 1.999_01 for release. 53
30adf70c » pfenwick 2009-02-22 Hinting support working! H... 54 * FEATURE: autodie can now accept hints regarding how
55 user and module subroutines should be handled. See
56 autodie::hints for more information.
57
58 * INTERFACE: The calls to the internal subroutines
59 one_invocation() and write_invocation() have changed.
60 An additional argument (the user subroutine reference) is
61 passed as the second-last argument. This may break code
62 that previously tried to call these subroutines directly.
63
64 * BUGFIX: Calls to subroutines to File::Copy should now
65 correctly throw exceptions when called in a list context.
66
b762a06c » pfenwick 2009-03-03 Fixed iternal error in writ... 67 * BUGFIX: An internal error where autodie could potentially
68 fail to correctly report a dying function's name has been
69 fixed.
4ee38780 » pfenwick 2009-02-14 Added (failing) tests for a... 70
4d8aba2f » pfenwick 2009-06-28 Fixed bug where package sca... 71 * BUGFIX: autodie will no longer clobber package scalars when
72 a format has the same name as an autodying function.
73 (Thanks to Ben Morrow)
74
5ee5bf9c » pfenwick 2009-03-03 Changes: Documented backcom... 75 * INTERFACE: The internal interfaces for fill_protos(),
d141c872 » pfenwick 2009-03-03 _make_fatal isn't backwards... 76 one_invocation(), write_invocation() are now once again
77 backward compatible with legacy versions of Fatal. It is
78 still strongly recommended these interfaces are NOT called
79 directly. The _make_fatal() subroutine is not backwards
80 compatible.
7a9c89b6 » pfenwick 2009-02-17 Documented tests. Expanded ... 81
a1c5c734 » pfenwick 2009-03-01 Merge branch 'master' into ... 82 * TEST: Added internal-backcompat.t to test backwards
83 compatibility of internal interfaces.
4ee38780 » pfenwick 2009-02-14 Added (failing) tests for a... 84
6eed7e98 » pfenwick 2009-03-05 Documentation changes with ... 85 * DOCUMENTATION: Expanded documentation regarding how
86 autodie changes calls to system(), and how this must be
87 explicitly enabled.
88
d7300942 » pfenwick 2009-06-28 Upgraded Module::Install to... 89 * BUILD: Upgraded to Module::Install 0.91
fb7ce815 » pfenwick 2009-05-08 Upgrade Module::Install to ... 90
b594b92c » pfenwick 2009-05-10 Insisting on hints now work... 91 * BUGFIX: A situation where certain compile-time diagnostics
92 and errors from autodie would not be displayed has been
93 fixed.
94
a395fbfe » pfenwick 2009-03-01 Added missing timestamp on ... 95 1.999 Sat Feb 28 18:36:55 AUSEDT 2009
b4ad38d5 » pfenwick 2009-02-22 Autodie treats system() as ... 96
963feac9 » pfenwick 2009-02-24 Documented: String eval + 5... 97 * BUGFIX: Autodie now correctly propagates into string evals
98 under 5.10+. Autodie completely fails to propagate into
99 string evals under 5.8. No fix for 5.8 is known.
db04618b » pfenwick 2009-02-24 autodie now propagates corr... 100
b3ac9a11 » pfenwick 2009-02-27 Rearranged Changes in order... 101 * BUGFIX: The caller() method on autodie::exception objects
102 should now always report the correct caller. While it
103 would always get the line, file, and package correct, previously
104 it would sometimes report less-than-helpful callers like
105 '__ANON__' or '(eval)'.
7a9c89b6 » pfenwick 2009-02-17 Documented tests. Expanded ... 106
b4ad38d5 » pfenwick 2009-02-22 Autodie treats system() as ... 107 * BUGFIX: autodie was treating system() as a user-sub, not
108 a built-in. This could tigger extra (unnecessary) work
109 inside autodie, but otherwise had no user impact.
db04618b » pfenwick 2009-02-24 autodie now propagates corr... 110
412113ed » pfenwick 2009-02-22 Fixed misleading synopsis i... 111 * DOCUMENTATION: The synopsis for autodie::exception::system
112 previously implied system() was made autodying by default.
113 This was not the case. It must still be enabled with
114 use autodie qw(system).
115
963feac9 » pfenwick 2009-02-24 Documented: String eval + 5... 116 * DOCUMENTATION: Noted the 5.8 string eval bug in
117 autodie/BUGS.
118
b3ac9a11 » pfenwick 2009-02-27 Rearranged Changes in order... 119 * TEST: Added test for correct caller output on
120 autodie::exception objects. Thanks to Piers Harding
121 for spotting this bug at KiwiFoo.
122
123 * TEST: Added tests for user-defined autodying functions
124 changing behaviour depending upon context. This was
125 reported in http://perlmonks.org/?node_id=744246 .
126
127 * TEST: Tests for autodie propagating into string eval.
128
40762c67 » pfenwick 2009-02-24 Additional tests for autodi... 129 * TEST: Expanded tests to ensure autodie::exception returns
130 the correct line number and caller.
131
4cc96643 » pfenwick 2009-02-24 Expanded caller.t to do ext... 132 * TEST: Expanded tests to ensure autodie::exception returns
133 correct information when calling subroutines in external files.
134
62b738d4 » pfenwick 2009-01-02 Bump version to 1.998 and r... 135 1.998 Sat Jan 3 11:19:53 AUSEDT 2009
136
99f46302 » pfenwick 2008-12-04 Removed Module::AutoInstall... 137 * BUILD: Removed Module::AutoInstall, which previously
138 was loaded but not used, but currently doesn't actually
139 do what we want.
140
7e77782a » pfenwick 2008-12-05 exception_class.t: Worked a... 141 * TEST: We manually stringify $@ for one test in
142 exception_class.t to avoid a bug involving overloaded
143 classes containing apostrophies.
144
d61fa9d5 » pfenwick 2008-12-11 mkdir.t and unlink.t no lon... 145 * TEST: unlink.t and mkdir.t avoid changing directories,
146 which could cause spurious failures when @INC includes
147 paths relative to the current working directory.
148
884aae99 » pfenwick 2008-12-15 Better documentation of use... 149 * DOCUMENTATION: Spurious "used only once" messages are
150 documented in Fatal's documentation (as well as autodie's).
151
b4183273 » Craig A. Berry 2009-01-02 In determining whether test... 152 * TEST: truncate.t has been updated to avoid incorrect
153 test failures on VMS machines. Many thanks to Craig A
154 Berry for the bug report and fix. (RT #42110)
155
4a78d868 » pfenwick 2008-12-03 Don't test exception object... 156 1.997 Thu Dec 4 15:14:00 AUSEDT 2008
157 * TEST: Test::More 0.86 (and possibly 0.85) appears to
158 dislike package names that contain the apostrophe
159 character (these occur in some tests for Klingon
160 localisation). We now skip these tests on systems
161 with Test::More >= 0.85 installed.
162
8305d299 » pfenwick 2008-12-03 Release time! 163 1.996 Thu Dec 4 09:07:39 AUSEDT 2008
7096f27b » pfenwick 2008-12-02 We now provide an exception... 164 * FEATURE: Child classes can now provide an exception_class()
165 method that returns the desired exception class, rather
166 than over-riding the whole throw() method. Existing classes
167 that over-ride throw() will still work as before.
168
707942e6 » pfenwick 2008-12-02 Fixed nasty bug where multi... 169 * BUGFIX: Fixed a bug where multiple autodie-derived classes
170 would share the same subroutine cache. This could result
171 in excptions from the wrong class being thrown.
172
173 This bug did not affect programs which used only autodie,
174 or a single autodie-derived class.
175
3b20b05b » pfenwick 2008-12-02 Added missing version tag e... 176 * BUGFIX: Missing 1.995 version tag added to export list.
177
178 * TEST: Make sure that we always have a working version tag for
179 our current version.
180
411d0d7f » pfenwick 2008-11-29 Release time! 1.995 181 1.995 Sun Nov 30 17:30:16 AUSEDT 2008
fc094d36 » pfenwick 2008-11-29 Documented: We no longer pr... 182
2b596a5c » pfenwick 2008-11-28 Improved error messages fro... 183 * FEATURE: Errors from 2-argument open now have more human
184 friendly error messages for reading, writing, and appending.
185
fc094d36 » pfenwick 2008-11-29 Documented: We no longer pr... 186 * FEATURE: autodie will never print unsightly references to
187 GLOB(0x...) structures in error messages; instead it uses
188 the placeholder '$fh'.
189
bfffde76 » pfenwick 2008-11-04 Module::AutoInstall lets us... 190 * BUILD: Bundled Module::AutoInstall makes it clear to users
191 they need to install IPC::System::Simple for autodying
192 system() support.
193
911a4b5b » pfenwick 2008-11-05 Tests for better looking co... 194 * TEST: truncate.t provides more diagnostics on failure.
195
196 * TEST: Tests for better formatted reports from connect().
197
a9fcab65 » pfenwick 2008-11-12 Added open.t for carefully ... 198 * TEST: New 'open.t' contains specific tests for well-formatted
199 messages from open().
200
c852dd18 » pfenwick 2008-09-24 Release time! Added timest... 201 1.994 Thu Sep 25 16:18:56 AUSEST 2008
0cf81a8f » pfenwick 2008-09-17 flock() added to :file cate... 202
2cdd8db5 » pfenwick 2008-09-21 Greatly increased checking ... 203 * BUGFIX: flock(), ioctl() and truncate() are now part of
204 the :file tag.
205
206 * BUGFIX: link(), mkdir(), rmdir(), symlink() and umask()
207 are now part of the :filesys tag.
208
209 * BUGFIX: The new :msg tag contains msgctl(), msgget(), msgrcv(),
210 and msgsnd().
211
212 * BUGFIX: The new :semaphore tag contains semctl(), semget()
213 and semop().
214
215 * BUGFIX: The new :shm tag contains shmget(), shmread() and
216 shmctl().
217
218 * BUGFIX: The new :ipc tag contains :msg, :semaphore, :shm and pipe().
219
220 * BUGFIX: The read(), seek(), sysread(), syswrite() and sysseek()
221 methods have been added to :io.
0cf81a8f » pfenwick 2008-09-17 flock() added to :file cate... 222
a9bdba68 » pfenwick 2008-09-24 Much better error reporting... 223 * BUGFIX: autodie produces more detailed messages on internal
224 faults, and is more aggressive about stopping code compilation.
225
365bece4 » pfenwick 2008-09-20 Merge branch 'master' into ... 226 * FEATURE: flock will not die on failure when called
227 with the LOCK_NB option and would return false
228 due to an EWOULDBLOCK. See function specific notes
229 in autodie documentation for more details.
230
49dbe3bc » pfenwick 2008-09-17 Added _format_flock handler... 231 * FEATURE: Stringified exceptions from flock() are significantly
365bece4 » pfenwick 2008-09-20 Merge branch 'master' into ... 232 nicer to read.
49dbe3bc » pfenwick 2008-09-17 Added _format_flock handler... 233
3ef29344 » pfenwick 2008-09-24 Version bump to 1.994. Add... 234 * FEATURE: use autodie qw(:1.994) can be used to specify the
235 :default tag from a particular version.
236
5a7c1c26 » pfenwick 2008-09-24 Documented function-specifi... 237 * DOCUMENTATION: flock() is documented as being in the :file tag.
238
239 * DOCUMENTATION: Added function-specific notes in autodie.pm
240
a13f48e1 » pfenwick 2008-09-21 New tests from Jacinta. 241 * TEST: New tests for rmdir(), mkdir(), and unlink(), thanks
242 to Jacinta Richardson.
243
0997eb3d » pfenwick 2008-09-24 Added author-only perlcriti... 244 * TEST: Added author-only perlcritic tests.
245
af97b231 » pfenwick 2008-09-24 META.yml has more correct v... 246 * META: META.yml has more correct author information.
247
34662d22 » pfenwick 2008-09-13 Added release time to Chang... 248 1.993 Sun Sep 14 11:15:36 AUSEST 2008
65768f60 » pfenwick 2008-09-11 RT #39172: The :dbm tag is ... 249
250 * DOCUMENTATION: The :dbm tag is now correctly documented
251 in autodie/CATEGORIES. Thanks to Darren Duncan for spotting
252 this. (RT #39172)
253
25f58ae6 » pfenwick 2008-09-11 RT #39172 closedir() has be... 254 * DOCUMENTATION: The README file has been updated to reflect
255 current minimum Perl versions (5.8.0) and current resources.
256
257 * DOCUMENTATION: The closedir() function is properly
258 documented as being included in the :filesys tag.
259
a4b26ab4 » pfenwick 2008-09-13 Feedback section added to d... 260 * DOCUMENTATION: Feedback section added to the autodie
261 documentation. If you find the module useful, consider
262 saying so on cpanratings.perl.org, or dropping me a note.
263
48b815fb » pfenwick 2008-09-13 Upgrade to Module::Install ... 264 * BUILD: Upgrade to Module::Intstall 0.77
265
8822d277 » pfenwick 2008-09-06 1.992 released 266 1.992 Sun Sep 7 15:51:32 AUSEST 2008
e1033eb0 » pfenwick 2008-03-28 Internal release 267
dfb4ba91 » pfenwick 2008-09-06 Added closedir() to :filesy... 268 * BUGFIX: unlink(), rename(), chdir() and closedir() functions
269 are now included in the :filesys tag.
5059ba7d » pfenwick 2008-08-29 RT #38845, detect missing s... 270
ddeeeaa6 » pfenwick 2008-09-06 binmode added to :file. Sp... 271 * BUGFIX: binmode() is now checked for failure as part of
272 the :file tag.
273
274 * BUGFIX: Using an unopened filehandle in an autodying
275 built-in no longer triggers a spurious warning.
276
5059ba7d » pfenwick 2008-08-29 RT #38845, detect missing s... 277 * BUGFIX: RT #38845, corrected a missing space in the error
278 produced by autodie when called with the ':void' switch.
279 Many thanks to Matt Kraai for the patch!
280
cf04ae2d » pfenwick 2008-09-06 Added support for dbmopen a... 281 * FEATURE: The dbmopen() and dbmclose() functions are now
282 supported in their own :dbm tag. This is part of :io
283 (and hence :default).
284
285 * FEATURE: The dbmopen() built-in has its own formatter,
286 which ensures errors always display the mask in octal,
287 not decimal.
288
0f966af9 » pfenwick 2008-09-05 unlink, rename and chdir ar... 289 * DOCUMENTATION: The :filesys tag is properly documented.
290
8583704f » pfenwick 2008-09-03 Added link to perl tip 291 * DOCUMENTATION: Added link to Perl tip on autodie.
292
0f966af9 » pfenwick 2008-09-05 unlink, rename and chdir ar... 293 * TEST: RT #38845, t/internal.t updated to detect malformed error
294 messages involving the mixing of ':void' and autodie.
295
1a5d5b37 » pfenwick 2008-08-22 Release time. v1.991 296 1.991 Fri Aug 22 23:57:24 AUSEST 2008
06cc027e » pfenwick 2008-08-20 Bugfix: RT#38614, stringifi... 297
298 * BUGFIX: RT #38614, stringified autodie::exceptions objects
299 now always end with a newline. Thanks to Offer Kaye for the
300 report.
301
2ce004eb » pfenwick 2008-08-19 More descriptive changes tags. 302 * BUGFIX: Makefile.PL is no longer executable.
1e5a9526 » pfenwick 2008-07-22 Makefile.PL is no longer ex... 303
2ce004eb » pfenwick 2008-08-19 More descriptive changes tags. 304 * BUGFIX: 'chdir' added to defaults, and the :filesys group.
c261c9ee » pfenwick 2008-08-04 chdir added to defaults and... 305
c0389536 » pfenwick 2008-08-20 Bugfix: RT #38598. The errn... 306 * BUGFIX: RT #38598, the errno attribute on autodie::exception
307 objects is now correctly set.
308
355a109a » pfenwick 2008-08-22 RT #38066 - exceptions from... 309 * BUGFIX: RT #38066, exceptions from system() now report
310 the correct line number.
311
4d2455ad » pfenwick 2008-08-20 RT #38614 - Exceptions shou... 312 * TEST: Internal tests changes to ease integration with core.
313
2ce004eb » pfenwick 2008-08-19 More descriptive changes tags. 314 * TEST: Checks added for empty 'errno' string in basic_exceptions.t
855f51c5 » pfenwick 2008-08-19 Added (failing) tests for e... 315
4d2455ad » pfenwick 2008-08-20 RT #38614 - Exceptions shou... 316 * TEST: Errors should end with a newline.
317
675453bf » pfenwick 2008-08-20 fork tests should no longer... 318 * TEST: fork tests should no longer mysteriously fail
319 on Solaris.
320
1b22117f » pfenwick 2008-08-20 backcompat.t should no long... 321 * TEST: backcompat.t should no longer give strange failures on
322 old versions of 5.8.3 or earlier.
323
355a109a » pfenwick 2008-08-22 RT #38066 - exceptions from... 324 * TEST: system.t ensures the correct file is reported.
325
cbbd4072 » pfenwick 2008-08-20 Upgrade to Module::Install ... 326 * BUILD: Upgrade to Module::Install 0.75
327
c4684e3e » pfenwick 2008-07-21 1.99 release 328 1.99 Mon Jul 21 02:25:23 PDT 2008
e81c961a » pfenwick 2008-07-21 Documentation/category impr... 329
330 * RELEASE CODENAME: "jarich", in thanks for her giving
331 up pretty much a whole week of her life to do nothing
332 but help me work on my talks for OSCON.
61d0f4ea » pfenwick 2008-07-03 autodie now checks open() f... 333
334 * BUGFIX: autodie will now check open() for returning
335 undef, not merely false, as open() can legimiately
336 return zero for open(my $fh, '-|') || exec(...) style
337 calls.
338
a902631c » pfenwick 2008-07-03 Added lethal.t, a test for ... 339 * TEST: Added t/lethal.t, a test for basic subclassing.
340
fbc72df8 » pfenwick 2008-07-05 Added t/lethal.t and t/user... 341 * TEST: Added t/usersub.t, a test for correct handling
342 of user subroutines.
343
344 * DOCUMENTATION: Noted in autodie.pm that user subs can
345 only be made Fatal/autodying if they've been declared
346 first.
347
2bac1c23 » pfenwick 2008-07-10 We can (again) detect an il... 348 * FEATURE: Conflicts between 'no autodie' and 'use Fatal'
349 re-enabled.
350
5156ce30 » pfenwick 2008-07-15 Added sysopen(), fcntl() an... 351 * FEATURE: Added sysopen() and fcntl() to :file, and
ce4c1553 » pfenwick 2008-07-15 Vanilla autodie means :defa... 352 exec() and system to :system. exec() doesn't yet work
353 due to its prototype;
354
355 * FEATURE: Vanilla 'use autodie' now implies
356 'use autodie qw(:default)'. This excludes system(),
e81c961a » pfenwick 2008-07-21 Documentation/category impr... 357 which depends upon an optional module, and exec(),
358 which breaks its exotic form.
5156ce30 » pfenwick 2008-07-15 Added sysopen(), fcntl() an... 359
d3d6ca2f » pfenwick 2008-07-18 Moved internal tests from F... 360 * TEST: Internal tests moved from Fatal.t to
361 internal.t
362
265bfe79 » pfenwick 2008-07-18 Added support for fileno. 363 * FEATURE: Added support for fileno.
364
c38808f0 » pfenwick 2008-07-18 Added support for exec(). 365 * FEATURE: Addded support for exec (although this
366 breaks the exotic form while autodie is in scope).
367
916e9a24 » pfenwick 2008-07-18 We now correctly support 'n... 368 * BUGFIX: 'no autodie' now plays nicely with user subs.
369
e81c961a » pfenwick 2008-07-21 Documentation/category impr... 370 * DOCUMENTATION: Added a brief mention of the category
371 system that autodie provides.
372
2626d8fb » pfenwick 2008-07-03 Release time! 1.11_01 "Ari... 373 1.11_01 Fri Jul 4 12:53:11 AEST 2008
374
375 * RELEASE CODENAME: "Aristotle", in thanks for the many
376 long and detailed discussions about the autodie interface
377 and how it should interact with Fatal. Aristotle was
378 instrumental in ensuring autodie has the clean and
379 simple interface that it does now.
fd1ce5e5 » pfenwick 2008-07-01 Removed kludge that forced ... 380
2544843f » pfenwick 2008-07-03 Retabbed 381 * FEATURE: 5.8 now has the ability to differentiate between calls
382 that return false to indicate failure, and those that
383 only return undef to indicate failure. CORE::send and
384 CORE::recv are examples of these.
fd1ce5e5 » pfenwick 2008-07-01 Removed kludge that forced ... 385
2544843f » pfenwick 2008-07-03 Retabbed 386 * FEATURE: You can now 'use autodie qw(fork)' to make sure your
387 forks are successful (they must return defined).
e0dfa76f » pfenwick 2008-07-01 autodie now knows about for... 388
86d1f35e » pfenwick 2008-07-01 Leaks into other files are ... 389 * TEST: t/todo.t removed. We have passing tests (recv.t)
662cbaef » pfenwick 2008-07-01 todo.t is dead. Huzzah! 390 for the reminder I had stuffed into here.
391
2544843f » pfenwick 2008-07-03 Retabbed 392 * TEST: t/fork.t added, for testing autodying fork.
970d6e66 » pfenwick 2008-07-01 Added tests for fork() 393
86d1f35e » pfenwick 2008-07-01 Leaks into other files are ... 394 * INTERNAL: The internal subroutine _remove_lexical_subs has been
5a82dc17 » pfenwick 2008-07-01 _remove_lexical_subs rename... 395 renamed to a much less misleading name of _install_subs,
396 since that's what it actually does now.
397
86d1f35e » pfenwick 2008-07-01 Leaks into other files are ... 398 * BUGFIX: Found and fixed a nasty bug where autodie's internal
399 subroutine cache was being too agressive. This could result in
400 handles from the incorrect package being used. Scalar filehandles
401 have never been affected by this bug.
402
403 * BUGFIX: Autodying subroutines will no longer leak into other
404 files if they are used/required/done in the same lexical scope.
48094bf0 » pfenwick 2008-07-01 Fixed nasty bug where autod... 405
d7f35efe » pfenwick 2008-07-01 Fatal.pm should now properl... 406 * BUILD: Fatal and autodie now install themselves with a
407 INSTALLDIRS=perl target, meaning they will now correctly
408 override (and possibly overwrite) your installed Fatal.pm
409 on 'make install'.
410
18e1027f » pfenwick 2008-07-02 Documented the 'used only o... 411 * DOCUMENTATION: Documented the 'used only once' bug when
412 using Fatal/autodie with package filehandles. This has
413 always existed in Fatal, and as far as I know it incurable
414 (but harmless).
415
d351cea0 » pfenwick 2008-07-03 Crickey! We can now subcla... 416 * FEATURE: autodie and its exceptions can now be subclassed!
417
418 * TEST: Added t/crickey.t as an example of using fair dinkum
419 subclasses of autodie. Mate, I reckon it's time for a beer.
420
2379b761 » pfenwick 2008-07-03 Moved autodie::exception ob... 421 * INTERNAL: Moved exception architecture from inside-out
422 objects (which need lots of extra work under 5.8) to
423 regular hashes (which don't need extra work).
424
5832655b » pfenwick 2008-07-03 Inline relevant portions of... 425 * INTERNAL: Inlined relevant portions of Scope::Guard, meaning
426 autodie can be installed with no dependencies. (It still
427 recommends IPC::System::Simple.)
428
2626d8fb » pfenwick 2008-07-03 Release time! 1.11_01 "Ari... 429 1.10_07 Sun Jun 29 15:54:26 AEST 2008
2544843f » pfenwick 2008-07-03 Retabbed 430 * RELEASE CODENAME: "ikegami", in thanks for solving the problem
431 of getting lexical replacement of subroutines working for real
432 under Perl 5.8. As this works better than my 5.10 implemenation,
433 it forms the foundation for this release.
02984ceb » pfenwick 2008-06-22 Housekeeping of version num... 434
2544843f » pfenwick 2008-07-03 Retabbed 435 * Removed inappropriate diagnostics about :lexical from Fatal.pm
3b7bb604 » pfenwick 2008-06-23 Documentation improvements ... 436
2544843f » pfenwick 2008-07-03 Retabbed 437 * Moved can't mix lexical and void diagnostics to autodie.pm
3b7bb604 » pfenwick 2008-06-23 Documentation improvements ... 438
2544843f » pfenwick 2008-07-03 Retabbed 439 * Added some basic tests for sysopen()
f7292cbd » pfenwick 2008-06-25 Added basic tests to see if... 440
2544843f » pfenwick 2008-07-03 Retabbed 441 * Removed the 5.10 only way of tracking lexical hints with
442 %^H. Our code now exclusively uses the more portable
443 5.8 code that employs Scope::Guard (and has less side-effects).
413982c0 » pfenwick 2008-06-28 Removed 5.10 hints tracking... 444
2544843f » pfenwick 2008-07-03 Retabbed 445 * Exotic system is no longer clobbered under 5.10 outside of
446 autodie's scope.
fc7519a9 » pfenwick 2008-06-28 Documentation reminder: exo... 447
2544843f » pfenwick 2008-07-03 Retabbed 448 * autodie::exception::match is better exercised in the 5.8
449 test suite.
59abe196 » pfenwick 2008-06-28 autodie::exception::Match i... 450
2544843f » pfenwick 2008-07-03 Retabbed 451 * Re-enabled 'use autodie' vanilla tests.
08bb0e3b » pfenwick 2008-06-28 Re-enabled failing 'use aut... 452
2544843f » pfenwick 2008-07-03 Retabbed 453 * t/backcompat.t no longer fails under Devel::Cover
c49b1143 » pfenwick 2008-06-28 backcompat.t no longer fail... 454
2544843f » pfenwick 2008-07-03 Retabbed 455 * Repeating function names in arguments to autodie no
456 longer causes those functions to become 'stuck' in
457 autodying mode.
d3be6e3b » pfenwick 2008-06-28 Repeating function names in... 458
2544843f » pfenwick 2008-07-03 Retabbed 459 * Wrong-version of Fatal.pm support added, along with basic
460 hints on how to get it working.
dae30624 » pfenwick 2008-06-28 Extra documentation particu... 461
2544843f » pfenwick 2008-07-03 Retabbed 462 * Expanded documentation on autodie, particularly for
463 exception handling under Perl 5.8.
dae30624 » pfenwick 2008-06-28 Extra documentation particu... 464
2544843f » pfenwick 2008-07-03 Retabbed 465 * Less warnings from t/exceptions.t when running under 5.10.
c6a566bc » pfenwick 2008-06-28 Scope::Guard is now a requi... 466
2544843f » pfenwick 2008-07-03 Retabbed 467 * All releases now really depend upon Scope::Guard, not just 5.8.
515fc231 » pfenwick 2008-06-28 Made exceptions.t less warn... 468
7a573dae » stennie 2008-07-01 replace cygwin TZs with mor... 469 1.10_06 Sun Jun 22 21:50:39 AEST 2008
68d4714f » pfenwick 2008-06-22 Overhauled lexical subs pro... 470
2544843f » pfenwick 2008-07-03 Retabbed 471 * RELEASE CODENAME: "Chocolateboy", in thanks for his wonderful
472 insights, and for letting me sound off way too many ideas
473 about how things may be done.
68d4714f » pfenwick 2008-06-22 Overhauled lexical subs pro... 474
2544843f » pfenwick 2008-07-03 Retabbed 475 * Fixed speeling errors in context.t, thanks to Stennie.
ec998c7d » pfenwick 2008-06-14 Fixed spelling errors in co... 476
2544843f » pfenwick 2008-07-03 Retabbed 477 * Fixed minor pod errors and omissions.
54c408c3 » pfenwick 2008-06-15 Corrected minor pod errors ... 478
2544843f » pfenwick 2008-07-03 Retabbed 479 * Fixed bug in recv.t which resulted in an incorrect number
480 of skipped tests on systems using socketpair emulation.
b2c74be1 » pfenwick 2008-06-15 Fixed incorrect number of s... 481
2544843f » pfenwick 2008-07-03 Retabbed 482 * Fixed a bug that would cause unwanted interactions between
483 autodie and autobox. Thanks to chocolateboy. (5.8)
113251f8 » pfenwick 2008-06-15 Fixed a bug that would caus... 484
2544843f » pfenwick 2008-07-03 Retabbed 485 * Wrote a (failing) test case demonstrating that the
486 autodie pragma could leak across files. Many thanks to
487 chocolateboy for bringing this to my attention.
219a33a5 » pfenwick 2008-06-15 Added (failing) test to det... 488
2544843f » pfenwick 2008-07-03 Retabbed 489 * t/system.t checks to see if exotic system has been injured
490 in the same package as 'use qutodie qw(system)'
f2fe4549 » pfenwick 2008-06-16 Check for continuing health... 491
2544843f » pfenwick 2008-07-03 Retabbed 492 * Calling filename reliably reported in 5.8 error messages
493 and error objects.
9cc30842 » pfenwick 2008-06-18 5.8 error objects now corre... 494
2544843f » pfenwick 2008-07-03 Retabbed 495 * User subs can be made autodying under 5.8, but they leak
496 over the entire package (which is very bad!)
6e775c5c » pfenwick 2008-06-18 Added tests for autodying u... 497
2544843f » pfenwick 2008-07-03 Retabbed 498 * Context-checking tests split into package-scope tests and
499 lexical scope tests.
61cec2c6 » pfenwick 2008-06-21 Support for lexical user-su... 500
2544843f » pfenwick 2008-07-03 Retabbed 501 * Lexical user-subs are disabled under Perl 5.8. They were
502 leaking everywhere and not being lexical at all. Attempting
503 to use a lexical user-sub under 5.8 now causes an error.
61cec2c6 » pfenwick 2008-06-21 Support for lexical user-su... 504
2544843f » pfenwick 2008-07-03 Retabbed 505 * Bugs found in interaction between autodie and Fatal in
506 5.8. When used together, we can't reliably replace a
507 Fatalised sub with an autodying one, and then switch it
508 back again at the end of block.
f5ec7da0 » pfenwick 2008-06-21 Detection for (failing) att... 509
2544843f » pfenwick 2008-07-03 Retabbed 510 * Bugs described above fixed, thanks to ikegami!
68d4714f » pfenwick 2008-06-22 Overhauled lexical subs pro... 511
2544843f » pfenwick 2008-07-03 Retabbed 512 * Overhauled _remove_lexical_subs, based on ikegami's
513 input. This routine would now be better named
514 "_install_lexical_subs", since it can now both
515 install and remove.
68d4714f » pfenwick 2008-06-22 Overhauled lexical subs pro... 516
2544843f » pfenwick 2008-07-03 Retabbed 517 * Surpressed some warnings under 5.8 about uninitialised
518 hints hashes.
68d4714f » pfenwick 2008-06-22 Overhauled lexical subs pro... 519
2544843f » pfenwick 2008-07-03 Retabbed 520 * Added support for backwards compatible Fatal calls in
521 5.8. These are currently a little *too* backwards compatible,
522 possessing the same bugs as the old Fatal (clobbering
523 context).
68d4714f » pfenwick 2008-06-22 Overhauled lexical subs pro... 524
2544843f » pfenwick 2008-07-03 Retabbed 525 * Improved caching of pre-generated subroutines. We now
526 cache the compiled subroutine, rather than the uncompiled
527 code.
f5ec7da0 » pfenwick 2008-06-21 Detection for (failing) att... 528
2544843f » pfenwick 2008-07-03 Retabbed 529 * Added more tests to ensure Fatal throws backcompat
530 strings, whereas autodie throws exception objects.
f5ec7da0 » pfenwick 2008-06-21 Detection for (failing) att... 531
2544843f » pfenwick 2008-07-03 Retabbed 532 * Support for lexical user-subs enabled, tested, and working
533 in 5.8!
f9c4e27c » pfenwick 2008-06-22 Lexical user subs work in 5... 534
2544843f » pfenwick 2008-07-03 Retabbed 535 * Added resources to Makefile.PL / META.yml
da0e3551 » pfenwick 2008-06-22 Added blog and repository i... 536
61cec2c6 » pfenwick 2008-06-21 Support for lexical user-su... 537
7a573dae » stennie 2008-07-01 replace cygwin TZs with mor... 538 1.10_05 Sun Jun 15 15:46:38 AEST 2008
2544843f » pfenwick 2008-07-03 Retabbed 539 * Kludgy support for Perl 5.8 using Scope::Guard and dark
540 and terrible magicks taken from namespace::clean.
ccb64ae6 » pfenwick 2008-06-13 Bumped versions. Updated C... 541
2544843f » pfenwick 2008-07-03 Retabbed 542 * Rudimentary caching of generated code, to avoid having
543 to regenerate the same code every single time Fatal/autodie
544 is used on the same function.
ccb64ae6 » pfenwick 2008-06-13 Bumped versions. Updated C... 545
2544843f » pfenwick 2008-07-03 Retabbed 546 * Nuking subroutines at end of lexical scope moved into
547 own subroutine.
09dde36c » pfenwick 2008-06-14 (5.8) Nuking subs at end of... 548
2544843f » pfenwick 2008-07-03 Retabbed 549 * Perl 5.8 support working! Backcompat mode not yet
550 supported, nor is autodie with user defined subs.
551 The 5.8 support that is there is rather kludgy, and
552 still needs a lot of work.
3c4b8429 » pfenwick 2008-06-14 Perl 5.8 autodie support is... 553
2544843f » pfenwick 2008-07-03 Retabbed 554 * Perl 5.8 code no longer gets executed under 5.10 when
555 executing write_invocation().
1b45db17 » pfenwick 2008-06-14 Perl 5.8 code no longer exe... 556
2544843f » pfenwick 2008-07-03 Retabbed 557 * lex58.t tells the user that we'll get warnings under
558 Win32, and these are to be ignored. This is due to
559 a Perl behaviour where it always calls the shell under
560 Win32, even when multi-arg system is used.
6d62a304 » pfenwick 2008-06-14 Updated test cases, Makefil... 561
2544843f » pfenwick 2008-07-03 Retabbed 562 * lex58.t no longer fails to compile on Perl 5.10 which
563 is still clobbering exotic open. Perl 5.8 does not
564 clobber the exotic form.
6d62a304 » pfenwick 2008-06-14 Updated test cases, Makefil... 565
2544843f » pfenwick 2008-07-03 Retabbed 566 * Backcompat tests are all marked as TODO under perl 5.8
6d62a304 » pfenwick 2008-06-14 Updated test cases, Makefil... 567
2544843f » pfenwick 2008-07-03 Retabbed 568 * Makefile.PL moved back to saying autodie works under 5.8
6d62a304 » pfenwick 2008-06-14 Updated test cases, Makefil... 569
2544843f » pfenwick 2008-07-03 Retabbed 570 * Context/user-sub tests skipped under 5.8, which does
571 not yet support autodying of user subs.
18e93b6b » pfenwick 2008-06-14 Context/user-sub tests skip... 572
2544843f » pfenwick 2008-07-03 Retabbed 573 * lex58 tests now skipped if IPC::System::Simple not installed.
132c4008 » pfenwick 2008-06-14 Scope::Guard required for P... 574
2544843f » pfenwick 2008-07-03 Retabbed 575 * Squished a spurious warning from lex58.t
132c4008 » pfenwick 2008-06-14 Scope::Guard required for P... 576
7a573dae » stennie 2008-07-01 replace cygwin TZs with mor... 577 1.10_04 Sat Jun 14 15:02:17 AEST 2008
2544843f » pfenwick 2008-07-03 Retabbed 578 * Made all $VERSION numbers more friendly to static code
579 analysis tools (including CPAN).
580 * Added a test to make sure all version numbers are incremented
581 in lock-step.
6f0e88c7 » pfenwick 2008-06-12 Made all $VERSIONs more fri... 582
2544843f » pfenwick 2008-07-03 Retabbed 583 * Started 5.8 support
584 * Removed dependencies on 5.10 'use feature'.
585 * Removed dependencies on 5.10 fieldhashes.
586 * a::e::match no longer uses smart-match or //
587 * %^H init doesn't use // anymore.
588 * 5.8 won't try to use // in fatalised subs (kludge)
754c6f68 » pfenwick 2008-06-12 First steps in a 5.8 port; ... 589
2544843f » pfenwick 2008-07-03 Retabbed 590 * recv.t corrected to use a custom socket (closed for writing)
591 and to ignore SIGPIPEs.
1ef565c1 » pfenwick 2008-06-13 Make sure our send/recv tes... 592
7a573dae » stennie 2008-07-01 replace cygwin TZs with mor... 593 1.10_03 Fri Jun 13 11:04:17 AEST 2008
2544843f » pfenwick 2008-07-03 Retabbed 594 * Updated backwards compatibility tests to work on
595 non-Enligh systems.
db9fab71 » pfenwick 2008-06-12 Bumped to 1.10_03. Fixed b... 596
7a573dae » stennie 2008-07-01 replace cygwin TZs with mor... 597 1.10_02 Fri Jun 13 10:55:00 AEST 2008
2544843f » pfenwick 2008-07-03 Retabbed 598 * Tweaked boilerplate test to remove windows-only paths.
599
600 1.10_01 Thu Jun 12 17:19:13 AEST 2008
601 * First beta release of module.
602
603 1.09 UNRELEASED
604 * Many changes not documented here.
605 * Fatal is now fully backwaards compatible again.
606 * system() can be fatalised/autodying if IPC::System::Simple
607 is installed.
608 * Rationlisation of autodie::exception API.
609 * autodie::exception->function() now always returns the
610 full function name as best we can find it, and not
611 what may be getting replaced (eg, CORE::open instead of
612 main::open).
613
614 1.08 Sat Mar 29 10:54:20 AEDT 2008
e1033eb0 » pfenwick 2008-03-28 Internal release 615 Dual-lifed module internally from work I was doing on p5p.
616