New tests.
[mono.git] / mcs / class / corlib / System.Text / ChangeLog
1 2010-03-16  Jb Evain  <jbevain@novell.com>
2
3         * StringBuilder.cs, Encoding.cs: use MOONLIGHT symbol to
4         disambiguate MonoTouch and Moonlight code.
5
6 2010-02-02  Jb Evain  <jbevain@novell.com>
7
8         * ASCIIEncoding.cs, Latin1Encoding.cs: remove duplicated code.
9
10 2009-12-09  Chris Toshok  <toshok@ximian.com>
11
12         * Encoding.cs (get_Default): moonlight defaults to UTF8, not
13         UTF8Unmarked.
14         
15 2009-11-24  Marek Safar  <marek.safar@gmail.com>
16
17         * UTF8Encoding.cs (GetPreamble): Let compiler optimize it.
18
19 2009-11-02  Miguel de Icaza  <miguel@novell.com>
20
21         * Jumbo patch to drop support for pre-NET_2_0 code:
22
23         Remove NET_2_0 defines assuming the value is true.
24
25 2009-10-22  Miguel de Icaza  <miguel@novell.com>
26
27         * StringBuilder.cs (Text): Add new 4.0 method.
28
29 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
30
31         * Encoding.cs: Remove normalization methods for Moonlight
32
33 2009-09-23  Sebastien Pouliot  <sebastien@ximian.com>
34
35         * Encoding.cs: Add back UTF32 since it's useful for smcs
36
37 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
38
39         * Encoding.cs: Remove UTF32, Latin1 and custom (loaded code)
40         encodings for NET_2_1
41
42 2009-07-28  Miguel de Icaza  <miguel@novell.com>
43
44         * UTF8Encoding.cs: Small optimization, reuse the static
45         EncoderFallback and DecoderFallback instead of creating new ones. 
46
47         * UTF8Encoding.cs: Use Equals to compare the objects as the
48         fallback objects do not overload operator ==.    The comparison
49         was previously failing.
50
51 2009-07-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
52
53         * StringBuilder.cs: don't throw on null values in ctor(string, int).
54         Unify another ctor into the main one to account for MaxCapacity.
55
56 2009-07-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
57
58         * StringBuilder.cs: small fixes dealing with _maxCapacity.
59
60 2009-02-05  Gert Driesen  <drieseng@users.sourceforge.net>
61
62         * UTF32Encoding.cs: Added missing argument check in GetByteCount 
63         (char*, int) overload.
64
65 2009-02-04  Atsushi Enomoto  <atsushi@ximian.com>
66
67         * UTF32Encoding.cs : fixed wrong range in GetByteCount(). Patch by
68           David Michell.
69
70 2009-01-30  Atsushi Enomoto  <atsushi@ximian.com>
71
72         * UTF8Encoding.cs : surrogate characters are handled in 
73           InternalGetChars() but not in InternalGetCharCount().
74           Fixed bug #415628.
75
76 2009-01-13  Jb Evain  <jbevain@novell.com>
77
78         * Encoding.cs: when creating a ForwardingEncoder or a
79         ForwardingDecoder, don't crash if the Encoding doesn't
80         provide an EncoderFallback or a DecoderFallback.
81
82 Mon Oct 6 09:46:09 CEST 2008 Paolo Molaro <lupus@ximian.com>
83
84         * UTF8Encoding.cs: rewritten InternalGetByteCount () and
85         InternalGetBytes (): among other things this versions are
86         10% to 60% faster, depending on input type and size.
87
88 2008-09-28  Juraj Skripsky  <js@hotfeet.ch>
89
90         * StringBuilder.cs (Replace): Return early when no oldValue was 
91         found. Avoid extra string allocations.
92
93 2008-07-03  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
94
95         * UTF8Encoding.cs: Fix parameter names, Remove unfounded TODO
96
97 2008-07-03  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
98
99         * UTF8Encoding.cs:
100         * UTF7Encoding.cs:
101         * UTF32Encoding.cs:
102         * EncodingInfo.cs:
103         * Encoding.cs:
104         * Encoder.cs:
105         * ASCIIEncoding.cs: Fix parameter names
106
107 2008-06-01  Juraj Skripsky  <js@hotfeet.ch>
108
109         * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
110         of String.Substring, as the former is guaranteed to create a new
111         string object. Fixes bug #395904.
112
113 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
114
115         * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
116
117 2008-04-09  Atsushi Enomoto  <atsushi@ximian.com>
118
119         * UTF7Encoding.cs :
120           Fixed misplaced leftOverSize reset in InternalGetCharCount().
121           Fixed base64 value for '+' (the value is actually unused though).
122
123 2008-03-27  Kornél Pál  <kornelpal@gmail.com>
124
125         * Encoding.cs: Fix possible integer overflow in argument validation.
126
127 2008-02-10  Sebastien Pouliot  <sebastien@ximian.com>
128
129         * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
130         check. Found using Gendarme new UseIsOperator rule.
131         * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
132         check. Found using Gendarme new UseIsOperator rule.
133
134 2007-12-27  Atsushi Enomoto  <atsushi@ximian.com>
135
136         * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
137           the same "\uFFFD" fix for encoder fallback.
138           Reduced extra instantiation of those fallbacks.
139
140 2007-10-27  Atsushi Enomoto  <atsushi@ximian.com>
141
142         * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
143
144 2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
145
146         * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
147           UTF8.
148
149 2007-10-25  Atsushi Enomoto  <atsushi@ximian.com>
150
151         * UnicodeEncoding.cs : fix build.
152
153 2007-10-25  Atsushi Enomoto  <atsushi@ximian.com>
154
155         * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
156           input buffer. When fallback is not assigned, just return '\0'.
157         * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
158           Default replacement fallback buffer is now "\uFFFD".
159         * UTF8Encoding.cs : couple of replacement buffer size fixes.
160           Default replacement fallback buffer is now "\uFFFD".
161         * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
162           See http://support.microsoft.com/kb/940521/ for this change.
163
164 2007-08-15  Jb Evain  <jbveain@novell.com>
165
166         * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
167         the compile picks up the adequate method when AppendFormat
168         is used in 2.1 platform code.
169
170 2007-07-28  Miguel de Icaza  <miguel@novell.com>
171
172         * StringBuilder.cs (Text): Check for null, from Jesse Jones.
173
174 2007-05-03  Dick Porter  <dick@ximian.com>
175
176         * Encoding.cs: 
177         * UnicodeEncoding.cs: 
178         * UTF7Encoding.cs: Update to 2.0 profile
179
180 2007-02-01  Gert Driesen  <drieseng@users.sourceforge.net>
181
182         * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
183         In Encoding.Default, catch both ArgumentException and NotSupportException.
184
185 2007-02-01  Atsushi Enomoto  <atsushi@ximian.com>
186
187         * Encoding.cs : the change broke the build, so reverted part of it.
188
189 2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
190
191         * Encoding.cs: Also set ParamName of the ArgumentException.
192
193 2007-01-31  Gert Driesen  <drieseng@users.sourceforge.net>
194
195         * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
196         and above 0xffff. Modified NotSupportedException to ArgumentException in
197         GetEncoding (string).
198
199 2006-12-18  Atsushi Enomoto  <atsushi@ximian.com>
200
201         * EncoderFallbackBuffer.cs : implement Reset().
202
203 2006-10-25  Ben Maurer  <bmaurer@andrew.cmu.edu>
204
205         * Encoding.cs: Make the GetByteCcount method used fixed pointers
206         removes quite a few allocations from Banshee.
207
208 2006-09-03  Zoltan Varga  <vargaz@gmail.com>
209
210         * StringBuilder.cs (.ctor): Add a comment.
211
212 2006-08-24  Atsushi Enomoto  <atsushi@ximian.com>
213
214         * Encoding.cs :
215           Consider DecoderFallback and EncoderFallback in 2.0 Equals()
216           and GetHashCode().
217         * UTF32Encoding.cs, UTF7Encoding.cs :
218           Fixed GetHashCode() and Equals() as well.
219           Added several missing overrides in 2.0.
220
221 2006-08-24  Atsushi Enomoto  <atsushi@ximian.com>
222
223         * Encoding.cs : implemented IsAlwaysNormalized().
224         * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
225           for FormC.
226
227 2006-07-18  Kornél Pál  <kornelpal@gmail.com>
228
229         * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
230           than new string (sbyte*, int, int) that uses Encoding.Default.
231         * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
232           than new string (sbyte*, int, int) that uses Encoding.Default.
233
234 2006-07-11  Kornél Pál  <kornelpal@gmail.com>
235
236         * StringBuilder.cs: Pad the string with NULL characters when setting
237         Length. This is now documented:
238         http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
239
240 2006-07-06  Kornél Pál  <kornelpal@gmail.com>
241
242         * CodePageEncoding.cs: Corrected comments.
243         * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
244           ArgumentExceptions in private constructors.
245         * SurrogateEncoder.cs: Corrected comments.
246
247 2006-07-05  Kornél Pál  <kornelpal@gmail.com>
248
249         * CodePageEncoding.cs: Return the same real object in subsequent
250           calls to GetRealObject ().
251         * MLangCodePageEncoding.cs: Return the same real object in
252           subsequent calls to GetRealObject (). Rename Encoder and Decoder
253           MLangEncoder and MLangDecoder. These classes are not serializable
254           in 1.x although MS.NET 2.0 can deserialize them.
255         * SurrogateEncoder.cs: Return the same real object in subsequent
256           calls to GetRealObject ().
257
258 2006-07-04  Kornél Pál  <kornelpal@gmail.com>
259
260         * CodePageEncoding.cs: Added comment on usage.
261         * MLangCodePageEncoding.cs: Added comment on usage.
262         * SurrogateEncoder.cs: Added comment on usage.
263
264 2006-07-03  Kornél Pál  <kornelpal@gmail.com>
265
266         * CodePageEncoding.cs: Added.
267         * MLangCodePageEncoding.cs: Added.
268         * SurrogateEncoder.cs: Added.
269
270 2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
271
272         * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
273
274 2006-06-24  Kornél Pál  <kornelpal@gmail.com>
275
276         * UnicodeEncoding.cs: Don't detect byte order. Only readers like
277           StreamReader should detect byte order marks.
278
279 2006-06-21  Kornél Pál  <kornelpal@gmail.com>
280
281         * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
282           GetEncoding (int)
283
284 2006-06-06  Kornél Pál  <kornelpal@gmail.com>
285
286         * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
287           profile 1.x as well because performance improvement is worth the
288           signature difference. (Fix regression of r61250.)
289
290 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
291
292         * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
293         Marked 2.0-only members as ComVisible (false).
294         * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
295         2.0-only members as ComVisible (false).
296         * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
297         2.0-only members as ComVisible (false).
298         * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
299         2.0-only members as ComVisible (false).
300         * NormalizationForm.cs: Marked ComVisible (true).
301         * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile. 
302         Marked 2.0-only methods as ComVisible (false).
303         * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
304         in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
305         missing ctor in 2.0 profile, and marked in MonoTODO.
306         * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
307         * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
308
309 2006-05-25  Atsushi Enomoto  <atsushi@ximian.com>
310
311         * EncodingInfo.cs, Encoding.cs :
312           Implemented Encoding.GetEncodings(). It's so hacky!
313
314 2006-04-13  Kornél Pál  <kornelpal@gmail.com>
315
316         * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
317           as MS.NET does. This is a more reasonable high level wrapper
318           implementation.
319         * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
320           instead of using GetBytesInternal to be MS.NET compatible.
321           Override GetString (byte [], int, int) to speed up string creation.
322
323 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
324
325         * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
326
327 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
328
329         * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
330           check in some methods.
331
332 2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
333
334         * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
335           there are optimizations, but for now we need something just works).
336
337 2006-03-24  Atsushi Enomoto  <atsushi@ximian.com>
338
339         * UTF8Encoding.cs : made internal implementation as pointer-based,
340           and added pointer-based converter method overloads.
341
342 2006-03-21  Kornél Pál  <kornelpal@gmail.com>
343
344         * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
345           up conversion.
346
347 2006-03-09  Zoltan Varga  <vargaz@gmail.com>
348
349         * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
350
351 2006-02-14  Atsushi Enomoto  <atsushi@ximian.com>
352
353         * UTF8Encoding.cs : Fallback was indicating incorrect index.
354           Fixed bug #77550.
355
356 2006-02-10  Atsushi Enomoto  <atsushi@ximian.com>
357
358         * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
359           in IL. 10% performance improvement.
360
361 2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
362
363         * UTF8Encoding.cs : avoid possible overflow.
364
365 2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
366
367         * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
368           be checked. Also it should not ignore leftOver characters even if
369           byte buffer length is 0.
370
371 2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
372
373         * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
374           and InternalGetBytes().
375
376 2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
377
378         * UTF8Encoding.cs :
379           actually leftover bits needs more careful handleding. So it's
380           better to be rather close to the original GetBytes().
381           Also changed leftOver handling so that it will be able to support
382           fallback.
383
384 2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
385
386         * UTF8Encoding.cs :
387           GetBytes(string, ...) could reuse InternalGetBytes() using fixed
388           pointers. However, InternalGetBytes() was slower than
389           GetBytes(string, ...), so first replaced existing InternalGetBytes()
390           with GetBytes() internals, and GetBytes(string, ...) switched to 
391           InternalGetBytes(). Now GetBytes() implementation code is reduced
392           to one method.
393
394 2006-02-02  Atsushi Enomoto  <atsushi@ximian.com>
395
396         * UTF8Encoding.cs : fast path optimization was pretty insufficient.
397           Now it handles the entire bytes, not just half of them.
398
399 2006-02-02  Atsushi Enomoto  <atsushi@ximian.com>
400
401         * UTF8Encoding.cs : zero-length check was wrong. Check it by
402           "charIndex == chars.Length" instead of "charCount == 0".
403
404 2006-02-02  Atsushi Enomoto  <atsushi@ximian.com>
405
406         * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
407           Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
408
409 2006-01-30  Atsushi Enomoto  <atsushi@ximian.com>
410
411         * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
412           this time InternalGetChars() as well.
413
414 2006-01-24  Mike Glenn <mglenn@zoominternet.net>
415
416         * StringBuilder.cs: Avoid computing computation for the string
417         length twice.
418
419 2006-01-24  Atsushi Enomoto  <atsushi@ximian.com>
420
421         * UTF8Encoding.cs : reverted the previous change. Looks like it broke
422           the build.
423
424 2006-01-24  Atsushi Enomoto  <atsushi@ximian.com>
425
426         * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
427           for ASCII range.
428
429 2006-01-24  Atsushi Enomoto  <atsushi@ximian.com>
430
431         * UTF7Encoding.cs UTF8Encoding.cs :
432           Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
433           Make strict check for invalid surrogate.
434
435 2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>
436
437         * EncoderFallbackException.cs EncoderExceptionFallback.cs
438           DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
439           EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
440           EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
441           DecoderFallbackException.cs DecoderExceptionFallback.cs
442           DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
443           EncoderReplacementFallbackBuffer.cs :
444           include them in net_2_0bootstrap build.
445
446 2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>
447
448         * Decoder.cs : ditto.
449
450 2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>
451
452         * Encoder.cs : Fallback should be initialized to have an instance.
453
454 2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>
455
456         * Encoding.cs : Cloned instances should not be read-only.
457
458 2005-12-08  Atsushi Enomoto  <atsushi@ximian.com>
459
460         * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
461
462 2005-12-08  Atsushi Enomoto  <atsushi@ximian.com>
463
464         * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
465           byte*-based GetBytes().
466         * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
467           which came to happen after introducing fallback buffer.
468
469 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
470
471         * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
472           Added IsSingleByte.
473
474 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
475
476         * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
477           Added FallbackBuffer.
478         * Decoder.cs : added new GetCharCount()/GetChars() overloads.
479
480 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
481
482         * EncodingInfo.cs : new file.
483
484 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
485
486         * UTF32Encoding.cs : Sealed. Added the overload which has
487           throwOnInvalid parameter.
488         * NormalizationForm.cs : removed [Serializable].
489
490 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
491
492         * Encoding.cs : added UTF32.
493
494 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
495
496         * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the 
497           endianness is big.
498
499 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
500
501         * UTF32Encoding.cs : new file.
502
503 2005-11-22  Atsushi Enomoto  <atsushi@ximian.com>
504
505         * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
506         * Encoding.cs : changed default fallback selection. Seems like only
507           ASCII and GB18030 uses '?' for replacement.
508         * UTF8Encoding.cs : now that Fallback is read only by default, we
509           need special setter.
510
511 2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
512
513         * UTF8Encoding.cs : safer UTF8Decoder ctor.
514
515 2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
516
517         * Decoder.cs : added FallbackBuffer property.
518         * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
519           "throwOnInvalid".
520
521 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
522
523         * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
524           byte buffer.
525         * EncoderReplacementFallbackBuffer.cs : implemented.
526         * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
527           Removed MonoTODO.
528
529 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
530
531         * DecoderFallbackBuffer.cs : Reset() does nothing here.
532         * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
533           bytesUnknown is used.
534
535 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
536
537         * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
538
539 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
540
541         * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
542         * Encoder.cs : Added Fallback property.
543         * Decoder.cs : Added Fallback property.
544
545 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
546
547         * EncoderFallbackBuffer.cs, EncoderFallback.cs,
548           EncoderExceptionFallbackBuffer.cs,
549           EncoderReplacementFallbackBuffer.cs,
550           EncoderFallbackException.cs,
551           EncoderExceptionFallback.cs,
552           EncoderReplacementFallback.cs : new files (not actually used yet).
553         * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
554           DecoderReplacementFallback.cs : [Serializable] and sealed.
555         * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
556
557 2005-11-14  Atsushi Enomoto  <atsushi@ximian.com>
558
559         * DecoderFallbackBuffer.cs, DecoderFallback.cs,
560           DecoderExceptionFallbackBuffer.cs,
561           DecoderReplacementFallbackBuffer.cs,
562           DecoderFallbackException.cs,
563           DecoderExceptionFallback.cs,
564           DecoderReplacementFallback.cs : new files (not actually used yet).
565
566 2005-11-14  Miguel de Icaza  <miguel@novell.com>
567
568         * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
569         missing.  
570
571         Also add some checks that were missing.
572
573 2005-11-11  Sebastien Pouliot  <sebastien@ximian.com>
574
575         * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests 
576         were failing under 2.0) and two possible integer overflow in CopyTo.
577
578 2005-11-11  Miguel de Icaza  <miguel@novell.com>
579
580         * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods. 
581
582         * StringBuilder.cs (Text): Added serialization support in 2.x. 
583
584 2005-10-22  Jonathan Pryor  <jonpryor@vt.edu>
585
586         * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
587           check logic for 6 octet sequences.  ((ch & 0xFC) == 0xFC) is always true 
588           for 0xFF, even though 0xFF isn't a valid lead byte.  It should be 
589           ((ch & 0xFE) == 0xFC).
590
591 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
592
593         * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
594           Don't exclude FEFF in the resulting text.
595
596 2005-06-21  Ben Maurer  <bmaurer@ximian.com>
597
598         * StringBuilder.cs (Replace): Do the correct thing when we replace
599         with a longer string. Thanks to Alexander Beznozdrev
600         <abeznozdrev@croc.ru>
601
602 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
603
604         * Encoding.cs: Use static object for locking. `volatile' to
605         prevent double checked locking error.
606
607         * StringBuilder.cs: Remove = null inits on fields, saves a few
608         instructions. When we compare _cached_str == _str, we are only
609         interested in pointer based equality, so just do that.
610
611 2005-05-06  Ben Maurer  <bmaurer@ximian.com>
612
613         * StringBuilder.cs (InternalEnsureCapacity): It is possible that
614         the size we attempt to grow to is more than the max capacity, but
615         that a smaller size will do. In this case, don't throw an
616         exception. Fixes #72244
617
618 2005-04-16  Atsushi Enomoto  <atsushi@ximian.com>
619
620         * NormalizationForm.cs : new file.
621
622 2005-03-20  Ben Maurer  <bmaurer@ximian.com>
623
624         * StringBuilder.cs (set_Length): If we set the length, we must
625         clobber the cached string.
626
627 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
628
629         * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
630         Svetlana Zholkovsky.
631
632 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
633
634         * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
635         whose length is greater than 3. Patch by Svetlana Zholkovsky.
636
637 2005-01-31  Ben Maurer  <bmaurer@ximian.com>
638
639         * StringBuilder.cs (Remove): We need to do the check that the
640         string isnt being cached *before* we munge it.
641
642 2005-01-21  Ben Maurer  <bmaurer@ximian.com>
643
644         * StringBuilder.cs: Don't allocate memory on the .ctor, do it
645         lazily. This saves us lots of memory if you only use the
646         stringbuilder once. Also, we can allocate on the second Append,
647         which might reduce the number of buffers allocated.
648
649 2005-01-14 Lluis Sanches Gual  <lluis@novell.com>
650
651         * StringBuilder.cs: Improved parameter check.
652
653 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
654
655         * StringBuilder.cs: when creating the StringBuilder from a string, the
656         maximum capacity remains Int32.MaxValue.
657
658 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
659
660         * StringBuilder.cs: throw if the new size is greater than the maximum
661         capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
662         bug #62422.
663
664 2004-12-15  Sebastien Pouliot  <sebastien@ximian.com>
665
666         * UTF7Encoding.cs:  Fixed warning for unused variable.
667
668 2004-09-30  Juraj Skripsky <js@hotfeet.ch>
669
670         * Encoding.cs: Add encoding name "latin1" for compatibility with
671         MS.NET.
672
673 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
674
675         * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
676
677 2004-09-09  Tim Coleman <tim@timcoleman.com>
678
679         * StringBuilder.cs: Added AppendLine methods for Fx 2.0
680
681 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
682
683         * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
684         Follow the RFC1642 rules for "overbits".
685
686 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
687
688         * ASCIIEncoding.cs: added TODO for serialization
689         * StringBuilder.cs: added TODO for serialization
690         * UnicodeEncoding.cs: added TODO for serialization
691         * UTF7Encoding.cs: added TODO for serialization
692         * UTF8Encoding.cs: added TODO for serialization
693
694 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
695
696         * Encoding.cs: Marked protected internal field as internal to
697         fix API signature
698
699 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
700
701         * UTF8Encoding.cs : Length check must be done only when the character
702           sequence is valid (i.e. should not check when it is overlongs).
703           See also TestThrowOnInvalid().
704
705 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
706
707         * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
708
709 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
710
711         * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
712           true. Otherwise just ignore them.
713
714 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
715
716         * StringBuilder.cs: Fixed potential integer overflows in several 
717         methods.
718
719 2004-05-14  Sebastien Pouliot  <sebastien@ximian.com>
720
721         * UTF8Encoding.cs: Moved charCount-- after the check for surrogate 
722         pair. This fix bug #57009 (and 2 failing unit tests). Added code
723         to check for some (like MS) overlongs.
724
725 2004-05-03 Lluis Sanches Gual  <lluis@ximian.com>
726
727         * Encoding.cs: Use name const to load I18N assembly.
728
729 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
730
731         * Encoding.cs: Call shortcut String.ToLowerInvariant
732
733 2004-04-13  Miguel de Icaza  <miguel@ximian.com>
734
735         * Encoding.cs: Use new internal codepage setup.
736
737 2004-04-10  Atsushi Enomoto  <atsushi@ximian.com>
738
739         * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
740
741 2004-03-19  Dick Porter  <dick@ximian.com>
742
743         * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
744         BOM at the beginning of the range of characters we're interested
745         in, not at the beginning of the array.  Fixes bug 51531.
746
747 2004-03-10  Juraj Skripsky <juraj@hotfeet.ch>
748
749         * StringBuilder.cs
750         (Insert int, char[]): fix by using new string(char[]) instead of
751         char[].ToString() and simplify.
752         (Insert int, string, int): add LAMESPEC note.
753         (Insert int char[], int, int): handle value==null according to spec. 
754         Use a string instead of char array + Array.Copy (gonzalo)
755
756 2004-03-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
757
758         * StringBuilder.cs:
759         (Append (string)): remove redundant check.
760
761 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
762
763         * StringBuilder.cs:
764         (Remove): fixed offsets when copying and set the new size. Fixes bug
765         #53240.
766
767 2004-01-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
768
769         * StringBuilder.cs: added checks for null in a few Append methods.
770
771 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
772
773         * StringBuilder.cs: fixed start offset in Append(char).
774
775 2004-01-12  Patrik Torstensson
776
777         * StringBuilder.cs: new implementation that uses
778         string as a buffer instead of a array of chars.
779
780 2003-12-07 Ben Maurer  <bmaurer@users.sourceforge.net>
781
782         * UTF8Encoding.cs (GetBytes string): Do not call base
783         The version in Encoding will call string.ToCharArray (),
784         allocating an extra array. By calling the better method
785         in our own class we can save memory.
786
787 2003-11-17 Ben Maurer  <bmaurer@users.sourceforge.net>
788
789         * StringBuilder.cs (Insert int, char): It is really silly and
790         wasteful to allocate an array here. We can just copy the value
791         over.
792
793 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
794
795         * Encoding.cs: Use an internal variable to track the parameters of
796         each encoder, since the .NET API does not expose virtual methods
797         in the child classes, we should not depend on that.
798         
799         * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
800         Initialize the parameters for base class encoding here.
801
802 2003-09-01  Miguel de Icaza  <miguel@ximian.com>
803
804         * Encoding.cs (UTF8Unmarked): make it also not error out on
805         invalid input, that is what the Microsoft default is for the
806         StreamReader and BinaryReader expect (our main consumers).
807
808 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
809
810         * StringBuilder.cs
811         (AppendFormat) Use FormatHelper in System.String to avoid
812         allocating an extra StringBuilder.
813         (Append string, int, int), (Append char, int): Both were
814         allocating extra strings.
815
816 2003-06-05  Nick Drochak  <ndrochak@gol.com>
817
818         * UTF8Encoding.cs: Cleanups according to class status page
819
820 2003-05-10  Miguel de Icaza  <miguel@ximian.com>
821
822         * Encoding.cs (GetEncoding): Add all the aliases documented in the
823         framework.  We were missing a few.
824         
825         Reorganize the table.  Also, convert the input name into the
826         lower-case - to _ before we compare against our table.
827         
828 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
829
830         * StringBuilder.cs: fixed bug #41397.
831
832 2003-04-12  Miguel de Icaza  <miguel@ximian.com>
833
834         * Encoding.cs: Enabled the code paths that we did have commented
835         out, they seem to work now.
836
837 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
838
839         * StringBuilder.cs: cache the result from ToString().
840
841 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
842
843         * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
844           (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
845
846 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
847
848         * ASCIIEncoding.cs: fixed bug #38984.
849
850 2003-03-05  Aleksey Demakov <avd@openlinksw.com>
851
852         * ASCIIEncoding.cs:
853         * Latin1Encoding.cs: fix GetString (byte[]) and
854         GetString (byte[], int, int) for zero-length case.
855
856 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
857
858         * Latin1Encoding.cs: added Serializable attribute.
859
860 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
861
862         * Encoding.cs: removed UnixConsoleEncoding.
863
864 2003-01-30  Zoltan Varga  <vargaz@freemail.hu>
865
866         * StringBuilder.cs: fix the constructor: 'value' can be NULL,
867         'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
868         This fixes the StringBuilder unit tests.
869
870 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
871
872         * StringBuilder.cs: fixed typo in set_Length.
873
874 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
875
876         * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
877         encoding is not found, default to UTF8Unmarked. Removed comment in
878         UnixConsoleEncoding, because it's now Default, which gets the 
879         encoding internally using g_get_encoding ().
880
881 2002-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
882
883         * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
884
885 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
886
887         * UTF8Encoding.cs: fix GetByteCount (), too.
888
889 2002-11-19  Miguel de Icaza  <miguel@ximian.com>
890
891         * UnicodeEncoding.cs: the bytemark should only be used to return
892         information in GetPreamble, not to actually encode the information
893         on the stream.  That is taken care of by the Stream classes.
894
895         * UTF8Encoding.cs: ditto.
896
897 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
898
899         * StringBuilder.cs: only move the remaining chars in Remove.
900
901 2002-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
902
903         * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
904         locking whenever possible.
905
906 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
907
908         * Encoding.cs (UTF8Unmarked): New static property, used to return
909         a no-markers UTf8 encoder, used in a few places in the class library.
910
911 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
912
913         * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
914         what the Microsoft version does.
915
916         (UnixConsoleEncoding): New internal method, used to get the
917         encoding, in the future, this should pull the locale, map to
918         charset and then code page. 
919
920 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
921
922         * Encoding.cs: use icall to get default codepage.
923         * DefaultEncoding.cs: remove useless class.
924
925 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
926
927         * *.cs: change to conform to mono coding style.
928
929 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
930
931         * ASCIIEncoding.cs:
932         * Decoder.cs:
933         * Encoder.cs:
934         * Encoding.cs:
935         * UTF7Encoding.cs:
936         * UTF8Encoding.cs:
937         * UnicodeEncoding.cs: added Serializable attribute.
938
939 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
940
941         * StringBuilder.cs: improved performace by using String.InternalCopyTo
942         instead of using ToCharArray all over the place (more that 50% of
943         speed improvement when using Append).
944
945 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
946
947         * *.cs: imported the code donated by Rhys Weatherley
948         <rweather@southern-storm.com.au>.
949
950 2002-08-18  Dick Porter  <dick@ximian.com>
951
952         * Encoding.cs: Make GetString() return a useful representation of
953         the bytes, rather than "System.Char[]"
954
955 2002-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
956
957         * StringBuilder.cs: added IndexerName to indexer.
958
959 2002-08-01  Jason Diamond <jason@injektilo.org>
960
961         * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
962         converting chars to bytes.
963
964 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
965
966         * StringBuilder.cs: updated comments. MaxCapacity always returns
967         Int32.MaxValue.
968
969 2002-06-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
970
971         * StringBuilder.cs: implemented AppendFormat methods using
972         String.Format. Thanks Paolo!
973
974         This makes xsp generate correct C# output in linux :-). I still need
975         to do more testing, though.
976
977 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
978
979         * ASCIIEncoding.cs: fixed handling of 0 bytecount.
980
981 2002-05-19  Martin Baulig  <martin@gnome.org>
982
983         * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
984         Added exception handling.
985
986         * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
987         Added exception handling.
988
989 2002/04/02  Nick Drochak <ndrochak@gol.com>
990
991         * StringBuilder.cs (Append): Removed obsolete overload.
992
993 2002-03-21  Mike Kestner  <mkestner@speakeasy.net>
994
995         * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
996
997 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
998
999         * StringBuilder.cs: no need to intern the string returned by ToString().
1000
1001 2002-03-17  Mike Kestner  <mkestner@speakeasy.net>
1002
1003         * ASCIIEncoding.cs: Implement all the overridden methods. No longer
1004           dependent on iconv icalls.
1005         * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
1006           to GetBytes.
1007
1008 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
1009
1010         * StringBuilder.cs: make ToString() return a interned string, this
1011         seems to be required to make switch on string work.
1012
1013 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
1014
1015         * StringBuilder.cs: make Append(char) do the smart thing.
1016
1017 2002-01-05  Ravi Pratap  <ravi@ximian.com>
1018
1019         * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs, 
1020         UnicodeEncoding.cs: MonoTODO attribute marking.
1021
1022         * StringBuilder.cs : Ditto.
1023         
1024 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
1025
1026         * Encoding.cs: renamed some fields.
1027         * StringBuilder.cs: CLSCompliant updates.
1028
1029 2001-10-29  Nick Drochak  <ndrochak@gol.com>
1030
1031         * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
1032                 invalid. Just like MS does (as best as I can tell).
1033
1034         Tests for these exceptions are now added to the unit tests as well.
1035
1036 2001-10-25  Nick Drochak  <ndrochak@gol.com>
1037
1038         * StringBuilder.cs: Throw exception if they try to make a StringBuilder
1039                 whose capacity is greater than the MaxCapacity.
1040
1041         I added some tests for the constructors and the above exception. More
1042         coming soon.
1043
1044 2001-10-23  Nick Drochak  <ndrochak@gol.com>
1045
1046         * StringBuilder.cs: Refactored constructor code into just one
1047         constructor. All the other construtors call it. Also supplied missing
1048         constructors so the class has all those in the spec.
1049
1050         Added the MaxCapacity property as well, however this needs to be 
1051         completed to return a value is related to the available system memory.
1052
1053 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
1054
1055         * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
1056         UnicodeEncoding.cs: Corrected API.
1057
1058         * UTF8Encoding.cs: Checked in changes from Rafael.
1059
1060 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
1061
1062         * UTF8Encoding.cs: impl. clumsy GetBytes
1063
1064 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
1065
1066         * StringBuilder.cs (Text): Fixed.
1067
1068         * StringBuilderTest.cs: Implement Test suite.
1069
1070 2001-07-12  Marcin Szczepanski <marcins@zipworld.com.au>
1071
1072         * StringBuilder.cs: Implemented.
1073
1074         The only methods left unimplemented are the AppendFormat( ... )
1075         ones just because it's probably better to wait until some of the
1076         Format related classes are implemented.  I've put that as a TODO
1077         comment at the top and created the methods with a "nop" body.
1078
1079 2001-06-26  Sean MacIsaac  <macisaac@ximian.com>
1080
1081         * UnicodeEncoding.cs: Members added so that a clean compile is
1082         possible.
1083
1084         * ASCIIEncoding.cs: Members added so that a clean compile is
1085         possible.
1086
1087         * UTF7Encoding.cs: Members added so that a clean compile is
1088         possible.
1089
1090         * UTF8Encoding.cs: Members added so that a clean compile is
1091         possible.
1092
1093         * Encoding.cs: All public members included.  Most members
1094         unimplemented.