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