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