2005-04-16 Atsushi Enomoto * NormalizationForm.cs : new file. 2005-03-20 Ben Maurer * StringBuilder.cs (set_Length): If we set the length, we must clobber the cached string. 2005-03-03 Gonzalo Paniagua Javier * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by Svetlana Zholkovsky. 2005-03-03 Gonzalo Paniagua Javier * UTF7Encoding.cs: fix for characters encoded as a shifted sequence whose length is greater than 3. Patch by Svetlana Zholkovsky. 2005-01-31 Ben Maurer * StringBuilder.cs (Remove): We need to do the check that the string isnt being cached *before* we munge it. 2005-01-21 Ben Maurer * StringBuilder.cs: Don't allocate memory on the .ctor, do it lazily. This saves us lots of memory if you only use the stringbuilder once. Also, we can allocate on the second Append, which might reduce the number of buffers allocated. 2005-01-14 Lluis Sanches Gual * StringBuilder.cs: Improved parameter check. 2005-01-11 Gonzalo Paniagua Javier * StringBuilder.cs: when creating the StringBuilder from a string, the maximum capacity remains Int32.MaxValue. 2005-01-10 Gonzalo Paniagua Javier * StringBuilder.cs: throw if the new size is greater than the maximum capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes bug #62422. 2004-12-15 Sebastien Pouliot * UTF7Encoding.cs: Fixed warning for unused variable. 2004-09-30 Juraj Skripsky * Encoding.cs: Add encoding name "latin1" for compatibility with MS.NET. 2004-09-25 Zoltan Varga * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays. 2004-09-09 Tim Coleman * StringBuilder.cs: Added AppendLine methods for Fx 2.0 2004-06-23 Sebastien Pouliot * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation. Follow the RFC1642 rules for "overbits". 2004-06-15 Gert Driesen * ASCIIEncoding.cs: added TODO for serialization * StringBuilder.cs: added TODO for serialization * UnicodeEncoding.cs: added TODO for serialization * UTF7Encoding.cs: added TODO for serialization * UTF8Encoding.cs: added TODO for serialization 2004-06-10 Gert Driesen * Encoding.cs: Marked protected internal field as internal to fix API signature 2004-06-07 Atsushi Enomoto * UTF8Encoding.cs : Length check must be done only when the character sequence is valid (i.e. should not check when it is overlongs). See also TestThrowOnInvalid(). 2004-06-07 Atsushi Enomoto * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount(). 2004-06-07 Atsushi Enomoto * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is true. Otherwise just ignore them. 2004-05-26 Sebastien Pouliot * StringBuilder.cs: Fixed potential integer overflows in several methods. 2004-05-14 Sebastien Pouliot * UTF8Encoding.cs: Moved charCount-- after the check for surrogate pair. This fix bug #57009 (and 2 failing unit tests). Added code to check for some (like MS) overlongs. 2004-05-03 Lluis Sanches Gual * Encoding.cs: Use name const to load I18N assembly. 2004-04-25 Andreas Nahr * Encoding.cs: Call shortcut String.ToLowerInvariant 2004-04-13 Miguel de Icaza * Encoding.cs: Use new internal codepage setup. 2004-04-10 Atsushi Enomoto * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula. 2004-03-19 Dick Porter * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the BOM at the beginning of the range of characters we're interested in, not at the beginning of the array. Fixes bug 51531. 2004-03-10 Juraj Skripsky * StringBuilder.cs (Insert int, char[]): fix by using new string(char[]) instead of char[].ToString() and simplify. (Insert int, string, int): add LAMESPEC note. (Insert int char[], int, int): handle value==null according to spec. Use a string instead of char array + Array.Copy (gonzalo) 2004-03-08 Gonzalo Paniagua Javier * StringBuilder.cs: (Append (string)): remove redundant check. 2004-01-23 Gonzalo Paniagua Javier * StringBuilder.cs: (Remove): fixed offsets when copying and set the new size. Fixes bug #53240. 2004-01-13 Gonzalo Paniagua Javier * StringBuilder.cs: added checks for null in a few Append methods. Tue Jan 13 22:23:25 CET 2004 Paolo Molaro * StringBuilder.cs: fixed start offset in Append(char). 2004-01-12 Patrik Torstensson * StringBuilder.cs: new implementation that uses string as a buffer instead of a array of chars. 2003-12-07 Ben Maurer * UTF8Encoding.cs (GetBytes string): Do not call base The version in Encoding will call string.ToCharArray (), allocating an extra array. By calling the better method in our own class we can save memory. 2003-11-17 Ben Maurer * StringBuilder.cs (Insert int, char): It is really silly and wasteful to allocate an array here. We can just copy the value over. 2003-11-11 Miguel de Icaza * Encoding.cs: Use an internal variable to track the parameters of each encoder, since the .NET API does not expose virtual methods in the child classes, we should not depend on that. * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding: Initialize the parameters for base class encoding here. 2003-09-01 Miguel de Icaza * Encoding.cs (UTF8Unmarked): make it also not error out on invalid input, that is what the Microsoft default is for the StreamReader and BinaryReader expect (our main consumers). 2003-08-21 Ben Maurer * StringBuilder.cs (AppendFormat) Use FormatHelper in System.String to avoid allocating an extra StringBuilder. (Append string, int, int), (Append char, int): Both were allocating extra strings. 2003-06-05 Nick Drochak * UTF8Encoding.cs: Cleanups according to class status page 2003-05-10 Miguel de Icaza * Encoding.cs (GetEncoding): Add all the aliases documented in the framework. We were missing a few. Reorganize the table. Also, convert the input name into the lower-case - to _ before we compare against our table. 2003-05-10 Gonzalo Paniagua Javier * StringBuilder.cs: fixed bug #41397. 2003-04-12 Miguel de Icaza * Encoding.cs: Enabled the code paths that we did have commented out, they seem to work now. Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro * StringBuilder.cs: cache the result from ToString(). 2003-03-18 Atsushi Enomoto * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be. (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.) 2003-03-05 Gonzalo Paniagua Javier * ASCIIEncoding.cs: fixed bug #38984. 2003-03-05 Aleksey Demakov * ASCIIEncoding.cs: * Latin1Encoding.cs: fix GetString (byte[]) and GetString (byte[], int, int) for zero-length case. 2003-02-19 Gonzalo Paniagua Javier * Latin1Encoding.cs: added Serializable attribute. 2003-02-03 Gonzalo Paniagua Javier * Encoding.cs: removed UnixConsoleEncoding. 2003-01-30 Zoltan Varga * StringBuilder.cs: fix the constructor: 'value' can be NULL, 'capacity' must be >=0, use defaultCapacity only if capacity equals 0. This fixes the StringBuilder unit tests. 2003-01-30 Gonzalo Paniagua Javier * StringBuilder.cs: fixed typo in set_Length. 2002-12-12 Gonzalo Paniagua Javier * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the encoding is not found, default to UTF8Unmarked. Removed comment in UnixConsoleEncoding, because it's now Default, which gets the encoding internally using g_get_encoding (). 2002-12-01 Gonzalo Paniagua Javier * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting. Tue Nov 19 13:03:27 CET 2002 Paolo Molaro * UTF8Encoding.cs: fix GetByteCount (), too. 2002-11-19 Miguel de Icaza * UnicodeEncoding.cs: the bytemark should only be used to return information in GetPreamble, not to actually encode the information on the stream. That is taken care of by the Stream classes. * UTF8Encoding.cs: ditto. 2002-11-13 Gonzalo Paniagua Javier * StringBuilder.cs: only move the remaining chars in Remove. 2002-11-05 Gonzalo Paniagua Javier * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid locking whenever possible. 2002-10-30 Miguel de Icaza * Encoding.cs (UTF8Unmarked): New static property, used to return a no-markers UTf8 encoder, used in a few places in the class library. 2002-09-06 Miguel de Icaza * Encoding.cs (UTF8, Unicode): Create with a preamble, that is what the Microsoft version does. (UnixConsoleEncoding): New internal method, used to get the encoding, in the future, this should pull the locale, map to charset and then code page. Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro * Encoding.cs: use icall to get default codepage. * DefaultEncoding.cs: remove useless class. Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro * *.cs: change to conform to mono coding style. 2002-08-24 Gonzalo Paniagua Javier * ASCIIEncoding.cs: * Decoder.cs: * Encoder.cs: * Encoding.cs: * UTF7Encoding.cs: * UTF8Encoding.cs: * UnicodeEncoding.cs: added Serializable attribute. 2002-08-24 Gonzalo Paniagua Javier * StringBuilder.cs: improved performace by using String.InternalCopyTo instead of using ToCharArray all over the place (more that 50% of speed improvement when using Append). Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro * *.cs: imported the code donated by Rhys Weatherley . 2002-08-18 Dick Porter * Encoding.cs: Make GetString() return a useful representation of the bytes, rather than "System.Char[]" 2002-08-03 Gonzalo Paniagua Javier * StringBuilder.cs: added IndexerName to indexer. 2002-08-01 Jason Diamond * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when converting chars to bytes. 2002-07-13 Gonzalo Paniagua Javier * StringBuilder.cs: updated comments. MaxCapacity always returns Int32.MaxValue. 2002-06-21 Gonzalo Paniagua Javier * StringBuilder.cs: implemented AppendFormat methods using String.Format. Thanks Paolo! This makes xsp generate correct C# output in linux :-). I still need to do more testing, though. Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro * ASCIIEncoding.cs: fixed handling of 0 bytecount. 2002-05-19 Martin Baulig * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes): Added exception handling. * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars): Added exception handling. 2002/04/02 Nick Drochak * StringBuilder.cs (Append): Removed obsolete overload. 2002-03-21 Mike Kestner * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count. Thu Mar 21 17:38:19 CET 2002 Paolo Molaro * StringBuilder.cs: no need to intern the string returned by ToString(). 2002-03-17 Mike Kestner * ASCIIEncoding.cs: Implement all the overridden methods. No longer dependent on iconv icalls. * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual to GetBytes. Wed Mar 13 00:26:29 CET 2002 Paolo Molaro * StringBuilder.cs: make ToString() return a interned string, this seems to be required to make switch on string work. Fri Mar 8 17:29:58 CET 2002 Paolo Molaro * StringBuilder.cs: make Append(char) do the smart thing. 2002-01-05 Ravi Pratap * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs, UnicodeEncoding.cs: MonoTODO attribute marking. * StringBuilder.cs : Ditto. Wed Nov 14 17:05:22 CET 2001 Paolo Molaro * Encoding.cs: renamed some fields. * StringBuilder.cs: CLSCompliant updates. 2001-10-29 Nick Drochak * StringBuilder.cs: Throw exceptions when constructor paramter(s) are invalid. Just like MS does (as best as I can tell). Tests for these exceptions are now added to the unit tests as well. 2001-10-25 Nick Drochak * StringBuilder.cs: Throw exception if they try to make a StringBuilder whose capacity is greater than the MaxCapacity. I added some tests for the constructors and the above exception. More coming soon. 2001-10-23 Nick Drochak * StringBuilder.cs: Refactored constructor code into just one constructor. All the other construtors call it. Also supplied missing constructors so the class has all those in the spec. Added the MaxCapacity property as well, however this needs to be completed to return a value is related to the available system memory. 2001-10-07 Miguel de Icaza * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs, UnicodeEncoding.cs: Corrected API. * UTF8Encoding.cs: Checked in changes from Rafael. 2001-08-28 Dietmar Maurer * UTF8Encoding.cs: impl. clumsy GetBytes 2001-07-16 Marcin Szczepanski * StringBuilder.cs (Text): Fixed. * StringBuilderTest.cs: Implement Test suite. 2001-07-12 Marcin Szczepanski * StringBuilder.cs: Implemented. The only methods left unimplemented are the AppendFormat( ... ) ones just because it's probably better to wait until some of the Format related classes are implemented. I've put that as a TODO comment at the top and created the methods with a "nop" body. 2001-06-26 Sean MacIsaac * UnicodeEncoding.cs: Members added so that a clean compile is possible. * ASCIIEncoding.cs: Members added so that a clean compile is possible. * UTF7Encoding.cs: Members added so that a clean compile is possible. * UTF8Encoding.cs: Members added so that a clean compile is possible. * Encoding.cs: All public members included. Most members unimplemented.