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