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