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