1 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
3 * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
4 the same "\uFFFD" fix for encoder fallback.
5 Reduced extra instantiation of those fallbacks.
7 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
9 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
11 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
13 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
16 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
18 * UnicodeEncoding.cs : fix build.
20 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
22 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
23 input buffer. When fallback is not assigned, just return '\0'.
24 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
25 Default replacement fallback buffer is now "\uFFFD".
26 * UTF8Encoding.cs : couple of replacement buffer size fixes.
27 Default replacement fallback buffer is now "\uFFFD".
28 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
29 See http://support.microsoft.com/kb/940521/ for this change.
31 2007-08-15 Jb Evain <jbveain@novell.com>
33 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
34 the compile picks up the adequate method when AppendFormat
35 is used in 2.1 platform code.
37 2007-07-28 Miguel de Icaza <miguel@novell.com>
39 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
41 2007-05-03 Dick Porter <dick@ximian.com>
45 * UTF7Encoding.cs: Update to 2.0 profile
47 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
49 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
50 In Encoding.Default, catch both ArgumentException and NotSupportException.
52 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
54 * Encoding.cs : the change broke the build, so reverted part of it.
56 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
58 * Encoding.cs: Also set ParamName of the ArgumentException.
60 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
62 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
63 and above 0xffff. Modified NotSupportedException to ArgumentException in
66 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
68 * EncoderFallbackBuffer.cs : implement Reset().
70 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
72 * Encoding.cs: Make the GetByteCcount method used fixed pointers
73 removes quite a few allocations from Banshee.
75 2006-09-03 Zoltan Varga <vargaz@gmail.com>
77 * StringBuilder.cs (.ctor): Add a comment.
79 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
82 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
84 * UTF32Encoding.cs, UTF7Encoding.cs :
85 Fixed GetHashCode() and Equals() as well.
86 Added several missing overrides in 2.0.
88 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
90 * Encoding.cs : implemented IsAlwaysNormalized().
91 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
94 2006-07-18 Kornél Pál <kornelpal@gmail.com>
96 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
97 than new string (sbyte*, int, int) that uses Encoding.Default.
98 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
99 than new string (sbyte*, int, int) that uses Encoding.Default.
101 2006-07-11 Kornél Pál <kornelpal@gmail.com>
103 * StringBuilder.cs: Pad the string with NULL characters when setting
104 Length. This is now documented:
105 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
107 2006-07-06 Kornél Pál <kornelpal@gmail.com>
109 * CodePageEncoding.cs: Corrected comments.
110 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
111 ArgumentExceptions in private constructors.
112 * SurrogateEncoder.cs: Corrected comments.
114 2006-07-05 Kornél Pál <kornelpal@gmail.com>
116 * CodePageEncoding.cs: Return the same real object in subsequent
117 calls to GetRealObject ().
118 * MLangCodePageEncoding.cs: Return the same real object in
119 subsequent calls to GetRealObject (). Rename Encoder and Decoder
120 MLangEncoder and MLangDecoder. These classes are not serializable
121 in 1.x although MS.NET 2.0 can deserialize them.
122 * SurrogateEncoder.cs: Return the same real object in subsequent
123 calls to GetRealObject ().
125 2006-07-04 Kornél Pál <kornelpal@gmail.com>
127 * CodePageEncoding.cs: Added comment on usage.
128 * MLangCodePageEncoding.cs: Added comment on usage.
129 * SurrogateEncoder.cs: Added comment on usage.
131 2006-07-03 Kornél Pál <kornelpal@gmail.com>
133 * CodePageEncoding.cs: Added.
134 * MLangCodePageEncoding.cs: Added.
135 * SurrogateEncoder.cs: Added.
137 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
139 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
141 2006-06-24 Kornél Pál <kornelpal@gmail.com>
143 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
144 StreamReader should detect byte order marks.
146 2006-06-21 Kornél Pál <kornelpal@gmail.com>
148 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
151 2006-06-06 Kornél Pál <kornelpal@gmail.com>
153 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
154 profile 1.x as well because performance improvement is worth the
155 signature difference. (Fix regression of r61250.)
157 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
159 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
160 Marked 2.0-only members as ComVisible (false).
161 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
162 2.0-only members as ComVisible (false).
163 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
164 2.0-only members as ComVisible (false).
165 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
166 2.0-only members as ComVisible (false).
167 * NormalizationForm.cs: Marked ComVisible (true).
168 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
169 Marked 2.0-only methods as ComVisible (false).
170 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
171 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
172 missing ctor in 2.0 profile, and marked in MonoTODO.
173 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
174 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
176 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
178 * EncodingInfo.cs, Encoding.cs :
179 Implemented Encoding.GetEncodings(). It's so hacky!
181 2006-04-13 Kornél Pál <kornelpal@gmail.com>
183 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
184 as MS.NET does. This is a more reasonable high level wrapper
186 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
187 instead of using GetBytesInternal to be MS.NET compatible.
188 Override GetString (byte [], int, int) to speed up string creation.
190 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
192 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
194 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
196 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
197 check in some methods.
199 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
201 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
202 there are optimizations, but for now we need something just works).
204 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
206 * UTF8Encoding.cs : made internal implementation as pointer-based,
207 and added pointer-based converter method overloads.
209 2006-03-21 Kornél Pál <kornelpal@gmail.com>
211 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
214 2006-03-09 Zoltan Varga <vargaz@gmail.com>
216 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
218 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
220 * UTF8Encoding.cs : Fallback was indicating incorrect index.
223 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
225 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
226 in IL. 10% performance improvement.
228 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
230 * UTF8Encoding.cs : avoid possible overflow.
232 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
234 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
235 be checked. Also it should not ignore leftOver characters even if
236 byte buffer length is 0.
238 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
240 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
241 and InternalGetBytes().
243 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
246 actually leftover bits needs more careful handleding. So it's
247 better to be rather close to the original GetBytes().
248 Also changed leftOver handling so that it will be able to support
251 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
254 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
255 pointers. However, InternalGetBytes() was slower than
256 GetBytes(string, ...), so first replaced existing InternalGetBytes()
257 with GetBytes() internals, and GetBytes(string, ...) switched to
258 InternalGetBytes(). Now GetBytes() implementation code is reduced
261 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
263 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
264 Now it handles the entire bytes, not just half of them.
266 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
268 * UTF8Encoding.cs : zero-length check was wrong. Check it by
269 "charIndex == chars.Length" instead of "charCount == 0".
271 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
273 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
274 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
276 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
278 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
279 this time InternalGetChars() as well.
281 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
283 * StringBuilder.cs: Avoid computing computation for the string
286 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
288 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
291 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
293 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
296 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
298 * UTF7Encoding.cs UTF8Encoding.cs :
299 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
300 Make strict check for invalid surrogate.
302 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
304 * EncoderFallbackException.cs EncoderExceptionFallback.cs
305 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
306 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
307 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
308 DecoderFallbackException.cs DecoderExceptionFallback.cs
309 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
310 EncoderReplacementFallbackBuffer.cs :
311 include them in net_2_0bootstrap build.
313 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
315 * Decoder.cs : ditto.
317 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
319 * Encoder.cs : Fallback should be initialized to have an instance.
321 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
323 * Encoding.cs : Cloned instances should not be read-only.
325 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
327 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
329 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
331 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
332 byte*-based GetBytes().
333 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
334 which came to happen after introducing fallback buffer.
336 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
338 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
341 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
343 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
344 Added FallbackBuffer.
345 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
347 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
349 * EncodingInfo.cs : new file.
351 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
353 * UTF32Encoding.cs : Sealed. Added the overload which has
354 throwOnInvalid parameter.
355 * NormalizationForm.cs : removed [Serializable].
357 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
359 * Encoding.cs : added UTF32.
361 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
363 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
366 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
368 * UTF32Encoding.cs : new file.
370 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
372 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
373 * Encoding.cs : changed default fallback selection. Seems like only
374 ASCII and GB18030 uses '?' for replacement.
375 * UTF8Encoding.cs : now that Fallback is read only by default, we
378 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
380 * UTF8Encoding.cs : safer UTF8Decoder ctor.
382 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
384 * Decoder.cs : added FallbackBuffer property.
385 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
388 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
390 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
392 * EncoderReplacementFallbackBuffer.cs : implemented.
393 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
396 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
398 * DecoderFallbackBuffer.cs : Reset() does nothing here.
399 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
400 bytesUnknown is used.
402 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
404 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
406 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
408 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
409 * Encoder.cs : Added Fallback property.
410 * Decoder.cs : Added Fallback property.
412 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
414 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
415 EncoderExceptionFallbackBuffer.cs,
416 EncoderReplacementFallbackBuffer.cs,
417 EncoderFallbackException.cs,
418 EncoderExceptionFallback.cs,
419 EncoderReplacementFallback.cs : new files (not actually used yet).
420 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
421 DecoderReplacementFallback.cs : [Serializable] and sealed.
422 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
424 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
426 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
427 DecoderExceptionFallbackBuffer.cs,
428 DecoderReplacementFallbackBuffer.cs,
429 DecoderFallbackException.cs,
430 DecoderExceptionFallback.cs,
431 DecoderReplacementFallback.cs : new files (not actually used yet).
433 2005-11-14 Miguel de Icaza <miguel@novell.com>
435 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
438 Also add some checks that were missing.
440 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
442 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
443 were failing under 2.0) and two possible integer overflow in CopyTo.
445 2005-11-11 Miguel de Icaza <miguel@novell.com>
447 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
449 * StringBuilder.cs (Text): Added serialization support in 2.x.
451 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
453 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
454 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
455 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
456 ((ch & 0xFE) == 0xFC).
458 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
460 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
461 Don't exclude FEFF in the resulting text.
463 2005-06-21 Ben Maurer <bmaurer@ximian.com>
465 * StringBuilder.cs (Replace): Do the correct thing when we replace
466 with a longer string. Thanks to Alexander Beznozdrev
467 <abeznozdrev@croc.ru>
469 2005-05-26 Ben Maurer <bmaurer@ximian.com>
471 * Encoding.cs: Use static object for locking. `volatile' to
472 prevent double checked locking error.
474 * StringBuilder.cs: Remove = null inits on fields, saves a few
475 instructions. When we compare _cached_str == _str, we are only
476 interested in pointer based equality, so just do that.
478 2005-05-06 Ben Maurer <bmaurer@ximian.com>
480 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
481 the size we attempt to grow to is more than the max capacity, but
482 that a smaller size will do. In this case, don't throw an
483 exception. Fixes #72244
485 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
487 * NormalizationForm.cs : new file.
489 2005-03-20 Ben Maurer <bmaurer@ximian.com>
491 * StringBuilder.cs (set_Length): If we set the length, we must
492 clobber the cached string.
494 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
496 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
499 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
501 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
502 whose length is greater than 3. Patch by Svetlana Zholkovsky.
504 2005-01-31 Ben Maurer <bmaurer@ximian.com>
506 * StringBuilder.cs (Remove): We need to do the check that the
507 string isnt being cached *before* we munge it.
509 2005-01-21 Ben Maurer <bmaurer@ximian.com>
511 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
512 lazily. This saves us lots of memory if you only use the
513 stringbuilder once. Also, we can allocate on the second Append,
514 which might reduce the number of buffers allocated.
516 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
518 * StringBuilder.cs: Improved parameter check.
520 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
522 * StringBuilder.cs: when creating the StringBuilder from a string, the
523 maximum capacity remains Int32.MaxValue.
525 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
527 * StringBuilder.cs: throw if the new size is greater than the maximum
528 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
531 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
533 * UTF7Encoding.cs: Fixed warning for unused variable.
535 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
537 * Encoding.cs: Add encoding name "latin1" for compatibility with
540 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
542 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
544 2004-09-09 Tim Coleman <tim@timcoleman.com>
546 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
548 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
550 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
551 Follow the RFC1642 rules for "overbits".
553 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
555 * ASCIIEncoding.cs: added TODO for serialization
556 * StringBuilder.cs: added TODO for serialization
557 * UnicodeEncoding.cs: added TODO for serialization
558 * UTF7Encoding.cs: added TODO for serialization
559 * UTF8Encoding.cs: added TODO for serialization
561 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
563 * Encoding.cs: Marked protected internal field as internal to
566 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
568 * UTF8Encoding.cs : Length check must be done only when the character
569 sequence is valid (i.e. should not check when it is overlongs).
570 See also TestThrowOnInvalid().
572 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
574 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
576 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
578 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
579 true. Otherwise just ignore them.
581 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
583 * StringBuilder.cs: Fixed potential integer overflows in several
586 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
588 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
589 pair. This fix bug #57009 (and 2 failing unit tests). Added code
590 to check for some (like MS) overlongs.
592 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
594 * Encoding.cs: Use name const to load I18N assembly.
596 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
598 * Encoding.cs: Call shortcut String.ToLowerInvariant
600 2004-04-13 Miguel de Icaza <miguel@ximian.com>
602 * Encoding.cs: Use new internal codepage setup.
604 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
606 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
608 2004-03-19 Dick Porter <dick@ximian.com>
610 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
611 BOM at the beginning of the range of characters we're interested
612 in, not at the beginning of the array. Fixes bug 51531.
614 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
617 (Insert int, char[]): fix by using new string(char[]) instead of
618 char[].ToString() and simplify.
619 (Insert int, string, int): add LAMESPEC note.
620 (Insert int char[], int, int): handle value==null according to spec.
621 Use a string instead of char array + Array.Copy (gonzalo)
623 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
626 (Append (string)): remove redundant check.
628 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
631 (Remove): fixed offsets when copying and set the new size. Fixes bug
634 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
636 * StringBuilder.cs: added checks for null in a few Append methods.
638 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
640 * StringBuilder.cs: fixed start offset in Append(char).
642 2004-01-12 Patrik Torstensson
644 * StringBuilder.cs: new implementation that uses
645 string as a buffer instead of a array of chars.
647 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
649 * UTF8Encoding.cs (GetBytes string): Do not call base
650 The version in Encoding will call string.ToCharArray (),
651 allocating an extra array. By calling the better method
652 in our own class we can save memory.
654 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
656 * StringBuilder.cs (Insert int, char): It is really silly and
657 wasteful to allocate an array here. We can just copy the value
660 2003-11-11 Miguel de Icaza <miguel@ximian.com>
662 * Encoding.cs: Use an internal variable to track the parameters of
663 each encoder, since the .NET API does not expose virtual methods
664 in the child classes, we should not depend on that.
666 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
667 Initialize the parameters for base class encoding here.
669 2003-09-01 Miguel de Icaza <miguel@ximian.com>
671 * Encoding.cs (UTF8Unmarked): make it also not error out on
672 invalid input, that is what the Microsoft default is for the
673 StreamReader and BinaryReader expect (our main consumers).
675 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
678 (AppendFormat) Use FormatHelper in System.String to avoid
679 allocating an extra StringBuilder.
680 (Append string, int, int), (Append char, int): Both were
681 allocating extra strings.
683 2003-06-05 Nick Drochak <ndrochak@gol.com>
685 * UTF8Encoding.cs: Cleanups according to class status page
687 2003-05-10 Miguel de Icaza <miguel@ximian.com>
689 * Encoding.cs (GetEncoding): Add all the aliases documented in the
690 framework. We were missing a few.
692 Reorganize the table. Also, convert the input name into the
693 lower-case - to _ before we compare against our table.
695 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
697 * StringBuilder.cs: fixed bug #41397.
699 2003-04-12 Miguel de Icaza <miguel@ximian.com>
701 * Encoding.cs: Enabled the code paths that we did have commented
702 out, they seem to work now.
704 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
706 * StringBuilder.cs: cache the result from ToString().
708 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
710 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
711 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
713 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
715 * ASCIIEncoding.cs: fixed bug #38984.
717 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
720 * Latin1Encoding.cs: fix GetString (byte[]) and
721 GetString (byte[], int, int) for zero-length case.
723 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
725 * Latin1Encoding.cs: added Serializable attribute.
727 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
729 * Encoding.cs: removed UnixConsoleEncoding.
731 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
733 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
734 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
735 This fixes the StringBuilder unit tests.
737 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
739 * StringBuilder.cs: fixed typo in set_Length.
741 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
743 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
744 encoding is not found, default to UTF8Unmarked. Removed comment in
745 UnixConsoleEncoding, because it's now Default, which gets the
746 encoding internally using g_get_encoding ().
748 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
750 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
752 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
754 * UTF8Encoding.cs: fix GetByteCount (), too.
756 2002-11-19 Miguel de Icaza <miguel@ximian.com>
758 * UnicodeEncoding.cs: the bytemark should only be used to return
759 information in GetPreamble, not to actually encode the information
760 on the stream. That is taken care of by the Stream classes.
762 * UTF8Encoding.cs: ditto.
764 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
766 * StringBuilder.cs: only move the remaining chars in Remove.
768 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
770 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
771 locking whenever possible.
773 2002-10-30 Miguel de Icaza <miguel@ximian.com>
775 * Encoding.cs (UTF8Unmarked): New static property, used to return
776 a no-markers UTf8 encoder, used in a few places in the class library.
778 2002-09-06 Miguel de Icaza <miguel@ximian.com>
780 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
781 what the Microsoft version does.
783 (UnixConsoleEncoding): New internal method, used to get the
784 encoding, in the future, this should pull the locale, map to
785 charset and then code page.
787 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
789 * Encoding.cs: use icall to get default codepage.
790 * DefaultEncoding.cs: remove useless class.
792 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
794 * *.cs: change to conform to mono coding style.
796 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
804 * UnicodeEncoding.cs: added Serializable attribute.
806 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
808 * StringBuilder.cs: improved performace by using String.InternalCopyTo
809 instead of using ToCharArray all over the place (more that 50% of
810 speed improvement when using Append).
812 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
814 * *.cs: imported the code donated by Rhys Weatherley
815 <rweather@southern-storm.com.au>.
817 2002-08-18 Dick Porter <dick@ximian.com>
819 * Encoding.cs: Make GetString() return a useful representation of
820 the bytes, rather than "System.Char[]"
822 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
824 * StringBuilder.cs: added IndexerName to indexer.
826 2002-08-01 Jason Diamond <jason@injektilo.org>
828 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
829 converting chars to bytes.
831 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
833 * StringBuilder.cs: updated comments. MaxCapacity always returns
836 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
838 * StringBuilder.cs: implemented AppendFormat methods using
839 String.Format. Thanks Paolo!
841 This makes xsp generate correct C# output in linux :-). I still need
842 to do more testing, though.
844 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
846 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
848 2002-05-19 Martin Baulig <martin@gnome.org>
850 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
851 Added exception handling.
853 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
854 Added exception handling.
856 2002/04/02 Nick Drochak <ndrochak@gol.com>
858 * StringBuilder.cs (Append): Removed obsolete overload.
860 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
862 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
864 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
866 * StringBuilder.cs: no need to intern the string returned by ToString().
868 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
870 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
871 dependent on iconv icalls.
872 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
875 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
877 * StringBuilder.cs: make ToString() return a interned string, this
878 seems to be required to make switch on string work.
880 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
882 * StringBuilder.cs: make Append(char) do the smart thing.
884 2002-01-05 Ravi Pratap <ravi@ximian.com>
886 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
887 UnicodeEncoding.cs: MonoTODO attribute marking.
889 * StringBuilder.cs : Ditto.
891 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
893 * Encoding.cs: renamed some fields.
894 * StringBuilder.cs: CLSCompliant updates.
896 2001-10-29 Nick Drochak <ndrochak@gol.com>
898 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
899 invalid. Just like MS does (as best as I can tell).
901 Tests for these exceptions are now added to the unit tests as well.
903 2001-10-25 Nick Drochak <ndrochak@gol.com>
905 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
906 whose capacity is greater than the MaxCapacity.
908 I added some tests for the constructors and the above exception. More
911 2001-10-23 Nick Drochak <ndrochak@gol.com>
913 * StringBuilder.cs: Refactored constructor code into just one
914 constructor. All the other construtors call it. Also supplied missing
915 constructors so the class has all those in the spec.
917 Added the MaxCapacity property as well, however this needs to be
918 completed to return a value is related to the available system memory.
920 2001-10-07 Miguel de Icaza <miguel@ximian.com>
922 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
923 UnicodeEncoding.cs: Corrected API.
925 * UTF8Encoding.cs: Checked in changes from Rafael.
927 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
929 * UTF8Encoding.cs: impl. clumsy GetBytes
931 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
933 * StringBuilder.cs (Text): Fixed.
935 * StringBuilderTest.cs: Implement Test suite.
937 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
939 * StringBuilder.cs: Implemented.
941 The only methods left unimplemented are the AppendFormat( ... )
942 ones just because it's probably better to wait until some of the
943 Format related classes are implemented. I've put that as a TODO
944 comment at the top and created the methods with a "nop" body.
946 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
948 * UnicodeEncoding.cs: Members added so that a clean compile is
951 * ASCIIEncoding.cs: Members added so that a clean compile is
954 * UTF7Encoding.cs: Members added so that a clean compile is
957 * UTF8Encoding.cs: Members added so that a clean compile is
960 * Encoding.cs: All public members included. Most members