pfenwick / autodie

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

This URL has Read+Write access

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