2007-04-17 Jeffrey Stedfast <fejj@novell.com>
[mono.git] / mcs / class / corlib / System / ChangeLog
index 46c8b35528296afddebd90797f70f64d4e1d5c22..61181ff6d582a65898bb025b2572e26b444ef3d8 100644 (file)
@@ -1,3 +1,135 @@
+2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
+
+       * CStreamWriter.cs (Write): Only flush our buffer if j > 0
+
+2007-04-17  Jeffrey Stedfast  <fejj@gnome.org>
+
+       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  <fejj@gnome.org>
+
+       * 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  <alp@atoker.com>
+
+       * Array.cs: Make GetRank() icall private. Subclasses should use the
+       public Rank property.
+
+2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
+
+       * 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  <fejj@novell.com>
+
+       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  <fejj@novell.com>
+
+       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  <marek.safar@gmail.com>
+
+       * Char.cs (IsLetter): Faster version.
+
+2007-04-15  Alp Toker  <alp@atoker.com>
+
+       * Decimal.cs: Provide 2.0 Round() overloads using System.Math.
+
+2007-04-15  Alp Toker  <alp@atoker.com>
+
+       * Activator.cs: CreateInstance(Type,object[]) was not params before
+       2.0.
+
+2007-04-15  Alp Toker  <alp@atoker.com>
+
+       * NonSerializedAttribute.cs: Inherited=false in 2.0.
+
+2007-04-05  Dick Porter  <dick@ximian.com>
+
+       * Environment.cs: Increment mono_corlib_version
+
+2007-04-03  Alp Toker  <alp@atoker.com>
+
+       * Array.cs: CreateInstance(Type,int[]) is params.
+       * AppDomain.cs: ExecuteAssemblyByName(string,Evidence,string[]) is
+       params.
+
+2007-04-03  Alp Toker  <alp@atoker.com>
+
+       * Convert.cs:
+       * Math.cs: Should be static classes in 2.0.
+
+2007-04-03  Alp Toker  <alp@atoker.com>
+
+       * Delegate.cs: DynamicInvoke(object[]) is params in 2.0.
+
+2007-04-03  Alp Toker  <alp@atoker.com>
+
+       * Delegate.cs: Combine(Delegate[]) is params in 2.0.
+
+2007-03-27  Dick Porter  <dick@ximian.com>
+
+       * Environment.cs: Increment mono_corlib_version;
+
 2007-03-16  Miguel de Icaza  <miguel@novell.com>
 
        * BitConverter.cs: Revert the patch from 72237 as that introduces