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