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