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