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