X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem%2FChangeLog;h=eae3f10abf46121be2ec8686aca11fe58fd13319;hb=160431bcbc0a88b10b86315a2fbffd32fc272d88;hp=9e93b69737975601c4aa3f0c93d28ac437adfd09;hpb=d9c8915a2a4a71ad6c6c0ee9071a3b1211399c74;p=mono.git diff --git a/mcs/class/corlib/System/ChangeLog b/mcs/class/corlib/System/ChangeLog index 9e93b697379..eae3f10abf4 100644 --- a/mcs/class/corlib/System/ChangeLog +++ b/mcs/class/corlib/System/ChangeLog @@ -1,3 +1,400 @@ +2007-04-18 Jeffrey Stedfast + + Fixes bug #81159: behave the same as mscorlib + + * TermInfoDriver.cs (ReadKeyInternal): Now has an 'out bool fresh' + argument which is used to tell our caller if the key was freshly + read from the console or pre-buffered. + (Read): New implementation of Console.In.Read(char[], int, int) + that behaves exactly like mscorlib's implementation. + (ReadKey): Updated for the ReadKeyInternal() API change - only + echo if the key was fresh. + (ReadLine): Same. + + * CStreamReader.cs (Read): Call the new TermInfoDriver.Read() + +2007-04-17 Jeffrey Stedfast + + * CStreamWriter.cs (Write): Optimized this some more, we don't + need a temporary buffer. Just blit chunks of the src buffer + instead. + + * CStreamReader.cs (Read): Need to increment our array index so + that we don't store each byte read into the same + position. Discovered this while testing bug #81159 (which appears + to work as expected with current svn, other than this buglet). + + * TermInfoDriver.cs (CursorTop::set): SetCursorPosition() sets our + internal cursorTop variable, so no need to explicitly set it again + after calling SetCursorPosition(). + (CursorLeft::set): Same idea here. + +2007-04-17 Jeffrey Stedfast + + * TermInfoDriver.cs (ReadLine): Implemented a workaround for + IronPython going behind System.Console's back when writing text to + the screen (it doesn't seem to use Console.stdout, instead it + creates its own file stream or something which just so happens to + write to the same file descriptor) by querying for the cursor + position in ReadLine(), so we lose no real performance (since we + have to wait for user input anyway). + +2007-04-17 Jeffrey Stedfast + + * TermInfoDriver.cs (Init): SetEcho(false), we'll be manually + echoing from now on (ReadLine() has already been doing this, might + as well make ReadKey() behave the same). + (GetCursorPosition): No longer need to disable/re-enable echo + anymore since it is now always false. + (ReadKey): Manually echo the key back to the console just like + ReadLine() has been doing (in the interest of consistancy) if + intercept is false. + (ReadLine): No longer need to disable/re-enable echo, echo is + always off now. Also, fixed what appears to have been a typo. + +2007-04-17 Jeffrey Stedfast + + * TermInfoDriver.cs (IsSpecialKey): Oops, Enter should not be + treated as a special key. Just update out cursor state here like + we do with normal chars. + (WriteSpecialKey): Enter is a no-op now because it is not treated + as a special key anymore. + + * CStreamWriter.cs (Write): Only flush our buffer if j > 0 + +2007-04-17 Jeffrey Stedfast + + Turns out my last patch was broken wrt handling some special keys + like Backspace and anything else that changed the cursor position + in some non-standard way. + + * CStreamWriter.cs (Write): Instead of calling NotifyWrite(), we + instead need to check IsSpecialKey(), and, if so, flush whatever + we have saved in our temporary buffer and then call + WriteSpecialKey(). Otherwise go on as we did in the last patch. + + * TermInfoDriver.cs (NotifyWrite): Broken up into 2 functions: + (IsSpecialKey): Returns true if we need to do some special voodoo + for this key + (WriteSpecialKey): Write the special key (using whatever voodoo + necessary) + +2007-04-16 Jeffrey Stedfast + + * CStreamWriter.cs (Write): Instead of writing 1 char at a time, + copy the bytes into a temporary char array (with a fixed max size) + so that we can minimize the number of Write() calls we make on the + underlying stream (and thus on the write() system call). + +2007-04-17 Alp Toker + + * Array.cs: Make GetRank() icall private. Subclasses should use the + public Rank property. + +2007-04-16 Jeffrey Stedfast + + * WindowsConsoleDriver.cs: Get rid of unused Echo property. + + * NullConsoleDriver.cs: Get rid of Echo property. + + * IConsoleDriver.cs: Get rid of Echo property. + + * ConsoleDriver.cs (Echo::get/set): Removed, not needed. + + * TermInfoDriver.cs (Echo::get/set): Removed, this isn't necessary + and is confusing. + (ReadKey): If we are intercepting the key, call SetEcho (false) + and then reset back to true after reading the key. + (ReadLine): Same idea here. + (GetCursorPosition): We no longer need to keep track of the + previous echo state, we no longer have it :) + +2007-04-16 Jeffrey Stedfast + + Fix for bug #80710 (and a bug I introduced in my last fix due to + this code assuming the underlying term echo state was always + false) and other buglets that I noticed. + + * TermInfoDriver.cs (ReadLine): Set (term) Echo to false as we do + our own manual echoing which prevents ^H from getting displayed on + the screen when the user hits backspace. + (ReadLine): If the user hits Backspace and builder.Length is 0, DO + NOT echo the backspace back to the console, ever. + (ReadLine): Only echo characters back to the console if echo is + set to true. Seems the Echo ConsoleDriver property is a Mono + extension, and I'm assuming this is the intended behavior? I can't + see what else the Echo property would be useful for... + +2007-04-16 Jeffrey Stedfast + + Fixes bug #81050 + + * TermInfoDriver.cs: Renamed the noEcho variable to echo, makes + the logic cleaner/simpler/etc. Plus it was never actually used + other than in the property methods which are called Echo. + (Init): Call ConsoleDriver.SetEcho() with the 'echo' value - + allows for a slight optimization if called from within the + Echo::set property. + (GetCursorPosition): Instead of calling the Echo property methods, + call ConsoleDriver.SetEcho() directly to toggle echo off (if echo + isn't already off, and then back on once we're finished getting + the position - assuming the echo state is on, of course) - this + avoids calling back into Init() which just felt dirty. + (Echo::set): If the Echo state differs from our current state, + call ConsoleDriver.SetEcho() with the new state (this is the + important piece of the fix for bug #81050). + (ReadKey): Simplified the echo logic to make it a bit clearer. + (ReadLine): Same. + +2007-04-16 Marek Safar + + * Char.cs (IsLetter): Faster version. + +2007-04-15 Alp Toker + + * Decimal.cs: Provide 2.0 Round() overloads using System.Math. + +2007-04-15 Alp Toker + + * Activator.cs: CreateInstance(Type,object[]) was not params before + 2.0. + +2007-04-15 Alp Toker + + * NonSerializedAttribute.cs: Inherited=false in 2.0. + +2007-04-05 Dick Porter + + * Environment.cs: Increment mono_corlib_version + +2007-04-03 Alp Toker + + * Array.cs: CreateInstance(Type,int[]) is params. + * AppDomain.cs: ExecuteAssemblyByName(string,Evidence,string[]) is + params. + +2007-04-03 Alp Toker + + * Convert.cs: + * Math.cs: Should be static classes in 2.0. + +2007-04-03 Alp Toker + + * Delegate.cs: DynamicInvoke(object[]) is params in 2.0. + +2007-04-03 Alp Toker + + * Delegate.cs: Combine(Delegate[]) is params in 2.0. + +2007-03-27 Dick Porter + + * Environment.cs: Increment mono_corlib_version; + +2007-03-16 Miguel de Icaza + + * BitConverter.cs: Revert the patch from 72237 as that introduces + a regression and we are not sure yet what we will be doing about + that. + + Introduce a new InternalInt64BitsToDouble method that provides the + fixed functionality, mark it as internal. + + Introduce a new SwappableToDouble method that includes the + swapping ToDouble routine as introduced by Zoltan on 72237, this + is used by InternalInt64BitsToDouble. + + * Math.cs (IEEERemainder): Use the InternalInt64BitsToDouble + routine here to preserve the semantics from Zoltan. + + The problem with BitConverter.cs is that it is completely hossed. + In .NET 1.1 it is a bitwise copy, no attempt is ever done to do + endian-specific swapping. In .NET 2.0 it is *almost* like that, + but it is subtly broken: if data is unaligned then endian + conversions happen. If the data is properly aligned it behaves + like 1.0. + + In general BitConverter is a sad class that offers little control, + we will be introducing a new mono bit converter and encourage + users to use that instead of the entirely broken + System.BitConverter. + +2007-03-11 Gert Driesen + + * Delegate.cs: Fixed bootstrap build. + +2007-03-08 Gert Driesen + + * StringComparer.cs: Renamed StringComparer classes and promoted them + to top-level classes. Merged Ordinal and OrdinalIgnoreCase comparers. + Fixes binary serialization compatibility with MS. + +2007-03-06 Zoltan Varga + + * Type.cs (Equals): Remove a useless check. + + * Type.cs: Rename Type:Equals(Type) to EqualsInternal, and add support for checking + UnderlyingSystemType. Fixes #81037. + +2007-03-05 Gonzalo Paniagua Javier + + * TermInfoDriver.cs: adjust buffer indexes after *every* read. Fixes + bug #80329. Robert Jordan attached a similar patch to the bug report + but I didn't see it until after my commit... + +2007-03-05 Peter Dettman + + * Enum.cs: The above patch makes the formatting for specifiers 'x' + and 'X' behave like MS.NET, including the correct length for each + possible underlying type, and correctly using capital letters for + the 'X' case. + + Patch also includes some more test cases in EnumTests.cs. + +2007-02-25 Gert Driesen + + * AppDomainSetup.cs: If configuration file is not an absolute path, + then throw a MemberAccessException if ApplicationBase is not set, + or otherwise consider it as a path relative to ApplicationBase. + Fixes bug #80934. Patch provided by Jamie Cansdale. + * AppDomain.cs: In CreateDomain, construct AppDomain with + ApplicationBase of default domain if not explicitly set in specified + AppDomainSetup. If config file is not set, then use filename of the + default domain config file. Base on patch provided by Jamie Cansdale. + +2007-02-16 Sebastien Pouliot + + * Random.cs: Fix exception messages ("then" -> "than"). Spotted by + Mark A. Nicolosi (#80873). + +2007-02-12 Miguel de Icaza + + * CStreamWriter.cs (Write with char []): take the lock once for + all characters and call manually the InternalWriteChar properly to + speed things up. + + (Write with string parameter): same thing, if the driver is not + initialized use a fast path. + + If the driver has not been initialized, use a fast path instead. + +Mon Feb 12 21:54:57 CET 2007 Paolo Molaro + + * MonoType.cs: patch from Cedric Vivier to + get correctly non-public fields from generic types. + +2007-02-08 Jonathan Chambers + + * __ComObject.cs: Add IUnknown field to object. Cleanup icalls. + +2007-02-03 Zoltan Varga + + * BitConverter.cs (ToDouble): Fix this on big-endian machines. + +2007-01-30 Atsushi Enomoto + + * TimeZone.cs: According to the docs, we should not throw when + converting to Localtime if we are a negative value. Instead we + return DateTime.MinValue. + +2007-01-25 Atsushi Enomoto + + * DateTime.cs : copy Kind in those members that return DateTime. + Fixed bug #80614. + +2007-01-20 Miguel de Icaza + + * Array.cs (InternalArray__ICollection_Contains, + InternalArray__IndexOf): Cope with null values in the array (See + bug #80563). + +2007-01-19 Marek Habersack + + * AppDomain.cs: Make sure that domain + SetupInformation.ConfigurationFile is never null. MS.NET by + default copies the default domain's ConfigurationFile value + there. Fixes bug #80547. + +2007-01-14 Jensen Somers + + * ArraySegment.cs: Added Equals() method, operator == and != + overloading and GetHashCode(). + +2007-01-10 Andy Hume + + * Fixes to a number of exception classes. + + A project of mine uses #ctor(String,Exception) on + ObjectDisposedException, so I looked at adding that, and any + other similar constructors missing as per the class status report. + + I also spotted inconsistent setting of HResult, and fixed + those too. For instance, ArgumentNullException sets HResult + only in three out of the four constuctors; not setting it in + the v2 (String,Exception) one -- and correctly not in the + Serialization constructor. + + + So, I fixed the remaining missing (String,Exception) + constructors in corlib (2 of), and fixed the Hresult setting + in all exceptions there (4 of). + + The remaining Exception constructor omission listed was + InvalidCastException.ctor(System.String, System.Int32). MSDN says: + "This constructor supplies an HRESULT value that is + accessible to inheritors of the InvalidCastException class, + via the protected HResult property of the Exception class." + I added that method too, setting the HResult property from + the Int32 argument. + +2007-01-10 Atsushi Enomoto + + * String.cs, StringComparer.cs : avoid extra string creation in + StringComparer.OrdinalIgnoreCase. + +2007-01-05 Sebastien Pouliot + + * DateTime.cs: Under 2.0 fix ParseExact to set DateTimeKind.Utc when + DateTimeStyles.AdjustToUniversal is used. + +2007-01-04 Gonzalo Paniagua Javier + + * TermInfoDriver.cs: honor the backspace in ReadLine. + +2006-12-30 Marek Safar + + * String.cs: Character based method only. + (IndexOf, LastIndexOf, Replace, IndexOfAny): Performance improvements. + (Substring): Returns same instance when index is 0. + +2006-12-30 Alp Toker + + * Decimal.cs: + * Math.cs: Implement missing Decimal.Ceiling methods for 2.0. + Closes #80384. + +2006-12-22 Sebastien Pouliot + + * DateTime.cs: Implement missing [To|From]Binary methods for 2.0. + * OperatingSystem.cs: Implement missing ServicePack and VersionString + properties (2.0). + * Version.cs: Add missing Major|MinorRevision properties for 2.0. + +2006-12-14 Raja R Harinath + + * Type.cs (MakeGenericType): Can only be called on a generic type + definition. + +2006-12-03 Miguel de Icaza + + * DateTime.cs: Fix this on the 2.0 profile, return the + DateTimeKind for the Now property + +2006-12-01 Duncan Mak + + * ArgumentOutOfRangeException.cs (.ctor): + * NotFiniteNumberException.cs (.ctor): Add the 2.0 constructor + that takes a string and an inner Exception. + 2006-12-01 Atsushi Enomoto * DateTime.cs :