Remove ChangeLog files from the repo
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
diff --git a/mcs/class/corlib/System.IO/ChangeLog b/mcs/class/corlib/System.IO/ChangeLog
deleted file mode 100644 (file)
index 3778389..0000000
+++ /dev/null
@@ -1,2969 +0,0 @@
-2010-05-27  William Holmes  <billholmes54@gmail.com>
-
-       * Directory.cs (ValidateDirectoryListing): Removing an unnecessary
-       Path.Combine call. Part of the fix for bug #580090.
-
-       Code is contributed under MIT/X11 license.
-
-2010-06-18  Rolf Bjarne Kvinge  <RKvinge@novell.com>
-
-       * FileStream.cs: Include a required ctor in NET_2_1 so that it compiles.
-
-2010-05-20  Marek Habersack  <mhabersack@novell.com>
-
-       * FileStream.cs: when running on Windows and a path with Unix
-       directory separator chars is passed (including an UNC share), get
-       the canonical form of the path before attempting to retrieve its
-       directory name. Fixes bug #607502
-
-       * Path.cs: typo fix
-
-2010-05-08  Marek Habersack  <mhabersack@novell.com>
-
-       * Path.cs: vararg overload of Combine now correctly concatenates
-       segments.
-       The 3 and 4 argument overloads of Combine check whether the passed
-       segments are null or not.
-
-2010-05-05 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * Path.cs: prevent infinite loop when TMPDIR (or equivalent)
-       points to a non-existent directory.
-
-2010-04-21  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * FileInfo.cs: Ensure elevated trust when calling Delete on 
-       Moonlight.
-       * FileSystemInfo.cs: Ensure elevated trust when calling [Creation
-       |LastAccess|LastWrite]Time setters
-
-2010-04-16  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * Directory.cs: Ensure elevated trust when calling on 
-       Moonlight.
-       * DirectoryInfo.cs: Ensure elevated trust when calling a .ctor 
-       on Moonlight.
-       * File.cs: Ensure elevated trust when calling a .ctor on 
-       Moonlight.
-       * FileInfo.cs: Ensure elevated trust when calling a .ctor on 
-       Moonlight.
-       * FileStream.cs: Ensure elevated trust when calling a .ctor on 
-       Moonlight. Name property returns "[Unknown]" unless a Moonlight
-       application is executed with elevated trust.
-       * Path.cs: Ensure elevated trust when calling a GetTempPath,
-       GetTempFileName or GetFullPath on Moonlight. Add a shared 
-       internal method to validate paths to reduce code duplication.
-
-2010-04-15  Jb Evain  <jbevain@novell.com>
-
-       * Directory.cs: don't fully qualify name when not it's necessary.
-
-2010-03-29  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * DirectoryInfo.cs, FileInfo.cs: Moonlight needs the default ctor
-       to decorate them with [SecuritySafeCritical] for corclr 
-       inheritance rules
-
-2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * Directory.cs: a directory named ":" is legal in unix.
-       This gets rid of the annoying ":" folder when running
-       corlib tests.
-
-2010-03-22  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Directory.cs, DirectoryInfo.cs: Disble new NET_4_0 API used in
-       SL4 until we have elevated trust working correctly (since they 
-       are *not* decorated as [SecurityCritical])
-
-2010-03-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * StreamReader.cs: if the detected encoding is different from the
-       provided to the constructor, adjust the decoded buffer size if
-       needed. Fixes bug #589236.
-
-2010-03-17  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Stream.cs: CopyTo methods are part of SL4 too
-
-2010-03-16  Jb Evain  <jbevain@novell.com>
-
-       * FileStream.cs, File.cs, DirectoryInfo.cs, Directory.cs: use
-       MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
-
-2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
-
-       * Path.cs:
-       * Directory.cs:
-       * DirectoryInfo.cs: Add some of the 4.0 methods to Moonlight.
-
-2010-03-15  Rolf Bjarne Kvinge  <RKvinge@novell.com>
-
-       * SearchOption.cs: Make public for Moonlight, this type is in SL4.
-
-2010-03-12  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * File.cs: Enable some NET_4_0 features in NET_2_1 since they are
-       part of SL4. Throw a SecurityException in Moonlight in non-debug
-       builds until we're ready for elevated trust.
-
-2010-03-11  Zoltan Varga  <vargaz@gmail.com>
-
-       * Path.cs (GetTempFileName): Fix infinite loop if the process doesn't have
-       write access to /tmp. Fixes #585017.
-
-2010-02-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
-
-       * MemoryStream.cs: When setting Capacity, don't create a new buffer if
-       the new expected value is the same as the current one.
-
-2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * StreamWriter.cs:
-       * FileStream.cs: if flushing fails when disposing the stream, make
-       sure it is closed before throwing the exception. Fixes bug #579146.
-
-2010-01-31  Zoltan Varga  <vargaz@gmail.com>
-
-       * Directory.cs (Exists): Never throw an exception. Fixes #565152.
-
-2010-01-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * UnmanagedMemoryStream.cs: fix a regression from my previous patch.
-
-2010-01-26  Marek Habersack  <mhabersack@novell.com>
-
-       * SearchOption.cs: included in 2.1 build as internal to fix
-       the build.
-
-2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * DirectoryInfo.cs: new overload for GetFileSystemInfos().
-
-2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * UnmanagedMemoryStream.cs: add the SafeBuffer overloads.
-
-2010-01-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
-
-       * StreamReader.cs: When detecting the encoding we usually check the
-       four first bytes looking for either UTF32 or UTF8 BOM, since they share
-       the first two bytes, but if we happen to have less than 4 bytes at
-       detection time, just check for Unicode and use it as the current
-       encoding - this is exactly what .Net does, and it is specially visible
-       with NetworkStream.
-       Fixes #534137.
-
-2010-01-19  Alan McGovern  <amcgovern@novell.com>
-       * BufferedStream.cs: Patch by Tom Philpot to optimise ReadByte and
-       WriteByte significantly by making them fulfill their request by
-       directly reading from the buffer.
-
-2010-01-14  Rolf Bjarne Kvinge  <RKvinge@novell.com>
-
-       * UnmanagedMemoryStream.cs: Read: don't read bytes one-by-one, read all
-       at once.
-
-2010-01-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
-
-       * MemoryStream.cs: Don't clear the bytes beyond Length when shrinking
-       it. Instead just save the related information for it and do it when
-       Length grows and touchs that dirty region. Refactor the code where
-       needed to avoid duplication as well.
-       Fixes #327053.
-
-2009-12-21  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * File.cs (ReadAllBytes): We cannot assume that a single call to
-       Read will return all the data we require.
-
-2009-11-24  Marek Safar <marek.safar@gmail.com>
-
-       * StreamReader.cs, FileStream.cs: Use recycle buffer to avoid
-       repeated underlying buffer initialization (saves hefty 10MB
-       during corlib compilation).
-       
-       * Path.cs (InsecureGetFullPath): Avoid CanonicalizePath in common
-       path.
-
-2009-11-23  Miguel de Icaza  <miguel@novell.com>
-
-       * DirectoryInfo.cs: Added the new overloads.
-
-       * Directory.cs: Add EnumerateFiles and EnumerateFileSystemEntries
-       overloads.    Share code.
-       
-       Add new GetFileSystemEntries overload
-
-2009-11-22  Miguel de Icaza  <miguel@novell.com>
-
-       * Directory.cs: Added new IEnumerable methods to Directory.
-
-       * MonoIO.cs: Surface a high level FindFirst/FindNext API to
-       implement the various enumerable APIs.
-
-2009-11-13  Marek Safar <marek.safar@gmail.com>
-
-       * UnmanagedMemoryAccessor.cs: Finished.
-
-2009-11-13  Marek Safar <marek.safar@gmail.com>
-
-       * UnmanagedMemoryAccessor.cs: Finished.
-
-2009-11-08  Miguel de Icaza  <miguel@novell.com>
-
-       * FileInfo.cs: Partially implement.
-
-       * Stream.cs: Implement synchornized.
-
-2009-11-07  Miguel de Icaza  <miguel@novell.com>
-
-       * UnmanagedMemoryStream.cs: Move the CLS attribute to the methods
-       that are unsafe.
-
-       * Path.cs (Combine):e Fix implementation to follow docs (we need
-       to reset the path if any of the combined paths is rooted), and add a
-       couple of overloads;
-
-       * FileStream.cs (Flush/flushToDisk): Implement.
-
-       * Stream.cs (CopyTo): Implement.
-
-2009-11-03  Miguel de Icaza  <miguel@novell.com>
-
-       * FileStream.cs: Check the return value of MonoIO.Write and handle
-       short-writes as those can happen when a FileStream is used on top
-       of a pipe on Unix.
-
-       Fixes bug: #531613, this should be backported to 2-4 and 2-6 after
-       some testing.
-
-2009-10-29  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileStream.cs: Reduce code duplication by merging FillBuffer 
-       with FillBufferToStream
-
-2009-10-28  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileStream.cs: Move code to deal with 'anonymous' filenames
-       into two methods (returning the path, fullpath or only the 
-       filename). Default Moonlight to anonymous (not only for isolated
-       storage) unless the coreclr is disable (e.g. smcs)
-
-2009-10-21  Miguel de Icaza  <miguel@novell.com>
-
-       * BinaryWriter.cs, BinaryReader.cs: 4.0 signature update.
-
-       * File.cs (ReadLines, AppendAllLines, WriteAllLines): Add
-       IEnumerable methods.
-
-       * Path.cs (Combine): add the params overload. 
-
-2009-10-15  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * UnmanagedMemoryStream.cs: Fix some and add missing validations
-
-2009-09-23  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * StreamReader.cs: Add back UTF32 under NET_2_1 (for smcs)
-
-2009-09-23  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Directory.cs: Don't expose SearchOption in NET_2_1
-       * DirectoryInfo.cs: Don't expose SearchOption in NET_2_1
-       * MonoIO.cs: Don't throw a DriveNotFoundException under NET_2_1 -
-       an IOExpection will be thrown (like the 1.x profile)
-
-2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * StreamReader.cs: Don't use UTF32 under NET_2_1
-
-2009-09-18  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Directory.cs: Avoid imperative CAS checks and remove 
-       AccessControl types for NET_2_1
-       * DirectoryInfo.cs: Remove AccessControl types for NET_2_1
-       * File.cs: Remove AccessControl types for NET_2_1
-       * FileInfo.cs: Remove AccessControl types for NET_2_1
-       * FileStream.cs: Remove AccessControl types for NET_2_1
-       * Path.cs: Avoid imperative CAS checks for NET_2_1
-
-2009-09-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * DirectoryInfo.cs: throw if FullPath is not a directory.
-       Fixes bug #539791.
-
-2009-09-04  Zoltan Varga  <vargaz@gmail.com>
-
-       * UnmanagedMemoryAccessor.cs: New net 4.0 class.
-
-2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * Path.cs: only trim the end of the file.
-       Fixes bug #521924.
-
-2009-05-05  Miguel de Icaza  <miguel@novell.com>
-
-       * Contribution from David Uvalle <david.uvalle@gmail.com> that
-       implements FileInfo.Replace.
-
-2009-04-25  Miguel de Icaza  <miguel@novell.com>
-
-       * StreamReader.cs (DataAvailable): New internal function to work
-       around the fact that StreamReaders are now blocking on Peek(), and
-       that our own Console.TermInfoDriver used Peek() as a way of
-       probing if there was data on a stream before to avoid blocking. o
-
-2009-04-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * StreamReader.cs: if Peek() needs to block, do it.
-       Fixes bug #496905.
-
-2009-03-22  Marek Habersack  <mhabersack@novell.com>
-
-       * FileStream.cs: implemented the SafeFileHandle property.
-
-2009-02-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * StringReader.cs: LF followed by CR is 2 lines.
-
-2009-02-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * MonoIO.cs:
-       * MonoIOError.cs: enable ERROR_NOT_SAME_DEVICE.
-
-2009-02-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * StreamReader.cs: when a LF ends a decoded buffer and is not followed
-       by a CR in the next decoded buffer, we didn't flush the string.
-       Fixes bug #445326.
-
-2009-01-08  Christian Prochnow  <cproch@seculogix.de>
-
-       * DriveInfo.cs: Added GetDiskFreeSpaceInternal
-       to query drive size and free space.
-       Added GetDriveTypeInternal to query type of drive.
-
-2008-12-20  Miguel de Icaza  <miguel@novell.com>
-
-       * FileStream.cs: Found while debugging webcompare, we should add
-       Obsoletes to the FileStream constructors that take IntPtrs.
-
-2008-11-27  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileInfo.cs: Change ToString (in 2.1) not to return the full path
-       of the filename (since it's not SecurityCritical).
-
-2008-11-09  William Holmes  <billholmes54@gmail.com>
-
-       * TextReader.cs : Adding the NullTextReader as a private class to
-         the TestReader class for the Null field of the TestReader.
-
-       Code is contributed under MIT/X11 license.
-
-2008-11-06  Jonathan Chambers  <joncham@gmail.com>
-
-       * MonoIO.cs : Add DuplicateHandle.
-
-2008-10-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
-
-       * Path.cs: clean the path when we're not in windows. 
-       Bug #321706 fixed.
-
-2008-10-12  Zoltan Varga  <vargaz@gmail.com>
-
-       * BinaryReader.cs (Read7BitEncodedInt): Check for an invalid encoding.
-       Fixes #434581.
-
-2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileStream.cs, MonoIO.cs: For Silverlight 2.0 (NET_2_1) we always
-       throw IsolatedStorageException instead of FileNotFoundException and
-       DirectoryNotFoundException.
-
-2008-08-21  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileStream.cs: Adjust exception being thrown for Silverlight 2.0.
-       * FileSystemInfo.cs: In Silverlight 2 this type does not inherit from 
-       MarshalByRefObject nor does it implement ISerializable.
-       * Stream.cs: In Silverlight 2 this type does not inherit from 
-       MarshalByRefObject.
-       * TextReader.cs: In Silverlight 2 this type does not inherit from 
-       MarshalByRefObject.
-       * TextWriter.cs: In Silverlight 2 this type does not inherit from 
-       MarshalByRefObject.
-       * UnmanagedMemoryStream.cs: For Silverlight 2 add CLSCompliant(false)
-       to the PositionPointer property.
-
-2008-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * StreamWriter.cs: Change argument check for buffersize to require
-       positive number. Removed duplicate disposed check for AutoFlush.
-       Removed unnecessary initialization of bools.
-
-2008-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * StreamWriter.cs: Removed duplicate argument checks from .ctor taking
-       path, as these checks are already done in FileStream .ctor. Removed
-       parameter name from ArgumentException to match MS.
-
-2008-07-28  Marek Safar <marek.safar@gmail.com>
-
-       * File.cs: Delay DateTime .cctor invocation.
-
-2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
-       * File.cs: Fix parameter name
-
-2008-07-03  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
-       * TextWriter.cs:
-       * StreamWriter.cs:
-       * StreamReader.cs:
-       * Stream.cs:
-       * MemoryStream.cs:
-       * File.cs:
-       * DriveNotFoundException.cs:
-       * Directory.cs: Fix parameter names
-
-2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
-       * BinaryReader.cs: Fix parameter names
-       * BinaryWriter.cs: Fix parameter names, fix exceptions
-       * BufferedStream.cs: Fix parameter names
-       * Directory.cs: Fix parameter names, fix exceptions, optimize == "" cases
-       * DirectoryInfo.cs:
-       * DirectoryNotFoundException.cs:
-       * FileNotFoundException.cs:
-       * FileStream.cs: Fix parameter names, fix exceptions
-       * IOException.cs: Fix parameter names
-
-2008-06-21  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * Path.cs: Fixed exception arguments to match MS. Removed obsolete
-       LAMESPEC comment. In GetPathRoot, throw ArgumentException if path
-       is whitespace-only. Throw ArgumentException in HasExtension, if path
-       contains invalid path characters.
-
-2008-05-29  Robert Jordan  <robertj@gmx.net>
-
-       * Path.cs (InsecureGetFullPath): Call CanonicalizePath for
-       UNC paths as well.
-       * Path.cs (GetServerAndShare): New helper method.
-       * Path.cs (SameRoot, CanonicalizePath): Add UNC support.
-       Fixes #394681 and a bunch of TestGetFullPath unit test cases.
-       All changes are Win32 related.
-
-2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
-       * DriveInfo.cs: Fix compiler warning
-
-2008-05-07  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * CheckArgument.cs: Removed. Lots of unused code. The two methods
-       used are now inlined into Path.cs
-       * CheckPermission.cs: Removed. Lots of unused code.
-       * Path.cs: Inlined two checks.
-       [Found using Gendarme]
-
-2008-04-18  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Path.cs: Change PathSeparatorChars from private to internal since
-       it's needed for IsolatedStorage.
-
-2008-04-17  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * DirectoryInfo.cs: Added new internal ctor, which takes a bool that
-       indicates whether the original path should only container the last
-       part of the directory. Moved logic for determining the Name and
-       Parent to Initialize method, to allow it to be re-used on
-       deserialization. Renamed argument names to fix corcompare issues.
-       Added missing argument checks.
-       * Directory.cs (CreateDirectoriesInternal): Use internal ctor for
-       DirectoryInfo to ensure OriginalPath only contains last part of
-       the directory. 
-       * File.cs: Removed redundant checks from Create. On 2.0 profile, pass
-       FileOptions to FileStream. Removed redundant directory check from
-       Delete and modified exceptions to more closely match MS.
-       * FileInfo.cs: Added argument check to ctor to match MS. Added missing
-       deserialization ctor. Modified argument checks in MoveTo, and removed
-       redundant checks. Added missing argument checks in CopyTo. Code
-       formatting.
-       * FileSystemInfo.cs: Modified argument checks in CheckPath to more
-       closely match MS.
-       * MonoIO.cs: Added msg that does not disclose filename for 
-       ERROR_FILE_EXISTS. 
-       * Path.cs: Use String.Length instead of comparing with String.Empty.
-       Removed exceptions argument names to match MS.
-
-2008-04-16  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * File.cs: Changed argument names and thrown exception to better match
-       .NET. Use String.Length instead of comparison with empty string.
-       * DirectoryInfo.cs: Added missing deserialization ctor.
-
-2008-04-04  Dick Porter  <dick@ximian.com>
-
-       * File.cs: Pretty up the file share exception with the path name.
-
-2008-03-28  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Directory.cs: Exception differs when deleting a directory if it 
-       does not exists or if a file of the same name exists. Also don't 
-       include path in exception if Delete fails.
-
-2008-03-20  Marek Safar  <marek.safar@gmail.com>
-
-       * Path.cs (Combine): Call ToString to optimize concatenation.
-
-2008-03-02  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * DriveInfo.cs: Removed debug code.
-
-2008-02-15  Miguel de Icaza  <miguel@novell.com>
-
-       * UnmanagedMemoryStream.cs: Implement few missing pieces.
-
-2008-02-10  Zoltan Varga  <vargaz@gmail.com>
-
-       * UnexceptionalStreamReader.cs (Read): Optimize this to avoid making a number of
-       calls + creation of a string for each character read.
-
-2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * MemoryStream.cs: Remove unused code found by Gendarme.
-
-2008-01-16  Zoltan Varga  <vargaz@gmail.com>
-
-       * BinaryReader.cs: Fix ReadCharBytes method to avoid non-linear behavior. 
-       Fixes #352184.
-
-2007-12-28  Zoltan Varga  <vargaz@gmail.com>
-
-       * MemoryStream.cs: Fix crash if internalBuffer is null. Avoid calling
-       unsafe icalls. Fixes #350860.
-
-2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * FileStream.cs : Close() does not exist in 2.0 (Stream does).
-         Move GC.SuppressFinalize() to Dispose(true).
-
-2007-11-12  Juraj Skripsky  <js@hotfeet.ch>
-
-       * Path.cs (GetRandomFileName): Return filenames containing only
-       characters from the range [a..z0..9] as MS.NET does. 
-
-2007-11-02  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * StreamReader.cs : Encoding.GetMaxCharCount() does not always return
-         the maximum max char count for Decoder.GetChars() since it might
-         contain pending buffer by flush. Fixed bug #338370.
-
-2007-11-01  Miguel de Icaza  <miguel@novell.com>
-
-       * Path.cs (GetDirectoryName): The paths returned from this routine
-       should be canonical, not just a substring.   In addition to fixing
-       this, it also fixes #324742.
-
-2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * BinaryReader.cs, BinaryWriter.cs : use unsafe encoding that has ""
-         for replacement fallback. Binary serialization regression is fixed.
-
-2007-09-06  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * Stream.cs, BufferedStream.cs, MemoryStream.cs: in 2.0 override
-         Dispose(bool) rather than Close().
-         Stream.Dispose() is virtual in 2.0.
-
-2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * BinaryReader.cs: Fixed line endings.
-       * FileStream.cs: Rename name argument to path. Spaces to tabs.
-
-2007-08-20  William Holmes  <billholmes54@gmail.com>
-
-       *File.cs:  Add implementation for IO.File.Replace methods.
-       *MonoIO.cs: Declared an internal call for ReplaceFile
-
-       Code is contributed under MIT/X11 license.
-
-2007-07-31  Dick Porter  <dick@ximian.com>
-
-       * MonoIO.cs: Fix formatting of 'access denied' exception when the
-       path info isn't known.  Fixes bug 82141.
-
-2007-07-08  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * Directory.cs: Renamed Move arguments to match MS. Allow Move to be
-       used to move files, patch by Robert Jordan. Fixes bug #81912. Spaces
-       to tabs.
-
-2007-06-21  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Fix FileShare test, fixing better bug 79250.
-
-2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * UnmanagedMemoryStream.cs : added Closed event for sys.Resources use.
-       * IntPtrStream.cs : added internal get_BaseAddress(), for the same.
-
-2007-05-25  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * UnmanagedMemoryStream.cs: In Read and ReadByte, use Marshal.ReadByte
-       to read bytes as this allows us to start reading from the current
-       position. In Read, return 0 when reading beyond the end of the stream
-       and only read bytes until the end of the stream (not capacity).
-       In ReadByte, return -1 when reading beyond the end of the stream.
-       In SetLength: changed argument validation (and reported exceptions) to
-       match MS, removed duplicate access check and changed the current
-       position if length is less than position. In Write: throw
-       NotSupportedException when attempting to write beyond capacity, use
-       Marshal.WriteByte since that allows us to start writing from the
-       current position. Adjust length when position moves beyond length
-       in both Write and WriteByte. Allow position to be moved beyond
-       capacity of stream. Fixed position using Seek (=+ typo). Changed
-       CanRead to ignore current position. Allow Position to be used to move
-       beyond capacity of stream.
-
-2007-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * UnmanagedMemoryStream.cs: Changed argument names and exceptions 
-       (msg, params) to match MS. Verify access argument in ctor. 
-
-2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * UnmanagedMemoryStream.cs : couple of bugfixes. in Read(), don't
-         return buffer beyond the requested length. Fixed .ctor() for wrong
-         capacity initialization.
-
-2007-05-12  Jonathan Chambers  <joncham@gmail.com>
-
-       * FileStream.cs: Implement SafeHandle constructors.
-
-2007-05-01  Dick Porter  <dick@ximian.com>
-
-       * File.cs:
-       * Stream.cs: Missed a few 2.0 methods
-
-2007-04-30  Dick Porter  <dick@ximian.com>
-
-       * Directory.cs: 
-       * FileShare.cs: 
-       * DirectoryNotFoundException.cs: 
-       * SeekOrigin.cs: 
-       * FileAttributes.cs: 
-       * IOException.cs: 
-       * MemoryStream.cs: 
-       * FileMode.cs: 
-       * BinaryWriter.cs: 
-       * TextWriter.cs: 
-       * File.cs: 
-       * BinaryReader.cs: 
-       * TextReader.cs: 
-       * UnmanagedMemoryStream.cs: 
-       * StringWriter.cs: 
-       * FileAccess.cs: 
-       * FileLoadException.cs: 
-       * BufferedStream.cs: 
-       * Stream.cs: 
-       * FileInfo.cs: 
-       * FileStream.cs:
-       * StringReader.cs: 
-       * StreamWriter.cs: 
-       * EndOfStreamException.cs: 
-       * DriveInfo.cs: 
-       * StreamReader.cs: 
-       * PathTooLongException.cs: 
-       * DriveType.cs: 
-       * FileNotFoundException.cs: 2.0 profile updates
-
-2007-04-21  Alp Toker  <alp@atoker.com>
-
-       * FileStream.cs: Respect request for buffering in all cases.
-
-       Gonzalo added code in r42667 that disables buffering even when it is
-       requested, in the case that ftype != MonoFileType.Disk. This was
-       killing performance for users who do Console.OpenStandardOutput(1024)
-       but were ending up with a non-buffered FileStream.
-
-       The new behaviour appears correct but we should watch for any
-       regressions.
-
-2007-04-05  Dick Porter  <dick@ximian.com>
-
-       * Directory.cs: Pass combined path and pattern to
-       MonoIO.GetFileSystemEntries()
-
-2007-04-03  Alp Toker  <alp@atoker.com>
-
-       * UnmanagedMemoryStream.cs: Should not have a public Dispose().
-       This behaviour is already provided by the base class.
-
-2007-04-03  Alp Toker  <alp@atoker.com>
-
-       * Stream.cs: CreateWaitHandle() obsolete in 2.0.
-
-2007-03-18  Alp Toker  <alp@atoker.com>
-
-       * UnmanagedMemoryStream.cs:
-       * Directory.cs: Exception message typo fixes.
-
-2007-03-11  Zoltan Varga  <vargaz@gmail.com>
-
-       * UnmanagedMemoryStream.cs: Fix a warning.
-
-2007-03-05  Miguel de Icaza  <miguel@novell.com>
-
-       * Path.cs: Manually call FileStream and pass the new internal
-       FileOptions.1 flag that means "This is a temporary file, use 600
-       permissions". 
-
-       * FileOptions.cs: Document the new private enum value.
-
-2007-02-22  Dick Porter  <dick@ximian.com>
-
-       * MonoIOError.cs: 
-       * MonoIO.cs: Handle ERROR_CANNOT_MAKE.
-
-2007-02-19     Eyal Alaluf <eyala@mainsoft.com>
-
-       * DirectoryInfo.cs, Directory.cs: Use MonoNotSupported & MonoLimitation
-         attribute to tag that DirectorySecurity is not supported.
-
-2007-02-19     Boris Kirzner <borisk@mainsoft.com>
-
-       * Path.cs: fix order of InvalidPathChars on windows.
-
-2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * StreamReader.cs: Removed checks for non-existing directory or file,
-       since these checks are also performed in FileStream.
-
-2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * FileStream.cs: Always resolve to absolute paths for exceptions, when not
-       in anonymous mode.
-
-2007-01-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
-
-       * StreamReader.cs: fix for bug #75526. We return earlier from Read () if
-       the underlying stream might block or end on the next read.
-
-2007-01-22  Miguel de Icaza  <miguel@novell.com>
-
-       * DirectoryInfo.cs: Throw a better exception (accorind go the
-       docs, UnauthorizedAccessException is thrown if the underlying
-       platform does not support it and *also* if there are no
-       permissions to access it, which is more convenient than the
-       PlatformNotSupportedException that only states that it needs Win2k
-       or newer).
-
-2006-12-23  Alp Toker  <alp@atoker.com>
-
-       * Directory.cs: "platfor" typofix
-
-2006-12-22  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * File.cs: Add stubs for Encrypt and Decrypt that throws 
-       NotSupportedException just like non-NTFS file systems would with MS.
-       Remove nested #if NET_2_0.
-       * FileInfo.cs: Add stubs for Encrypt and Decrypt that throws 
-       NotSupportedException just like non-NTFS file systems would with MS.
-
-2006-12-22  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * Directory.cs : non NET_2_0 build fix.
-
-2006-12-15  Miguel de Icaza  <miguel@novell.com>
-
-       * FileInfo.cs: Empty implementations for Encrypt and Decrypt
-
-Mon Dec 11 11:40:06 CET 2006 Paolo Molaro <lupus@ximian.com>
-
-       * FileStream.cs: correct exception message patch from
-       Markus Mauhart <mmauhart@chello.at>.
-
-2006-11-28  Duncan Mak  <duncan@novell.com>
-
-       * TextReader.cs (Dispose): Expose as public in NET_2_0.
-
-2006-11-26  Miguel de Icaza  <miguel@novell.com>
-
-       * DriveInfo.cs, DriveType.cs: Add a couple of classes for
-       CreativeDocs.Net.  
-
-       Thanks MoMA!  http://www.mono-project.com/Moma
-
-2006-11-16  Miguel de Icaza  <miguel@novell.com>
-
-       * DirectoryInfo.cs (GetFiles): Implement option with SearchOptions
-       == AllDirectories
-
-2006-11-13  Dick Porter  <dick@ximian.com>
-
-       * Directory.cs: Don't follow symlinks when deleting directories.
-       Keeps bug 79733 fixed while fixing bug 79887.
-
-       * MonoIO.cs: ExistsSymlink() added, which checks for
-       FileAttributes.ReparsePoint.
-
-2006-11-07  Dick Porter  <dick@ximian.com>
-
-       * Directory.cs: CreateDirectory() should only throw IOException in
-       the 2.0 profile if a file already exists with the same name, not a
-       directory.
-
-2006-11-03 Jensen Somers <jensen.somers@gmail.com>
-
-       * Directory.cs: CreateDirectory() should throw IOException if a
-       file or directory with the same name already exists, in the 2.0
-       profile.  Fixes bug 79806.
-
-2006-10-30 Joel Reed  <joel.reed@ddiworld.com>
-
-       * DirectoryInfo.cs: Implement SearchOption.AllDirectories option.
-
-2006-10-11  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Cope with 2.0 FileShare.Delete values.  Patch by
-       Peter Dettman <peter.dettman@iinet.net.au> fixing bug 79250.
-
-2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileInfo.cs: added 2.0 IsReadOnly. Patch by Joel Reed.
-
-2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileInfo.cs: eol-style.
-
-2006-09-19  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * FileNotFoundException.cs: Changed message for default ctor to match
-       MS. Use internal message field of Exception to check whether Message
-       is null. On 2.0 profile, use file/assembly load failure message when
-       no message is set and a filename was specified. On 1.0 profile,
-       always use file/assembly load failure message when no message is set
-       (regardless of whether a filename was specified or not). Made some
-       cosmetic changes to ToString to have it match MS.
-
-2006-09-02  Zoltan Varga  <vargaz@gmail.com>
-
-       * BinaryReader.cs (Read): Avoid allocating memory when reading a char.
-
-2006-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: avoid ArgumentOutRangeException when the underlying
-       stream returns -1 on Read.
-
-2006-08-30  Lluis Sanchez Gual  <lluis@novell.com>
-
-       * FileInfo.cs: OpenRead should open the file using the Read share mode.
-
-2006-08-21  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Path.cs: Added internal method IsPathSubsetOf required to implement
-       correctly FileIOPermission (better located here).
-
-2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * File.cs: (Delete) avoid creating the exception object for the 'file
-       not found' case.
-
-2006-07-24  Miguel de Icaza  <miguel@novell.com>
-
-       * FileShare.cs: Add Delete in 2.0
-
-2006-07-06  Dick Porter  <dick@ximian.com>
-
-       * Directory.cs: When creating a directory treat ERROR_FILE_EXISTS
-       (ie a file already exists with that name) the same as
-       ERROR_ALREADY_EXISTS (ie a directory already exists with that
-       name.)  Keeps bug 50753 fixed when I fix the io-layer
-       CreateDirectory() behaviour.
-
-2006-06-21  Atsushi Enomoto <atsushi@ximian.com>
-
-       * Directory.cs : implemented GetFiles() and GetDirectories() which
-         takes SearchOption (as they are used in one of ruby.net stuff).
-
-2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * File.cs: never throw in Exists.
-
-2006-05-18  Miguel de Icaza  <miguel@novell.com>
-
-       * Directory.cs (Exists): Ignore INVALID_HANDlE, return false.
-
-2006-06-03 John Luke <john.luke@gmail.com>
-
-       * Path.cs: fix typo in [Obsolete] message
-       
-2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BinaryReader.cs: use BlockCopyInternal.
-
-2006-05-01  Daniel Drake  <dsd@gentoo.org>
-
-       * Directory.cs: Return false (as documented) on ERROR_ACCESS_DENIED in
-       Exists() rather than throwing an exception. Bug #78239.
-
-2006-04-29  Atsushi Enomoto <atsushi@ximian.com>
-
-       * UnexceptionalStreamReader.cs (Read): Fix for #78218, where we
-       consumed characters from the input even when the count was not set
-       to zero, causing some characters to be missing in some
-       circumstances. 
-
-2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: make sure the parent directory is not an empty string
-       when a file name with no path is provided. Fixes bug #78209. Patch by
-       Emery Conrad.
-
-2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * StreamReader.cs : implemented EndOfStream property.
-       * File.cs : implemented AppendAllText(), WriteAllLines(),
-         WriteAllBytes() and ReadAllLines(). Bug #77813 fixed.
-
-2006-04-28  Robert Jordan  <robertj@gmx.net>
-
-       * Path.cs (GetPathRoot): Return just the \\server\share
-       part of a UNC. Fixes #78147.
-
-
-2006-04-26  Miguel de Icaza  <miguel@novell.com>
-
-       * FileStream.cs: Implement the FileOptions usage by passing all
-       the information to the C layer.  Remove the "isAsync" argument for
-       MonoIO.Open, and instead pass it on the FileOptions.
-
-       * FileOptions.cs: Make it build when including WriteThrough
-
-       * MonoIO.cs: Update MonoIO.Open signature to drop the async
-       argument and take FileOptions instead. 
-
-2006-04-21  Zoltan Varga  <vargaz@gmail.com>
-
-       * FileStream.cs: Add new net 2.0 ctor.
-
-       * FileOptions.cs: New file.
-
-2006-03-21  Miguel de Icaza  <miguel@novell.com>
-
-       * Stream.cs: In 2.0 make Close call Dispose(true).
-
-2006-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: Seek() should flush the buffer, if any. Fixes bug
-       #77863.
-
-2006-03-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
-
-       * Stream.cs: Add 2.0 members to Stream.cs (CanTimeout,
-       ReadTimeout and WriteTimeout).
-       
-2006-02-27  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * File.cs: In 2.0 profile, File.Get****Time(Utc) should not throw
-       IOException if specified path does not exist. Fixes bug #77641.
-
-2006-02-26  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * FileStream.cs: To match MSFT, ignore FileShare.Inheritable on 2.0
-       profile. This fixes bug #77644. Improved usefulness of some existing
-       exception messages.
-
-2006-02-22  Joerg Rosenkranz <joergr@voelcker.com>
-
-       * MonoIO.cs, MonoIOError.cs: Verbose exception for error 39 
-         (disk full).
-         
-2006-02-03  Zoltan Varga  <vargaz@gmail.com>
-
-       * Stream.cs FileStream.cs: Add new 2.0 Dispose () method and protected
-       Dispose (bool) method.
-
-2006-01-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * TextWriter.cs: Dispose () is public in 2.0.
-
-2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * UnexceptionalStreamReader.cs: Read (char,int,int) should not
-       return -1. Thanks to Jakob Berkman.
-
-2006-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: (ReadToEnd) if Read returns -1 or 0, we're done.
-
-2006-01-18  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * Path.cs : (GetRandomFileName) use random buffer ;-) It somehow
-         caused infinite loop on Windows.
-
-2006-01-18  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * DirectoryInfo.cs : on Windows top directory is something like c:\.
-
-2006-01-17  Joshua Tauberer  <tauberer@for.net>
-
-       * StreamReader.cs: Avoid two totally unnecessary string creations.
-         (kind of pedantic)
-
-2006-01-13  Ben Maurer  <bmaurer@andrew.cmu.edu>
-
-       * TextWriter.cs: Call char[],int,int from the Write(char[]) method
-       both for msft compat and for performance. Thanks to "Mike Glenn" 
-       <mglenn@zoominternet.net> for pointing.
-
-2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
-
-       * File.cs: Support for Read/WriteAllText
-
-2006-01-11  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Path.cs: Previous fix caused regression of bug #76191. Fixed (again)
-
-2006-01-09  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Path.cs: Fix c14n on Windows when the first separator after the root
-       isn't '\'. Fix problems for XSP with 1.1.13.
-
-2006-01-07  Miguel de Icaza  <miguel@novell.com>
-
-       * Path.cs (GetTempFilename): Append ".tmp" to the path, some
-       external application expect this extension.
-
-2006-01-05  Kornél Pál  <kornelpal@hotmail.com>
-
-       * DriveNotFoundException.cs: Added.
-       * MonoIO.cs: Added ERROR_INVALID_DRIVE handling. Pass HResult to
-         IOException constructors.
-       * MonoIOError.cs: Expose ERROR_INVALID_DRIVE.
-
-2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * UnexceptionalStreamReader.cs: Re-implemented the Read method to fix 
-       the new line handling when reading from the Console (bug #77108).
-
-2005-12-24  Kornél Pál  <kornelpal@hotmail.com>
-
-       * FileStream.cs: Set buf_start to actual initial position when creating
-         FileStreams from handles.
-
-2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * DirectoryInfo.cs: Fixed #77090 to fix /home parent to be / (and not
-       null).
-
-2005-12-21  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Path.cs: Fixed #77058 where a Windows drive wasn't considered during
-       path canonalization.
-
-2005-12-20  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Path.cs: Fixed #77007 where a Windows drive is specified with a 
-       partial path.
-
-2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * DirectoryInfo.cs: Fixed #76903 where the Name property wasn't 
-       correct in some cases. Added special case for Windows drives. Reduced
-       temporary allocations in Get* methods (removed ArrayList). Added some
-       new 2.0 methods (partial).
-       * MonoIO.cs: Removed InvalidPathChars icall as the return value is 
-       different from 1.x and 2.0. The values are now defined in Path.cs.
-       * Path.cs: Fixed #76191 so that GetFullPath on a Windows drive returns
-       the current directory (if it's on the specified drive). Fixed 2.0 API
-       changes (e.g. static class).
-       * SearchOption.cs: Added missing [Serializable] (2.0).
-
-2005-12-07  Zoltan Varga  <vargaz@gmail.com>
-
-       * Directory.cs: Fix a warning.
-
-2005-11-10  Dick Porter  <dick@ximian.com>
-
-       * DirectoryInfo.cs: Fix endless recursion problem with root
-       directory on windows too.  Fixes bug 76191.
-
-2005-11-06  Zoltan Varga  <vargaz@freemail.hu>
-
-       * Directory.cs: Add stub for net 2.0 GetFiles method.
-
-       * SearchOption.cs: New file.
-
-2005-10-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: made ReadLine() less memory-hungry. Fixes bug #76399.
-
-2005-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MonoIO.cs: replace FindFirst/FindNext/FindClose with
-       GetFileSystemEntries.
-       * Directory.cs: simplify GetFileSystemEntries by using the new icall.
-
-2005-10-01  Ben Maurer  <bmaurer@ximian.com>
-
-       * BinaryReader.cs: The patch below had a nasty little bug with
-       long strings that had non-ascii chars in it, because it was
-       looking at the char count, not the byte count.
-
-2005-09-11  Ben Maurer  <bmaurer@ximian.com>
-
-       * BinaryReader.cs: An optimization for ReadString that had been
-       approved/well tested for a while but never gotten in. Bug #52754.
-
-2005-09-05  Miguel de Icaza  <miguel@novell.com>
-
-       * MonoIOError.cs: expose the ERROR_DIR_NOT_EMPTY as we are
-       throwing it. 
-
-       * MonoIO.cs: Return a properly named error.
-
-2005-08-23  Raja R Harinath  <rharinath@novell.com>
-
-       Fix #75679.
-       * StreamReader.cs (DiscardBufferedData): Reset the decoder too.
-
-2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BinaryReader.cs: use Buffer.BlockCopy instead of Array.Copy when
-       expanding the buffer.
-
-2005-07-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: don't leak 'find' handles.
-
-2005-07-05  Dick Porter  <dick@ximian.com>
-
-       * MonoIO.cs:
-       * MonoIOError.cs: Add error message for ERROR_WRITE_FAULT.
-
-2005-07-04  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * DirectoryInfo.cs: Fixed recursion problem with root directory 
-       introduced when fixing bug #75443.
-
-2005-07-02  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileSystemInfo.cs: Fixed exception arguments. Added ComVisible for
-       NET_2_0.
-       * DirectoryInfo.cs: Fixed bug #75443 when the directory ends with a
-       separator. Added ComVisible for NET_2_0. Normalized line endings.
-
-2005-05-26  Miguel de Icaza  <miguel@novell.com>
-
-       * File.cs (ReadAllBytes): add.
-
-Tue May 17 10:54:18 CEST 2005 Paolo Molaro <lupus@ximian.com>
-
-       * FileStream.cs: complete fix for #74971.
-
-2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: make WriteByte work in all cases when no buffer is
-       being used. Fixes bug #74971.
-
-2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: if the pattern is just a file name and it exists, return
-       it right away. Fixes bug #72143.
-
-2005-05-06  Ben Maurer  <bmaurer@ximian.com>
-
-       * File.cs (Open): If a stream is opened with Append access, you
-       only want Write access. Fixes bug #71088.
-
-2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * UnexceptionalStreamWriter.cs: don't throw anything on Flush. Closes
-       bug #74190.
-
-2005-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: don't trim the path in CanonicalizePath on non-windows
-       systems. Fixes bug #53173.
-
-2005-04-09  Miguel de Icaza  <miguel@novell.com>
-
-       * StreamWriter.cs (Initialize): Avoid echoing the preamble to a
-       file if the position of the stream is not at the beginning.  Fixes
-       bug #74513
-
-2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs:
-       * MonoIO.cs: remove dead code related to async IO.
-
-2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Directory.cs: Added a Demand for Read/Write when creating a new 
-       directory.
-       * FileSystemInfo.cs: Added an InheritanceDemand for Unrestricted on 
-       the class.
-       * Path.cs: Added a Demand for PathDiscovery in GetFullPath method.
-       Added an Assert for unrestricted file access to GetTempFilename as
-       the method must create the (zero-length) file and can be called from
-       partially trusted code. Added a Demand for unrestricted environment
-       access to GetTempPath method.
-       * FileStream.cs: Added a Demand for UnmanagedCode for all constructors
-       accepting a file handle. Added LinkDemand and InheritanceDemand for 
-       UnmanagedCode to get Handle and SafeFileHandle (2.0) properties.
-
-2005-03-16  Lluis Sanchez Gual  <lluis@novell.com>
-
-       * BinaryReader.cs, BinaryWriter.cs: Read/write dobules, floats and
-       decimals in little endian format.
-
-2005-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MonoIO.cs:
-       * MonoIOError.cs: handle ERROR_LOCK_VIOLATION.
-
-2005-03-15  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileStream.cs: Anonymize part of the path when exceptions are throw
-       by a FileStream is used for isolated storage. Throw a DirectoryNotFound
-       Exception for any FileMode not just CreateNew (see new unit tests).
-
-2005-03-09  Dick Porter  <dick@ximian.com>
-
-       * MonoIOError.cs: 
-       * MonoIO.cs: Add a few more exception messages
-
-2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
-
-       * CheckPermission.cs: Fix warning.
-
-2005-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * File.cs: Exists does not throw when there are invalid characters in
-       the file name.
-       * MonoIOError.cs: uncommented INVALID_NAME.
-
-       Patch by Gert Driesen.
-
-2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileStream.cs: Added new constructor to allow anonymous files (i.e.
-       when Name property is "[Unknown]") for IsolatedStorage. Added
-       SafeFileHandle property and a reference to Microsoft.Win32.SafeHandles
-       for the NET_2_0 profile.
-
-2005-01-28  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileNotFoundException.cs, FileLoadException.cs: Fixed bad "if ();".
-
-2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * FileNotFoundException.cs, FileLoadException.cs: Protect the fusion
-       (GAC) log from being disclosed unless code has ControlPolicy and 
-       ControlEvidence. Added missing HResult value. Fixed Message property 
-       to match MS results. Changed ToString to use a StringBuilder.
-
-2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * Directory.cs: Added CAS security to Get|SetCurrentDirectory to 
-       complete Environment security checks.
-
-2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BufferedStream.cs: use Buffer.BlockCopyInternal instead of Array.Copy.
-
-2004-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * File.cs: delegate to the runtime the task of checking for destination
-       file existence in Move.
-
-2004-12-11  Ben Maurer  <bmaurer@ximian.com>
-
-       * BinaryReader.cs (ReadByte): Check for exceptions here.
-
-2004-12-06  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * TextWriter.cs : create CoreNewLine in another .ctor().
-
-2004-12-05  Ben Maurer  <bmaurer@ximian.com>
-
-       * TextWriter.cs (WriteLine): Use CoreNewLine so that this does
-       not make a string out of the array every time it is called.
-
-       Thanks to Atsushi for the idea.
-
-2004-12-04  Ben Maurer  <bmaurer@ximian.com>
-
-       * DirectoryInfo.cs (CreateSubDirectory): Check the input here.
-       
-       * FileSystemInfo.cs (CheckPath): Empty paths are invalid.
-
-2004-11-19  Dick Porter  <dick@ximian.com>
-
-       * MonoIOError.cs: 
-       * MonoIO.cs: Add a proper message for sharing violation
-
-2004-11-01  Ben Maurer  <bmaurer@ximian.com>
-
-       * MonoIOError.cs: All of these fields just take up room in corlib,
-       bloating things up. To make it worse, we need to malloc data at
-       runtime about them. Since most are not used, am commenting them
-       out
-
-2004-09-19  Dick Porter  <dick@ximian.com>
-
-       * UnexceptionalStreamWriter.cs: 
-       * UnexceptionalStreamReader.cs: Wrappers around StreamWriter and
-       StreamReader that catch IOException.  Used by System.Console so
-       that graphical applications dont get IO errors when their
-       stdin/out/err vanishes (ie when they spew debug output.)
-
-2004-09-12 Ben Maurer  <bmaurer@ximian.com>
-
-       * BinaryReader.cs: Use ReadByte when possible. Gives a tad
-       of perf, and fixes a bug reported on mono-patches-list
-
-2004-09-08  Miguel de Icaza  <miguel@ximian.com>
-
-       * File.cs: Added Gettextification, provide a better error message
-       for #62112
-
-2004-09-08  Marek Safar  <marek.safar@seznam.cz>
-
-       * Directory.cs,
-       * File.cs: Class is static for NET_2_0.
-
-2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * MemoryStream.cs (SetLength): Use Array.Clear here
-
-2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * Path.cs (Combine): Array.IndexOf is slow (because of the
-       special cases it must handle). So, rather than doing IndexOf
-       just check each type of seperator.
-
-2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * StringReader.cs (StreamReader): remove sourceChars and disposed
-       variables
-       (Read): Copy directly from the string, rather than a char []
-       (Dispose, CheckObjectDisposedException): the flag for being
-       disposed is now source == null.
-
-2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Stream.cs: Close() does not call Flush(). Fixes bug #65340.
-
-2004-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * StreamWriter.cs: avoid String.ToCharArray for perf.
-
-2004-08-18  Dick Porter  <dick@ximian.com>
-
-       * StreamWriter.cs: Flush the buffer if AutoFlush is set to true.
-       Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com).
-
-2004-08-13  Dick Porter  <dick@ximian.com>
-
-       * StreamWriter.cs: Allow FileShare.Read access to the underlying
-       FileStream, to be compatible with MS.  Fixes bug 62152.
-
-2004-07-06  Dick Porter  <dick@ximian.com>
-
-       * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list.
-       Don't blow away the SetFileTime() error before the caller gets to
-       see it.  Part of the bug fix to 60970.
-
-2004-07-05  Dick Porter  <dick@ximian.com>
-
-       * CheckPermission.cs:
-       * File.cs:
-       * FileInfo.cs:
-       * MonoIO.cs:
-       * FileStream.cs: Give the filename when throwing
-       FileNotFoundException.  Fixes bug 61120, based on patch from
-       Carlos Alberto Cesario <carloscesario@gmail.com>.
-
-2004-07-05  Dick Porter  <dick@ximian.com>
-
-       * File.cs: File.Move() should check that the destination doesn't
-       already exist.  Fixes bug 60915, patch based on one from Carlos
-       Alberto Cesario <carloscesario@gmail.com>.
-
-2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: implemented GetLogicalDrives.
-
-2004-06-24  Lluis Sanchez Gual  <lluis@novell.com>
-
-       * StreamReader.cs: In DiscardBufferedData(), reset the mayBlock flag.
-
-2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * FileStream.cs :
-         .ctor() should block write access when created with FileAccess.Write.
-
-2004-06-21  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * FileStream.cs : Check buffer size before creating file.
-       * StreamReader.cs : Check encoding!=null before creating file.
-       * File.cs,
-         MonoIO.cs : Convert DateTime to FileTime after checking
-         file IO sharing violation (it just fixes the type of exception).
-
-2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
-
-       * MemoryStream.cs: added TODO for serialization
-       * StringWriter.cs: added TODO for serialization
-
-2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
-
-       * TextWriter.cs: fixed CoreNewLine to return char[]
-
-2004-06-14  Dick Porter  <dick@ximian.com>
-
-       * Directory.cs:
-       * File.cs: Catch PATH_NOT_FOUND errors in Exists() too.  Fixes bug
-       59354.
-
-2004-06-09  Duncan Mak  <duncan@ximian.com>
-
-       * BufferedStream.cs (SetLength): Add checks and throw the
-       appropriate Exceptions here instead.
-
-       * FileStream.cs (SetLength): Revert part of my last patch, we're
-       throwing ObjectDisposedException instead of IOException again.
-
-2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: re-enabled ignoring broken pipe errors when reading.
-       Fixes bug #59639.
-
-2004-06-08  Duncan Mak  <duncan@ximian.com>
-
-       * Directory.cs (IsRootDirectory): New helper method for
-       determining if a path is the root directory. Handles both Unix as
-       well as Windows.
-       (GetParent): Use IsRootDirectory for the check.
-
-2004-06-08  Duncan Mak  <duncan@ximian.com>
-
-       * File.cs: Fix line endings, took out ^Ms.
-
-       * Directory.cs (GetParent): Return null if the specified path is
-       the root directory.
-
-       * StreamReader.cs (StreamReader):
-       (Initialize): Add a check that buffer_size must not be less than
-       or equal to zero.
-
-2004-06-07  Duncan Mak  <duncan@ximian.com>
-
-       * FileStream.cs (SetLength): The other exceptions have precendence
-       over ObjectDisposedException, which is not one of the exceptions
-       listed in the documentation). Also, instead of throwing an
-       ObjectDisposedException, throw an IOException.
-
-2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BufferedStream.cs: fixed typo that prevented Read() from working.
-       This went out with beta 2. Closes bug #59534.
-
-2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * Directory.cs, File.cs : Fixed Exists() that raised 
-         DirectoryNotFoundException. Quick fix for bug #59354.
-
-2004-05-30  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * BinaryReader.cs: Added missing disposed check for most methods. 
-       Reordered some exceptions to match MS implementation. 
-       * BufferedStream.cs: Fixed Seek logic (check for CanSeek and dispose).
-       SetLength must also reset Position and check for dispose.
-       * FileStream.cs: Added missing check for invalid SeekOrigin. Added
-       missing validations.
-
-2004-05-27  Dick Porter  <dick@ximian.com>
-
-       * FileSystemInfo.cs: Take out the error checking in Refresh(), it
-       broke other stuff
-       
-2004-05-27  Dick Porter  <dick@ximian.com>
-
-       * MonoIO.cs: Define icalls for Lock() and Unlock()
-       
-       * FileStream.cs: Implement Lock() and Unlock().  Also improve IO
-       error reporting.
-
-       * FileSystemInfo.cs:
-       * File.cs:
-       * Directory.cs: Improve IO error reporting
-
-2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: delay seeking to the end when FileMode.Append is
-       specified until after buffer initialization. Fixes bug #59151.
-
-2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * BufferedStream.cs: Added globalization and fixed exceptions and 
-       possible integer overflow.
-       * FileStream.cs: Fixed possible integer overflow.
-       * MemoryStream.cs: Fixed possible integer overflow.
-       * StringReader.cs: Fixed possible integer overflow.
-       * TextWriter.cs: Fixed possible integer overflow.
-
-2004-05-26  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * FileInfo.cs,
-         DirectoryInfo.cs : ToString() should return constructor arg as is.
-         This fixes bug #58804.
-
-2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: ERROR_FILE_NOT_FOUND in FindFirstFile means there are
-       no files, but the directory was found. Fixes bug #58875.
-
-2004-05-24  Duncan Mak  <duncan@ximian.com>
-
-       * StreamWriter.cs (Close): Remember to set the 'closed' flag.
-
-       * DirectoryInfo.cs: 
-       * FileInfo.cs: Reformat the whole file to use DOS line endings.
-       (MoveTo): Return if the destination of Move is the
-       same as the file's current location.
-
-2004-05-24  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * MemoryStream.cs: Fixed exception reporting to match MS Fx. Fixed the
-       condition to allow zeroization of existing data when we shrink the 
-       stream.
-       * StreamReader.cs: Add checks for null encoding. Fixed possible integer
-       overflow and ArgumentNullException in Read.
-       * StreamWriter.cs: Add dispose check to Write(char) and Write(char[]),
-       AutoFlush. Fixed possible integer overflow in Write(char[],int,int).
-       * StringWriter.cs: Fixed possible integer overflow in Write. Changed
-       spaces for tabs.
-
-2004-05-22  Duncan Mak  <duncan@ximian.com>
-
-       * Directory.cs: Reformat the whole file to use Unix line endings
-       for consistency.
-       (GetFileSystemEntries): If pattern is String.Empty, always
-       return an empty string array. Throw the ArgumentException if path
-       is an empty string (determined using the new helper method)
-       (IsEmptyString): Returns true on an empty string or a string with
-       only whitespace characters.
-
-       * Path.cs (GetPathRoot): Throw an ArgumentException if the path
-       argument is String.Empty.
-
-2004-05-20  Jackson Harper  <jackson@ximian.com>
-
-       * DirectoryInfo.cs: Create subdirectories correctly if more then
-       one is supplied.
-       
-2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * DirectoryInfo.cs: Fixed ToString() as well as FileInfo.
-
-2004-05-16  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * FileInfo.cs: ToString() returns not full path but just the file name.
-
-2004-05-14  Marek Safar  <marek.safar@seznam.cz>
-
-       * TextWriter.cs: Removed useless [CLSCompliant (false)]
-
-2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: use the real wildcard for file names as it is supported
-       now in io-layer. SearhPattern is not needed now.
-
-2004-04-30 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * BinaryWriter.cs, Stream.cs: ensure we have beforefieldinit.
-
-2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * Path.cs: readonlyificate.
-
-2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * FileStream.cs: constify.
-
-2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
-       * SearchPattern.cs: Call invariant String.ToLower
-
-2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStreamAsyncResult.cs: invoke the callback if set as completed
-       before the asynchronous stuff jumps in.
-
-2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: only pass the async flag set to true when opening the
-       file and AIO is supported by the underlying system. Fixes bug #56883.
-
-2004-04-12  Gert Driesen (drieseng@users.sourceforge.net)
-
-       * FileSystemInfo.cs: Implemented ISerializable, corrected COM 
-       visibility of UTC properties
-
-2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
-
-       * BufferedStream.cs: On Position change, do not reset the buffer if the
-       new position is in the limits of the buffer. This fixes #49403.
-
-2003-04-03  Atsushi Enomoto <atsushi@ximian.com>
-
-       * Path.cs : ChangeExtension() does not remove dot(.) when extension is
-         an empty string.
-
-2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
-
-       * FileSystemInfo.cs: Added InternalRefresh, a virtual method that derived
-         classes can override to perform class specific refreshing.
-       * FileInfo.cs: Refresh existence flag when Refresh is called.
-       * TextWriter.cs: Applied patch by Benjamin Jemlich for bug #52512.
-         The method Write(char) should do nothing by default.
-
-2004-03-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BinaryReader.cs: don't modify the underlying stream in Peek(). Fixes
-       bug #51741. Patch by Nick Vaughan.
-
-2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
-
-       * FileStream.cs: ReadByte(): when buffering is disabled, read the byte
-       with a direct call to ReadData. In InitBuffer(), if buffering is
-       disabled, create a buffer of one byte, to be used in ReadByte.  This
-       fixes bug #52361.
-
-2004-03-25  Lluis Sanchez Gual  <lluis@ximian.com>
-
-       * Path.cs: In GetDirectoryName, fixed check for volumeSeparator. This
-         fixes bug #53892.
-
-2004-03-24  Lluis Sanchez Gual  <lluis@ximian.com>
-
-       * File.cs: In Move, throw IOException instead of ArgumentException if 
-         destination is a directory.
-       * MonoIO.cs: In ExistsDirectory, return ERROR_PATH_NOT_FOUND instead of
-       ERROR_FILE_NOT_FOUND, since we are looking for a directory, not a file.
-       
-2004-03-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
-       * StreamWriter.cs: Removed unneeded function
-
-2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: added support for asynchronous I/O without using the
-       OS native libraries if available.
-
-       * FileStreamAsyncResult.cs: IAsyncResult for asynch. I/O.
-
-       * MonoIO.cs: added BeginRead/Write, GetSupportsAsync. Open has now a
-       new parameter to tell ifthe file will be used for asynch operations.
-
-       * Stream.cs: BeginRead/Write do not use delegates. They just are
-       actually synchronous.
-
-       * StreamAsyncResult.cs: IAsyncResult for Stream.
-
-2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: check if the error returned in Exists is different
-       from 'path not found' and throw the appropiate exception in that case.
-       See #55160.
-
-2004-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MonoIO.cs: added case for ERROR_FILENAME_EXCED_RANGE.
-
-2004-02-25  Jackson Harper <jackson@ximian.com>
-
-       * File.cs: Report the filename when deleting a file fails. Patch
-       by Gert Driesen. Fixes bug #54855.
-       
-2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: remove dangling ^Ms.
-
-2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: (.ctor) Path.DirectoryName can be empty and make
-       Path.GetFullPath crash. Fixed it.
-
-       * MonoIO.cs: fixed typo.
-
-2004-02-13  Jackson Harper  <jackson@ximian.com>
-
-       * FileStream.cs: Throw some more exceptions for invalid
-       params. Fixes some unit test failures.
-       * BufferedStream.cs: If the stream is closed (can't read from it
-       or write to it) throw an ObjectDisposedException.
-       
-Tue Jan 20 23:10:22 CET 2004 Paolo Molaro <lupus@ximian.com>
-
-       * StreamWriter.cs, TextWriter.cs: comply with the documented
-       behaviour and use a decode buffer to improve performance.
-
-2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: now Path.GetFullPath ("/") returns "/" instead of "".
-
-2004-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: add the trailing directory separator only for volumes.
-       Fixes bug #53035.
-
-2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
-
-       * IntPtrStream.cs: Fix build bustage.
-       
-       * IntPtrStream.cs: Add a 'Closed' event. Also throw exceptions after
-       the stream is closed.
-
-2004-01-18 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * FileStream.cs: Locking from bug #32344 removed. This is not
-       necessary because the correct fix was actually in the console.
-       This fixes bug #53026. Miguel de Icaza reviewed/approved this
-       patch.
-
-2004-01-14  Zoltan Varga  <vargaz@freemail.hu>
-
-       * FileStream.cs (.ctor): Avoid allocating a large buffer when reading
-       from small files.
-
-2004-01-10  Atsushi Enomoto <atsushi@ximian.com>
-
-       * Path.cs : GetDirectoryName ("c:\readme.txt") should return "c:\"
-         instead of "c:" . This fixed bug #52735.
-
-2004-01-04  Nick Drochak <ndrochak@gol.com>
-
-       * Path.cs: Remove defined but unused variable, and also got rid of
-       some unreachable code.  Eliminates some build warnings.
-
-2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * BinaryWriter.cs: use one encoding buffer for writing
-       strings rather than allocting one/string. HUGE perf
-       boost when writing many strings.
-
-2003-12-25  Atsushi Enomoto <atsushi@ximian.com>
-
-       * Path.cs : Fixed GetFullPath() (and CanonicalizePath()), 
-         HasExtension(), GetPathRoot() and IsPathRooted() to fit with tests.
-
-2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
-
-       * FileStream.cs: (.ctor) do not set handle
-       in object until after it is validated via
-       GetFileType so finalizer doesn't see bad handles and
-       initialize this.handle to InvalidHandle
-
-2003-12-19  Bernie Solomon  <bernard@ugsolutions.com>
-
-       * MonoIO.cs: SetFileTime() Failed Open returns InvalidHandle
-       not Zero
-
-2003-12-17  Atsushi Enomoto <atsushi@ximian.com>
-
-       * Directory.cs : SetCurrentDirectory() should raise errors for
-         some kind of arguments.
-
-2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: GetTempPath () ends with DirectorySeparatorChar. Fixes bug
-       #52056.
-
-2003-12-06  Ravindra  <rkumar@novell.com>
-       *MonoIO.cs: Added a new exception case. It is thrown 
-       when a directory creation is attempted with a name that
-       is already used by an existing file.
-
-2003-11-28  Dick Porter  <dick@ximian.com>
-
-       * Path.cs: Use the char form of LastIndexOf, so that the
-       comparison is done with the Invariant culture.
-
-2003-11-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: provide the path when getting the IOException.
-
-2003-11-18  John Luke  <jluke@cfl.rr.com>
-
-       * CheckArgument.cs:
-       (PathLength): fix recursion found by JonK
-       
-2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs:
-       (GetCurrentDirectory):
-       (SetCurrentDirectory): moved here from Environment. Handle error cases.
-
-       * MonoIO.cs: add path to the default error message.
-
-2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StringReader.cs: fixed ReadLine for some cases where there are mixed
-       '\r' and '\n'. Closes bug #51020.
-
-2003-11-14 Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * MemoryStream.cs (.ctor): We need to check if buffer is null
-       before we get the Length of it.
-
-2003-11-14  Miguel de Icaza  <miguel@ximian.com>
-
-       * StreamReader.cs, TextReader, StreamReader (Read): Add [Out]
-
-2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: allow directory names without wildcards in the pattern.
-       Fixes bug #3 50969.
-
-       * SearchPattern.cs: made InvalidChars and WildcardChars internal.
-
-2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: use the argument name when throwing exception.
-
-       * StreamReader.cs:
-       * StringReader.cs:
-       * TextReader.cs: added [In] attribute for the array in Read.
-
-2003-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * DirectoryInfo.cs: fixed ToString. Closes bug #50842.
-
-2003-11-12  Miguel de Icaza  <miguel@ximian.com>
-
-       * Directory.cs: Adjust for missing PlatformID.Unix.
-
-2003-10-28  Miguel de Icaza  <miguel@ximian.com>
-
-       * StreamReader.cs: Add checks for disposed stream from bug report
-       #48696 (Patrik Reali)
-
-       * TextReader.cs (Read): Return the total number of bytes read, 
-       patch from Patrik Realli.
-
-2003-10-20  Miguel de Icaza  <miguel@ximian.com>
-
-       * FileStream.cs public FileStream (string name, FileMode mode)
-       constructor: If we pass FileMode.Append, we can not pass
-       FileAccess.ReadWrite.  This fixes bug 44959
-
-2003-09-26  Miguel de Icaza  <miguel@ximian.com>
-
-       * BufferedStream.cs (Write): Use CanWrite in Write.  Patch from
-       Francisco Figueiredo Jr.
-
-2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BinaryReader.cs: return the correct number of bytes read when there
-       are some bytes from peeking.
-
-2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>
-
-       * BufferedStream.cs, FileStream.cs, MemoryStream.cs, Stream.cs:
-         Added [In,Out] attributes to Read method.
-
-2003-08-05  Martin Baulig  <martin@ximian.com>
-
-       * StreamReader.cs (DiscardBufferedData): Do the same like on the
-       ms runtime: just discard the buffered data, but don't modify the
-       BaseStream.Position.
-
-2003-08-04  Martin Baulig  <martin@ximian.com>
-
-       * StreamReader.cs (DiscardBufferedData): Implemented.
-
-2003-07-29  Miguel de Icaza  <miguel@ximian.com>
-
-       * IntPtrStream.cs (Read): Use correct offset here;  Change the
-       code to use a byte* instead of an IntPtr to reduce the number of
-       casts used. 
-
-       (Read): Use Marshal.Copy instead of the now
-       deprecated MemCopy.
-
-       (IntPtrStream): New stream implementation, it maps to a region in
-       memory.
-
-2003-07-23  Duncan Mak  <duncan@ximian.com>
-
-       * StreamReader.cs (Initialize): This method is not exposed in the
-       API, mark as internal.
-
-Fri Jul 18 14:42:42 CEST 2003 Paolo Molaro <lupus@ximian.com>
-
-       * MonoIO.cs: 64bit fix from Bernie Solomon <bernard@ugsolutions.com>.
-
-2003-07-16  Dick Porter  <dick@ximian.com>
-
-       * FileInfo.cs: Update path info when a file is moved.  Patch by
-       John Luke <jluke@cfl.rr.com>, fixes bug 44253.
-
-2003-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MemoryStream.cs: fixed bug #46060. Thanks to Carlos Barcenilla.
-
-2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
-
-       * FileStream.cs (Dispose): Flush the buffer even if we don't own the
-       handle.
-       * FileStream.cs: Add a new constructor parameter to turn off buffering.
-       This is used by the Console.OpenStandard...() methods. Also fix
-       argument checking in InitBuffer(), so a zero buffer size is also 
-       rejected.
-
-2003-06-27  Dietmar Maurer  <dietmar@ximian.com>
-
-       * Stream.cs: use async.delegate invoke 
-
-2003-06-18  Nick Drochak <ndrochak@gol.com>
-
-       * FileSystemInfo.cs: Refresh cache when changeing file times.
-
-2003-06-11  Zoltan Varga  <vargaz@freemail.hu>
-
-       * FileStream.cs: Fix errors in previous checkins:
-       (Write): Only take the shortcut route if the data is longer than the
-       buffer length.
-       (Write): Flush the buffer before writing out the new data
-       (Write): Flush the buffer after writing out a segment since otherwise
-       we will go into an infinite loop.
-       (FlushBuffer): Remove my last change since it was clearly wrong.
-       (Seek): Run FlushBuffer () after the in-buffer seek optimization.
-       (Seek): Only use the in-buffer optimization if the buffer is not
-       empty.
-       (Length): Call FlushBuffer () since buffer data might change the size
-       of the stream.
-
-2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
-
-       * FileStream.cs:
-       - removed unusefull bugfix (DirectoryNotFoundException)
-       - Flush before seek.
-       
-2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
-
-       * FileStream.cs: Check buffer size before append/read -exceptios
-       
-2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
-
-       * FileStream.cs: Check DirectoryNotFound before FileNotFound.
-       
-2003-06-09  Ville Palo <vi64pa@kolumbus.fi>
-
-       * FileStream.cs: Does not anymore flush while writing
-       
-2003-06-02  Nick Drochak <ndrochak@gol.com>
-
-       * FileInfo.cs (MoveTo): Throw exceptions when dest exists, and check
-       for null too.
-
-2003-05-27  Lluis Sanchez Gual <lluis@ximian.com>
-
-       * BinaryReader.cs: Stream don't need to be seekable to use PeekChar.
-
-2003-05-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: fixed bug #42631.
-
-2003-05-22  Zoltan Varga  <vargaz@freemail.hu>
-
-       * File.cs (Move): Allow moving of directories.
-       Fix 'destination is a directory' test.
-
-2003-05-21  Ben Maurer  <bmaurer@users.sourceforge.net>
-
-       * StringWriter.cs: Fixed bug #43431: "StringWriter
-       .ctor(CultureInfo) does not create a new StringBuilder ()"
-
-2003-05-11  Zoltan Varga  <vargaz@freemail.hu>
-
-       * FileStream.cs (FlushBuffer): After a flush, the buffer is
-       advanced by buf_offset bytes, not buf_length bytes.
-
-2003-05-16  Dick Porter  <dick@ximian.com>
-
-       * MonoIO.cs: Implement GetTempPath
-
-2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * DirectoryInfo.cs: fixed bug #42991.
-       * Path.cs:
-       (CanonicalizePath): store the value of the trimmed input string. Make it
-       work with paths such as "/home/xxx/.".
-
-2003-05-08  Ben Maurer <bmaurer@users.sourceforge.net>
-       * Path.cs 
-       (CanonicalizePath) Fixed bug #42631, which duplicated the
-       root part of the path under Windows.
-
-2003-05-08  Ville Palo <vi64pa@kolumbus.fi>
-
-       * FileSystemInfo.cs: Added 1.1 properties LastAccessTimeUtc, 
-       LastWriteTimeUtc and CreationTimeUtc
-       
-2003-05-07  Ben Maurer <bmaurer@users.sourceforge.net>
-       * Path.cs 
-       (GetPathRoot) Added support for UNC paths.
-       (CanonicalizePath) Added optimizations per Miguel's requests.
-
-2003-05-06  Ville Palo <vi64pa@kolumbus.fi>
-
-       * BufferedStream.cs: 
-         - Removed unusefull code.
-         - Added ObjectDisposedException to Position
-         - Dont flush if stream is allready closed.
-         - Flush throws also ObjectDisposedException.
-       * Directory.cs:
-         - GetFileSystemEtries: ArgumentNullException if pattern is null
-       * DirectoryInfo.cs: Fixed little MoveTo () bug.
-       * FileInfo.cs:
-         - Exists: If file does not exists when instance is created the
-         value of the Exists property does not change even if file is created
-         afterwards.
-         - Delete: If path is a directory UnauthorizedException is thrown.
-         - CopyTo: Now we can overwrite file if wanted.
-       * Path.cs: 
-         - GetFullPath: Now throws exception when path is "   ".
-       
-2003-05-04  Ben Maurer <bmaurer@users.sourceforge.net>
-       * Directory.cs (GetLogicalDrives) Marked as MonoTODO
-       because we need to implement the method on Windows.
-       * Path.cs 
-       (CanonicalizePath) Added new function to get
-       rid of . and .. in path names. Need to figure out what
-       other functions should call this.
-       (GetFullPath) Added call to the above function.
-       
-2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs:
-       (.ctor): fixed parameters passed to FileNotFoundException.
-
-2003-04-25  Dietmar Maurer  <dietmar@ximian.com>
-
-       * BinaryReader.cs (Read): make sure the buffer is big enough (fix
-       bug # 40702)
-
-2003-04-24  Pedro Martinez Julia  <yoros@wanadoo.es>
-
-       * BufferedStream.cs: Test if it's possible to seek in a Stream
-       before access to Position. This prevents the exception thrown when
-       the stream is System.Net.Sockets.NetworkStream.
-
-2003-04-22  Ville Palo <vi64pa@kolumbus.fi>
-
-       * Directory.cs: clean up --> performance improvment. Some exceptions
-       are now checked in File.cs.
-       * File.cs: Implemented Get/SetXXXTimeUtc () methods. Some bugfixes.
-       
-2003-04-21  Ville Palo <vi64pa@kolumbus.fi>
-
-       * Directory.cs: lots of fixes. 
-         - Added GetXXXtimeUtc () (v1.1) methods.
-         - Added SetXXXtimeUtc () (v1.1) methods.      
-       
-2003-04-20  Igor Nosyryev <nosyryev@attbi.com>
-
-       * StringReader.cs (Read): Increment nextChar by charsToRead
-       instead of count, that will guarantee that the next time the
-       method is called, it will return 0 on an empty string rather than
-       throwing an exception
-
-2003-04-19  Ville Palo <vi64pa@kolumbus.fi>
-
-       * BufferedStream.cs: Some fixes, mostly throwing exceptions.
-       * MemoryStream.cs: Changed the order of exception checking
-       * StringReader.cs: little clean up
-       
-2003-04-14  Ville Palo <vi64pa@kolumbus.fi>
-
-       * BinaryWriter.cs: Fixed decimal writing and lots of 
-       ObjectDisposedExceptions added.
-       
-2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
-
-       * BinaryReader.cs: Fix to ReadDecimal() method.
-       
-2003-04-13  Ville Palo <vi64pa@kolumbus.fi>
-
-       * StringReader.cs: Added some ObjectDisposedExceptions.
-       * StringWriter.cs: Added some ObjectDisposedExceptions.
-       * BinaryReader.cs: Added some ObjectDisposedExceptions.
-       
-2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: fixed the windows build. This is an mcs bug. I'll
-       fill a bug report.
-
-2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: fixed bug #40182 and made more unit test pass.
-
-2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
-
-       * FileStream.cs: Added new methods Lock () and Unlock ()
-       
-2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
-
-       * StringReader.cs: Throws exceptions if constructor parameter is null.
-       
-2003-04-11  Ville Palo <vi64pa@kolumbus.fi>
-
-       * StringWriter.cs: Now throws an exception if StringBuilder parameter
-       is null
-       
-2003-04-05  Miguel de Icaza  <miguel@ximian.com>
-
-       * TextWriter.cs: Implemented Synchronized method.
-
-       * TextReader.cs: Implemented Synchronized method.
-
-2003-04-04  Miguel de Icaza  <miguel@ximian.com>
-
-       * FileStream.cs (Read, ReadByte, Seek): throw
-       ObjectDisposedException if the handle has been released.
-       
-       (Read): Throw exceptions specified in the spec.
-
-       (Read, Write, ReadSegment, WriteSegment): There is no requirement for any
-       instance methods of FileStream to be thread safe, so remove all
-       the calls to lock on the object
-
-2003-03-31  Nick Drochak <ndrochak@gol.com>
-
-       * Path.cs (GetDirectoryName): Throw proper execption when path is empty.
-
-2003-03-20  Lluis Sanchez Gual <lluis@ideary.com>
-
-       * FileNotFoundException.cs: fixed serialization bug.
-
-2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
-
-       * StringWriter.cs : don't release internalString on Dispose().
-
-2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: fixed bug #39280.
-
-2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: readded mkdir -p behavior. Thanks to kiwnix for
-       pointing it out.
-
-2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MemoryStream.cs: general fixes and reformatted. Passes all tests in
-       the new MemoryStreamTest.
-
-2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MemoryStream.cs: undo my bogus fix in ToArray. Allow GetBuffer and
-       ToArray even after closing the stream.
-
-2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs:
-       (Move): don't use File.Move.
-       * DirectoryInfo.cs: fixed Name property.
-       
-       Fixes bug #37755.
-
-2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * DirectoryInfo.cs: changed ToString to match MS behavior.
-       * Path.cs: further fixes to GetDirectoryName to return null in the
-       same cases that MS does.
-
-       Fixes bug #38387.
-
-2003-03-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: fixed a couple of bugs reported in #35906.
-
-2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: fixed bugs #38939 and #38940. No need for separate
-       unix/windows/unc shares code paths.
-
-2003-02-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * File.cs: fix by Elan Feingold <efeingold@mn.rr.com> for
-       SetCreationTime, SetLastAccessTime and SetLastWriteTime.
-
-2003-02-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MemoryStream.cs:
-       (ToArray): return only the portion of the buffer that contains
-       data, not the whole buffer. (note: this makes XmlDocument.Load work
-       again with documents that have a <?xml without the 'encoding'
-       attribute, which makes gtk-sharp generator work again).
-
-2003-02-25  Nick Drochak <ndrochak@gol.com>
-
-       * File.cs (GetCreationTime): Throw proper execption when path is not
-       found.
-
-Tue Feb 25 11:55:35 CET 2003 Paolo Molaro <lupus@ximian.com>
-
-       * MemoryStream.cs: make it behave sanely when the stream is
-       incrementally expanded.
-
-2003-02-21  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Use locks around buffer manipulations.  Fixes bug
-       32344
-
-2003-02-18  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Make FileMode.Append work, and check for Seeking
-       back over old data (undocumented ms behaviour, throws an exception
-       if you try).  Fixes bug 35975.
-
-2003-02-17  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Don't close the handle if the stream doesn't own
-       it.  Patch from Raymond Penners (raymond@dotsphinx.com), bug
-       35623.
-
-2003-02-14  Zoltan Varga  <vargaz@freemail.hu>
-
-       * FileStream.cs (Write): flush after writing the last segment as well.
-
-2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StringReader.cs:
-       (ReadLine): fixed the case when the string ends with a '\n'.
-
-2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MemoryStream.cs: create the buffer of the specified capacity.
-
-2003-01-31  Patrik Torstensson
-
-       * MemoryStream.cs: use BlockCopyInternal instead of Array.Copy, this is
-       the same way as MS does it (performance improvement)
-
-2003-01-29  Zoltan Varga  <vargaz@freemail.hu>
-
-       * Directory.cs (GetFileSystemEntries): moved error handling to the
-       correct instance of GetFileSystemEntries so all callers can enjoy it.
-
-2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
-
-       * File.cs: add error handling to Get...Time methods.
-
-2003-01-26  Zoltan Varga  <vargaz@freemail.hu>
-
-       * Directory.cs: fix GetParent so it actually works.
-
-2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: fixlet to ChangeExtension for the case when the path is
-       empty.
-
-2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BufferedStream.cs: don't try to write a 0 sized array on when
-       flushing the stream.
-       
-       Fixes bug #37045.
-
-2003-01-18  Jonathan Pryor <jonpryor@vt.edu>
-
-       * FileStream.cs: Add IsAsync property.  (Documented in "C# In A Nutshell".)
-
-2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * MemoryStream.cs: fixed bug #36319.
-
-2002-12-16  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
-       
-       * Directory.cs: Some fixes to SMB shares handling, and not compiling 
-       with csc, mcs compiles it correctly (mcs bug 35652)
-
-2002-12-14  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
-
-       * Directory.cs: Some fixes related to correct some exceptions thrown
-
-2002-12-11  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
-
-       * Directory.cs: Some Exceptions added, fixed GetParent(),
-       CreateDirectory() should work with unix, native windows and
-       windows samba shares. Converted end-lines from dos-mode to unix-mode
-
-2002-12-08  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
-
-       * Directory.cs: CreateDirectory  works now with Absolute paths
-       too, not only with relative ones.
-
-2002-12-07  Peter Williams  <peterw@ximian.com>
-
-       * Directory.cs: Don't use the uninitialized pathsumm here.
-       Don't try and create "" if we're using an absolute path.
-
-2002-12-07  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
-
-       * Directory.cs: Now the creation of a new directory works recursively
-       it will make parents as needed.
-
-2002-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BufferedStream.cs: applied patch from <carlosga@telefonica.net> that
-       fixes Flush ().
-
-Tue Nov 19 13:01:22 CET 2002 Paolo Molaro <lupus@ximian.com>
-
-       * StreamWriter.cs: output the encoding preamble at the start of a
-       stream if needed.
-
-2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
-
-2002-11-06  Miguel de Icaza  <miguel@ximian.com>
-
-       * StreamWriter.cs: Changed all Encoding.UTF8 to Encoding.UTF8Unmarked.
-
-2002-10-31  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Fix buffering properly this time.  Also kludge
-       around broken pipe errors, treating them as EOF instead of
-       throwing an IO exception.
-
-       * MonoIO.cs: Return the error status in a parameter, as the
-       GetLastError() value has long since been blown away if we try and
-       look it up in a subsequent internal call invocation.
-
-       * FileSystemInfo.cs: 
-       * FileInfo.cs: 
-       * File.cs: 
-       * Directory.cs: MonoIO methods now have an error parameter
-
-2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * TextReader.cs: implemented ReadBlock ().
-
-2002-10-30  Miguel de Icaza  <miguel@ximian.com>
-
-       * StreamWriter.cs: Ditto for Null stream.
-
-       * BinaryReader.cs: Use Unmarked here too.
-
-       * BinaryWriter.cs: Use the UTF8Unmarker encoding by default, this
-       is what .NET does.
-
-2002-10-23  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Implemented CanSeek, and used it around all the
-       calls to MonoIO.Seek.  Fixed buffering in Read() so that it
-       doesn't block forever on short reads.
-
-       * MonoFileType.cs: New enum for GetFileType
-       
-       * MonoIO.cs: Added GetFileType
-
-2002-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: ReadLine now treats a \r not followed by a \n as a
-       \n (this is what MS does).
-
-2002-10-18  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: SeekOrigin.End still calculates the offset from
-       the end of the file with positive values extending the length.
-       Fixes bug 32471.
-
-2002-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: some cleanup. Thanks to Martin Aliger.
-
-2002-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs: throw an exception if trying to open a directory.
-       Thanks to Martin Aliger.
-
-2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: fixes bug #28046.
-
-2002-09-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: give more information when wrong parameters passed.
-
-2002-09-21  Miguel de Icaza  <miguel@ximian.com>
-
-       * FileStream.cs: Do not call FSync on the file.
-
-2002-09-16  Miguel de Icaza  <miguel@ximian.com>
-
-       * TextWriter.cs (Null): The Null field should be an instance of a
-       TextWriter class that does nothing, so it is an instance of the
-       NullTextWriter class.
-
-2002-09-16  Nick Drochak  <ndrochak@gol.com>
-
-       * MemoryStream.cs (Close): Don't throw an exception if the stream
-       is already closed.
-
-2002-09-15  Miguel de Icaza  <miguel@ximian.com>
-
-       * FileStream.cs (Dispose): Call FlushBuffer(), and not Flush, as
-       Flush calls fsync().  
-
-       The API docs show no explicit mention that Flush() should even do
-       an fsync, I am thinking that we should drop that from the
-       runtime. 
-
-2002-09-09  Miguel de Icaza  <miguel@ximian.com>
-
-       * StreamWriter.cs: When no encoding is provided, create an
-       encoding without markers, this is what MS does.
-
-2002-09-06  Miguel de Icaza  <miguel@ximian.com>
-
-       * StreamReader.cs: Implement detection of byte marks and skipping
-       of byte marks at the beginning of the stream.
-
-       (ReadToEnd): Use buffered read instead of char-by-char
-       processing. 
-
-       Correct the default arguments for creating the StreamReader.
-
-2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * CheckArgument.cs: fixed check for empty string.
-       * Path.cs: various fixes. It passes all the tests in new PathTest.
-
-2002-08-29  Duncan Mak  <duncan@ximian.com>
-
-       * StreamWriter.cs: Set DisposedAlready after calling flush. Fixes
-       the build for gtk#.
-
-2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * BinaryReader.cs:
-       * BinaryWriter.cs:
-       * MemoryStream.cs:
-       * StreamReader.cs:
-       * StreamWriter.cs:
-       * StringReader.cs:
-       * StringWriter.cs:
-       * TextWriter.cs: IDisposable fixes.
-
-2002-08-24  Miguel de Icaza  <miguel@ximian.com>
-
-       * StreamReader.cs: Removed TODOs, as the code seems to be
-       complete. 
-
-       * Path.cs (GetTempFileName): Make this routine atomic by not
-       testing and then creating, but using the create call to ensure
-       that we own the filename.
-
-2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileLoadException.cs: implemented ToString.
-
-       * StreamWriter.cs: added Null field and implemented Write (char) and
-       Write (char []).
-
-2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs: implemented NullStreamReader.
-
-2002-08-21  Miguel de Icaza  <miguel@ximian.com>
-
-       * Path.cs (GetDirectoryName): Fix for filenames with size = 1
-
-       * File.cs: Removed all references that threw exceptions when the
-       paths contains a colon, as this is a valid part of an identifier
-       on Unix.
-
-       Everywhere: The String.Empty return from GetDirectoryName means
-       that there is no directory information about the path.
-
-2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileNotFoundException.cs: use Message and InnerException from base
-       class. Changed Message and ToString ().
-
-2002-08-19  Dick Porter  <dick@ximian.com>
-
-       * BinaryWriter.cs: The length of a string is counted in bytes, not
-       chars
-
-2002-08-18  Dick Porter  <dick@ximian.com>
-
-       * BinaryReader.cs: Fixed buffering
-
-2002-08-09  Nick Drochak  <ndrochak@gol.com>
-
-       * BinaryReader.cs: added virtual to Dispose(bool).
-
-2002-08-03  Jason Diamond  <jason@injektilo.org>
-
-       * StringWriter.cs: Return UnicodeEncoding for Encoding property.
-
-2002-08-03  Jason Diamond  <jason@injektilo.org>
-
-       * StreamWriter.cs: Use GetByteCount() to get exact length instead
-       of GetMaxByteCount when converting chars to bytes.
-
-2002-07-31  Duncan Mak  <duncan@ximian.com>
-
-       * StreamReader.cs: 
-       (Dispose): Added and implmented.
-
-       * StreamWriter.cs: 
-       (Dispose): Fixed visibility.
-       (Initialize): Fixed visibility, made internal.
-
-       * BinaryReader.cs:
-       (Dispose): Fixed visibility.
-
-2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * File.cs:
-       (Create): allow file names without path.
-
-Fri Jul 26 15:45:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
-
-       * FileStream.cs: patch from erik@bagfors.nu to add
-       Name property support.
-
-2002-07-20  Dick Porter  <dick@ximian.com>
-
-       * MonoIO.cs: Added icall to CreatePipe
-
-2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileInfo.cs: fixes buglet #27940
-
-2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Path.cs: removed unneeded line from GetExtension.
-
-2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * FileStream.cs:
-       (.ctor): call MonoIO.GetException with the file name.
-
-2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
-
-       * StreamReader.cs: Guard against ^\n lines as pointed out by Gonzalo.
-
-2002-07-02  Mike Kestner  <mkestner@speakeasy.net>
-
-       * StreamReader.cs: Revert the last Peek change and fix the ReadLine
-       end of line detection code instead.
-
-2002-07-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * StreamReader.cs:
-       (Peek): no need to have seek capabilitites. 
-
-2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
-
-       * Path.cs (ChangeExtension): handle some special cases (fixes bug #25319)
-
-       * File.cs (Delete): only call Directory.Exists() if DirName != ""
-
-2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * Directory.cs: fixed bug #26133 and also test if the directory exist
-       before performing the search.
-
-2002-06-12  Nick Drochak  <ndrochak@gol.com>
-
-       * StringReader.cs (ReadLine): Return null when we get to end of the
-       string.
-
-2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
-
-       * StreamWriter.cs: added ability to write null value
-       
-2002-05-19  Lawrence Pit  <loz@cable.a2000.nl>
-
-       * Stream.cs: NullStream.ReadByte now returns -1 instead of 0 to
-       prevent endless loops.
-
-2002-05-17  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * FileStream.cs: Enforce lower bound on buffer size.
-
-2002-05-16  Piers Haken <piersh@friskit.com>
-
-       * Stream.cs: Implement synchronous {Begin|End}{Read|Write}() methods.
-
-2002-05-17  Nick Drochak  <ndrochak@gol.com>
-
-       * StreamWriter.cs: Implement buffering.  Also implemented dispose
-       pattern as recommended by the MS docs.  Must call Close() now
-       to ensure the buffer is flushed.
-
-2002-05-15  Nick Drochak  <ndrochak@gol.com>
-
-       * Path.cs (GetDirectoryName): Return String.Empty if there is no
-       directory
-
-       * StreamReader.cs: Add some parameter checking on file names.
-
-       * StreamWriter.cs: Add some parameter checking on file names.
-
-2002-05-14 Nick Drochak  <ndrochak@gol.com>
-
-       * File.cs: Add parameter checks to most methods. Not completely done,
-       but all current unit tests pass.
-
-       * Path.cs: Implement GetTempFileName().
-
-2002-05-10  Nick Drochak  <ndrochak@gol.com>
-
-       * StreamWriter.cs (Flush): Throw proper exception if internal stream
-       has already been closed when we try to flush.
-
-2002/05/10  Nick Drochak <ndrochak@gol.com>
-
-       * FileNotFoundException.cs (ToString): Don't try to use the inner
-       exception, because it might be null.  Use the message instead.
-
-2002-05-09  Nick Drochak  <ndrochak@gol.com>
-
-       * File.cs (Delete): Do not throw an exception if the file does not
-       exist.
-
-2002-05-08  Mike Gray     <mikeg@mikegray.org>
-
-       * File.cs: According to ECMA spec and MS docs Copy(src, dest)
-        should not overwrite dest by default.
-
-2002-05-08  Nick Drochak  <ndrochak@gol.com>
-
-       * StreamWriter.cs: Add paramter check to constructors and throw
-       exceptions where appropriate.
-
-Tue May 7 11:47:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
-
-       * StreamReader.cs: return the number of chars read even if we diddn't
-       fill the whole buffer (makes Sergey's ilasm work with mono).
-
-2002-05-07  Mike Gray     <mikeg_us@hotmail.com> 
-
-       * FileInfo.cs (Create): Implement missing method.
-
-2002-05-07  Mike Gray     <mikeg_us@hotmail.com>
-
-       * File.cs: Implemented CreateText method, and fixed dst compares
-       to compare against "" instead of null twice.
-
-2002-05-05  Nick Drochak  <ndrochak@gol.com>
-
-       * StreamReader.cs: Throw exceptions where needed. Changed Null field to
-       use new internal class since null cannot be passed to constructor 
-       anymore. Also, fix a coule of small bugs.
-
-2002-05-03  Nick Drochak  <ndrochak@gol.com>
-
-       * MemoryStream.cs: Refrain from allocating array until the space is
-       really needed. This fixes a bug in the Length property when the
-       constructor without the byte array is used.
-
-2002-05-01  Duncan Mak  <duncan@ximian.com>
-
-       * DirectoryNotFoundException.cs (constructor): Added missing
-       serialization constructor.
-
-2002-04-30  Duncan Mak  <duncan@ximian.com>
-
-       * FileLoadException.cs (constructors): Added missing (string,
-       string) ctor, as well as (string, string, Exception) ctor.
-
-       (Message): Added more info to the error message
-
-       (ToString): Added. We'll need to add the StackTrace stuff when
-       that works.
-
-       * FileShare.cs: Add a missing field, Inheritable.
-       
-       * TextReader.cs: Renamed Synchronised method to Synchronized.
-
-       * TextWriter.cs: Renamed Synchronised method to Synchronized.
-       Renamed protected member coreNewLine to CoreNewLine.
-
-2002-04-30  Sergey Chaban  <serge@wildwestsoftware.com>
-
-       * BinaryReader.cs: Allocate buffer before its first use.
-       Handle end of stream properly. Methods to read native types
-       (ReadInt* etc.) are little-endian (see Compact Framework docs).
-
-       * BinaryWriter.cs: Store data in little-endian format.
-       Use internal buffer for conversions.
-
-2002-03-31  Dick Porter  <dick@ximian.com>
-
-       * Directory.cs: Strip out "." and ".." from returned list
-
-       * FileAttributes.cs: Get the right enum values
-
-2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
-
-       * TextWriter.cs (write): added check for null
-
-2002-03-28  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * Directory.cs: Throws DirectoryNotFoundException.
-       * MonoIO.cs: Fixed to work around enum problem.
-
-2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * StreamReader.cs: Implemented ReadLine() and ReadEnd().
-
-2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
-
-       * Directory.cs, File.cs, FileSystemInfo.cs, FileInfo.cs,
-       DirectoryInfo.cs, Path.cs: Modified to use MonoIO class instead of
-       wrapper and PAL classes.
-
-       * MonoIO.cs, MonoIOStat.cs, MonoIOError.cs: Added.
-
-2002-03-25  Mike Kestner <mkestner@speakeasy.net>
-
-       * MemoryStream.cs (Read): Fixed bug in exception throw.
-
-2002-03-24  Mike Kestner <mkestner@speakeasy.net>
-
-       * StreamReader.cs (ReadBuffer): Fix buffer merging bugs.
-
-2002-03-23  Martin Baulig  <martin@gnome.org>
-
-       * StreamReader.cs: Always do buffered reading, use 4k blocks.
-       (Read (char[], int, int)): Implemented.
-       (DiscardBufferedData): Implemented.
-
-2002-03-21  Mike Kestner <mkestner@speakeasy.net>
-
-       * StreamReader.cs : Fill out, add buffering, and use encoding.
-
-2002-03-19  Martin Baulig  <martin@gnome.org>
-
-       * StreamWriter.cs (StreamWriter (string)): The default is to override
-       the file, not to append to it.
-       (StreamWriter (string path, bool append)): When appending, seek to the
-       end of the file, otherwise truncate the file to zero length.
-       (Dispose (bool)): Close the internalStream.
-       (Flush): Flush the interalStream.
-       (Write (char[], int, int)): Flush the internalStream in auto-flush-mode.
-
-2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
-
-       * FileStream.cs: Flush buffer before FileSetLength.
-
-2002-02-28  Miguel de Icaza  <miguel@ximian.com>
-
-       * Stream.cs (NullStream): Do not track position, this beast does
-       nothing in practice.
-
-2002-03-15  Dan Lewis <dihlewis@yahoo.co.uk>
-
-       * SearchPattern.cs: New class. Glob matching code for Directory.
-       * Directory.cs: Changed to use SearchPattern instead of mono_glob_*()
-
-2002/03/15 Nick Drochak <ndrochak@gol.com>
-
-       * DirectoryInfo.cs: Fixed the overloaded GetDirectories and GetFiles.
-       This code seemed to be copied from somewhere, and it was close,
-       but didn't match the docs.  This was the last bit needed to get
-       NAnt to compile with our class libs.
-
-2002-03-12  Duncan Mak  <duncan@ximian.com>
-
-       * EndOfStreamException.cs:
-       * FileLoadException.cs:
-       * FileNotFoundException.cs:
-       * PathTooLongException.cs: Changed the base classes to IOException
-       instead of SystemException.
-
-       * IOException.cs: Added missing constructors.
-       
-2002-03-07  Nick Drochak  <ndrochak@gol.com>
-
-       * FileMode.cs: Docs don't say this should be explicitly derived from
-       int, so just make it a normal Enum.
-
-2002-03-02  Jason Diamond  <jason@injektilo.org>
-
-       * StringReader.cs: Fixed off-by-one error in Peek() and Read().
-
-2002-02-12  Nick Drochak  <ndrochak@gol.com>
-
-       * PathTooLongException.cs: put it in the correct namespace
-       * EndOfStreamException.cs: put it in the correct namespace
-
-Thu Jan 31 17:32:32 CET 2002 Paolo Molaro <lupus@ximian.com>
-
-       * Directory.cs: handle opendir() return NULL and absolute filenames.
-
-2002-01-31  Duncan Mak  <duncan@ximian.com>
-
-       * FileLoadException.cs:
-       * FileNotFoundException: Added missing bits for serialization.
-
-Thu Jan 24 17:42:54 CET 2002 Paolo Molaro <lupus@ximian.com>
-
-       * Directory.cs: allow directories in GetFiles() mask.
-
-2002-01-23  Miguel de Icaza  <miguel@ximian.com>
-
-       * FileInfo.c (CopyTo, MoveTo): Implement.
-
-       * FileStream.cs: Add argument checking to the constructor.
-
-       * File.cs: Rewrote most of the file.  Implement Copy, Open, Create,
-       OpenText, OpenWrite, Move.  Made pending methods flagged as MonoTODO. 
-       
-       * Directory.cs (Delete): reimplement without using DirectoryInfo.
-       (Delete): Implement the recursive version.
-       (GetCreationTime, GetLastWriteTime, GetLastAccessTime): Implement.
-       (Move): Reimplement.
-       (getNames): dead code removal.
-
-       * Path.cs: define an internal DirectorySeparatorStr that we use in
-       a few spots.
-
-       * Wrapper.cs: Updated to new version.
-       
-       * DirectoryInfo (Delete): Implement using the Directory API.
-
-       * DirectoryInfo.cs (GetFiles, GetDirectories, GetFileSystemInfos,
-       Delete, Create, Parent, Exists, MoveTo): Implement. 
-
-       * Directory.cs (GetListing): implement new utility function.
-       (GetDirectories): Implement.
-       (GetFileSystemEntries): Implement.
-       (GetFiles): Implement.
-
-       * CheckArgument.cs (Path): Do not allow null by default.
-
-Tue Jan 22 22:53:23 CET 2002 Paolo Molaro <lupus@ximian.com>
-
-       * DirectoryInfo.cs, FileInfo.cs: do not use Debug from the system
-       assembly in corlib.
-
-2002-01-20 Nick Drochak  <ndrochak@gol.com>
-
-       * SeekOrigin.cs: Added Serializable attribute.
-
-2002-01-19  Duncan Mak  <duncan@ximian.com>
-
-       * PathTooLongException.cs: 
-       * EndOfStreamException.cs: Added to CVS.
-
-Thu Jan 10 12:06:46 MST 2002 Matt Kimball <matt@kimball.net>
-
-       * BufferedStream.cs: Initial implemenation.  The synchronous
-       methods for both reading and writing are implemented.  I'll do the
-       asynchronous methods in a bit.
-       
-Wed Jan  9 16:04:39 MST 2002 Matt Kimball <matt@kimball.net>
-
-       * BinaryWriter.cs: Initial implementation.  And it's all there.
-
-       * BinaryReader.cs: The constructor now uses the passed in encoding,
-       not UTF8 always.
-
-Wed Jan  9 13:54:28 MST 2002 Matt Kimball <matt@kimbal.net>
-
-       * BinaryReader.cs: Initial implementation.  I think it's complete.
-
-2002-01-04  Ravi Pratap  <ravi@ximian.com>
-
-       * CheckArgument.cs, CheckPermission.cs, Directory.cs: MonoTODO
-       attribute decorations.
-
-       * DirectoryInfo.cs, File.cs, FileInfo.cs, FileSystemInfo.cs,
-       Path.cs, TextReader.cs, TextWriter.cs : Ditto.
-
-       * FileLoadException.cs, FileNotFoundException.cs, StreamReader.cs: 
-       Ditto.
-
-2001-12-11  Dick Porter  <dick@ximian.com>
-
-       * FileStream.cs: Use handles rather than casting file descriptors.
-       Added Handle property.
-
-Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>
-
-       * CheckPermission.cs: disable ModeAccess() code: it's wrong.
-       * FileStream.cs: only trow an exception if the read failed in ReadByte().
-       * StreamReader.cs: implement Peek and Read.
-       * TextWriter.cs: CLSCompliant updates.
-
-2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
-
-       * FileNotFoundException.cs: Added some constructors
-
-       * Path.cs (GetFullPath): Fixed implementation
-
-Fri Nov 2 18:27:58 CET 2001 Paolo Molaro <lupus@ximian.com>
-
-       * DirectoryNotFoundException.cs: implemented.
-
-Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>
-
-       * File.cs: fix signatures of the Open() and OpenRead() functions
-       (they are static).
-
-Thu Sep 13 18:04:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
-
-       * FileLoadException.cs, FileNotFoundException.cs: added.
-
-2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
-
-       * TextReader.cs: implemented the Read method
-
-       * StreamReader.cs: impl. stubs
-
-       * StreamWriter.cs: impl.
-
-       * TextWriter.cs: implemented Write and WriteLine methods
-
-Sun Aug 26 23:01:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
-
-       * FileAccess.cs, FileMode.cs: change values to be compatible with
-       the ms ones.
-       
-Sun Aug 26 11:47:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
-
-       * IOException.cs: Implemented System.IO.Exception.
-
-2001-07-18  Michael Lambert <michaellambert@email.com>
-
-        *SeekOrigin.cs.cs, FileShare.cs, FileMode.cs, FileAccess.cs: Add.
-
-2001-07-19  Marcin Szczepanski <marcins@zipworld.com.au>
-
-       * System.IO.MemoryStream.cs: Added.  Had quite a few cases of
-       "LAMESPEC", but the tests work against the MS implementation so
-       the major functions are right (ie. Read/Write/Seek).  Some more
-       tests required for the various constructors and exceptions.
-
-2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
-
-       * StringReader.cs, StringWriter.cs, TextReader.cs, TextWriter.cs:
-       New class implemenations.
-
-       * StringReaderTest.cs, StringWriterTest.cs: Test suite for the above.