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