1 2007-10-27 Atsushi Enomoto <atsushi@ximian.com>
3 * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
5 2007-10-26 Atsushi Enomoto <atsushi@ximian.com>
7 * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
10 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
12 * UnicodeEncoding.cs : fix build.
14 2007-10-25 Atsushi Enomoto <atsushi@ximian.com>
16 * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
17 input buffer. When fallback is not assigned, just return '\0'.
18 * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
19 Default replacement fallback buffer is now "\uFFFD".
20 * UTF8Encoding.cs : couple of replacement buffer size fixes.
21 Default replacement fallback buffer is now "\uFFFD".
22 * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
23 See http://support.microsoft.com/kb/940521/ for this change.
25 2007-08-15 Jb Evain <jbveain@novell.com>
27 * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
28 the compile picks up the adequate method when AppendFormat
29 is used in 2.1 platform code.
31 2007-07-28 Miguel de Icaza <miguel@novell.com>
33 * StringBuilder.cs (Text): Check for null, from Jesse Jones.
35 2007-05-03 Dick Porter <dick@ximian.com>
39 * UTF7Encoding.cs: Update to 2.0 profile
41 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
43 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
44 In Encoding.Default, catch both ArgumentException and NotSupportException.
46 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
48 * Encoding.cs : the change broke the build, so reverted part of it.
50 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
52 * Encoding.cs: Also set ParamName of the ArgumentException.
54 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
56 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
57 and above 0xffff. Modified NotSupportedException to ArgumentException in
60 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
62 * EncoderFallbackBuffer.cs : implement Reset().
64 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
66 * Encoding.cs: Make the GetByteCcount method used fixed pointers
67 removes quite a few allocations from Banshee.
69 2006-09-03 Zoltan Varga <vargaz@gmail.com>
71 * StringBuilder.cs (.ctor): Add a comment.
73 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
76 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
78 * UTF32Encoding.cs, UTF7Encoding.cs :
79 Fixed GetHashCode() and Equals() as well.
80 Added several missing overrides in 2.0.
82 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
84 * Encoding.cs : implemented IsAlwaysNormalized().
85 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
88 2006-07-18 Kornél Pál <kornelpal@gmail.com>
90 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
91 than new string (sbyte*, int, int) that uses Encoding.Default.
92 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
93 than new string (sbyte*, int, int) that uses Encoding.Default.
95 2006-07-11 Kornél Pál <kornelpal@gmail.com>
97 * StringBuilder.cs: Pad the string with NULL characters when setting
98 Length. This is now documented:
99 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
101 2006-07-06 Kornél Pál <kornelpal@gmail.com>
103 * CodePageEncoding.cs: Corrected comments.
104 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
105 ArgumentExceptions in private constructors.
106 * SurrogateEncoder.cs: Corrected comments.
108 2006-07-05 Kornél Pál <kornelpal@gmail.com>
110 * CodePageEncoding.cs: Return the same real object in subsequent
111 calls to GetRealObject ().
112 * MLangCodePageEncoding.cs: Return the same real object in
113 subsequent calls to GetRealObject (). Rename Encoder and Decoder
114 MLangEncoder and MLangDecoder. These classes are not serializable
115 in 1.x although MS.NET 2.0 can deserialize them.
116 * SurrogateEncoder.cs: Return the same real object in subsequent
117 calls to GetRealObject ().
119 2006-07-04 Kornél Pál <kornelpal@gmail.com>
121 * CodePageEncoding.cs: Added comment on usage.
122 * MLangCodePageEncoding.cs: Added comment on usage.
123 * SurrogateEncoder.cs: Added comment on usage.
125 2006-07-03 Kornél Pál <kornelpal@gmail.com>
127 * CodePageEncoding.cs: Added.
128 * MLangCodePageEncoding.cs: Added.
129 * SurrogateEncoder.cs: Added.
131 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
133 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
135 2006-06-24 Kornél Pál <kornelpal@gmail.com>
137 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
138 StreamReader should detect byte order marks.
140 2006-06-21 Kornél Pál <kornelpal@gmail.com>
142 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
145 2006-06-06 Kornél Pál <kornelpal@gmail.com>
147 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
148 profile 1.x as well because performance improvement is worth the
149 signature difference. (Fix regression of r61250.)
151 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
153 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
154 Marked 2.0-only members as ComVisible (false).
155 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
156 2.0-only members as ComVisible (false).
157 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
158 2.0-only members as ComVisible (false).
159 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
160 2.0-only members as ComVisible (false).
161 * NormalizationForm.cs: Marked ComVisible (true).
162 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
163 Marked 2.0-only methods as ComVisible (false).
164 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
165 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
166 missing ctor in 2.0 profile, and marked in MonoTODO.
167 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
168 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
170 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
172 * EncodingInfo.cs, Encoding.cs :
173 Implemented Encoding.GetEncodings(). It's so hacky!
175 2006-04-13 Kornél Pál <kornelpal@gmail.com>
177 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
178 as MS.NET does. This is a more reasonable high level wrapper
180 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
181 instead of using GetBytesInternal to be MS.NET compatible.
182 Override GetString (byte [], int, int) to speed up string creation.
184 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
186 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
188 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
190 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
191 check in some methods.
193 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
195 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
196 there are optimizations, but for now we need something just works).
198 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
200 * UTF8Encoding.cs : made internal implementation as pointer-based,
201 and added pointer-based converter method overloads.
203 2006-03-21 Kornél Pál <kornelpal@gmail.com>
205 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
208 2006-03-09 Zoltan Varga <vargaz@gmail.com>
210 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
212 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
214 * UTF8Encoding.cs : Fallback was indicating incorrect index.
217 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
219 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
220 in IL. 10% performance improvement.
222 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
224 * UTF8Encoding.cs : avoid possible overflow.
226 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
228 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
229 be checked. Also it should not ignore leftOver characters even if
230 byte buffer length is 0.
232 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
234 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
235 and InternalGetBytes().
237 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
240 actually leftover bits needs more careful handleding. So it's
241 better to be rather close to the original GetBytes().
242 Also changed leftOver handling so that it will be able to support
245 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
248 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
249 pointers. However, InternalGetBytes() was slower than
250 GetBytes(string, ...), so first replaced existing InternalGetBytes()
251 with GetBytes() internals, and GetBytes(string, ...) switched to
252 InternalGetBytes(). Now GetBytes() implementation code is reduced
255 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
257 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
258 Now it handles the entire bytes, not just half of them.
260 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
262 * UTF8Encoding.cs : zero-length check was wrong. Check it by
263 "charIndex == chars.Length" instead of "charCount == 0".
265 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
267 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
268 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
270 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
272 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
273 this time InternalGetChars() as well.
275 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
277 * StringBuilder.cs: Avoid computing computation for the string
280 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
282 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
285 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
287 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
290 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
292 * UTF7Encoding.cs UTF8Encoding.cs :
293 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
294 Make strict check for invalid surrogate.
296 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
298 * EncoderFallbackException.cs EncoderExceptionFallback.cs
299 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
300 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
301 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
302 DecoderFallbackException.cs DecoderExceptionFallback.cs
303 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
304 EncoderReplacementFallbackBuffer.cs :
305 include them in net_2_0bootstrap build.
307 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
309 * Decoder.cs : ditto.
311 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
313 * Encoder.cs : Fallback should be initialized to have an instance.
315 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
317 * Encoding.cs : Cloned instances should not be read-only.
319 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
321 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
323 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
325 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
326 byte*-based GetBytes().
327 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
328 which came to happen after introducing fallback buffer.
330 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
332 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
335 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
337 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
338 Added FallbackBuffer.
339 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
341 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
343 * EncodingInfo.cs : new file.
345 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
347 * UTF32Encoding.cs : Sealed. Added the overload which has
348 throwOnInvalid parameter.
349 * NormalizationForm.cs : removed [Serializable].
351 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
353 * Encoding.cs : added UTF32.
355 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
357 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
360 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
362 * UTF32Encoding.cs : new file.
364 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
366 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
367 * Encoding.cs : changed default fallback selection. Seems like only
368 ASCII and GB18030 uses '?' for replacement.
369 * UTF8Encoding.cs : now that Fallback is read only by default, we
372 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
374 * UTF8Encoding.cs : safer UTF8Decoder ctor.
376 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
378 * Decoder.cs : added FallbackBuffer property.
379 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
382 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
384 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
386 * EncoderReplacementFallbackBuffer.cs : implemented.
387 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
390 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
392 * DecoderFallbackBuffer.cs : Reset() does nothing here.
393 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
394 bytesUnknown is used.
396 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
398 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
400 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
402 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
403 * Encoder.cs : Added Fallback property.
404 * Decoder.cs : Added Fallback property.
406 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
408 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
409 EncoderExceptionFallbackBuffer.cs,
410 EncoderReplacementFallbackBuffer.cs,
411 EncoderFallbackException.cs,
412 EncoderExceptionFallback.cs,
413 EncoderReplacementFallback.cs : new files (not actually used yet).
414 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
415 DecoderReplacementFallback.cs : [Serializable] and sealed.
416 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
418 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
420 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
421 DecoderExceptionFallbackBuffer.cs,
422 DecoderReplacementFallbackBuffer.cs,
423 DecoderFallbackException.cs,
424 DecoderExceptionFallback.cs,
425 DecoderReplacementFallback.cs : new files (not actually used yet).
427 2005-11-14 Miguel de Icaza <miguel@novell.com>
429 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
432 Also add some checks that were missing.
434 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
436 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
437 were failing under 2.0) and two possible integer overflow in CopyTo.
439 2005-11-11 Miguel de Icaza <miguel@novell.com>
441 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
443 * StringBuilder.cs (Text): Added serialization support in 2.x.
445 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
447 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
448 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
449 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
450 ((ch & 0xFE) == 0xFC).
452 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
454 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
455 Don't exclude FEFF in the resulting text.
457 2005-06-21 Ben Maurer <bmaurer@ximian.com>
459 * StringBuilder.cs (Replace): Do the correct thing when we replace
460 with a longer string. Thanks to Alexander Beznozdrev
461 <abeznozdrev@croc.ru>
463 2005-05-26 Ben Maurer <bmaurer@ximian.com>
465 * Encoding.cs: Use static object for locking. `volatile' to
466 prevent double checked locking error.
468 * StringBuilder.cs: Remove = null inits on fields, saves a few
469 instructions. When we compare _cached_str == _str, we are only
470 interested in pointer based equality, so just do that.
472 2005-05-06 Ben Maurer <bmaurer@ximian.com>
474 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
475 the size we attempt to grow to is more than the max capacity, but
476 that a smaller size will do. In this case, don't throw an
477 exception. Fixes #72244
479 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
481 * NormalizationForm.cs : new file.
483 2005-03-20 Ben Maurer <bmaurer@ximian.com>
485 * StringBuilder.cs (set_Length): If we set the length, we must
486 clobber the cached string.
488 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
490 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
493 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
495 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
496 whose length is greater than 3. Patch by Svetlana Zholkovsky.
498 2005-01-31 Ben Maurer <bmaurer@ximian.com>
500 * StringBuilder.cs (Remove): We need to do the check that the
501 string isnt being cached *before* we munge it.
503 2005-01-21 Ben Maurer <bmaurer@ximian.com>
505 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
506 lazily. This saves us lots of memory if you only use the
507 stringbuilder once. Also, we can allocate on the second Append,
508 which might reduce the number of buffers allocated.
510 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
512 * StringBuilder.cs: Improved parameter check.
514 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
516 * StringBuilder.cs: when creating the StringBuilder from a string, the
517 maximum capacity remains Int32.MaxValue.
519 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
521 * StringBuilder.cs: throw if the new size is greater than the maximum
522 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
525 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
527 * UTF7Encoding.cs: Fixed warning for unused variable.
529 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
531 * Encoding.cs: Add encoding name "latin1" for compatibility with
534 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
536 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
538 2004-09-09 Tim Coleman <tim@timcoleman.com>
540 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
542 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
544 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
545 Follow the RFC1642 rules for "overbits".
547 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
549 * ASCIIEncoding.cs: added TODO for serialization
550 * StringBuilder.cs: added TODO for serialization
551 * UnicodeEncoding.cs: added TODO for serialization
552 * UTF7Encoding.cs: added TODO for serialization
553 * UTF8Encoding.cs: added TODO for serialization
555 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
557 * Encoding.cs: Marked protected internal field as internal to
560 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
562 * UTF8Encoding.cs : Length check must be done only when the character
563 sequence is valid (i.e. should not check when it is overlongs).
564 See also TestThrowOnInvalid().
566 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
568 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
570 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
572 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
573 true. Otherwise just ignore them.
575 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
577 * StringBuilder.cs: Fixed potential integer overflows in several
580 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
582 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
583 pair. This fix bug #57009 (and 2 failing unit tests). Added code
584 to check for some (like MS) overlongs.
586 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
588 * Encoding.cs: Use name const to load I18N assembly.
590 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
592 * Encoding.cs: Call shortcut String.ToLowerInvariant
594 2004-04-13 Miguel de Icaza <miguel@ximian.com>
596 * Encoding.cs: Use new internal codepage setup.
598 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
600 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
602 2004-03-19 Dick Porter <dick@ximian.com>
604 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
605 BOM at the beginning of the range of characters we're interested
606 in, not at the beginning of the array. Fixes bug 51531.
608 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
611 (Insert int, char[]): fix by using new string(char[]) instead of
612 char[].ToString() and simplify.
613 (Insert int, string, int): add LAMESPEC note.
614 (Insert int char[], int, int): handle value==null according to spec.
615 Use a string instead of char array + Array.Copy (gonzalo)
617 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
620 (Append (string)): remove redundant check.
622 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
625 (Remove): fixed offsets when copying and set the new size. Fixes bug
628 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
630 * StringBuilder.cs: added checks for null in a few Append methods.
632 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
634 * StringBuilder.cs: fixed start offset in Append(char).
636 2004-01-12 Patrik Torstensson
638 * StringBuilder.cs: new implementation that uses
639 string as a buffer instead of a array of chars.
641 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
643 * UTF8Encoding.cs (GetBytes string): Do not call base
644 The version in Encoding will call string.ToCharArray (),
645 allocating an extra array. By calling the better method
646 in our own class we can save memory.
648 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
650 * StringBuilder.cs (Insert int, char): It is really silly and
651 wasteful to allocate an array here. We can just copy the value
654 2003-11-11 Miguel de Icaza <miguel@ximian.com>
656 * Encoding.cs: Use an internal variable to track the parameters of
657 each encoder, since the .NET API does not expose virtual methods
658 in the child classes, we should not depend on that.
660 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
661 Initialize the parameters for base class encoding here.
663 2003-09-01 Miguel de Icaza <miguel@ximian.com>
665 * Encoding.cs (UTF8Unmarked): make it also not error out on
666 invalid input, that is what the Microsoft default is for the
667 StreamReader and BinaryReader expect (our main consumers).
669 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
672 (AppendFormat) Use FormatHelper in System.String to avoid
673 allocating an extra StringBuilder.
674 (Append string, int, int), (Append char, int): Both were
675 allocating extra strings.
677 2003-06-05 Nick Drochak <ndrochak@gol.com>
679 * UTF8Encoding.cs: Cleanups according to class status page
681 2003-05-10 Miguel de Icaza <miguel@ximian.com>
683 * Encoding.cs (GetEncoding): Add all the aliases documented in the
684 framework. We were missing a few.
686 Reorganize the table. Also, convert the input name into the
687 lower-case - to _ before we compare against our table.
689 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
691 * StringBuilder.cs: fixed bug #41397.
693 2003-04-12 Miguel de Icaza <miguel@ximian.com>
695 * Encoding.cs: Enabled the code paths that we did have commented
696 out, they seem to work now.
698 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
700 * StringBuilder.cs: cache the result from ToString().
702 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
704 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
705 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
707 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
709 * ASCIIEncoding.cs: fixed bug #38984.
711 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
714 * Latin1Encoding.cs: fix GetString (byte[]) and
715 GetString (byte[], int, int) for zero-length case.
717 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
719 * Latin1Encoding.cs: added Serializable attribute.
721 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
723 * Encoding.cs: removed UnixConsoleEncoding.
725 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
727 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
728 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
729 This fixes the StringBuilder unit tests.
731 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
733 * StringBuilder.cs: fixed typo in set_Length.
735 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
737 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
738 encoding is not found, default to UTF8Unmarked. Removed comment in
739 UnixConsoleEncoding, because it's now Default, which gets the
740 encoding internally using g_get_encoding ().
742 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
744 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
746 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
748 * UTF8Encoding.cs: fix GetByteCount (), too.
750 2002-11-19 Miguel de Icaza <miguel@ximian.com>
752 * UnicodeEncoding.cs: the bytemark should only be used to return
753 information in GetPreamble, not to actually encode the information
754 on the stream. That is taken care of by the Stream classes.
756 * UTF8Encoding.cs: ditto.
758 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
760 * StringBuilder.cs: only move the remaining chars in Remove.
762 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
764 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
765 locking whenever possible.
767 2002-10-30 Miguel de Icaza <miguel@ximian.com>
769 * Encoding.cs (UTF8Unmarked): New static property, used to return
770 a no-markers UTf8 encoder, used in a few places in the class library.
772 2002-09-06 Miguel de Icaza <miguel@ximian.com>
774 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
775 what the Microsoft version does.
777 (UnixConsoleEncoding): New internal method, used to get the
778 encoding, in the future, this should pull the locale, map to
779 charset and then code page.
781 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
783 * Encoding.cs: use icall to get default codepage.
784 * DefaultEncoding.cs: remove useless class.
786 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
788 * *.cs: change to conform to mono coding style.
790 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
798 * UnicodeEncoding.cs: added Serializable attribute.
800 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
802 * StringBuilder.cs: improved performace by using String.InternalCopyTo
803 instead of using ToCharArray all over the place (more that 50% of
804 speed improvement when using Append).
806 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
808 * *.cs: imported the code donated by Rhys Weatherley
809 <rweather@southern-storm.com.au>.
811 2002-08-18 Dick Porter <dick@ximian.com>
813 * Encoding.cs: Make GetString() return a useful representation of
814 the bytes, rather than "System.Char[]"
816 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
818 * StringBuilder.cs: added IndexerName to indexer.
820 2002-08-01 Jason Diamond <jason@injektilo.org>
822 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
823 converting chars to bytes.
825 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
827 * StringBuilder.cs: updated comments. MaxCapacity always returns
830 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
832 * StringBuilder.cs: implemented AppendFormat methods using
833 String.Format. Thanks Paolo!
835 This makes xsp generate correct C# output in linux :-). I still need
836 to do more testing, though.
838 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
840 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
842 2002-05-19 Martin Baulig <martin@gnome.org>
844 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
845 Added exception handling.
847 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
848 Added exception handling.
850 2002/04/02 Nick Drochak <ndrochak@gol.com>
852 * StringBuilder.cs (Append): Removed obsolete overload.
854 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
856 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
858 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
860 * StringBuilder.cs: no need to intern the string returned by ToString().
862 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
864 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
865 dependent on iconv icalls.
866 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
869 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
871 * StringBuilder.cs: make ToString() return a interned string, this
872 seems to be required to make switch on string work.
874 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
876 * StringBuilder.cs: make Append(char) do the smart thing.
878 2002-01-05 Ravi Pratap <ravi@ximian.com>
880 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
881 UnicodeEncoding.cs: MonoTODO attribute marking.
883 * StringBuilder.cs : Ditto.
885 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
887 * Encoding.cs: renamed some fields.
888 * StringBuilder.cs: CLSCompliant updates.
890 2001-10-29 Nick Drochak <ndrochak@gol.com>
892 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
893 invalid. Just like MS does (as best as I can tell).
895 Tests for these exceptions are now added to the unit tests as well.
897 2001-10-25 Nick Drochak <ndrochak@gol.com>
899 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
900 whose capacity is greater than the MaxCapacity.
902 I added some tests for the constructors and the above exception. More
905 2001-10-23 Nick Drochak <ndrochak@gol.com>
907 * StringBuilder.cs: Refactored constructor code into just one
908 constructor. All the other construtors call it. Also supplied missing
909 constructors so the class has all those in the spec.
911 Added the MaxCapacity property as well, however this needs to be
912 completed to return a value is related to the available system memory.
914 2001-10-07 Miguel de Icaza <miguel@ximian.com>
916 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
917 UnicodeEncoding.cs: Corrected API.
919 * UTF8Encoding.cs: Checked in changes from Rafael.
921 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
923 * UTF8Encoding.cs: impl. clumsy GetBytes
925 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
927 * StringBuilder.cs (Text): Fixed.
929 * StringBuilderTest.cs: Implement Test suite.
931 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
933 * StringBuilder.cs: Implemented.
935 The only methods left unimplemented are the AppendFormat( ... )
936 ones just because it's probably better to wait until some of the
937 Format related classes are implemented. I've put that as a TODO
938 comment at the top and created the methods with a "nop" body.
940 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
942 * UnicodeEncoding.cs: Members added so that a clean compile is
945 * ASCIIEncoding.cs: Members added so that a clean compile is
948 * UTF7Encoding.cs: Members added so that a clean compile is
951 * UTF8Encoding.cs: Members added so that a clean compile is
954 * Encoding.cs: All public members included. Most members