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