1 2007-02-01 Gert Driesen <drieseng@users.sourceforge.net>
3 * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
4 In Encoding.Default, catch both ArgumentException and NotSupportException.
6 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
8 * Encoding.cs : the change broke the build, so reverted part of it.
10 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
12 * Encoding.cs: Also set ParamName of the ArgumentException.
14 2007-01-31 Gert Driesen <drieseng@users.sourceforge.net>
16 * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
17 and above 0xffff. Modified NotSupportedException to ArgumentException in
20 2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
22 * EncoderFallbackBuffer.cs : implement Reset().
24 2006-10-25 Ben Maurer <bmaurer@andrew.cmu.edu>
26 * Encoding.cs: Make the GetByteCcount method used fixed pointers
27 removes quite a few allocations from Banshee.
29 2006-09-03 Zoltan Varga <vargaz@gmail.com>
31 * StringBuilder.cs (.ctor): Add a comment.
33 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
36 Consider DecoderFallback and EncoderFallback in 2.0 Equals()
38 * UTF32Encoding.cs, UTF7Encoding.cs :
39 Fixed GetHashCode() and Equals() as well.
40 Added several missing overrides in 2.0.
42 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
44 * Encoding.cs : implemented IsAlwaysNormalized().
45 * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
48 2006-07-18 Kornél Pál <kornelpal@gmail.com>
50 * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
51 than new string (sbyte*, int, int) that uses Encoding.Default.
52 * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
53 than new string (sbyte*, int, int) that uses Encoding.Default.
55 2006-07-11 Kornél Pál <kornelpal@gmail.com>
57 * StringBuilder.cs: Pad the string with NULL characters when setting
58 Length. This is now documented:
59 http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
61 2006-07-06 Kornél Pál <kornelpal@gmail.com>
63 * CodePageEncoding.cs: Corrected comments.
64 * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
65 ArgumentExceptions in private constructors.
66 * SurrogateEncoder.cs: Corrected comments.
68 2006-07-05 Kornél Pál <kornelpal@gmail.com>
70 * CodePageEncoding.cs: Return the same real object in subsequent
71 calls to GetRealObject ().
72 * MLangCodePageEncoding.cs: Return the same real object in
73 subsequent calls to GetRealObject (). Rename Encoder and Decoder
74 MLangEncoder and MLangDecoder. These classes are not serializable
75 in 1.x although MS.NET 2.0 can deserialize them.
76 * SurrogateEncoder.cs: Return the same real object in subsequent
77 calls to GetRealObject ().
79 2006-07-04 Kornél Pál <kornelpal@gmail.com>
81 * CodePageEncoding.cs: Added comment on usage.
82 * MLangCodePageEncoding.cs: Added comment on usage.
83 * SurrogateEncoder.cs: Added comment on usage.
85 2006-07-03 Kornél Pál <kornelpal@gmail.com>
87 * CodePageEncoding.cs: Added.
88 * MLangCodePageEncoding.cs: Added.
89 * SurrogateEncoder.cs: Added.
91 2006-06-27 Atsushi Enomoto <atsushi@ximian.com>
93 * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
95 2006-06-24 Kornél Pál <kornelpal@gmail.com>
97 * UnicodeEncoding.cs: Don't detect byte order. Only readers like
98 StreamReader should detect byte order marks.
100 2006-06-21 Kornél Pál <kornelpal@gmail.com>
102 * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
105 2006-06-06 Kornél Pál <kornelpal@gmail.com>
107 * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
108 profile 1.x as well because performance improvement is worth the
109 signature difference. (Fix regression of r61250.)
111 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
113 * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
114 Marked 2.0-only members as ComVisible (false).
115 * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
116 2.0-only members as ComVisible (false).
117 * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
118 2.0-only members as ComVisible (false).
119 * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
120 2.0-only members as ComVisible (false).
121 * NormalizationForm.cs: Marked ComVisible (true).
122 * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
123 Marked 2.0-only methods as ComVisible (false).
124 * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
125 in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
126 missing ctor in 2.0 profile, and marked in MonoTODO.
127 * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
128 * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
130 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
132 * EncodingInfo.cs, Encoding.cs :
133 Implemented Encoding.GetEncodings(). It's so hacky!
135 2006-04-13 Kornél Pál <kornelpal@gmail.com>
137 * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
138 as MS.NET does. This is a more reasonable high level wrapper
140 * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
141 instead of using GetBytesInternal to be MS.NET compatible.
142 Override GetString (byte [], int, int) to speed up string creation.
144 2006-04-13 Atsushi Enomoto <atsushi@ximian.com>
146 * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
148 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
150 * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
151 check in some methods.
153 2006-03-30 Atsushi Enomoto <atsushi@ximian.com>
155 * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
156 there are optimizations, but for now we need something just works).
158 2006-03-24 Atsushi Enomoto <atsushi@ximian.com>
160 * UTF8Encoding.cs : made internal implementation as pointer-based,
161 and added pointer-based converter method overloads.
163 2006-03-21 Kornél Pál <kornelpal@gmail.com>
165 * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
168 2006-03-09 Zoltan Varga <vargaz@gmail.com>
170 * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
172 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
174 * UTF8Encoding.cs : Fallback was indicating incorrect index.
177 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
179 * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
180 in IL. 10% performance improvement.
182 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
184 * UTF8Encoding.cs : avoid possible overflow.
186 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
188 * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
189 be checked. Also it should not ignore leftOver characters even if
190 byte buffer length is 0.
192 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
194 * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
195 and InternalGetBytes().
197 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
200 actually leftover bits needs more careful handleding. So it's
201 better to be rather close to the original GetBytes().
202 Also changed leftOver handling so that it will be able to support
205 2006-02-03 Atsushi Enomoto <atsushi@ximian.com>
208 GetBytes(string, ...) could reuse InternalGetBytes() using fixed
209 pointers. However, InternalGetBytes() was slower than
210 GetBytes(string, ...), so first replaced existing InternalGetBytes()
211 with GetBytes() internals, and GetBytes(string, ...) switched to
212 InternalGetBytes(). Now GetBytes() implementation code is reduced
215 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
217 * UTF8Encoding.cs : fast path optimization was pretty insufficient.
218 Now it handles the entire bytes, not just half of them.
220 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
222 * UTF8Encoding.cs : zero-length check was wrong. Check it by
223 "charIndex == chars.Length" instead of "charCount == 0".
225 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
227 * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
228 Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
230 2006-01-30 Atsushi Enomoto <atsushi@ximian.com>
232 * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
233 this time InternalGetChars() as well.
235 2006-01-24 Mike Glenn <mglenn@zoominternet.net>
237 * StringBuilder.cs: Avoid computing computation for the string
240 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
242 * UTF8Encoding.cs : reverted the previous change. Looks like it broke
245 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
247 * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
250 2006-01-24 Atsushi Enomoto <atsushi@ximian.com>
252 * UTF7Encoding.cs UTF8Encoding.cs :
253 Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
254 Make strict check for invalid surrogate.
256 2006-01-23 Atsushi Enomoto <atsushi@ximian.com>
258 * EncoderFallbackException.cs EncoderExceptionFallback.cs
259 DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
260 EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
261 EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
262 DecoderFallbackException.cs DecoderExceptionFallback.cs
263 DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
264 EncoderReplacementFallbackBuffer.cs :
265 include them in net_2_0bootstrap build.
267 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
269 * Decoder.cs : ditto.
271 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
273 * Encoder.cs : Fallback should be initialized to have an instance.
275 2006-01-20 Atsushi Enomoto <atsushi@ximian.com>
277 * Encoding.cs : Cloned instances should not be read-only.
279 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
281 * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
283 2005-12-08 Atsushi Enomoto <atsushi@ximian.com>
285 * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
286 byte*-based GetBytes().
287 * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
288 which came to happen after introducing fallback buffer.
290 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
292 * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
295 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
297 * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
298 Added FallbackBuffer.
299 * Decoder.cs : added new GetCharCount()/GetChars() overloads.
301 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
303 * EncodingInfo.cs : new file.
305 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
307 * UTF32Encoding.cs : Sealed. Added the overload which has
308 throwOnInvalid parameter.
309 * NormalizationForm.cs : removed [Serializable].
311 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
313 * Encoding.cs : added UTF32.
315 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
317 * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
320 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
322 * UTF32Encoding.cs : new file.
324 2005-11-22 Atsushi Enomoto <atsushi@ximian.com>
326 * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
327 * Encoding.cs : changed default fallback selection. Seems like only
328 ASCII and GB18030 uses '?' for replacement.
329 * UTF8Encoding.cs : now that Fallback is read only by default, we
332 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
334 * UTF8Encoding.cs : safer UTF8Decoder ctor.
336 2005-11-16 Atsushi Enomoto <atsushi@ximian.com>
338 * Decoder.cs : added FallbackBuffer property.
339 * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
342 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
344 * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
346 * EncoderReplacementFallbackBuffer.cs : implemented.
347 * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
350 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
352 * DecoderFallbackBuffer.cs : Reset() does nothing here.
353 * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
354 bytesUnknown is used.
356 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
358 * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
360 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
362 * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
363 * Encoder.cs : Added Fallback property.
364 * Decoder.cs : Added Fallback property.
366 2005-11-15 Atsushi Enomoto <atsushi@ximian.com>
368 * EncoderFallbackBuffer.cs, EncoderFallback.cs,
369 EncoderExceptionFallbackBuffer.cs,
370 EncoderReplacementFallbackBuffer.cs,
371 EncoderFallbackException.cs,
372 EncoderExceptionFallback.cs,
373 EncoderReplacementFallback.cs : new files (not actually used yet).
374 * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
375 DecoderReplacementFallback.cs : [Serializable] and sealed.
376 * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
378 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
380 * DecoderFallbackBuffer.cs, DecoderFallback.cs,
381 DecoderExceptionFallbackBuffer.cs,
382 DecoderReplacementFallbackBuffer.cs,
383 DecoderFallbackException.cs,
384 DecoderExceptionFallback.cs,
385 DecoderReplacementFallback.cs : new files (not actually used yet).
387 2005-11-14 Miguel de Icaza <miguel@novell.com>
389 * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
392 Also add some checks that were missing.
394 2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
396 * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
397 were failing under 2.0) and two possible integer overflow in CopyTo.
399 2005-11-11 Miguel de Icaza <miguel@novell.com>
401 * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
403 * StringBuilder.cs (Text): Added serialization support in 2.x.
405 2005-10-22 Jonathan Pryor <jonpryor@vt.edu>
407 * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
408 check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
409 for 0xFF, even though 0xFF isn't a valid lead byte. It should be
410 ((ch & 0xFE) == 0xFC).
412 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
414 * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
415 Don't exclude FEFF in the resulting text.
417 2005-06-21 Ben Maurer <bmaurer@ximian.com>
419 * StringBuilder.cs (Replace): Do the correct thing when we replace
420 with a longer string. Thanks to Alexander Beznozdrev
421 <abeznozdrev@croc.ru>
423 2005-05-26 Ben Maurer <bmaurer@ximian.com>
425 * Encoding.cs: Use static object for locking. `volatile' to
426 prevent double checked locking error.
428 * StringBuilder.cs: Remove = null inits on fields, saves a few
429 instructions. When we compare _cached_str == _str, we are only
430 interested in pointer based equality, so just do that.
432 2005-05-06 Ben Maurer <bmaurer@ximian.com>
434 * StringBuilder.cs (InternalEnsureCapacity): It is possible that
435 the size we attempt to grow to is more than the max capacity, but
436 that a smaller size will do. In this case, don't throw an
437 exception. Fixes #72244
439 2005-04-16 Atsushi Enomoto <atsushi@ximian.com>
441 * NormalizationForm.cs : new file.
443 2005-03-20 Ben Maurer <bmaurer@ximian.com>
445 * StringBuilder.cs (set_Length): If we set the length, we must
446 clobber the cached string.
448 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
450 * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
453 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
455 * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
456 whose length is greater than 3. Patch by Svetlana Zholkovsky.
458 2005-01-31 Ben Maurer <bmaurer@ximian.com>
460 * StringBuilder.cs (Remove): We need to do the check that the
461 string isnt being cached *before* we munge it.
463 2005-01-21 Ben Maurer <bmaurer@ximian.com>
465 * StringBuilder.cs: Don't allocate memory on the .ctor, do it
466 lazily. This saves us lots of memory if you only use the
467 stringbuilder once. Also, we can allocate on the second Append,
468 which might reduce the number of buffers allocated.
470 2005-01-14 Lluis Sanches Gual <lluis@novell.com>
472 * StringBuilder.cs: Improved parameter check.
474 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
476 * StringBuilder.cs: when creating the StringBuilder from a string, the
477 maximum capacity remains Int32.MaxValue.
479 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481 * StringBuilder.cs: throw if the new size is greater than the maximum
482 capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
485 2004-12-15 Sebastien Pouliot <sebastien@ximian.com>
487 * UTF7Encoding.cs: Fixed warning for unused variable.
489 2004-09-30 Juraj Skripsky <js@hotfeet.ch>
491 * Encoding.cs: Add encoding name "latin1" for compatibility with
494 2004-09-25 Zoltan Varga <vargaz@freemail.hu>
496 * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
498 2004-09-09 Tim Coleman <tim@timcoleman.com>
500 * StringBuilder.cs: Added AppendLine methods for Fx 2.0
502 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
504 * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
505 Follow the RFC1642 rules for "overbits".
507 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
509 * ASCIIEncoding.cs: added TODO for serialization
510 * StringBuilder.cs: added TODO for serialization
511 * UnicodeEncoding.cs: added TODO for serialization
512 * UTF7Encoding.cs: added TODO for serialization
513 * UTF8Encoding.cs: added TODO for serialization
515 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
517 * Encoding.cs: Marked protected internal field as internal to
520 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
522 * UTF8Encoding.cs : Length check must be done only when the character
523 sequence is valid (i.e. should not check when it is overlongs).
524 See also TestThrowOnInvalid().
526 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
528 * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
530 2004-06-07 Atsushi Enomoto <atsushi@ximian.com>
532 * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
533 true. Otherwise just ignore them.
535 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
537 * StringBuilder.cs: Fixed potential integer overflows in several
540 2004-05-14 Sebastien Pouliot <sebastien@ximian.com>
542 * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
543 pair. This fix bug #57009 (and 2 failing unit tests). Added code
544 to check for some (like MS) overlongs.
546 2004-05-03 Lluis Sanches Gual <lluis@ximian.com>
548 * Encoding.cs: Use name const to load I18N assembly.
550 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
552 * Encoding.cs: Call shortcut String.ToLowerInvariant
554 2004-04-13 Miguel de Icaza <miguel@ximian.com>
556 * Encoding.cs: Use new internal codepage setup.
558 2004-04-10 Atsushi Enomoto <atsushi@ximian.com>
560 * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
562 2004-03-19 Dick Porter <dick@ximian.com>
564 * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
565 BOM at the beginning of the range of characters we're interested
566 in, not at the beginning of the array. Fixes bug 51531.
568 2004-03-10 Juraj Skripsky <juraj@hotfeet.ch>
571 (Insert int, char[]): fix by using new string(char[]) instead of
572 char[].ToString() and simplify.
573 (Insert int, string, int): add LAMESPEC note.
574 (Insert int char[], int, int): handle value==null according to spec.
575 Use a string instead of char array + Array.Copy (gonzalo)
577 2004-03-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
580 (Append (string)): remove redundant check.
582 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
585 (Remove): fixed offsets when copying and set the new size. Fixes bug
588 2004-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
590 * StringBuilder.cs: added checks for null in a few Append methods.
592 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
594 * StringBuilder.cs: fixed start offset in Append(char).
596 2004-01-12 Patrik Torstensson
598 * StringBuilder.cs: new implementation that uses
599 string as a buffer instead of a array of chars.
601 2003-12-07 Ben Maurer <bmaurer@users.sourceforge.net>
603 * UTF8Encoding.cs (GetBytes string): Do not call base
604 The version in Encoding will call string.ToCharArray (),
605 allocating an extra array. By calling the better method
606 in our own class we can save memory.
608 2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
610 * StringBuilder.cs (Insert int, char): It is really silly and
611 wasteful to allocate an array here. We can just copy the value
614 2003-11-11 Miguel de Icaza <miguel@ximian.com>
616 * Encoding.cs: Use an internal variable to track the parameters of
617 each encoder, since the .NET API does not expose virtual methods
618 in the child classes, we should not depend on that.
620 * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
621 Initialize the parameters for base class encoding here.
623 2003-09-01 Miguel de Icaza <miguel@ximian.com>
625 * Encoding.cs (UTF8Unmarked): make it also not error out on
626 invalid input, that is what the Microsoft default is for the
627 StreamReader and BinaryReader expect (our main consumers).
629 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
632 (AppendFormat) Use FormatHelper in System.String to avoid
633 allocating an extra StringBuilder.
634 (Append string, int, int), (Append char, int): Both were
635 allocating extra strings.
637 2003-06-05 Nick Drochak <ndrochak@gol.com>
639 * UTF8Encoding.cs: Cleanups according to class status page
641 2003-05-10 Miguel de Icaza <miguel@ximian.com>
643 * Encoding.cs (GetEncoding): Add all the aliases documented in the
644 framework. We were missing a few.
646 Reorganize the table. Also, convert the input name into the
647 lower-case - to _ before we compare against our table.
649 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
651 * StringBuilder.cs: fixed bug #41397.
653 2003-04-12 Miguel de Icaza <miguel@ximian.com>
655 * Encoding.cs: Enabled the code paths that we did have commented
656 out, they seem to work now.
658 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
660 * StringBuilder.cs: cache the result from ToString().
662 2003-03-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
664 * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
665 (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
667 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
669 * ASCIIEncoding.cs: fixed bug #38984.
671 2003-03-05 Aleksey Demakov <avd@openlinksw.com>
674 * Latin1Encoding.cs: fix GetString (byte[]) and
675 GetString (byte[], int, int) for zero-length case.
677 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
679 * Latin1Encoding.cs: added Serializable attribute.
681 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
683 * Encoding.cs: removed UnixConsoleEncoding.
685 2003-01-30 Zoltan Varga <vargaz@freemail.hu>
687 * StringBuilder.cs: fix the constructor: 'value' can be NULL,
688 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
689 This fixes the StringBuilder unit tests.
691 2003-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
693 * StringBuilder.cs: fixed typo in set_Length.
695 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
697 * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
698 encoding is not found, default to UTF8Unmarked. Removed comment in
699 UnixConsoleEncoding, because it's now Default, which gets the
700 encoding internally using g_get_encoding ().
702 2002-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
704 * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
706 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
708 * UTF8Encoding.cs: fix GetByteCount (), too.
710 2002-11-19 Miguel de Icaza <miguel@ximian.com>
712 * UnicodeEncoding.cs: the bytemark should only be used to return
713 information in GetPreamble, not to actually encode the information
714 on the stream. That is taken care of by the Stream classes.
716 * UTF8Encoding.cs: ditto.
718 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
720 * StringBuilder.cs: only move the remaining chars in Remove.
722 2002-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
724 * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
725 locking whenever possible.
727 2002-10-30 Miguel de Icaza <miguel@ximian.com>
729 * Encoding.cs (UTF8Unmarked): New static property, used to return
730 a no-markers UTf8 encoder, used in a few places in the class library.
732 2002-09-06 Miguel de Icaza <miguel@ximian.com>
734 * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
735 what the Microsoft version does.
737 (UnixConsoleEncoding): New internal method, used to get the
738 encoding, in the future, this should pull the locale, map to
739 charset and then code page.
741 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
743 * Encoding.cs: use icall to get default codepage.
744 * DefaultEncoding.cs: remove useless class.
746 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
748 * *.cs: change to conform to mono coding style.
750 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
758 * UnicodeEncoding.cs: added Serializable attribute.
760 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
762 * StringBuilder.cs: improved performace by using String.InternalCopyTo
763 instead of using ToCharArray all over the place (more that 50% of
764 speed improvement when using Append).
766 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
768 * *.cs: imported the code donated by Rhys Weatherley
769 <rweather@southern-storm.com.au>.
771 2002-08-18 Dick Porter <dick@ximian.com>
773 * Encoding.cs: Make GetString() return a useful representation of
774 the bytes, rather than "System.Char[]"
776 2002-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
778 * StringBuilder.cs: added IndexerName to indexer.
780 2002-08-01 Jason Diamond <jason@injektilo.org>
782 * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
783 converting chars to bytes.
785 2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
787 * StringBuilder.cs: updated comments. MaxCapacity always returns
790 2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
792 * StringBuilder.cs: implemented AppendFormat methods using
793 String.Format. Thanks Paolo!
795 This makes xsp generate correct C# output in linux :-). I still need
796 to do more testing, though.
798 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
800 * ASCIIEncoding.cs: fixed handling of 0 bytecount.
802 2002-05-19 Martin Baulig <martin@gnome.org>
804 * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
805 Added exception handling.
807 * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
808 Added exception handling.
810 2002/04/02 Nick Drochak <ndrochak@gol.com>
812 * StringBuilder.cs (Append): Removed obsolete overload.
814 2002-03-21 Mike Kestner <mkestner@speakeasy.net>
816 * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
818 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
820 * StringBuilder.cs: no need to intern the string returned by ToString().
822 2002-03-17 Mike Kestner <mkestner@speakeasy.net>
824 * ASCIIEncoding.cs: Implement all the overridden methods. No longer
825 dependent on iconv icalls.
826 * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
829 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
831 * StringBuilder.cs: make ToString() return a interned string, this
832 seems to be required to make switch on string work.
834 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
836 * StringBuilder.cs: make Append(char) do the smart thing.
838 2002-01-05 Ravi Pratap <ravi@ximian.com>
840 * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
841 UnicodeEncoding.cs: MonoTODO attribute marking.
843 * StringBuilder.cs : Ditto.
845 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
847 * Encoding.cs: renamed some fields.
848 * StringBuilder.cs: CLSCompliant updates.
850 2001-10-29 Nick Drochak <ndrochak@gol.com>
852 * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
853 invalid. Just like MS does (as best as I can tell).
855 Tests for these exceptions are now added to the unit tests as well.
857 2001-10-25 Nick Drochak <ndrochak@gol.com>
859 * StringBuilder.cs: Throw exception if they try to make a StringBuilder
860 whose capacity is greater than the MaxCapacity.
862 I added some tests for the constructors and the above exception. More
865 2001-10-23 Nick Drochak <ndrochak@gol.com>
867 * StringBuilder.cs: Refactored constructor code into just one
868 constructor. All the other construtors call it. Also supplied missing
869 constructors so the class has all those in the spec.
871 Added the MaxCapacity property as well, however this needs to be
872 completed to return a value is related to the available system memory.
874 2001-10-07 Miguel de Icaza <miguel@ximian.com>
876 * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
877 UnicodeEncoding.cs: Corrected API.
879 * UTF8Encoding.cs: Checked in changes from Rafael.
881 2001-08-28 Dietmar Maurer <dietmar@ximian.com>
883 * UTF8Encoding.cs: impl. clumsy GetBytes
885 2001-07-16 Marcin Szczepanski <marcins@zipworld.com.au>
887 * StringBuilder.cs (Text): Fixed.
889 * StringBuilderTest.cs: Implement Test suite.
891 2001-07-12 Marcin Szczepanski <marcins@zipworld.com.au>
893 * StringBuilder.cs: Implemented.
895 The only methods left unimplemented are the AppendFormat( ... )
896 ones just because it's probably better to wait until some of the
897 Format related classes are implemented. I've put that as a TODO
898 comment at the top and created the methods with a "nop" body.
900 2001-06-26 Sean MacIsaac <macisaac@ximian.com>
902 * UnicodeEncoding.cs: Members added so that a clean compile is
905 * ASCIIEncoding.cs: Members added so that a clean compile is
908 * UTF7Encoding.cs: Members added so that a clean compile is
911 * UTF8Encoding.cs: Members added so that a clean compile is
914 * Encoding.cs: All public members included. Most members