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