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