merging the Mainsoft branch to the trunk
[mono.git] / mcs / class / corlib / System.Text / ChangeLog
1 2005-05-06  Ben Maurer  <bmaurer@ximian.com>
2
3         * StringBuilder.cs (InternalEnsureCapacity): It is possible that
4         the size we attempt to grow to is more than the max capacity, but
5         that a smaller size will do. In this case, don't throw an
6         exception. Fixes #72244
7
8 2005-04-16  Atsushi Enomoto  <atsushi@ximian.com>
9
10         * NormalizationForm.cs : new file.
11
12 2005-03-20  Ben Maurer  <bmaurer@ximian.com>
13
14         * StringBuilder.cs (set_Length): If we set the length, we must
15         clobber the cached string.
16
17 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
18
19         * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
20         Svetlana Zholkovsky.
21
22 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
23
24         * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
25         whose length is greater than 3. Patch by Svetlana Zholkovsky.
26
27 2005-01-31  Ben Maurer  <bmaurer@ximian.com>
28
29         * StringBuilder.cs (Remove): We need to do the check that the
30         string isnt being cached *before* we munge it.
31
32 2005-01-21  Ben Maurer  <bmaurer@ximian.com>
33
34         * StringBuilder.cs: Don't allocate memory on the .ctor, do it
35         lazily. This saves us lots of memory if you only use the
36         stringbuilder once. Also, we can allocate on the second Append,
37         which might reduce the number of buffers allocated.
38
39 2005-01-14 Lluis Sanches Gual  <lluis@novell.com>
40
41         * StringBuilder.cs: Improved parameter check.
42
43 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
44
45         * StringBuilder.cs: when creating the StringBuilder from a string, the
46         maximum capacity remains Int32.MaxValue.
47
48 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
49
50         * StringBuilder.cs: throw if the new size is greater than the maximum
51         capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
52         bug #62422.
53
54 2004-12-15  Sebastien Pouliot  <sebastien@ximian.com>
55
56         * UTF7Encoding.cs:  Fixed warning for unused variable.
57
58 2004-09-30  Juraj Skripsky <js@hotfeet.ch>
59
60         * Encoding.cs: Add encoding name "latin1" for compatibility with
61         MS.NET.
62
63 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
64
65         * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
66
67 2004-09-09  Tim Coleman <tim@timcoleman.com>
68
69         * StringBuilder.cs: Added AppendLine methods for Fx 2.0
70
71 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
72
73         * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
74         Follow the RFC1642 rules for "overbits".
75
76 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
77
78         * ASCIIEncoding.cs: added TODO for serialization
79         * StringBuilder.cs: added TODO for serialization
80         * UnicodeEncoding.cs: added TODO for serialization
81         * UTF7Encoding.cs: added TODO for serialization
82         * UTF8Encoding.cs: added TODO for serialization
83
84 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
85
86         * Encoding.cs: Marked protected internal field as internal to
87         fix API signature
88
89 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
90
91         * UTF8Encoding.cs : Length check must be done only when the character
92           sequence is valid (i.e. should not check when it is overlongs).
93           See also TestThrowOnInvalid().
94
95 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
96
97         * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
98
99 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
100
101         * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
102           true. Otherwise just ignore them.
103
104 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
105
106         * StringBuilder.cs: Fixed potential integer overflows in several 
107         methods.
108
109 2004-05-14  Sebastien Pouliot  <sebastien@ximian.com>
110
111         * UTF8Encoding.cs: Moved charCount-- after the check for surrogate 
112         pair. This fix bug #57009 (and 2 failing unit tests). Added code
113         to check for some (like MS) overlongs.
114
115 2004-05-03 Lluis Sanches Gual  <lluis@ximian.com>
116
117         * Encoding.cs: Use name const to load I18N assembly.
118
119 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
120
121         * Encoding.cs: Call shortcut String.ToLowerInvariant
122
123 2004-04-13  Miguel de Icaza  <miguel@ximian.com>
124
125         * Encoding.cs: Use new internal codepage setup.
126
127 2004-04-10  Atsushi Enomoto  <atsushi@ximian.com>
128
129         * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
130
131 2004-03-19  Dick Porter  <dick@ximian.com>
132
133         * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
134         BOM at the beginning of the range of characters we're interested
135         in, not at the beginning of the array.  Fixes bug 51531.
136
137 2004-03-10  Juraj Skripsky <juraj@hotfeet.ch>
138
139         * StringBuilder.cs
140         (Insert int, char[]): fix by using new string(char[]) instead of
141         char[].ToString() and simplify.
142         (Insert int, string, int): add LAMESPEC note.
143         (Insert int char[], int, int): handle value==null according to spec. 
144         Use a string instead of char array + Array.Copy (gonzalo)
145
146 2004-03-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
147
148         * StringBuilder.cs:
149         (Append (string)): remove redundant check.
150
151 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
152
153         * StringBuilder.cs:
154         (Remove): fixed offsets when copying and set the new size. Fixes bug
155         #53240.
156
157 2004-01-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
158
159         * StringBuilder.cs: added checks for null in a few Append methods.
160
161 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
162
163         * StringBuilder.cs: fixed start offset in Append(char).
164
165 2004-01-12  Patrik Torstensson
166
167         * StringBuilder.cs: new implementation that uses
168         string as a buffer instead of a array of chars.
169
170 2003-12-07 Ben Maurer  <bmaurer@users.sourceforge.net>
171
172         * UTF8Encoding.cs (GetBytes string): Do not call base
173         The version in Encoding will call string.ToCharArray (),
174         allocating an extra array. By calling the better method
175         in our own class we can save memory.
176
177 2003-11-17 Ben Maurer  <bmaurer@users.sourceforge.net>
178
179         * StringBuilder.cs (Insert int, char): It is really silly and
180         wasteful to allocate an array here. We can just copy the value
181         over.
182
183 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
184
185         * Encoding.cs: Use an internal variable to track the parameters of
186         each encoder, since the .NET API does not expose virtual methods
187         in the child classes, we should not depend on that.
188         
189         * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
190         Initialize the parameters for base class encoding here.
191
192 2003-09-01  Miguel de Icaza  <miguel@ximian.com>
193
194         * Encoding.cs (UTF8Unmarked): make it also not error out on
195         invalid input, that is what the Microsoft default is for the
196         StreamReader and BinaryReader expect (our main consumers).
197
198 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
199
200         * StringBuilder.cs
201         (AppendFormat) Use FormatHelper in System.String to avoid
202         allocating an extra StringBuilder.
203         (Append string, int, int), (Append char, int): Both were
204         allocating extra strings.
205
206 2003-06-05  Nick Drochak  <ndrochak@gol.com>
207
208         * UTF8Encoding.cs: Cleanups according to class status page
209
210 2003-05-10  Miguel de Icaza  <miguel@ximian.com>
211
212         * Encoding.cs (GetEncoding): Add all the aliases documented in the
213         framework.  We were missing a few.
214         
215         Reorganize the table.  Also, convert the input name into the
216         lower-case - to _ before we compare against our table.
217         
218 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
219
220         * StringBuilder.cs: fixed bug #41397.
221
222 2003-04-12  Miguel de Icaza  <miguel@ximian.com>
223
224         * Encoding.cs: Enabled the code paths that we did have commented
225         out, they seem to work now.
226
227 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
228
229         * StringBuilder.cs: cache the result from ToString().
230
231 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
232
233         * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
234           (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
235
236 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
237
238         * ASCIIEncoding.cs: fixed bug #38984.
239
240 2003-03-05  Aleksey Demakov <avd@openlinksw.com>
241
242         * ASCIIEncoding.cs:
243         * Latin1Encoding.cs: fix GetString (byte[]) and
244         GetString (byte[], int, int) for zero-length case.
245
246 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
247
248         * Latin1Encoding.cs: added Serializable attribute.
249
250 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
251
252         * Encoding.cs: removed UnixConsoleEncoding.
253
254 2003-01-30  Zoltan Varga  <vargaz@freemail.hu>
255
256         * StringBuilder.cs: fix the constructor: 'value' can be NULL,
257         'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
258         This fixes the StringBuilder unit tests.
259
260 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
261
262         * StringBuilder.cs: fixed typo in set_Length.
263
264 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
265
266         * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
267         encoding is not found, default to UTF8Unmarked. Removed comment in
268         UnixConsoleEncoding, because it's now Default, which gets the 
269         encoding internally using g_get_encoding ().
270
271 2002-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
272
273         * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
274
275 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
276
277         * UTF8Encoding.cs: fix GetByteCount (), too.
278
279 2002-11-19  Miguel de Icaza  <miguel@ximian.com>
280
281         * UnicodeEncoding.cs: the bytemark should only be used to return
282         information in GetPreamble, not to actually encode the information
283         on the stream.  That is taken care of by the Stream classes.
284
285         * UTF8Encoding.cs: ditto.
286
287 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
288
289         * StringBuilder.cs: only move the remaining chars in Remove.
290
291 2002-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
292
293         * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
294         locking whenever possible.
295
296 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
297
298         * Encoding.cs (UTF8Unmarked): New static property, used to return
299         a no-markers UTf8 encoder, used in a few places in the class library.
300
301 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
302
303         * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
304         what the Microsoft version does.
305
306         (UnixConsoleEncoding): New internal method, used to get the
307         encoding, in the future, this should pull the locale, map to
308         charset and then code page. 
309
310 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
311
312         * Encoding.cs: use icall to get default codepage.
313         * DefaultEncoding.cs: remove useless class.
314
315 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
316
317         * *.cs: change to conform to mono coding style.
318
319 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
320
321         * ASCIIEncoding.cs:
322         * Decoder.cs:
323         * Encoder.cs:
324         * Encoding.cs:
325         * UTF7Encoding.cs:
326         * UTF8Encoding.cs:
327         * UnicodeEncoding.cs: added Serializable attribute.
328
329 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
330
331         * StringBuilder.cs: improved performace by using String.InternalCopyTo
332         instead of using ToCharArray all over the place (more that 50% of
333         speed improvement when using Append).
334
335 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
336
337         * *.cs: imported the code donated by Rhys Weatherley
338         <rweather@southern-storm.com.au>.
339
340 2002-08-18  Dick Porter  <dick@ximian.com>
341
342         * Encoding.cs: Make GetString() return a useful representation of
343         the bytes, rather than "System.Char[]"
344
345 2002-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
346
347         * StringBuilder.cs: added IndexerName to indexer.
348
349 2002-08-01  Jason Diamond <jason@injektilo.org>
350
351         * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
352         converting chars to bytes.
353
354 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
355
356         * StringBuilder.cs: updated comments. MaxCapacity always returns
357         Int32.MaxValue.
358
359 2002-06-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
360
361         * StringBuilder.cs: implemented AppendFormat methods using
362         String.Format. Thanks Paolo!
363
364         This makes xsp generate correct C# output in linux :-). I still need
365         to do more testing, though.
366
367 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
368
369         * ASCIIEncoding.cs: fixed handling of 0 bytecount.
370
371 2002-05-19  Martin Baulig  <martin@gnome.org>
372
373         * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
374         Added exception handling.
375
376         * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
377         Added exception handling.
378
379 2002/04/02  Nick Drochak <ndrochak@gol.com>
380
381         * StringBuilder.cs (Append): Removed obsolete overload.
382
383 2002-03-21  Mike Kestner  <mkestner@speakeasy.net>
384
385         * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
386
387 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
388
389         * StringBuilder.cs: no need to intern the string returned by ToString().
390
391 2002-03-17  Mike Kestner  <mkestner@speakeasy.net>
392
393         * ASCIIEncoding.cs: Implement all the overridden methods. No longer
394           dependent on iconv icalls.
395         * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
396           to GetBytes.
397
398 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
399
400         * StringBuilder.cs: make ToString() return a interned string, this
401         seems to be required to make switch on string work.
402
403 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
404
405         * StringBuilder.cs: make Append(char) do the smart thing.
406
407 2002-01-05  Ravi Pratap  <ravi@ximian.com>
408
409         * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs, 
410         UnicodeEncoding.cs: MonoTODO attribute marking.
411
412         * StringBuilder.cs : Ditto.
413         
414 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
415
416         * Encoding.cs: renamed some fields.
417         * StringBuilder.cs: CLSCompliant updates.
418
419 2001-10-29  Nick Drochak  <ndrochak@gol.com>
420
421         * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
422                 invalid. Just like MS does (as best as I can tell).
423
424         Tests for these exceptions are now added to the unit tests as well.
425
426 2001-10-25  Nick Drochak  <ndrochak@gol.com>
427
428         * StringBuilder.cs: Throw exception if they try to make a StringBuilder
429                 whose capacity is greater than the MaxCapacity.
430
431         I added some tests for the constructors and the above exception. More
432         coming soon.
433
434 2001-10-23  Nick Drochak  <ndrochak@gol.com>
435
436         * StringBuilder.cs: Refactored constructor code into just one
437         constructor. All the other construtors call it. Also supplied missing
438         constructors so the class has all those in the spec.
439
440         Added the MaxCapacity property as well, however this needs to be 
441         completed to return a value is related to the available system memory.
442
443 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
444
445         * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
446         UnicodeEncoding.cs: Corrected API.
447
448         * UTF8Encoding.cs: Checked in changes from Rafael.
449
450 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
451
452         * UTF8Encoding.cs: impl. clumsy GetBytes
453
454 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
455
456         * StringBuilder.cs (Text): Fixed.
457
458         * StringBuilderTest.cs: Implement Test suite.
459
460 2001-07-12  Marcin Szczepanski <marcins@zipworld.com.au>
461
462         * StringBuilder.cs: Implemented.
463
464         The only methods left unimplemented are the AppendFormat( ... )
465         ones just because it's probably better to wait until some of the
466         Format related classes are implemented.  I've put that as a TODO
467         comment at the top and created the methods with a "nop" body.
468
469 2001-06-26  Sean MacIsaac  <macisaac@ximian.com>
470
471         * UnicodeEncoding.cs: Members added so that a clean compile is
472         possible.
473
474         * ASCIIEncoding.cs: Members added so that a clean compile is
475         possible.
476
477         * UTF7Encoding.cs: Members added so that a clean compile is
478         possible.
479
480         * UTF8Encoding.cs: Members added so that a clean compile is
481         possible.
482
483         * Encoding.cs: All public members included.  Most members
484         unimplemented.