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