<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,7 +2,25 @@ Revision history for autodie
 
 1.994
 
-        * BUGFIX: flock() is now part of the :file tag.
+        * BUGFIX: flock(), ioctl() and truncate() are now part of
+          the :file tag.
+
+        * BUGFIX: link(), mkdir(), rmdir(), symlink() and umask()
+          are now part of the :filesys tag.
+
+        * BUGFIX: The new :msg tag contains msgctl(), msgget(), msgrcv(),
+          and msgsnd().
+
+        * BUGFIX: The new :semaphore tag contains semctl(), semget()
+          and semop().
+
+        * BUGFIX: The new :shm tag contains shmget(), shmread() and
+          shmctl().
+
+        * BUGFIX: The new :ipc tag contains :msg, :semaphore, :shm and pipe().
+
+        * BUGFIX: The read(), seek(), sysread(), syswrite() and sysseek()
+          methods have been added to :io.
 
         * FEATURE: Stringified exceptions from flock() are significantly
           nicer to read, and display human-readable Fcntl-style flags rather</diff>
      <filename>Changes</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,30 @@
 This is not an exhaustive list of TODO items.
 
+* chmod is not currently in our default list of things to make
+  autodying.  It should be, but probably needs its own special
+  handler, since it can return true even when some permissions
+  have not been changed.
+
+* Almost everything that applies to chmod() applies to kill().
+
+* Ditto for utime().
+
+* Can we overload readline()?  Will that change &lt;&gt;?
+
+* Ditto for readpipe().
+
+* What do setpgrp(), setpriority() and telldir() return?
+
+* tell() requires special handling, it returns -1 on failure.
+
+* Is it an error for wait() or waitpid() to return -1?  Currently
+  we don't check wait() or waitpid() at all.
+
+* Is there any point trying to examine the return from sleep()?
+
+* I don't think seekdir() returns anything.  It certainly doesn't
+  in Linux, but double-check in Perl.
+
 * autodie doesn't seem to give consistent error messages if it fails
   to compile replacement code.  In particular, it doesn't seem to
   halt the running program.  This deserves more investigation, and</diff>
      <filename>TODO</filename>
    </modified>
    <modified>
      <diff>@@ -39,11 +39,18 @@ our $Debug ||= 0;
 # These are all assumed to be CORE::
 
 my %TAGS = (
-    ':io'      =&gt; [qw(:dbm :file :filesys :socket)],
+    ':io'      =&gt; [qw(:dbm :file :filesys :ipc :socket
+                       read seek sysread syswrite sysseek )],
     ':dbm'     =&gt; [qw(dbmopen dbmclose)],
-    ':file'    =&gt; [qw(open close flock sysopen fcntl fileno binmode)],
-    ':filesys' =&gt; [qw(opendir closedir chdir unlink rename)],
+    ':file'    =&gt; [qw(open close flock sysopen fcntl fileno binmode
+                     ioctl truncate)],
+    ':filesys' =&gt; [qw(opendir closedir chdir link unlink rename mkdir
+                      symlink rmdir readlink umask)],
+    ':ipc'     =&gt; [qw(:msg :semaphore :shm pipe)],
+    ':msg'     =&gt; [qw(msgctl msgget msgrcv msgsnd)],
     ':threads' =&gt; [qw(fork)],
+    ':semaphore'=&gt;[qw(semctl semget semop)],
+    ':shm'     =&gt; [qw(shmctl shmget shmread)],
     ':system'  =&gt; [qw(system exec)],
 
     # Can we use qw(getpeername getsockname)? What do they do on failure?
@@ -77,6 +84,12 @@ my %Use_defined_or;
     CORE::send
     CORE::open
     CORE::fileno
+    CORE::read
+    CORE::readlink
+    CORE::sysread
+    CORE::syswrite
+    CORE::sysseek
+    CORE::umask
 )} = ();
 
 # Cached_fatalised_sub caches the various versions of our</diff>
      <filename>lib/Fatal.pm</filename>
    </modified>
    <modified>
      <diff>@@ -172,6 +172,11 @@ The categories are currently:
     :all
         :default
             :io
+                read
+                seek
+                sysread
+                sysseek
+                syswrite
                 :dbm
                     dbmclose
                     dbmopen
@@ -181,14 +186,36 @@ The categories are currently:
                     fcntl
                     fileno
                     flock
+                    ioctl
                     open
                     sysopen
+                    truncate
                 :filesys
                     chdir
                     closedir
                     opendir
+                    link
+                    mkdir
+                    readlink
                     rename
+                    rmdir
+                    symlink
                     unlink
+                :ipc
+                    pipe
+                    :msg
+                        msgctl
+                        msgget
+                        msgrcv
+                        msgsnd
+                    :semaphore
+                        semctl
+                        semget
+                        semop
+                    :shm
+                        shmctl
+                        shmget
+                        shmread
                 :socket
                     accept
                     bind</diff>
      <filename>lib/autodie.pm</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e2959d2bd94e106ba2a09cbddcdc82298f4dd66d</id>
    </parent>
  </parents>
  <author>
    <name>Paul Fenwick</name>
    <email>pjf@perltraining.com.au</email>
  </author>
  <url>http://github.com/pfenwick/autodie/commit/2cdd8db56efbc177520aeac30656d8771d8d75bb</url>
  <id>2cdd8db56efbc177520aeac30656d8771d8d75bb</id>
  <committed-date>2008-09-21T06:58:37-07:00</committed-date>
  <authored-date>2008-09-21T06:58:37-07:00</authored-date>
  <message>Greatly increased checking coverage of Perl's built-ins.</message>
  <tree>ffd3e703f766ba2b959cd36d55325f985f78f66c</tree>
  <committer>
    <name>Paul Fenwick</name>
    <email>pjf@perltraining.com.au</email>
  </committer>
</commit>
