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