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