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