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