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