2010-04-13 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mcs / class / corlib / System / ChangeLog
1 2010-04-13 Rodrigo Kumpera  <rkumpera@novell.com>
2
3         * MonoCustomAttrs.cs: Raise an exception if the runtime
4         returned a null cattr.
5
6 2010-04-13  Zoltan Varga  <vargaz@gmail.com>
7
8         * Convert.cs (ToInt32): Do a checked cast. Fixes #596339.
9
10 2010-04-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
11
12         * TimeSpan.cs: Implement support for custom formats parsing. This
13         should as well include the bits required to easily implement the same
14         for ToString methods, when the final release fixes the mess we found
15         in the latest beta.
16
17 2010-04-08 Rodrigo Kumpera  <rkumpera@novell.com>
18
19         * Type.cs: Add ResolveInternal virtual call that
20         resolves a given type to it's concrete type.
21
22 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
23
24         * Enum.cs (GetInfo): Don't use isinst tests as they can
25         return true for both signed and unsigned version of a
26         primitive type.
27
28         * Enum.cs (FindPosition): Ditto.
29
30 2010-04-06  Marek Safar  <marek.safar@gmail.com>
31
32         * Array.cs: Don't make read-only collection read-only.
33
34 2010-03-31  Miguel de Icaza  <miguel@novell.com>
35
36         * UInt32.cs, Int64.cs, UInt64.cs: cope with the case that the
37         IFormatProvider is not a NumberFormatInfo, preventing a crash.
38         This was already handled by Int32.cs, but these other routines
39         were never properly updated. 
40
41         Fixes #588356
42
43         * DateTimeOffset.cs: Add support for format K in DateTimeOffset,
44         fixes bug 589227.
45
46         * DateTime.cs: Add serialization support, fixes #588198.
47
48         Perhaps we should change the format as well since this is the new
49         format serialized anyways (see bug 592221, it saves 4 bytes of
50         memory as well)
51
52 2010-03-30  Sebastien Pouliot  <sebastien@ximian.com>
53
54         * InvalidTimeZoneException.cs
55         * TimeZoneNotFoundException.cs:
56                 Fix Moonlight since these types now reside in mscorlib
57                 (instead of System.Core) for NET_4_0 and also for SL4
58
59 2010-03-30  Jb Evain  <jbevain@novell.com>
60
61         * MonoType.cs: let the binder reorder arguments when invoking
62         params methods.
63         * Activator.cs (CreateInstance): use BindToMethod instead of
64         SelectMethod to make sure that params constructors are properly called.
65
66         Fixes #591877
67
68 2010-03-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
69
70         * TimeSpan.cs: Implement all the overloads of both TryParseExact and
71         ParseExact methods, by detecting the specific semantic changes in the
72         parse process, so we can properly re-utilize our new approach. This
73         included indicating our parser its culture sensitiveness, usage of colon as
74         day separator fallback or as a precise separator, and other minor bits.
75         We are only missing composite parsing right now.
76
77 2010-03-29  Sebastien Pouliot  <sebastien@ximian.com>
78
79         * AppDomainSetup.cs: Add new (FX4 and SL4) SetCompatibilitySwitches
80         method (empty is good enough for moonlight testing)
81         * Environment.cs: Expose MyVideos in Moonlight build
82
83 2010-03-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
84
85         * TimeSpan.cs: We always give higher precedence to the first found
86         error, but for versions before 4.0 we need to give a higher one to
87         per-element overflow *specifically* (as opposed to int32 overflow,
88         which remains the same). This is not needed for 4.0, so report
89         per-element overflow as a normal error. 
90         This should fix a compatibility case, as well as simplifying the code.
91
92 2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
93
94         * MonoAsyncCall.cs: remove unused field.
95         * Delegate.cs: add new IsTransparentProxy property.
96         * MulticastDelegate.cs: add new HasSingleTarget property.
97         * Environment.cs: bump up corlib version.
98
99 2010-03-25  Sebastien Pouliot  <sebastien@ximian.com>
100
101         * AppDomain.cs: Add new properties that are in both FX4 and SL4
102         since Moonlight needs them (for testing purpose).
103         * Environment.cs: FailFast overloads are present in SL4 (and also
104         needed for testing Moonlight)
105
106 2010-03-24  Sebastien Pouliot  <sebastien@ximian.com>
107
108         * AppDomain.cs: Change default value from null to false for new
109         (NET_4_0 and SL4) IsCompatibilitySwitchSet. Not sure when (or even
110         if) it can return null (at least not when testing SL4 RC). 
111         Fix DRT198
112
113 2010-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
114
115         * TimeSpan.cs: When parsing ticks, we used to only parse
116         the first 7 digits, and more than that would cause a FormatException -
117         starting in 4.0 we need to throw an OverflowException, however. Also,
118         for hours/minutes/seconds, two or more preceding zeroes will cause an
119         OverflowException as well.
120
121 2010-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
122
123         * TimeSpan.cs: Create a new Parser.Execute method for 4.0 -and use the
124         previous impl for 2.0-, to handle the new semantics gracefully -
125         specifically the new 'dd:hh:mm:ss' format and related bits, instead of
126         of a ton of #ifdef blocks. Remove any 4.0 bits from the previous
127         version as well, to keep it clean.
128
129 2010-03-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
130
131         * TimeSpan.cs: Move the error detection code to a separate method.
132         This way depending on the version we decide what error takes
133         precedence: OverlowException in 2.0, and FormatException in 4.0. This
134         also lets us keep the Execute() code cleaner and easier to understand.
135
136 2010-03-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
137
138         * TimeSpan.cs: Put the error info in a single field, to make it easier
139         to preserve the very first error we get while parsing, and discard the
140         next ones. This will help us in a pair of cases where we were
141         overriding the previous error and reporting the wrong exception.
142
143 2010-03-17  Sebastien Pouliot  <sebastien@ximian.com>
144
145         * String.cs: SL4 includes new IsNullOrWhiteSpace and Concat/Join 
146         overloads.
147
148 2010-03-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
149
150         * TimeSpan.cs: TimeSpan is actually implementing IFormattable.
151
152 2010-03-17  Rolf Bjarne Kvinge  <RKvinge@novell.com>
153
154         * AppDomain.cs: Added MonoTODO for IsCompatibilitySwitchSet.
155
156 2010-03-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
157
158         * TimeSpan.cs: In 4.0 the Parse/TryParse methods always try to use its
159         associated CultureInfo.NumberFormat.NumberDecimalSeparator value, as well as
160         providing backwards compatibility by also supporting '.' as the
161         separator.
162
163 2010-03-16  Jb Evain  <jbevain@novell.com>
164
165         * AppDomainSetup.cs
166         * Tuple.cs
167         * ChangeLog
168         * Exception.cs
169         * String.cs
170         * Console.cs
171         * Tuples.cs
172         * Activator.cs
173         * AppDomain.cs:
174                 Use MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
175
176 2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
177
178         * Enum.cs: Added a few 4.0 api to Moonlight.
179
180 2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
181
182         * AppDomain.cs: Added IsCompatibilitySwitchSet for .NET 4.0 and Moonlight.
183
184 2010-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
185
186         * TimeSpan.cs: In 4.0 if the part parsed as days exceeds the allowed
187         range -this is, 23-, then it is processed as days instead - opposed to
188         2.0, where we are throwing an OverflowException.
189
190 2010-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
191
192         * TimeSpan.cs: Make the colon parsing optional -and adjust the name to
193         reflect it-, so we can properly parse the case where we only have the
194         hours and minutes. This subtle bug was hidden before, since a string
195         such "10:12" would be parsed correctly, but "10:12  " (trailing white
196         space) was getting a FormatException.
197
198 2010-03-12  Sebastien Pouliot  <sebastien@ximian.com>
199
200         * Tuple.cs, Tuples.cs: Add them to NET_2_1 since they are parts
201         of SL4
202
203 2010-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
204
205         * TimeSpan.cs: Implement 4.0 overloads of TryParse/Parse.
206
207 2010-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
208
209         * TimeSpan.cs: Implement 4.0 ToString overloads.
210
211 2010-03-06 Rodrigo Kumpera  <rkumpera@novell.com>
212
213         * UIntPtr.cs: Remove some v4 custom attributes that were
214         on Beta2 but aren't there on RC.
215
216 2010-03-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
217
218         * TimeSpan.cs: Implement correctly the TryParse method, instead of
219         using a try/catch block.
220
221 2010-03-04 Rodrigo Kumpera  <rkumpera@novell.com>
222
223         * Type.cs : Fix for bug #574696: don't recurse into base types in GetMember when
224         getting properties.
225         Patch by Eberhard Beilharz <eb1@sil.org>
226
227 2010-03-03  Miguel de Icaza  <miguel@novell.com>
228
229         * Decimal.cs: Disable the fast double2decimal code, and go back to
230         string parsing as there is a rounding/precision bug.
231
232                 //
233                 // We cant use the double2decimal method
234                 // because it incorrectly turns the floating point
235                 // value 1.23456789E-25F which should be:
236                 //    0.0000000000000000000000001235
237                 // into the incorrect:
238                 //   0.0000000000000000000000001234
239                 //
240                 //    The code currently parses the double value 0.6 as
241                 //    0.600000000000000
242                 //
243                 // And we have a patch for that called (trim
244
245 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
246
247         * Type.cs (Equals): Better version that does less
248         trips to runtime land.
249
250 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
251
252         * MonoType.cs: Add v4 security properties.
253
254 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
255
256         * Type.cs: Add v4 security properties.
257
258 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
259
260         * Type.cs: Fix identation.
261
262 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
263
264         * Activator.cs: : Implement new v4 overloads and [Obsolete].
265
266 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
267
268         * AppDomain.cs: Add bunch of trivial overloads.
269
270 2010-03-01 Rodrigo Kumpera  <rkumpera@novell.com>
271
272         * TypeSpec.cs: New file. Managed code implementation of type name
273         parsing.
274
275         * Type.cs: Implement new v4 overloads of GetType.
276
277 2010-03-01  Zoltan Varga  <vargaz@gmail.com>
278
279         * Array.cs (CreateArray): Disallow creation of arrays of unfinished types.
280
281 2010-03-01  Miguel de Icaza  <miguel@novell.com>
282
283         * DateTime.cs (DoParse): patch from Tom Philpot, while using
284         TryParse if s is null, we should return false, not crash.
285
286 2010-02-28 Rodrigo Kumpera  <rkumpera@novell.com>
287
288         * Type.cs: Forgot a pair of #if NET_4_0.
289
290 2010-02-28  Miguel de Icaza  <miguel@novell.com>
291
292         * Decimal.cs: If the NumberFormatInfo is broken and contains the
293         same character for grouping than is used for decimals, the decimal
294         separator gets a priority.  This issue was exposed by the
295         Silverlight Test suite.
296
297         Allow null trailing characters when parsing, this is valid in
298         .NET: "5\0" and "5\0\0\0\0", but "5\05" is not.
299
300         * Decimal.cs: Enabling the unmanaged double to decimal and float
301         to decimal conversions code again as I am unable to find any
302         regressions in corlib, System.Data, the Silverlight test suite or
303         Rotor's test suite.
304
305         I am enabling it hoping that we can find the original problem that
306         lead us to use the slow path.
307
308 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
309
310         * AggregateException.cs: Fix ctor vibility.
311
312         * Type.cs: IsEnum and IsSerializable are virtual
313         properties now.
314
315         * Tuple.cs: Fix Tuple'8 Create method.
316
317 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
318
319         * UIntPtr.cs: Add some v4 custom attributes.
320
321 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
322
323         * Float.cs: New v4 operators.
324
325 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
326
327         * IntPtr.cs: Add some v4 custom attributes.
328
329 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
330
331         * Double.cs: New v4 operators.
332
333 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
334
335         * Type.cs: Make cor-compare happy.
336
337 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
338
339         * Lazy.cs: Implement all lazy modes.
340
341 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
342
343         * ExecutionEngineException.cs: Type is obsolete.
344
345 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
346
347         * Type.cs: Implement new v4 IsEnumDefined ().
348
349 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
350
351         * Type.cs: Implement new v4 GetEnumValue ().
352
353 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
354
355         * Type.cs: Implement new v4 GetEnumValues ().
356
357         * MonoType.cs: Ditto.
358
359 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
360
361         * Type.cs: Use the right kind of annotations.
362
363 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
364
365         * Type.cs:  Implement new v4 GetEnumNames ().
366
367 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
368
369         * Type.cs:  Implement new v4 GetEnumUnderlyingType ().
370
371 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
372
373         * Type.cs: Implement new v4 GetTypeCodeImpl ().
374
375 2010-02-19 Rodrigo Kumpera  <rkumpera@novell.com>
376
377         * Type.cs: Implement new v4 behavior for Equals.
378         
379 Fri Feb 19 09:05:36 CET 2010 Paolo Molaro <lupus@ximian.com>
380
381         * Decimal.cs: fixed Remainder (bug #576341).
382
383 2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
384
385         * Environment.cs: implement SystemPageSize.
386
387 Fri Feb 12 18:38:01 CET 2010 Paolo Molaro <lupus@ximian.com>
388
389         * InsufficientExecutionStackException.cs: new exception type in 4.0.
390
391 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
392
393         * MonoType.cs: Implement GetCustomAttributesData.
394
395 2010-02-06  Chris Toshok  <toshok@ximian.com>
396
397         * AppDomain.cs (SetupInformationNoCopy): make this internal for
398         moonlight.
399
400 2010-02-02  Jérémie Laval  <jeremie.laval@gmail.com>
401
402         * AggregateException.cs:
403         * OperationCanceledException.cs: Port to .NET 4 beta 2 API
404
405 2010-01-31  Zoltan Varga  <vargaz@gmail.com>
406
407         * Enum.cs: Fix a warning.
408
409 2010-01-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
410
411         * Version.cs: Implement Parse and TryParse.
412
413 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
414
415         * AppDomain.cs: LoadSatellite: add a boolean parameter specifiying
416         whether we should throw on exceptions or not.
417
418 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
419
420         * TimeSpan.cs: TryParse: Handle null values to not throw ANEs.
421
422 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
423
424         * Array.cs: updates to the API from beta2.
425         * _AppDomain.cs: no GetLifeTimeService() in 4.0
426
427 2010-01-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
428
429         * Enum.cs: Implement TryParse and do the required refactoring of our
430         Parse method to support it.
431
432 2010-01-25  Atsushi Enomoto  <atsushi@ximian.com>
433
434         * Single.cs : parse MaxValue and PositiveInfinity as expected.
435           Patch by Tiaan Geldenhuys.
436
437 2010-01-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
438
439         * Activator.cs: When calling CreateInstance() and no default .ctor is
440         found for the type, don't pass the member argument to the
441         MissingMethodException, to have a better and simpler error message.
442         Fixes #396986.
443
444 2010-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
445
446         * Tuples.cs: explicitly implement IStructural*.
447
448 2010-01-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
449
450         * UInt64.cs: Implement a lightweight version of the Parse method for
451         the overload that does not take IFormatProvider/NumberStyle
452         parameters - this gets us a nice speed up, just like we do for the
453         other number types.
454         Fixes #338022.
455
456 2010-01-15 Rodrigo Kumpera  <rkumpera@novell.com>
457
458         * Array.cs: Implement IStructuralComparer.
459
460 2010-01-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
461
462         * Int32.cs: In Parse() cast the parsed value to long *before* changing
463         its sign - this way we preserve the original value, instead of
464         accidentally changing it. This was happening parsing _exactly_
465         MaxValue + 1.
466         Fixes #475815.
467
468 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
469
470         * DateTime.cs : In AddMilliseconds(), it seems fractional
471           milliseconds are first rounded and then added.
472
473 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
474
475         * DateTimeOffset.cs : preserve fractions (it is somehow dropped).
476
477 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
478
479         * Double.cs : no need to preserve old code.
480
481 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
482
483         * Double.cs : AllowLeading/TrailingWhite should also check those
484           surrounding string constants such as "NaN".
485
486 2010-01-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
487
488         * Int32.cs: Implement support for exponent in the Parse methods.
489         Fixes #542464.
490
491 2010-01-10  Zoltan Varga  <vargaz@gmail.com>
492
493         * GC.cs: Add stubs for new net 4.0 methods.
494
495 2010-01-07  Jb Evain  <jbevain@novell.com>
496
497         * MonoType.cs (.MemberType): return the proper member type
498         for generic parameters.
499
500 2010-01-07  Sebastien Pouliot  <sebastien@ximian.com>
501
502         * Convert.cs: Fix line endings in ToBase64String (bug #568778)
503         and also the default line length. Code changed to not require
504         a BinaryReader over a MemoryStream to reduce memory requirements.
505
506 2010-01-07  Zoltan Varga  <vargaz@gmail.com>
507
508         * TermInfoDriver.cs (GetCursorPosition): Avoid waiting 1 sec here.
509
510 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
511
512         * Array.cs: Fix ArrayReadOnlyList.CopyTo. Fixes #564095.
513
514 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
515
516         * DateTime.cs (TryParseExact): Handle exceptions. Fixes #567857.
517
518 2009-12-21  Marek Habersack  <mhabersack@novell.com>
519
520         * Int32.cs: treat terminating null as whitespace
521
522 2009-12-19  Zoltan Varga  <vargaz@gmail.com>
523
524         * String.cs: Fix the various IndexOf and LastIndexOf methods so they handle
525         "" and a non-zero startIndex correctly. Fixes #566106.
526
527 2009-12-17  Sebastien Pouliot  <sebastien@ximian.com>
528
529         * String.cs: Fix #565602 right-padding empty strings.
530
531 2009-12-15  Marek Safar  <marek.safar@gmail.com>
532
533         * Array.cs: Optimize sort operations on all primitive types.
534
535 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
536
537         Type.cs (IsCompilerContext): The default implementation now checks if the
538         type's assembly is under compiler context or not.
539
540 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
541
542         * Environment.cs: Bump corlib version.
543
544 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
545
546         * MonoType.cs: Make the GetConstructorImpl machinery available
547         to be used by others.
548
549         * Type.cs (MakeGenericType): Is any of the arguments is not a system
550         type create an instance of MonoGenericClass instead. 
551
552 2009-12-09  Jb Evain  <jbevain@novell.com>
553
554         * StringComparer.cs (GetHashCode): properly throw
555         an ANE instead of an NRE.
556
557 2009-12-09  Miguel de Icaza  <miguel@novell.com>
558
559         * Enum.cs: Add new .NET 4.0 API.
560
561 2009-12-08  Marek Habersack  <mhabersack@novell.com>
562
563         * Type.cs: added overloads for the == and != operators (4.0).
564
565 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
566
567         * Type.cs: Add virtual property IsCompilerContext to cleanup
568         compiler context resolution across SRE.
569
570 2009-12-05  Mark Probst  <mark.probst@gmail.com>
571
572         * String.cs: A new LOS_limit variable which gives the maximum
573         string length that's not put in the LOS.
574
575         * StringBuilder.cs: Copy the string also if it's in the LOS and
576         chopping it would bring its size below the LOS limit.
577
578         * Environment.cs: Bump corlib version.
579
580 2009-12-03  Stephane Delcroix  <stephane@delcroix.org>
581
582         * DateTimeOffset.cs: fix dates arithmetic to avoid throwing
583         while crossing dst boundaries.
584
585 2009-12-03  Jb Evain  <jbevain@novell.com>
586
587         * Attribute.cs: remove code duplication.
588
589 2009-12-02  Jb Evain  <jbevain@novell.com>
590
591         * Enum.cs (IConvertible.ToType): properly convert enum values
592         to strings instead of their numeric value.
593
594 2009-12-02  Jb Evain  <jbevain@novell.com>
595
596         * Environment.cs (mono_corlib_version): bump.
597         * Attribute.cs: when retrieving custom attributes defined
598         on parameters belonging to a virtual method, walk
599         the inheritance chain to check for parameters attributes
600         all the way down.
601
602 2009-12-01  Jb Evain  <jbevain@novell.com>
603
604         * Type.cs (MakeByRefType): throw a TypeLoadException when being
605         called on type which is already ByRef.
606
607 2009-11-26  Sebastien Pouliot  <sebastien@ximian.com>
608
609         * Random.cs: Fix case where the diff between min and max
610         is very large in Next(int,int). Fix bug #558593
611
612 2009-11-25  Zoltan Varga  <vargaz@gmail.com>
613
614         * Delegate.cs (GetHashCode): Fix this so it is constant.
615
616 2009-11-24  Jb Evain  <jbevain@novell.com>
617
618         * Array.cs: use ContainsGenericParameters instead of
619         IsGenericTypeDefinition as it catches more cases.
620
621 2009-11-24  Jb Evain  <jbevain@novell.com>
622
623         * Array.cs (IList.this[int]): prevent the use of the IList indexer 
624         when dealing with a multi dimensional array.
625
626 2009-11-24  Jb Evain  <jbevain@novell.com>
627
628         * Array.cs (Clear): throw an IndexOutOfRangeException instead
629         of an ArgumentOutRangeException for a negative length.
630
631 2009-11-24  Jb Evain  <jbevain@novell.com>
632
633         * Array.cs (CreateInstance): do not allow open generic types.
634
635 2009-11-24  Jb Evain <jbevain@novell.com>
636
637         * Array.cs (CreateInstance): do not allow void arrays.
638
639 2009-11-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
640
641         * Array.cs: When sorting and we are sorting value types implementing
642         IComparable<T>, use its corresponding Comparer<T>.Default helper. 
643         This way we avoid casting our values to IComparable<T>, and thus we 
644         avoid *all* the boxing for them. Using Comparer<T>.Default seems to be
645         slower for reference types, so we don't use it for those ones.
646
647 2009-11-22  Miguel de Icaza  <miguel@novell.com>
648
649         * Environment (IsUnix): expose this common property, so we avoid
650         duplicating code. 
651
652 2009-11-18  Marek Safar  <marek.safar@gmail.com>
653
654         * Type.cs: Use faster string comparers.
655
656 2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>
657
658         * DateTimeOffset.cs : fix parse failure on missing colon.
659           Fixed bug #547675, patch by Santa Marta (see bugzilla).
660
661 2009-11-13  Marek Safar  <marek.safar@gmail.com>
662
663         * Lazy.cs: Check recursive initializations.
664
665 2009-11-11 Rodrigo Kumpera  <rkumpera@novell.com>
666
667         * Type.cs: Fix Make(Array|ByRef|Pointer)Type to not crash
668         with user types. 
669
670         * Type.cs (MakeGenericType): Don't crash with user types.
671
672         * Type.cs (GetGenericParameterConstraints): Don't crash with user types.
673
674         * Type.cs (GenericParameterAttributes): Don't crash with user types.
675
676         * Type.cs (IsInstanceOfType): Don't crash with user types.
677
678         * Type.cs (IsAssignableFrom): Better handle User Types.
679
680         * Type.cs (GetInterfaceMap): Don't crash with user types.
681
682         * Type.cs (Equals): Fix behavior to be more MS compatible.
683
684 2009-11-11  Sebastien Pouliot  <sebastien@ximian.com>
685
686         * Console.cs: Reduce duplication between OpenStandard[Input|
687         Output|Error] and, for Moonlight, don't return a NullStream if
688         security is disabled (e.g. when smcs executes) r: alan
689         Note: include changes from r145773 (2-6) from toshok
690
691 2009-11-10  Miguel de Icaza  <miguel@novell.com>
692
693         * Lazy.cs: Updated API to 4.0 Beta 2
694
695 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
696
697         * Array.cs (Sort):
698         - Sort(..) without IComparer param call Sort(.., (IComparer)null) siblings
699         - Sort(keys, items,..) with items == null call Sort(keys,..) siblings
700         Add missing argument checks. Add SortImpl method to be used by
701         List<T>.Sort(Comparison <T>).
702
703         Part 3 of 3 fixing bug #351638.
704
705 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
706
707         * Array.cs (Sort): Add and call
708         - SortImpl methods which do the real work without argument checking
709         - MoveNullKeysToFront methods which do a null <-> non-null sorting and
710         ensure that all non-null object implement IComparable/IComparable<T>
711
712         Part 2 of 3 fixing bug #351638.
713
714 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
715
716         * Array.cs (Sort): optimize qsort by employing multiple, faster copies
717         of the inner-most loops:
718         - for case "comparer != null"
719         - for case "pivot is IComparable<T>"
720         - for case "pivot is IComparable"
721         Remove compare methods as the inner loops now do their work.
722         Use GetValueImpl instead of GetValue in swap.
723
724         Part 1 of 3 fixing bug #351638.
725
726 2009-11-03  Miguel de Icaza  <miguel@novell.com>
727
728         * TermInfoDriver.cs (CheckWindowDimensions) Avoid extra checks, as
729         the condition was always checked previously.
730
731         (WriteSpecialKey): Actually write the tab character.
732         
733 2009-11-02  Miguel de Icaza  <miguel@novell.com>
734
735         * More NET_2_0 define removal, assume that it is now always true. 
736
737 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
738
739         * MonoType.cs: Don't pass null value to icalls 
740         GetCorrespondingInflated[Constructor|Method]
741
742 2009-10-28  Lluis Sanchez Gual  <lluis@novell.com>
743
744         * MarshalByRefObject.cs: In InitializeLifetimeService, if a lease
745         exists for the object return it, instead of always creating
746         a new one. Fixes bug #544357.
747
748 2009-10-27  Sebastien Pouliot  <sebastien@ximian.com>
749
750         * String.cs: Remove unused (and unneeded) internal call defs.
751         Reduce duplication (and fix test) for Concat (object,object).
752         Avoid allocating zero-length strings in the cases where the
753         FX does not do so.
754
755 2009-10-22  Miguel de Icaza  <miguel@novell.com>
756
757         *  String.cs (IsNullOrWhiteSpace, Concat, Join): New 4.0 methods. 
758
759         * IntPtr.cs (Add, Subtract): New 4.0 methods.
760
761         * Tuple.cs: Updated signature.
762
763 2009-10-19  Marek Safar  <marek.safar@gmail.com>
764
765         * IObservable.cs, IObserver.cs: New files.
766         
767         * EventHandler.cs: Cleanup.
768
769 2009-10-16  Miguel de Icaza  <miguel@novell.com>
770
771         * Jumbo patch to drop support for pre-NET_2_0 code:
772
773         Remove ONLY_1_1 code
774         Remove NET_1_0 only code
775         Remove NET_2_0 defines assuming the value is true.
776
777         Improve one MonoTODO;   Implement one MonoTODO/Niex.
778
779         Ran a textual diff on the resulting assembly to validate that the
780         restul is the same on NET_2_0
781
782 2009-10-14  Jonathan Pryor  <jpryor@novell.com>
783
784         * AppDomain.cs: Re-add BaseDirectory in the MonoTouch profile.
785
786 2009-10-14  Sebastien Pouliot  <sebastien@ximian.com>
787
788         * Exception.cs: Use StackFrame.GetSecureFileName to display (or 
789         not) the file names (and paths). Don't serialize Source for
790         Moonlight.
791         * ValueType.cs: Change InternalEquals (icall) visibility to 
792         private since it is not used elsewhere outside the type.
793
794 2009-10-08  Sebastien Pouliot  <sebastien@ximian.com>
795
796         * AppDomain.cs: Remove NET_2_1 specific DefineDynamicAssembly(
797         AssemblyName,AssemblyBuilderAccess,bool) since it is not part
798         of SL. Provide a ToString implementation similar to Silverlight
799         for Moonlight (and without directly using an icall)
800
801 2009-10-07  Sebastien Pouliot  <sebastien@ximian.com>
802
803         * String.cs: Remove unsafe code duplication in ToCharArray.
804         Define out the unused InternalStrcpy icalls
805         * StringComparer.cs: Seal internal/private inner classes.
806
807 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
808
809         * Decimal.cs: Use Compare method instead of directly using the
810         decimalCompare internal call.
811
812 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com> 
813
814         * Enum.cs: Add an internal Value property as a single point to 
815         call the internal call get_value.
816
817 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
818
819         * String.cs: Remove normalization methods for Moonlight
820
821 2009-10-06  Jonathan Chambers  <joncham@gmail.com>
822
823         * String.cs (Contains): Use CompareOptions.Ordinal. Fixes bug
824         #535425.
825
826 2009-10-04  Mark Probst  <mark.probst@gmail.com>
827
828         * AppDomain.cs: Check for static AppDomainInitializer earlier to
829         throw the appropriate exception instead of failing at
830         serialization.
831
832 2009-10-04  Mark Probst  <mark.probst@gmail.com>
833
834         * AppDomainSetup.cs: Functionality for serializing a few members
835         to simplify cross-domain copying from within the runtime.
836
837         * AppDomain.cs (CreateDomain): Make AppDomainSetup serialize the
838         necessary members in preparation for the cross-domain copy.
839
840         * Environment.cs: Corlib version bump.
841
842 2009-10-02  Marek Safar  <marek.safar@gmail.com>
843
844         * Array.cs, Decimal.cs, String.cs, Console.cs, _AppDomain.cs,
845         AppDomain.cs: Removed prehistoric mcs workarounds.
846
847 2009-09-30  Mark Probst  <mark.probst@gmail.com>
848
849         * Thread.cs: Remove serialized culture icall stuff from
850         InternalThread.  Implement it by using the cross-domain byte array
851         transfer icalls.
852
853         * Environment.cs: Corlib version bump.
854
855 2009-09-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
856
857         * TermInfoDriver.cs: attempt to fix bug #527487.
858
859 2009-09-28  Atsushi Enomoto  <atsushi@ximian.com>
860
861         * Console.cs : do not use codepage 28591. It breaks build on
862           Japanese Windows.
863
864 2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
865
866         * TermInfoDriver.cs: avoid segv if the pointer is not properly
867         initialized.
868
869 2009-09-26  Mark Probst  <mark.probst@gmail.com>
870
871         * NumberFormatter.cs: Remove the _thread field.
872
873 2009-09-26  Mark Probst  <mark.probst@gmail.com>
874
875         * Environment.cs: Corlib version bump.
876
877 2009-09-24  Zoltan Varga  <vargaz@gmail.com>
878
879         * Type.cs: Initialize the Missing field.
880
881 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
882
883         * Environment.cs: Remove imperative CAS environment
884         permission checks under NET_2_1
885
886 2009-09-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
887
888         * Console.cs: mark methods/properties that only work on windows.
889         Fixes bug #540593.
890
891 2009-09-21  Sebastien Pouliot  <sebastien@ximian.com>
892
893         * AppDomain.cs: Remove use of IPrincipal, Evidence and
894         PermissionSet types for NET_2_1
895
896 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
897
898         * Activator.cs: Remove COM related method for NET_2_1
899         * AppDomain.cs: Remove extra methods and properties for NET_2_1
900         * AppDomainSetup.cs: Remove some properties for NET_2_1
901
902 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com> 
903
904         * AppDomain.cs, Environment.cs: Remove imperative CAS file IO
905         permission checks under NET_2_1
906
907 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
908
909         * AppDomainManager.cs: Remove NET_2_1 defines
910         * AppDomainManager_2_1.cs: New. NET_2_1 specific implementation
911
912 2009-09-04  Miguel de Icaza  <miguel@novell.com>
913
914         * TermInfoDriver.cs: Handle a few more key combinations.
915
916 2009-08-14  Miguel de Icaza  <miguel@novell.com>
917
918         * TermInfoDriver.cs (GetCursorPosition): Before we probe the
919         terminal for the cursor location, read all the pending console
920         input into our internal buffer and then send the cursor location
921         request.
922
923 2009-08-26  Sebastien Pouliot  <sebastien@ximian.com>
924
925         * TimeSpan.cs: Fix parsing when seconds are not specified.
926
927 2009-08-14  Marek Safar  <marek.safar@gmail.com>
928
929         * Type.cs: Made IsClass work under compiler context.
930
931 2009-08-12  Zoltan Varga  <vargaz@gmail.com>
932
933         * ResolveEventArgs.cs: Add net 4.0 RequestingAssembly property.
934
935 2009-08-11  Jérémie Laval  <jeremie.laval@gmail.com>
936
937         * Funcs.cs:
938         * Action.cs:
939         * AggregateException.cs: Add BOOTSTRAP_NET_4_0.
940
941 2009-08-07  Marek Safar  <marek.safar@gmail.com>
942
943         * AppDomain.cs: IsHomogenous always returns true for now.
944
945 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
946
947         * Environment.cs: Bump corlib version.
948
949 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
950
951         * Environment.cs: Bump corlib version.
952
953 2009-08-03  Zoltan Varga  <vargaz@gmail.com>
954
955         * Environment.cs: Bump corlib version.
956
957 2009-07-30  Marek Safar  <marek.safar@gmail.com>
958
959         * AppDomain.cs: Implemented 2.0 CreateDomain.
960
961 2009-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
962
963         Type.cs (MakeArrayType): Handle one-dym multidimensional array
964         created with Type::MakeArrayType (1).
965
966 2009-07-28  Rodrigo Kumpera  <rkumpera@novell.com>
967
968         * Type.cs (FindMembers): Fix the ordering of returned members
969         to method, ctor, property, event, field and nested type.
970
971 2009-07-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
972
973         * Array.cs: empty arrays just return -1 in LastIndexOf().
974
975 2009-07-27  Miguel de Icaza  <miguel@novell.com>
976
977         * Value types implementing IConvertible.ToType now throw an
978         ArgumentNullException if they are passed a null as the
979         "targetType" argument.
980
981         This code can not be put directly in the Convert.ToType method, as
982         this method is used by Convert.ToType (object o, TypeCode tc)
983         which uses null as a target to throw a different kind of error
984         (InvalidCastException).
985
986         Fixes a few more bugs in the Silverlight BCL test suite.
987
988         Additionally, the parameter type has been renamed.
989
990 2009-07-26  Miguel de Icaza  <miguel@novell.com>
991
992         * Type.cs: (GetMember) call directly the worker method, instead of
993         calling through an intermediary.
994
995         (GetMember, full): throw if the name is null.
996
997 2009-07-19  Robert Jordan  <robertj@gmx.net>
998
999         * __ComObject.cs: Factor out Initialize method and expose it to
1000         ComInteropProxy. Fixes bug #520437.
1001
1002 2009-07-14  Rodrigo Kumpera  <rkumpera@novell.com>
1003
1004         * Attribute.cs (GetCustomAttributes): Pass typeof(Attribute)
1005         to GetCustomAttributes to match MS.
1006
1007         * MonoCustomAttrs.cs (GetCustomAttributesBase): Do proper
1008         checking of which types are handled by the runtime.
1009
1010         * MonoCustomAttrs.cs (IsDefined): Same.
1011
1012         Fixes #521885.
1013
1014 2009-07-14  Zoltan Varga  <vargaz@gmail.com>
1015
1016         * Environment.cs: Bump corlib version.
1017
1018 2009-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
1019
1020         * Type.cs (IsUserType): Only TypeDelegator and types
1021         outside of corlib are unhandled usertypes.
1022
1023 2009-07-02  Marek Safar  <marek.safar@gmail.com>
1024
1025         * Type.cs, AppDomain.cs: 4.0 bits.
1026
1027 2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
1028
1029         * DateTime.cs: if the DateTimeOffset is out of bounds, let Parse
1030         report the error. Fix stupid harmless typo.
1031         * DateTimeOffset.cs: report error if the UTC date/time is out of
1032         bounds.
1033
1034 2009-06-25  Miguel de Icaza  <miguel@novell.com>
1035
1036         * Array.cs: IList.this needs to throw IndexOutOfRangeException
1037         when the index is invalid, not ArgumentOutOfRangeException.
1038
1039         * Int32.cs: Do not crash if the FormatProvider returns a null
1040         value on the call to GetFormat (Type).
1041
1042         Validate the NumberStyles, passes Int/Int32Parse2.exe
1043
1044         Fix regression introduced in 2005, we need to throw
1045         ArgumentNullException on Parse.
1046
1047 2009-06-25  Miguel de Icaza  <miguel@novell.com>
1048
1049         * Int32.cs: Fix regression introduced in 2005, we need to throw
1050         ArgumentNullException on Parse.
1051
1052 2009-06-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
1053
1054         * DateTime.cs: ignore MinValue to avoid DateTimeOffset ctor throwing
1055         when adjusting for TZ.
1056
1057 2009-06-22  Miguel de Icaza  <miguel@novell.com>
1058
1059         * String.cs: In Silverlight the whitespace characters 0x202f and
1060         0x205f are considered for Trim and Split purposes. 
1061
1062 2009-06-21  Marek Safar  <marek.safar@gmail.com>
1063
1064         * Tuples.cs: Add Equals, GetHashCode.
1065
1066 2009-06-21  Zoltan Varga  <vargaz@gmail.com>
1067
1068         * IntPtr.cs (.ctor): Disable the check in the long ctor until we
1069         can figure out how to do it properly.
1070
1071 2009-06-20  Zoltan Varga  <vargaz@gmail.com>
1072
1073         * IntPtr.cs (.ctor): Allow long values whose 31th bit is set.
1074
1075 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
1076
1077         * DateTime.cs: quick fix for the 1.x build.
1078
1079 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
1080
1081         * AppDomainSetup.cs: update attribute.
1082         * TermInfoDriver.cs: ensure we are initialized in CheckWindowDimensions().
1083         * DateTimeOffset.cs: Implement Parse().
1084         * DateTime.cs: add 'zzz' to the list of default time formats. Return a
1085         DateTimeOffset from _DoParse. Fixed the offset minutes when the
1086         timezone is specified as a negative one.
1087         * Console.cs: updates for MoveBufferArea().
1088         * AppDomainManager.cs: implement EntryAssembly.
1089         * AppDomain.cs: update attribute.
1090
1091 2009-06-15  Atsushi Enomoto  <atsushi@ximian.com>
1092
1093         * Environment.cs : bump corlib version.
1094
1095 2009-06-12  Bill Holmes  <billholmes54@gmail.com>
1096
1097         * Variant.cs (GetValue):  Changing the bool case to use the short value.  
1098           This is to avoid junk in the high word.
1099
1100         Contributed under MIT/X11 license.
1101
1102 2009-06-10  Marek Safar  <marek.safar@gmail.com>
1103
1104         * Predicate.cs, Action.cs, Funcs.cs, Comparison.cs, IComparable.cs,
1105         Converter.cs, EventHandler.cs: Add type variance.
1106         
1107         * InvalidTimeZoneException.cs,
1108         TimeZoneNotFoundException.cs: New file.
1109
1110 2009-05-27  Zoltan Varga  <vargaz@gmail.com>
1111
1112         * AppDomain.cs (DoAssemblyResolve): Fix recursion detection. Fixes #507003.
1113
1114 2009-05-26  Mark Probst  <mark.probst@gmail.com>
1115
1116         * Thread.cs: Don't set the execution context when creating a
1117         thread because the _ec member is thread static and we set the
1118         wrong one.  It's now set by the runtime.  We just provide the
1119         correct one.
1120
1121         * Environment.cs: Bump corlib version.
1122
1123 2009-05-22  Zoltan Varga  <vargaz@gmail.com>
1124
1125         * Tuple.cs Tuples.cs: New files.
1126
1127         * Lazy.cs LazyExecutionMode.cs Funcs.cs: New files.
1128
1129 2009-05-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
1130
1131         * Type.cs: (GetInterfaceMap) 'this' can't be an interface itself.
1132         Fixed bug #503728.
1133
1134 2009-05-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
1135
1136         * TermInfoDriver.cs: replace Peek with DataAvailable.
1137
1138 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
1139
1140         * Console.cs: Remove Windows-specific p/invokes and SSC code
1141         from the NET_2_1 build.
1142
1143 2009-05-01  Sebastien Pouliot  <sebastien@ximian.com>
1144
1145         * AppDomainManager.cs: Fix base class for NET_2_1 and implement
1146         CheckSecuritySettings (added in 2.0SP and part of SL API)
1147
1148 2009-04-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
1149
1150         * Enum.cs: return the value as an enum of the right type.
1151
1152 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
1153
1154         * Enum.cs: avoid exceptions from ToObject and use Try* instead.
1155
1156 2009-04-25  Miguel de Icaza  <miguel@novell.com>
1157
1158         * TermInfoDriver.cs: Use the new StreamReader.DataAvailable to
1159         load all the data that was added into the `stdin' stream when we
1160         did the `Read'.
1161
1162 2009-04-24  Sebastien Pouliot  <sebastien@ximian.com>
1163
1164         * Environment.cs: #ifdef out code that use the registry for the 
1165         NET_2_1 profile and some other properties (2) that added
1166         [SecuritySafeCritical] methods to audit inside Moonlight.
1167
1168 2009-04-21  Mark Probst  <mark.probst@gmail.com>
1169
1170         * Environment.cs: Bump corlib version.
1171
1172 2009-04-21  Miguel de Icaza  <miguel@novell.com>
1173
1174         * TermInfoDriver.cs: Prevent race condition if two threads try to
1175         initialize the Console at the same time. 
1176
1177         What happens is that inited is set, and elsewhere we try to
1178         dereference native_terminal_size before it is set.
1179
1180         * Reduce code size by using a table instead of manually making a
1181         few hundred calls.
1182         
1183 2009-04-20  Miguel de Icaza  <miguel@novell.com>
1184
1185         * Enum.cs (MonoEnumInfo): Compare bytes, shorts, ints and longs as
1186         unsigned values as specified and to fix 371559, from the bug:
1187
1188                 So the actual difference is that MSFT's Enum.GetValues
1189                 orders the members as unsigned even when the underlying
1190                 type is int.  See the following.  Perhaps that's what's
1191                 being implied by "binary values" in that Enum.GetValues
1192                 MSDN quote above.
1193
1194 2009-04-18  Mark Probst  <mark.probst@gmail.com>
1195
1196         * NumberFormatter.cs: Keep the current thread's number formatter
1197         as a ThreadStatic member.
1198
1199 2009-04-18  Mark Probst  <mark.probst@gmail.com>
1200
1201         * Environment.cs: Bump corlib version.
1202
1203 2009-04-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
1204
1205         * GCNotificationStatus.cs: new enum.
1206
1207 2009-04-10  Zoltan Varga  <vargaz@gmail.com>
1208
1209         * Array.cs: Make some of the InternalArray methods non-generic to cut down
1210         on the number of instantiations. Add implementation for 
1211         ICollection:IsReadOnly.
1212
1213 2009-03-26  Jb Evain  <jbevain@novell.com>
1214
1215         * Delegate.cs (CreateDelegate): Support for delegates
1216         on static methods closed on a null target.
1217
1218 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
1219
1220         * Environment.cs: Bump corlib version.
1221
1222 2009-03-25  Sebastien Pouliot  <sebastien@ximian.com>
1223
1224         * Delegate.cs: Add new parameter to CreateDelegate_internal (icall)
1225         * Environment.cs: Bump mono_corlib_version to 73
1226
1227 2009-03-25  Jb Evain  <jbevain@novell.com>
1228
1229         * Delegate.cs (CreateDelegate): fix checks to deal with
1230         valuetypes -> obj conversions for arguments, and avoid
1231         issues with such unallowed conversion for return types.
1232
1233 2009-03-23  Zoltan Varga  <vargaz@gmail.com>
1234
1235         * String.cs (LastIndexOf): Handle empty strings correctly. Fixes #486234.
1236
1237 2009-03-18  Zoltan Varga  <vargaz@gmail.com>
1238
1239         * Type.cs (GetGenericTypeDefinition): Make this throw an exception to be
1240         consistent with MS.NET. Move the real implementation to MonoType.
1241
1242 2009-03-18  Marek Safar  <marek.safar@gmail.com>
1243
1244         * Decimal.cs: Initialize all fields.
1245
1246 2009-03-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
1247
1248         * ConsoleDriver.cs:
1249         * TermInfoDriver.cs: handle Ctrl-D (or similar) in ReadLine.
1250         Fixes bug #483950.
1251
1252         * ControlCharacters.cs: index to the control characters list.
1253         * Environment.cs: bumped corlib version.
1254
1255 2009-03-14  Miguel de Icaza  <miguel@novell.com>
1256
1257         * Convert.cs (ToType): Control whether this internal function will
1258         call an IConvertible.ToType method or not.  
1259
1260         Classes and structs implementing IConvertible in mscorlib (the
1261         only callers that can access Convert.ToType) must pass false to
1262         avoid a infinite recursion problem and callers from the public
1263         Convert API must call it with true.
1264
1265         This fixes the regression reported in #485377 that was introduced
1266         by the fix for #481687.
1267
1268         * Int16.cs, UInt64.cs, Double.cs, Enum.cs, SByte.cs, UInt16.cs,
1269         Byte.cs, Decimal.cs, Int32.cs, String.cs, Int64.cs, Char.cs,
1270         Boolean.cs, Single.cs, UInt32.cs: Update the call sites.
1271
1272 2009-03-07  Gert Driesen  <drieseng@users.sourceforge.net>
1273
1274         * Convert.cs: Do not throw InvalidCastException if
1275         IConvertible.ToType returns null.
1276
1277 2009-03-06  Andrés G. Aragoneses  <aaragoneses@novell.com>
1278
1279         * Convert.cs: Correct typo in exception message.
1280
1281 2009-03-06  Miguel de Icaza  <miguel@novell.com>
1282
1283         * Convert.cs: Apply patch from Tom Hindle that uses
1284         IConvertible.ToType if there are no other possible conversions
1285         defined. 
1286
1287         Fixes: #481687 
1288
1289 2009-03-06  Rodrigo Kumpera  <rkumpera@novell.com>
1290
1291         * MonoType.cs (MonoTypeInfo): Add default_ctor field.
1292
1293         * MonoType.cs: Add GetDefaultConstructor that caches using
1294         type_info.default_ctor.
1295
1296         * MonoType.cs (FullName): Protects against type_info been replaced
1297         under the hood.
1298
1299         * Activator.cs (CreateInstance): If the type is a MonoType resolve the
1300         default constructor using the new method from MonoType.
1301
1302         Improves Activator::CreateInstance performance by at least 30%, reduces object churn
1303         and domain lock contention.
1304
1305 2009-03-03  Rodrigo Kumpera  <rkumpera@novell.com>
1306
1307         * Guid.cs (BaseToString): Reduce allocations.
1308
1309 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1310
1311         * Environment.cs: Bump corlib version.
1312
1313 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1314
1315         * Enum.cs (IsDefined): If the enum underlying type is int32, use
1316         the generic version, which doesn't box every element of the array.
1317
1318 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1319
1320         * Enum.cs (GetName): If the enum underlying type is int32, use
1321         the generic version, which doesn't box every element of the array.
1322
1323 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1324
1325         * Enum.cs (MonoEnumInfo::GetInfo): Share the boxed form of the
1326         MonoEnumInfo between both caches.
1327
1328 2009-02-28  Zoltan Varga  <vargaz@gmail.com>
1329
1330         * Enum.cs (FindName): Use a hash table for looking up names instead of
1331         a linear search for enums with a lot of values.
1332
1333 2009-02-27  Rodrigo Kumpera  <rkumpera@novell.com>
1334
1335         * UInt16.cs (CompareTo/short): Make it return the
1336         same values as the /object version.
1337
1338         * Enum.cs (CompareTo): Use new compare_value_to icall to do the comparison.
1339         This avoids two allocations and reduce the number of trips to unmanaged land
1340         by one.
1341
1342         The performance improvement is up to 3.5x with the bonus of reducing the generated
1343         garbage.
1344
1345 2009-02-26  Marek Safar  <marek.safar@gmail.com>
1346
1347         * Nullable.cs: Inline GetValueOrDefault.
1348
1349 2009-02-26  Zoltan Varga  <vargaz@gmail.com>
1350
1351         * String.cs (FormatHelper): If all the arguments are strings, compute an
1352         initial length for the stringbuilder to avoid reallocations.
1353
1354         * MonoType.cs (FullName): Cache the result of this in a field, as
1355         computing it is expensive.
1356
1357         * Environment.cs: Bump corlib version.
1358         
1359 2009-02-25  Zoltan Varga  <vargaz@gmail.com>
1360
1361         * Enum.cs (GetInfo): Add a global cache in addition to the thread-local
1362         caches to accomodate short living threads like threadpool threads.
1363
1364 2009-02-23  Zoltan Varga  <vargaz@gmail.com>
1365
1366         * Type.cs: Add IsUserType internal property.
1367
1368 2009-02-21  Jb Evain  <jbevain@novell.com>
1369
1370         * MonoType.cs (InvokeMember): don't pass a null args to
1371         Binder.BindToMethod. Fix for #471275.
1372
1373 2009-02-12  Robert Jordan  <robertj@gmx.net>
1374
1375         * Exception.cs: Rename remote_stack_trace for MS.NET
1376         compatibility. Fixes #425512.
1377
1378 2009-02-12  Lluis Sanchez Gual  <lluis@novell.com>
1379
1380         * MarshalByRefObject.cs: Implemented MemberwiseClone(bool).
1381
1382 2009-02-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
1383
1384         * AppDomain.cs: this fixes the remoting tests.
1385         Zoltan found out that there was a domain improperly using shadow
1386         copy.
1387
1388 2009-02-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
1389
1390         * DateTime.cs: check for null and empty strings before anything else
1391         in CoreParse.
1392
1393 2009-01-27  Zoltan Varga  <vargaz@gmail.com>
1394
1395         * Type.cs (GetHashCode): Work on UnderlyingSystemType. Fixes #467229.
1396
1397 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
1398
1399         * Variant.cs ApplicationIdentity.cs ActivationContext.cs Environment.cs
1400         AppDomain.cs: Fix warnings.
1401
1402 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
1403
1404         * AppDomain.cs: LoadAssembly() returns null instead of throwing now.
1405         Add new LoadSatellite method.
1406
1407 2009-01-20  Mark Probst  <mark.probst@gmail.com>
1408
1409         * Exception.cs: Added a comment explaining the use of trace_ips.
1410
1411 2009-01-12  Bill Holmes  <billholmes54@gmail.com>
1412
1413         * Variant.cs (GetValue):  Handling the NULL IDispatch 
1414           and IUnknown case.
1415
1416         Contributed under MIT/X11 license.
1417
1418 2009-01-09  Miguel de Icaza  <miguel@novell.com>
1419
1420         * DateTime.cs: Implement TryParse in a way that will not depend on
1421         the try/catch statement.   The try/catch statement is still there
1422         *just in case*, I might have missed some codepaths.
1423
1424 2009-01-06  Atsushi Enomoto  <atsushi@ximian.com>
1425
1426         * DateTime.cs : when ".FF..." is specified, allow milliseconds-less
1427           time. Fix #444103.
1428
1429 2008-12-19  Bill Holmes  <billholmes54@gmail.com>
1430
1431         * Environment.cs (GetEnvironmentVariable) :  Avoiding an nre if 
1432           the variable is not set.
1433
1434         * Environment.cs (SetEnvironmentVariable) : Adding a call to 
1435           internalBroadcastSettingChange to notify Windows that an environment 
1436           variable has changed.
1437
1438         Contributed under MIT/X11 license.
1439
1440 2008-12-18  Jb Evain  <jbevain@novell.com>
1441
1442         * String.cs: the Compare methods that were specific to SL2 are now
1443         also in .net 2/3.5 sp1.
1444
1445 2008-12-10  Bill Holmes  <billholmes54@gmail.com>
1446
1447         * Variant.cs (SetValue):   Changing the behavior for COM object in 
1448           VARIANTs to match MS.  Also adding support for BStrWrapper, 
1449           UnknownWrapper, and DispatchWrapper.
1450
1451         Contributed under MIT/X11 license.
1452
1453 2008-11-28  Miguel De Icaza  <miguel@novell.com>
1454
1455         * TermInfoDriver.cs: Also register a mapping to make verase be the
1456         backspace key.  Funny thing: verase was fetched from the termios,
1457         but it was *never* actually used in this file.
1458
1459         VSUSP and VINTR are likewise ignored.   Must ponder this.
1460
1461         This makes the backspace key in MacOS work on interactive
1462         applications.
1463         
1464 2008-11-15  Kornél Pál  <kornelpal@gmail.com>
1465
1466         * Convert.cs: Removed useless check from ToChar (ushort).
1467
1468 2008-11-06  Bill Holmes  <billholmes54@gmail.com>
1469
1470         * Type.cs (FindMembers):  Changing the instantiated type of the 
1471           returned MemberInfo array to match the MemberTypes flag
1472           passed in argument 1.
1473
1474         Contributed under MIT/X11 license.
1475
1476 Mon Nov 3 16:39:37 CET 2008 Paolo Molaro <lupus@ximian.com>
1477
1478         * Array.cs: in the IList set_Item, ensure the array
1479         element is set using the proper type checks (bug #440819).
1480
1481 Mon Oct 13 16:40:56 CEST 2008 Paolo Molaro <lupus@ximian.com>
1482
1483         * Environment.cs, OperatingSystem.cs: complete support for
1484         PlatformID (bug #433108).
1485
1486 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
1487
1488         * AppDomain.cs: (Load(AssemblyName)) Use the CodeBase after the Name
1489         when both are provided.
1490         Fixes bug #322228.
1491
1492 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1493
1494         * Variant.cs : Adding the BRECORD field to ensure the right size on
1495           a 64-bit OS.  32-bit 16 bytes, 32-bit 24 bytes.
1496
1497         Contributed under MIT/X11 license.
1498
1499 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1500
1501         * Variant.cs (SetValue) : Adding code to handle enums.
1502
1503         Contributed under MIT/X11 license.
1504
1505 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1506
1507         * Variant.cs : Cleaning up some tab formatting problems.
1508
1509         Contributed under MIT/X11 license.
1510
1511 2008-10-08  Zoltan Varga  <vargaz@gmail.com>
1512
1513         * PlatformID.cs: Define Xbox/MacOSX on the 2.0 profile too, since it
1514         is part of NET 3.5 SP1.
1515
1516 2008-10-07  Marek Habersack  <mhabersack@novell.com>
1517
1518         * Math.cs: implemented the away from zero rounding for the Round
1519         (double, int, MidpointRounding) overload.
1520
1521 2008-10-06  Zoltan Varga  <vargaz@gmail.com>
1522
1523         * Activator.cs (CreateInstance): Don't return the return value of the
1524         ctor.Invoke (object, ...) overload since it is null, return 'newOb' instead.
1525
1526 Mon Oct 6 15:12:25 CEST 2008 Paolo Molaro <lupus@ximian.com>
1527
1528         * Array.cs: better message when keys cannot be compared
1529         when sorting (bug #368455).
1530
1531 2008-09-29  Rodrigo Kumpera  <rkumpera@novell.com>
1532
1533         * Type.cs (MakeGenericType): Only use UnderlyingSystemType for user types.
1534         This must exclude TypeBuilder and EnumBuilder. Fixes #430508.
1535
1536 2008-09-28  Juraj Skripsky  <js@hotfeet.ch>
1537
1538         * String.cs (ReplaceUnchecked): Avoid any unnecessary work and 
1539         string allocations by returning early when no oldValue was found.
1540
1541 2008-09-24  Marek Habersack  <mhabersack@novell.com>
1542
1543         * Double.cs: check whether decimal_separator, group_separator and
1544         currency_symbol strings aren't empty before trying to index them
1545         in Parse ().
1546
1547 2008-09-24  Jb Evain  <jbevain@novell.com>
1548
1549         * AppDomain.cs (CreateDomain): call the domain initializer in
1550         the newly created AppDomain. Fixes #429545.
1551
1552 2008-09-24  Jb Evain  <jbevain@novell.com>
1553
1554         * AppDomain.cs: implement the CreateDomain overload which
1555         takes an AppDomain initializer. Fixes #429545.
1556
1557 2008-09-17  Robert Jordan  <robertj@gmx.net>
1558
1559         * DelegateSerializationHolder.cs: Starting with .NET 2.0, delegates
1560         of non-public methods are allowed to be serialized. Fixes #425345.
1561
1562 2008-09-15  Andy Hume  <andyhume32@yahoo.co.uk>
1563
1564         * DateTimeOffset.cs: DateTimeOffset currently has no
1565         deserialization constructor, thus deserialization
1566         fails ("SerializationException: The constructor to deserialize an
1567         object of type System.DateTimeOffset was not found.")
1568
1569         Patch attached, implements GetObjectData and that constructor.
1570         Also includes tests, which include round-tripping to/from MSFT.
1571
1572 2008-09-14  Zoltan Varga  <vargaz@gmail.com>
1573
1574         * ConsoleDriver.cs: Remove obsolete GetTtySize icall.
1575
1576 2008-09-09  Marek Safar  <marek.safar@gmail.com>
1577
1578         * Convert.cs, Decimal.cs: Fixed float/double to decimal range check.
1579
1580 2008-09-07  Miguel de Icaza  <miguel@novell.com>
1581
1582         * TermInfoDriver.cs: Add support for updating the size of the
1583         terminal when it changes.   
1584
1585 2008-08-27  Miguel de Icaza  <miguel@novell.com>
1586
1587         * TermInfoDriver.cs: Adds support for the Insert and Delete keys
1588         on the keyboard.   
1589
1590 2008-08-26  Miguel de Icaza  <miguel@novell.com>
1591
1592         * New console features are used by gmcs.exe, but since we only
1593         build gmcs.exe with the bootstrap corlib, we need to ensure all
1594         the new stuff is included in BOOTSTRAP_NET_2_0
1595
1596 2008-08-26  Robert Jordan  <robertj@gmx.net>
1597
1598         * AppDomain.cs (get_Evidence): Fix endless recursion exposed
1599         by the test case of bug #420197.
1600
1601 2008-08-24  Miguel de Icaza  <miguel@novell.com>
1602
1603         * TermInfoDriver.cs (GetKeyFromBuffer): Add support for reporting
1604         Alt-LETTER sequences.   They were ignored previously.
1605
1606 2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
1607
1608         * AppDomainSetup.cs: Remove IAppDomainSetup for SL2. This helps
1609         the tuner since the methods are then defined correctly (wrt to the
1610         implicit implementation of the interfaces)/
1611
1612 2008-08-21  Sebastien Pouliot  <sebastien@ximian.com> 
1613
1614         * Nullable.cs: Add two ComVisible(false) for SL2 profile.
1615         * PlatformID.cs: Add Xbox and MacOX for SL2 profile.
1616         * WeakReference.cs: Add default, protected, ctor for SL2.
1617
1618 2008-08-20  Miguel de Icaza  <miguel@novell.com>
1619
1620         * ConsoleDriver.cs: TtySetup now takes an extra argument: the
1621         keypadXmit string.
1622
1623 2008-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
1624
1625         * Exception.cs: Fixed value of HResult to match MS. Added support for
1626         (de)serializing Data. Use deserialized ClassName, if available, to
1627         when name of type is used.
1628
1629 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1630
1631         * IServiceProvider.cs: Added ComVisible attribute (1.0 only).
1632         * String.cs: Fixed argument names to match MS.
1633
1634 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1635
1636         * Boolean.cs
1637         * Byte.cs
1638         * Char.cs
1639         * DateTime.cs
1640         * DBNull.cs
1641         * Decimal.cs
1642         * Double.cs
1643         * Enum.cs
1644         * Int16.cs
1645         * Int32.cs
1646         * Int64.cs
1647         * Single.cs
1648         * String.cs
1649         * UInt16.cs
1650         * UInt32.cs
1651         * UInt64.cs: Added missing CLSCompliant attributes for 1.0 profile.
1652
1653 2008-08-07  Atsushi Enomoto  <atsushi@ximian.com>
1654
1655         * DateTime.cs : zzzz format allows non-fixed length of number, even
1656           in exact parsing mode. Fixed bug #377042.
1657
1658 2008-08-05  Jb Evain  <jbevain@novell.com>
1659
1660         * String.cs: add new NET_2_1 Compare methods.
1661
1662 2008-08-03  Miguel de Icaza  <miguel@novell.com>
1663
1664         * ConsoleDriver.cs: If the terminal is dumb, do not activate the
1665         full terminal support.
1666
1667 2008-08-02  Marek Safar  <marek.safar@gmail.com>
1668
1669         * Type.cs: Removed _MemberInfo from base classes list.
1670         
1671 2008-07-28  Marek Safar  <marek.safar@gmail.com>
1672
1673         * KnownTerminals.cs: Don't initialize rarely used static data.
1674
1675 2008-07-24  Zoltan Varga  <vargaz@gmail.com>
1676
1677         * Delegate.cs: Move the rarely used fields to a separate object, add
1678         'method_code' field.
1679
1680         * Environment.cs: Bump corlib version.
1681
1682         * ConsoleDriver.cs: Remove unused Suspend icall.
1683
1684 2008-07-21  Marek Safar  <marek.safar@gmail.com>
1685
1686         * AppDomain.cs (Load): Check for 0-length assembly name.
1687
1688 2008-07-21  Rodrigo Kumpera  <rkumpera@novell.com>
1689
1690         * Enum.cs (GetHashCode): Use new icall get_hashcode to
1691         avoid allocating a boxed version of the enum basetype.
1692
1693 2008-07-17  Marek Safar  <marek.safar@gmail.com>
1694
1695         * String.cs: reverted GetHashCode changes.
1696
1697 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1698
1699         * Char.cs: Remove obsolete lamespecs (it implements IConvertible, small formatting)
1700
1701 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1702
1703         * Char.cs: Optimize some Is* checks
1704
1705 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1706
1707         * DateTimeOffset.cs: Fix parameter name
1708
1709 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1710
1711         * DateTimeOffset.cs: Remove public, make implicit method
1712
1713 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1714
1715         * Environment.cs: Add missing attribute
1716
1717 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
1718
1719         * Delegate.cs (get_Method): Use the internal version
1720         of GetMethodFromHandle to avoid the generic class check.
1721
1722 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1723
1724         * GCCollectionMode.cs: Add attribute
1725         * GC.cs: Add semi-stubbed missing method, remove obsolete Lamespec, hide non-public method
1726
1727 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1728
1729         * Delegate.cs: Fix parameter names for 2.0 profile
1730         * Int64.cs: Fix parameter names
1731
1732 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1733
1734         * IntPtr.cs: Fix parameter names, change internal name to accomodate for parameter changes
1735
1736 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1737
1738         * Predicate.cs:
1739         * Object.cs:
1740         * Nullable.cs
1741         * MultiCastDelegate.cs
1742         * ModuleHandle.cs
1743         * Math.cs
1744         * MarshalByRefObject.cs
1745         * Int64.cs
1746         * Int32.cs
1747         * Int16.cs
1748         * Environment.cs
1749         * Delegate.cs
1750         * DateTimeOffset.cs
1751         * ConsoleKeyInfo.cs
1752         * Console.cs
1753         * Array.cs
1754         * AppDomain.cs: Fix parameter names
1755
1756 2008-07-03  Rodrigo Kumpera  <rkumpera@novell.com>
1757
1758         * Exception.cs (GetFullNameForStackTrace): Don't do string
1759         concatenation.
1760
1761 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1762
1763         * ContextMarshalException.cs:
1764         * DllNotFoundException.cs:
1765         * EntryPointNotFoundException.cs:
1766         * FieldAccessException.cs:
1767         * MethodAccessException.cs:
1768         * MissingFieldException.cs:
1769         * PlatformNotSupportedException.cs: Fix parameter names
1770
1771 2008-06-30  Marek Safar  <marek.safar@gmail.com>
1772
1773         * String.cs: Tweaked hash code methods for better distibution, and speed-up.
1774
1775 2008-06-29  Zoltan Varga  <vargaz@gmail.com>
1776
1777         * MonoCustomAttrs.cs (IsDefined): Avoid calling the .Assembly property in some
1778         cases.
1779
1780 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1781
1782         * Char.cs: Fix formatting, rename wrong named param, remove code duplication
1783
1784 2008-06-28  Zoltan Varga  <vargaz@gmail.com>
1785
1786         * Enum.cs (GetUnderlyingType): Implement this using an icall.
1787         
1788         * Enum.cs (Format): Call IsDefined with inherited=false.
1789
1790         * Exception.cs: Fix a warning.
1791
1792 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
1793
1794         * Enum.cs (FindName): Avoid calling String.Compare for the !ignoreCase case.
1795
1796 2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>
1797
1798         * Exception.cs: Build method traces using the
1799         stack trace StringBuilder.
1800
1801 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1802
1803         * Version.cs: Fix parameter names
1804         * UInt64.cs: 
1805         * UInt32.cs:
1806         * UInt16.cs:
1807         * Int64.cs: Fix parameter names
1808         * Int32.cs: Fix parameter names; some small formatting
1809         * Int16.cs: Fix parameter names
1810         * Double.cs: Fix parameter names; small formatting
1811         * Single.cs:
1812         * SByte.cs:
1813         * Byte.cs:
1814         * Boolean.cs:
1815         * DateTime.cs:
1816         * Enum.cs:
1817         * Decimal.cs: Fix parameter names
1818
1819 2008-06-14  Zoltan Varga  <vargaz@gmail.com>
1820
1821         * Environment.cs: Bump corlib version.
1822
1823 2008-06-10  Zoltan Varga  <vargaz@gmail.com>
1824
1825         * Math.cs (IEERemainder): Use the normal BitConverter.Int64BitsToDouble method
1826         here to fix this on sparc.
1827
1828 2008-06-07  Marek Safar  <marek.safar@gmail.com>
1829
1830         * Array.cs (IndexOf, LastIndexOf): Fixed more array element comparers used
1831         instead of tested value comparers.
1832
1833 2008-06-07  Zoltan Varga  <vargaz@gmail.com>
1834
1835         * Environment.cs: Bump corlib version.
1836
1837 2008-06-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1838
1839         * String.cs: Managed replacement for Replace method ;)
1840
1841 2008-06-03  Zoltan Varga  <vargaz@gmail.com>
1842
1843         * Decimal.cs (Divide): Move expensive equality checks to unmanaged code.
1844
1845 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
1846
1847         * MonoType.cs: For property reflection we should strictly match the return 
1848         type if available.
1849
1850 2008-06-01  Juraj Skripsky  <js@hotfeet.ch>
1851
1852         * String.cs (Substring): Blocking bug #395904 has been fixed,
1853         re-enable optimization.
1854
1855 2008-06-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1856
1857         * String.cs: Replace Split IndexOf
1858
1859 2008-05-30  Marek Safar  <marek.safar@gmail.com>
1860
1861         * Array.cs (IndexOf): Use an array element comparer instead of tested value
1862         comparer.
1863
1864 2008-05-28  Zoltan Varga  <vargaz@gmail.com>
1865
1866         * Console.cs (.cctor): Make sdout synchronized in the console case too.
1867         Fixes #395069.
1868
1869 2008-05-27  Eyal Alaluf <eyala@mainsoft.com>
1870
1871         * NumberFormatter.jvm.cs: Fix tables to avoid arithemtic overflow
1872           in Double.ToString as exposed by Bug #383531.
1873
1874 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1875
1876         * String.cs: Comment out 2.0 compatibility fix for SubString, since it
1877         causes regressions in System.Xml.
1878
1879 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1880
1881         * String.cs: Changed exception to match MS. Fixed ToCharArray to use
1882         startindex for source. In PadLeft and PadRight, only return current
1883         string if totalWidth is less than length.
1884
1885 2008-05-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1886
1887         * Enum.cs: use Array.BinarySearch on the values in IsDefined and
1888         GetName instead of looping through the list. Made the cache in
1889         MonoEnumInfo thread static to avoid contention.
1890
1891 2008-05-20  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1892
1893         * String.cs: Replace Split function
1894
1895 2008-05-19  Sebastien Pouliot  <sebastien@ximian.com>
1896
1897         * Boolean.cs,
1898         * Double.cs,
1899         * Enum.cs,
1900         * Int64.cs,
1901         * Single.cs,
1902         * UInt32.cs,
1903         * UInt64.cs: Avoid unboxing primitive types more than one time.
1904         [Found using Gendarme]
1905
1906 2008-05-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1907
1908         * String.cs: Update Trim functions
1909
1910 2008-05-19  Zoltan Varga  <vargaz@gmail.com>
1911
1912         * ConsoleDriver.cs: Avoid initializing the three driver classes when only one
1913         is needed.
1914
1915 2008-05-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1916
1917         * String.cs: Update Join and Pad functions
1918
1919 2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1920
1921         * Environment.cs: Use String.IsNullOrEmpty inside 2.0 code.
1922         [Found using Gendarme]
1923
1924 2008-05-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1925
1926         * String.cs: Directly create charenumerator
1927
1928 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1929
1930         * String.cs: Resubmit uncritical parts of String patch
1931
1932 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1933
1934         * DateTime.cs: Fix parameter names
1935
1936 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1937
1938         * Decimal.cs: Fix parameter names
1939
1940 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1941
1942         * Decimal.cs: Tabbify/Format
1943
1944 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1945
1946         * Version.cs
1947           UnhandledExceptionEventHandler.cs
1948           UInt64.cs
1949           UInt32.cs
1950           UInt16.cs: Fix parameter names
1951           Type.cs: Fix parameter names, formatting
1952           TimeSpan.cs
1953           StringComparer.cs
1954           Single.cs
1955           SByte.cs: Fix parameter names
1956
1957 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1958
1959         * Double.cs
1960           Enum.cs
1961           Exception.cs
1962           IComparable.cs
1963           IEquatable.cs
1964           IFormatProvider.cs
1965           IFormattable.cs
1966           InsufficientMemoryException.cs: Fix parameter names
1967
1968 2008-05-14  Jb Evain  <jbevain@novell.com>
1969
1970         * Exception.cs (ToString): output a new line before the 
1971         inner exception separator. Fixes #390150.
1972
1973 2008-05-12  Gert Driesen  <drieseng@users.sourceforge.net>
1974
1975         * Type.cs: Modifies exceptions to match MS. Changed GetTypeFromHandle
1976         on 1.0 profile to throw ArgumentException when handle is invalid,
1977
1978 2008-05-08  Rodrigo Kumpera  <rkumpera@novell.com>
1979
1980         * Activator.cs (CreateInstance): Check for null types when creating
1981         the error message.
1982
1983 2008-05-07  Robert Jordan  <robertj@gmx.net>
1984
1985         * RuntimeFieldHandle.cs, RuntimeTypeHandle.cs, RuntimeMethodHandle.cs:
1986         Don't try to serialize uninitialized handles. Fixes #386641.
1987
1988 2008-05-06  Marek Safar  <marek.safar@gmail.com>
1989
1990         * IntPtr.cs (eplicit long, GetObjectData): Use ToInt64.
1991
1992 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
1993
1994         * Type.cs (GetTypeFromHandle): Apparently, it is possible to create a 
1995         RuntimeTypeHandle with a zero handle value by calling its ctor. Add an argument
1996         check for that.
1997
1998         * IntPtr.cs (ToInt64): Use (long)(int) on 32 bit platforms to avoid the default
1999         unsigned conversion done by the compiler. Fixes #386466.
2000
2001 2008-05-04  Zoltan Varga  <vargaz@gmail.com>
2002
2003         * Type.cs (UnderlyingSystemType): Add a comment pointing people to 
2004         Enum.GetUnderlyingType ().
2005
2006 2008-04-26  Zoltan Varga  <vargaz@gmail.com>
2007
2008         * Array.cs (LastIndexOf): Return GetLowerBound (0) -1 instead of -1.
2009         
2010         * Array.cs (LastIndexOf): Fix handling of empty arrays. Fixes #383876.
2011
2012 2008-04-13  Zoltan Varga  <vargaz@gmail.com>
2013
2014         * String.cs (Split): Fix the handling of RemoveEmptyEntries when the separator
2015         matches at the beginning of the string. Fixes #374511.
2016
2017 2008-04-13  Jb Evain  <jbevain@novell.com>
2018
2019         * ICloneable.cs: use the INSIDE_CORLIB pattern to
2020         internalize code that is used outside the corlib.
2021         Merged from the Moonlight 2 branch.
2022
2023 2008-04-04  Raja R Harinath  <harinath@hurrynot.org>
2024
2025         * String.cs (EndsWith) [CultureInfo variant]: Handle null 'culture'.
2026         (StartsWith, EndsWith, IndexOf, LastIndexOf) [StringComparison variant]:
2027         Throw exception on invalid StringComparison.
2028
2029 2008-04-01  Eyal Alaluf <eyala@mainsoft.com>
2030
2031         * NumberFormatter.cs NumberFormatter.jvm.cs: Performance optimizations.
2032           Reuse a per thread instance to format all the primitive types. Modify
2033           class accordingly so the same
2034           instance can be used multiple times.
2035         * Int16.cs UInt64.cs Double.cs SByte.cs UInt16.cs Byte.csDecimal.cs
2036           TimeSpan.cs Int32.cs Int64.cs Single.cs UInt32.cs: Change use of
2037           NumberFormatter to adapt to above changes in class interface.
2038
2039 2008-03-31  Mark Probst  <mark.probst@gmail.com>
2040
2041         * MonoType.cs: Don't do CAS security checks in CheckMethodSecurity
2042         for 2.1 profile.
2043
2044 2008-03-28  Marek Safar  <marek.safar@gmail.com>
2045
2046         * Nullable.cs (Box): Do things explicitly and not rely on broken gmcs
2047         behaviour.
2048
2049 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
2050
2051         * AppDomain.cs: Update after MonoMethod.InternalInvoke signature change.
2052
2053         * Environment.cs: Bump corlib version.
2054
2055         * DateTime.cs: Fix a warning.
2056
2057 2008-03-21  Sebastien Pouliot  <sebastien@ximian.com>
2058
2059         * String.cs: Use "this" in Split method instead of calling ToString.
2060         Found using Gendarme.
2061
2062 2008-03-06  Marek Safar  <marek.safar@gmail.com>
2063
2064         * MonoCustomAttrs (GetCustomAttributes): Type cannot be null with
2065         typeof (MonoCustomAttrs) hack.
2066
2067 Wed Mar 5 19:39:01 CET 2008 Paolo Molaro <lupus@ximian.com>
2068
2069         * Type.cs: optimize GetTypeCode () for the common case
2070         (fixes bug #367354).
2071
2072 2008-03-02  Roei Erez  <roeie@mainsoft.com>
2073
2074         * DateTime.cs: Improve the patch supplied by James Purcell to be
2075           dotnet-compatible, and add support for RoundTripKind parsing. 
2076           Fixed reopened bug #352210.
2077
2078
2079 Tue Feb 26 17:50:17 CET 2008 Paolo Molaro <lupus@ximian.com>
2080
2081         * DateTime.cs: instroduce a method that returns ticks monotonically.
2082
2083 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
2084
2085         * Attribute.cs, MonoCustomAttrs: MS ignores the inherit param in 
2086         PropertyInfo's ICustomAttributeProvider implementation, but not 
2087         in the Attributes, so directly get the attributes from 
2088         MonoCustomAttrs instead of going throught the PropertyInfo's 
2089         ICustomAttributeProvider.
2090         [Fixes bugs #324472 and #322464]
2091
2092 2008-02-26  Atsushi Enomoto  <atsushi@ximian.com>
2093
2094         * DateTime.cs : fix roundtrip regression in Sys.Xml.XmlConvertTests,
2095           patch by James Purcell (at #352210).
2096
2097 2008-02-25  Atsushi Enomoto  <atsushi@ximian.com>
2098
2099         * DateTime.cs, DateTimeUtils.cs : make Kind value from parse result
2100           as dotnet-compatible. Patch by James Purcell, fixed bug #352210.
2101
2102 2008-02-18  Atsushi Enomoto  <atsushi@ximian.com>
2103
2104         * DBNull.cs : ToType(typeof(DBNull),...) should be allowed.
2105
2106 2008-02-16  Sebastien Pouliot  <sebastien@ximian.com>
2107
2108         * Object.cs: Fix parameter name to match MS implementation. Found
2109         using Gendarme.
2110         * ValueType.cs: Fix parameter name to match MS implementation. 
2111         Found using Gendarme.
2112
2113 2008-02-14  Jb Evain  <jbevain@novell.com>
2114
2115         * Delegate.cs (CreateDelegate): refactor. DRY!
2116
2117 2008-02-12  Gert Driesen  <drieseng@users.sourceforge.net>
2118
2119         * Delegate.cs (CreateDelegate): Walk the inheritance change to find
2120         matching method. Skip methods for which the return type does not match
2121         the delegate. Fixes bug #360784.
2122
2123 2008-02-11  Eyal Alaluf <eyala@mainsoft.com>
2124
2125         * NumberFormatter.cs: Fix ToString("R") for +-Infinity & NaN.
2126
2127 2008-02-08  Sebastien Pouliot  <sebastien@ximian.com>
2128
2129         * Random.cs: Explain (and extend) special case in Next(min,max)
2130
2131 2008-02-08  Juraj Skripsky  <js@hotfeet.ch>
2132
2133         * Random.cs (Next): Use rounding (via implicit conversion) only on
2134         positive values. Fixes bug 359918.
2135
2136 2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
2137
2138         * Environment.cs: Remove unused method found with Gendarme.
2139
2140 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
2141
2142         * Variant.cs: Fixed line endings.
2143         * MonoType.cs: Fixed parameter name for ArgumentException to match MS.
2144
2145 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
2146
2147         * Type.cs (MakeGenericType): Fix exception message.
2148
2149 2008-01-29  Jb Evain  <jbevain@novell.com>
2150
2151         * AppDomain.cs: add SL overload of DefineDynamicAssembly.
2152
2153 2008-01-29  Marek Safar  <marek.safar@gmail.com>
2154
2155         * Type.cs (MakeGenericType): More argument checks. Fixes #356863 by
2156          Sanghyeon Seo.
2157
2158 2008-01-25  Rodrigo Kumpera  <rkumpera@novell.com>
2159
2160         * MonoType.cs (InvokeMember): Fixed exceptions arguments for last comit.
2161
2162 2008-01-24  Rodrigo Kumpera  <rkumpera@novell.com>
2163
2164         * MonoType.cs (InvokeMember): Check for parameters without default value which
2165         the supplied argument is Missing.Value. Fixes one of the issues of #348522.
2166
2167 2008-01-21  Sebastien Pouliot  <sebastien@ximian.com>
2168
2169         * DateTimeOffset.cs: Avoid NRE on bad cast if null is provided to
2170         Equals(object). Found using Gendarme.
2171
2172 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
2173
2174         * DateTimeOffset.cs: Fix warnings.
2175
2176 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
2177
2178         * DateTimeOffset.cs: ParseExact: parse f, F, s too.
2179
2180 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
2181
2182         * DateTimeOffset.cs: ParseExact: honor the DateTimeStyles parameter.
2183
2184 2008-01-15  Zoltan Varga  <vargaz@gmail.com>
2185
2186         * AppDomainSetup.cs Buffer.cs Action.cs Array.cs BadImageFormatException.cs Byte.cs
2187         Attribute.cs _AppDomain.cs Boolean.cs AppDomain.cs: Fix some argument names to be 
2188         consistent with MS.
2189
2190 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
2191
2192         * DateTimeOffset.cs: start refactoring DoParse.
2193
2194 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
2195
2196         * Type.cs (GetConstructor): Use correct binding flags in type (Type[]) overload.
2197         Fixes #353604.
2198
2199 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
2200
2201         * NumberFormatter.cs, Double.cs, Single.cs: Fix Single & Double default
2202           ToString to handle +-Infinity & NaN.
2203
2204 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
2205
2206         * DateTimeOffset.cs: ParseExact (string, string, IFormatProvider) 
2207         implemented.
2208
2209
2210 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
2211
2212         * NumberFormatter.cs: Remove some redundant assignments.
2213
2214 2008-01-13  Gert Driesen  <drieseng@users.sourceforge.net>
2215
2216         * AppDomain.cs: Also fix bug #350530 for overload taking evidence and
2217         args. On 1.0 profile, throw COMException to match MS and to allow
2218         our unit tests to pass on MS.
2219
2220 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
2221
2222         * NumberFormatter.cs: Check in redesigned implementation. Improves
2223           double.ToString performance by 2-3 orders of magnitude and other
2224           primitive numeric types ToString performance.
2225         * NumberFormatter.jvm.cs: The TARGET_JVM managed tables for NumberFormatter
2226           class for reuse if a completely managed NumberFormatter is required.
2227         * Int16.cs UInt64.cs Double.cs UInt16.cs SByte.cs Byte.cs TimeSpan.cs
2228           Int32.cs Int64.cs Single.cs UInt32.cs: Adapt to new NumberFormatter.
2229
2230 2008-01-13  Zoltan Varga  <vargaz@gmail.com>
2231
2232         * AppDomain.cs: Check for a missing entry point in the ExecuteAssembly methods.
2233         Fixes #350530.
2234
2235 2008-01-11  Stephane Delcroix  <sdelcroix@novell.com>
2236
2237         * DateTimeOffset.cs: Fixes the MinValue (was equal to MaxValue)...
2238
2239 2008-01-10  Zoltan Varga  <vargaz@gmail.com>
2240
2241         * Delegate.cs: Implement argument checking in CreateDelegate(Type,object,MethodInfo)
2242         method. Make the CreateDelegate(Type,MethodInfo) overload calls this version.
2243         Fixes #352805.
2244
2245 2008-01-10  Stephane Delcroix  <sdelcroix@novell.com>
2246
2247         * DateTimeOffset.cs: chain the Parse* methods together.
2248
2249 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2250
2251         * DateTime.cs : revert the previous fix. It caused regression on
2252           the buildbot.
2253
2254 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2255
2256         * DateTime.cs : fixed bug #352210. Kind is unspecified by default,
2257           while the tick is for local time by default. This fix also involved
2258           special x509 handling.
2259
2260 2008-01-08  Marek Safar  <marek.safar@gmail.com>
2261
2262         * Array.cs (LastIndexOf<T>): Fixed bound checking.
2263
2264 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
2265
2266         * AppDomain.cs: Move the assembly loading in ExecuteAssembly and 
2267         ExecuteAssemblyByName to managed to as said by the MSDN docs. Fixes #350530.
2268
2269         * Environment.cs: Bump corlib version.
2270         
2271 2008-01-02  Marek Habersack  <mhabersack@novell.com>
2272
2273         * Array.cs: fix a typo to unbreak the build.
2274
2275 2008-1-1  Scott Peterson  <lunchtimemama@gmail.com>
2276
2277         * Array.cs: Slight improvement to the quicksort algorithm.
2278
2279 2007-12-28  Gert Driesen  <drieseng@users.sourceforge.net>
2280
2281         * Environment.cs: Bump corlib version.
2282
2283 2007-12-20  Gert Driesen  <drieseng@users.sourceforge.net>
2284
2285         * AppDomain.cs: Added check for null AssemblyName, and invalid
2286         AssemblyName.Name to DefineDynamicAssembly overloads. Loosely based on
2287         patch provided by Cedric Vivier. Fixes bug #349272.
2288
2289 2007-12-20  Stephane Delcroix  <sdelcroix@novell.com>
2290
2291         * DateTimeOffset.cs: set [Min|Max]Value to UTC. Fixes #349621.
2292
2293 2007-12-19  Stephane Delcroix  <sdelcroix@novell.com>
2294
2295         * DateTime.cs:
2296         * DateTimeOffset.cs:
2297         * DateTimeUtils.cs: factored out the common pieces of DT and DTO into DTU.
2298
2299 2007-12-18  Stephane Delcroix  <sdelcroix@novell.com>
2300
2301         * DateTimeOffset.cs: implementing the 4 ToString overloads by reusing
2302         large chunks of System.DateTime code.
2303
2304 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2305
2306         * DateTimeOffset.cs: some bugfix discovered by unit tests.
2307
2308 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2309
2310         * DateTimeOffset.cs: almost complete implementation, still missing the
2311         Parse* and ToString methods.
2312
2313 2007-12-11  Zoltan Varga  <vargaz@gmail.com>
2314
2315         * AppDomain.cs (DoAssemblyResolve): Fix detection of whenever there is a
2316         reflection-only assembly resolve hook.
2317
2318 2007-12-10  Stephane Delcroix  <sdelcroix@novell.com>
2319
2320         * DateTimeOffset.cs: partial implementation. no longer just a stub.
2321
2322 2007-11-30  Zoltan Varga  <vargaz@gmail.com>
2323
2324         * Delegate.cs: Compute the Method property lazily.
2325         
2326         * Delegate.cs: Add a 'method' field.
2327
2328         * Environment.cs: Bump corlib version.
2329
2330 2007-11-21  Zoltan Varga  <vargaz@gmail.com>
2331
2332         * Array.cs: Make the InternalArray_... methods internal.
2333
2334         * Environment.cs: Bump corlib version.
2335
2336 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2337
2338         * AppDomain.cs : filled 2.0 API (extra ones are from 2.0 SP1).
2339         * ContextMarshalException.cs : obsolete in 2.0.
2340
2341 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2342
2343         * MarshalByRefObject.cs : Added MemberwiseClose() stub.
2344           GetLifetimeService() is not virtual (in both 2.0 and 1.1).
2345         * Console.cs : implemented missing 2.0 key members.
2346
2347 2007-11-18  Gert Driesen  <drieseng@users.sourceforge.net>
2348
2349         * Enum.cs: Provided ParamName of Argument(Null)Exceptions. Rewrote
2350         some exception messages.
2351
2352 2007-11-16  Gert Driesen  <drieseng@users.sourceforge.net>
2353
2354         * AppDomain.cs: Added some obsolete messages.
2355
2356 2007-11-15  Gert Driesen  <drieseng@users.sourceforge.net>
2357
2358         * MonoType.cs: Modified ParamName for ArgumentException to match
2359         MS. Provide meaningful exception messages. On 2.0, throw ANE instead
2360         of ArgumentException when args is null.
2361
2362 2007-11-15  Zoltan Varga  <vargaz@gmail.com>
2363
2364         * MonoType.cs (Invoke): Allow BindingFlags.SetField and
2365         BindingFlags.SetProperty to be specified together. Fixes #321735.
2366
2367 2007-11-14  Miguel de Icaza  <miguel@novell.com>
2368
2369         * Console.cs, ConsoleDriver.cs, TermInfoDriver.cs,
2370         TermInfoReader.cs, TermInfoNumber.cs, TermInfoStrings.cs,
2371         CStreamReader.cs, CStreamWriter.cs, NullConsoleDriver.cs,
2372         WindowsConsoleDriver.cs: In the 2.1 profile we do not need the
2373         full-blown Console (the terminal-addressable console) so we shrink
2374         it down to the basic 1.0 Console.
2375
2376 2007-11-14  Marek Safar  <marek.safar@gmail.com>
2377
2378         * Nullable.cs: Optimized to use generic comparers.
2379
2380 2007-11-14  Zoltan Varga  <vargaz@gmail.com>
2381
2382         * Array.cs (Copy): Throw InvalidCastException in more cases.
2383
2384 2007-11-13  Zoltan Varga  <vargaz@gmail.com>
2385
2386         * GCCollectionMode.cs GCLatencyMode.cs: New net 3.5 types.
2387
2388 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2389
2390         * NumberFormatter.cs : revert previous two changes. It does not
2391           really work for float and hence will rather bring confusion.
2392
2393 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2394
2395         * NumberFormatter.cs : limit the situation that needs roundtrip
2396           verification in the previous change to Double.
2397
2398 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2399
2400         * NumberFormatter.cs : applied a quick fix for bug #320433. It needs
2401           true fix to avoid extra perf. loss.
2402
2403 2007-11-08  Sebastien Pouliot  <sebastien@ximian.com>
2404
2405         * TimeZone.cs: Under 2.0 we must return a Local DateTime.MinValue.
2406         Fix the regression on the x86_64 bot which seems to be in it's own
2407         timezone.
2408
2409 2007-11-07  Gert Driesen  <drieseng@users.sourceforge.net>
2410
2411         * Exception.cs: Cosmetic change to default exception message on
2412         2.0 profile.
2413
2414 2007-11-05  Gert Driesen  <drieseng@users.sourceforge.net>
2415
2416         * Array.cs: Distinguish between notstarted and finished state when
2417         throwing IOE in Current, and provide meaningful exception message.
2418
2419 2007-11-05  Sebastien Pouliot  <sebastien@ximian.com>
2420
2421         * Array.cs: Fix Enumerator<T>.Reset (#322248).
2422
2423 2007-11-05  Rodrigo Kumpera  <rkumpera@novell.com>
2424
2425         * Type.cs (MakeGenericType): fix for #331199. If an user-defined type
2426         was used, the runtime would crash. Now we apply UnderlyingSystemType to
2427         all types before handling to the runtime.
2428
2429 2007-11-05  Stephane Delcroix  <sdelcroix@novell.com>
2430
2431         * TimeZone.cs: fix for #323911. The our after DST.Start is already DST.
2432
2433 2007-11-03  Atsushi Enomoto  <atsushi@ximian.com>
2434
2435         * DateTime.cs : fix for #330085. for Local time, convert to Utc
2436           before getting ticks.
2437
2438 2007-11-03  Gert Driesen  <drieseng@users.sourceforge.net>
2439
2440         * ArgumentException.cs: Change default message to match MS. Removed
2441         unnecessary check from Message, since base.Message can never be null.
2442
2443 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2444
2445         * DateTime.cs : ParseExact() should ignore 'K' when there is no
2446           character is left.
2447
2448 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2449
2450         * DateTime.cs : in roundtrip mode, 'Z' should turn the tick value to
2451           utc time and should not result in different ticks.
2452           Fixed bug #338064.
2453
2454 2007-10-30  Miguel de Icaza  <miguel@novell.com>
2455
2456         * UInt32.cs (Parse): Use Jeff Stedfast's parsing code which is
2457         smaller and does not need checked() constructs. 
2458
2459         * Int64.cs, Int32.cs, Int16.cs: small tuneup: do not throw
2460         exception, instead return the exception like every other place in
2461         this code. 
2462
2463         * Int16.cs, Int32.cs, Int64.cs: Use the Jeff Stedfast parsing code
2464         which is smaller.  We no longer use "checked" to check for
2465         overflows, I refactored some stuff and cleaned up the rest and
2466         fixes #331525.
2467
2468 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
2469
2470         * MonoType.cs: Applied patch from Mario A Chavez 
2471         <mario.chavez@gmail.com>. Add support for invoking members with the 
2472         ParamArray attribute. Fixes #336841.
2473
2474 2007-10-26  Zoltan Varga  <vargaz@gmail.com>
2475
2476         * MonoType.cs (InvokeMember): Make sure one operation is passed in the binding
2477         flags. Fixes #336936.
2478
2479 Fri Oct 26 19:43:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
2480
2481         * Environment.cs, String.cs: patch from Tyler Larson
2482         <mono-devel@tlarson.com> to fix the handling of the RemoveEmptyEntries
2483         option in string.Split (bug #322375).
2484
2485 2007-10-26  Dick Porter  <dick@ximian.com>
2486
2487         * Environment.cs: Bump version because of Thread initialisation
2488         changes
2489
2490 2007-10-25  Lluis Sanchez Gual  <lluis@novell.com>
2491
2492         * AppDomain.cs: In DefaultDomain, wrap the returned domain with
2493         a proxy if the current domain is not the root domain.
2494
2495 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
2496
2497         * Type.cs : implemented ReflectionOnlyGetType().
2498
2499 2007-10-19  Zoltan Varga  <vargaz@gmail.com>
2500
2501         * AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.
2502
2503 2007-10-13  Zoltan Varga  <vargaz@gmail.com>
2504
2505         * Delegate.cs (CreateDelegate): Allow binding instance methods to 
2506         delegates with an extra argument, a NET 2.0 feature. Fixes #333647.
2507
2508 Fri Oct 12 08:11:50 CEST 2007 Paolo Molaro <lupus@ximian.com>
2509
2510         * String.cs: reverted unapproved patch that breaks the build.
2511
2512 2007-10-11  Joel Reed  <joelwreed@comcast.com>
2513
2514         * String.cs: fix String.Split(char[],int,StringSplitOptions)
2515         with StringSplitOptions.RemoveEmptyEntries option. The correct 
2516         behavior is to remove empty entries while the string is being split, 
2517         and always return the maximum number of elements possible.
2518         Patch from: Tyler Larson <mono-devel@tlarson.com>
2519         
2520 2007-09-28  Jb Evain  <jbevain@novell.com>
2521
2522         * Object.cs: Make ToString return Type.ToString ()
2523         by default instead of Type.FullName to match .net
2524         behavior. Fix #329419.
2525
2526 2007-09-28  William Holmes  <billholmes54@gmail.com>
2527
2528         * DateTime.cs: Check for AssumeUniversal when parsing string.
2529          Fixes bug #324845
2530
2531 2007-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
2532
2533         * Enum.cs: Use regular single quotes in exception message.
2534
2535 2007-09-14  Paolo Molaro <lupus@ximian.com>
2536
2537         * String.cs: implemented all the string ctors using CreateString
2538         methods, so they can run completely in managed code.
2539
2540 2007-09-13  Marek Safar  <marek.safar@gmail.com>
2541
2542         * DateTimeOffset.cs: Implemented few properties.
2543
2544 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2545
2546         * Decimal.cs, Math.cs : implemented midpoint rounding.
2547
2548 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2549
2550         * Activator.cs : implemented 2.0 CreateInstance()
2551           and CreateInstanceFrom () overloads.
2552
2553 2007-09-12  Sebastien Pouliot  <sebastien@ximian.com>
2554
2555         * Decimal.cs: More explicit text in exception (old and almost 
2556         forgetten patch on laptop ;-)
2557
2558 2007-09-10  Atsushi Enomoto  <atsushi@ximian.com>
2559
2560         * OperatingSystem.cs : implemented ISerializable.
2561
2562 2007-08-28  Zoltan Varga  <vargaz@gmail.com>
2563
2564         * DateTime.cs: Fix a warning.
2565
2566 2007-08-25  Robert Jordan  <robertj@gmx.net>
2567
2568         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2569
2570 2007-08-25  Alan McGovern  <amcgovern@novell.com>
2571
2572         * DateTime.cs: Reverted DateTime changes.
2573
2574 2007-08-25  Robert Jordan  <robertj@gmx.net>
2575
2576         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2577
2578 2007-08-24  Zoltan Varga  <vargaz@gmail.com>
2579
2580         * Array.cs: Fix min + max / 2 overflows in the BinarySearch and qsort methods.
2581         Fixes #82469.
2582
2583 2007-08-23  Marek Safar  <marek.safar@gmail.com>
2584
2585         * DateTimeOffset.cs: New .NET 3.5 struct for 2.0 mscorlib.
2586         
2587 2007-08-23  Eyal Alaluf <eyala@mainsoft.com>
2588
2589         * DateTime.cs: Numerous improvements to DateTime.Parse. It handles a lot
2590           more possible formats and more correctly at that. It is also now easier
2591           to manage the formats DateTime.Parse supports.
2592
2593 2007-08-17  Zoltan Varga  <vargaz@gmail.com>
2594
2595         * Exception.cs: Make 1.0 and 2.0 object layout the same since this class is seen
2596         by the runtime. Fixes #82459.
2597
2598 2007-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
2599
2600         * MonoCustomAttrs.cs: In IsDefined, throw ArgumentNullException if
2601         attributeType is null to avoid a SIGSEGV (and match MS). Only partial
2602         fix for bug #82431 on 1.0 profile; it fully fixes the problem for the
2603         1.0 profile, but more changes (in the runtime) are required for the
2604         2.0 profile. Added a FIXME explaining the problem.
2605
2606 2007-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
2607
2608         * MonoCustomAttrs.cs: In IsDefined, only walk inheritance chain if
2609         both AttributeUsage.Inherited and inherit are true. Fixed bug #82431.
2610
2611 2007-08-13  Gert Driesen  <drieseng@users.sourceforge.net>
2612
2613         * ArgumentException.cs: Ignore zero-length ParamName for Message.
2614         Use ParamName property instead of field, since the property is marked
2615         virtual.
2616         * Array.cs: Provide more meaningful exception message when destination
2617         array is not long enough.
2618
2619 2007-08-11  Zoltan Varga  <vargaz@gmail.com>
2620
2621         * Array.cs: Implement InternalArray__set_Item. Fixes #82345.
2622
2623 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2624
2625         * IntPtr.cs : oops, do not ignore format in ToString(string).
2626
2627 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2628
2629         * GC.cs, Exception.cs, IntPtr.cs, Enum.cs, DateTime.cs, Convert.cs
2630           ConsoleKeyInfo.cs, String.cs, Object.cs, Attribute.cs,
2631           Version.cs : couple of cosmetic 2.0 API fixes.
2632
2633 2007-08-06  Aaron Bockover  <abockover@novell.com>
2634
2635         * Environment.cs (ReadXdgUserDir): Support the changes to the
2636         xdg-user-dirs spec that allow $HOME to start the path; also allows
2637         for quotes surrounding the path (Patch ported from Banshee,
2638         BGO #461596)
2639
2640 2007-07-28  Miguel de Icaza  <miguel@novell.com>
2641
2642         * MulticastDelegate.cs (Equals): do not cast to avoid exceptions,
2643         instead use the "as" operator, as pointed out by Jesse Jones'
2644         tool. 
2645
2646 2007-07-21  Gert Driesen  <drieseng@users.sourceforge.net>
2647
2648         * BitConverter.cs: Fixed exceptions to match MS. Fixed invalid use
2649         of ArgumentOutOfRangeException and ArgumentException ctors that take
2650         both parameter name and message. In ToString throws ArgumentException
2651         instead of ArgumentOutOfRangeException when length is negative, and
2652         return zero-length string when length is 0.
2653
2654 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2655
2656         * AppDomainSetup.cs : fix serialization regression.
2657
2658 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2659
2660         * AppDomainSetup.cs :
2661           MonoTODO AppDomainInitializer as its implementation is wrong.
2662
2663 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2664
2665         * AppDomainSetup.cs : added missing 2.0 members.
2666         * AppDomain.cs : support AppDomainInitializer.
2667
2668 2007-06-06  Miguel de Icaza  <miguel@novell.com>
2669
2670         * Int16.cs, UInt64.cs, SByte.cs, UInt16.cs, Byte.cs, Int32.cs,
2671         Int64.cs, UInt32.cs: Fix for 81775.
2672
2673         I removed Parse from a Byte.cs and UInt16.cs as in various cases
2674         they still depended on UInt32.cs for parsing, there is no reason
2675         to keep all of this code duplicated (UInt64 is a different case
2676         though). 
2677
2678         I was hoping for some feedback on whether my tests are correct,
2679         but so far no takers.
2680
2681 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
2682
2683         * ModuleHandle.cs: Implement the generic versions of the ResolveXXXHandle () methods.
2684         
2685         * ModuleHandle.cs: Add stubs for generic ResolveXXXHandle () methods.
2686
2687 2007-07-10  Alan McGovern <amcgovern@novell.com>
2688
2689         * Guid.cs: All whitespace should be trimmed from before and
2690         after a string passed into the Guid constructor. Fixes #81958
2691
2692 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
2693
2694         * RuntimeTypeHandle.cs: Fix signatures of == and != operators.
2695
2696         * ModuleHandle.cs: Add missing 2.0 stuff.
2697
2698 2007-07-08  Zoltan Varga  <vargaz@gmail.com>
2699
2700         * *.cs: Add missing ComVisible attributes.
2701
2702         * Delegate.cs: Add missing 2.0 CreateDelegate () methods.
2703
2704 2007-07-07  Gert Driesen  <drieseng@users.sourceforge.net>
2705
2706         * DateTime.cs: In ParseExact, throw ArgumentNullException if format
2707         is null; throw FormatException if formats array is empty or if one of
2708         items is null or a zero-length string.
2709
2710 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2711
2712         * Double.cs (Parse): Fix for string ending in garbaga, it was just ignoring it
2713         instead of throwing FormatException. Fixes #81777
2714
2715 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2716
2717         * Double.cs (Parse): Fix for whitespace only strings, it was returning zero 
2718         instead of throwing FormatException. Fixes #81630 
2719
2720 2007-07-06  Alan McGovern  <amcgovern@novell.com>
2721
2722         * DateTime.cs: If the format is null or empty, it should default to 'G'.
2723         Fixes bug 81778
2724
2725 2007-07-06  Jonathan Chambers  <joncham@gmail.com>
2726
2727         * __ComObject.cs: Support ExtensibleClassFactory.
2728
2729
2730 2007-07-06  Aaron Bockover  <abockover@novell.com>
2731
2732         * Environment.cs (InternalGetFolderPath): Try reading some
2733         paths from ~/.config/user-dirs.dirs (XDG user dirs spec);
2734         always return something for MyPictures
2735
2736 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
2737
2738         * Type.cs : 2.0 TypeHandle and ContainsGenericParameters are virtual
2739           (required fix for 2.0 reflection API fixes).
2740
2741 2007-06-22  Jonathan Chambers  <joncham@gmail.com>
2742
2743         * __ComObject.cs: Move interface lookup to unmanaged.
2744
2745 2007-06-21  Zoltan Varga  <vargaz@gmail.com>
2746
2747         * Environment.cs: Bump corlib version.
2748
2749         * Delegate.cs: Applied patch from Robert Jordan (robertj@gmx.net). Keep
2750         the dynamic method referenced by a delegate alive.
2751
2752 2007-06-05  David Ferguson <davecferguson@gmail.com>
2753
2754         * DateTime.cs: Changed DateTime.Parse() to throw a FormatException
2755           instead of an ArgumentOutOfRangeException for .NET 2.0.  An
2756           ArgumentOutOfRangeException is still thrown for .NET 1.1.
2757           Fixes bug #77633
2758           
2759 Mon Jun 4 14:52:17 CEST 2007 Paolo Molaro <lupus@ximian.com>
2760
2761         * String.cs: optimized CompareOrdinal ().
2762
2763 2007-06-02  Zoltan Varga  <vargaz@gmail.com>
2764
2765         * MonoCustomAttrs.cs (GetBase): Revert last change as it breaks the build.
2766         
2767         * MonoCustomAttrs.cs (GetBase): Handle properties correctly. Fixes #81797.
2768
2769 2007-05-31  Zoltan Varga  <vargaz@gmail.com>
2770
2771         * Delegate.cs: Add invoke_impl field. Reorder fields for better cache behavior. Add
2772         SetMulticastDelegate icall.
2773
2774         * MulticastDelegate.cs (CombineImpl): Call SetMulticastDelegate () on newly created
2775         delegate.
2776
2777         * Environment.cs: Bump corlib version.
2778         
2779 2007-05-25  Jonathan Chambers  <joncham@gmail.com>
2780
2781         * __ComObject.cs: Add overload to GetInterface to allow
2782         not throwing exceptions. Fixes as and is operators for COM objects.
2783
2784 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2785
2786         * Array.cs : reverting Array.cs fixes since the runtime depends on
2787           those method attributes.
2788
2789 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2790
2791         * Int16.cs UInt64.cs UIntPtr.cs Double.cs CrossAppDomainDelegate.cs
2792           ResolveEventHandler.cs IntPtr.cs UnhandledExceptionEventHandler.cs
2793           Void.cs AssemblyLoadEventHandler.cs SByte.cs UInt16.cs DateTime.cs
2794           Byte.cs TimeSpan.cs Decimal.cs Int32.cs Delegate.cs
2795           AppDomainInitializer.cs MulticastDelegate.cs Int64.cs
2796           EventHandler.cs Single.cs UInt32.cs AsyncCallback.cs :
2797           cosmetic attribute fixes (ComVisible/Serializable).
2798
2799 2007-05-22  Atsushi Enomoto  <atsushi@ximian.com>
2800
2801         * Convert.cs : completed 2.0 (ToBase64CharArray).
2802         * String.cs : removed MonoTODO.
2803         * DataMisalignedException.cs : removed extra .ctor().
2804         * Array.cs : internalize extra members. Fixed reliability contract.
2805
2806 2007-05-17  Atsushi Enomoto  <atsushi@ximian.com>
2807
2808         * DateTime.cs : added support for 'K'.
2809
2810 2007-05-11  Jonathan Chambers  <joncham@gmail.com>
2811
2812         * __ComObject.cs: No need to call CoInitialize anymore since
2813         Thread.ApartmentState was implemented.
2814
2815 2007-05-11  Jeffrey Stedfast  <fejj@novell.com>
2816
2817         Fixes bug #81540
2818
2819         * TermInfoDriver.cs (WriteSpecialKey): Actually clear the screen
2820         and reset the cursor position to 0,0 when the key is
2821         ConsoleKey.Clear.
2822         (Clear): Reset the cursor position to 0,0
2823
2824 2007-05-09  Marek Safar  <marek.safar@gmail.com>
2825
2826         * MulticastDelegate.cs: Fixed operators logic.
2827
2828 2007-05-09  Marek Habersack  <mhabersack@novell.com>
2829
2830         * DateTime.cs: add a format used in ASP.NET QuickStarts 
2831           ("HH':'mm tt MM/dd/yyyy")
2832
2833 2007-04-30  Zoltan Varga  <vargaz@gmail.com>
2834
2835         * Type.cs (Equals): Allow a null argument.
2836
2837 2007-04-27  Zoltan Varga  <vargaz@gmail.com>
2838
2839         * Environment.cs (StackTrace): Avoid skipping a frame to be
2840         compatible with MS.
2841
2842 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2843
2844         * DateTimeTest.cs : looks like 'F' even removes preceding '.' ...
2845
2846 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2847
2848         * DateTime.cs : implemented new-2.0 'F' pattern letter.
2849
2850 2007-04-24  Jeffrey Stedfast  <fejj@novell.com>
2851
2852         Fixes the last of the bugs listed in bug #77525
2853
2854         * TermInfoDriver.cs (ctor): For known terminal types, set color16
2855         to true (since we know they support 16 colours).
2856         (Init): set the setlfgcolor and setlbgcolor format strings.
2857         (BackgroundColor): Use the appropriate formatter string for
2858         setting the bgcolor.
2859         (ForegroundColor): Use the appropriate formatter string for
2860         setting the fgcolor.
2861         (TranslateColor): Now takes (and sets appropriately) an output
2862         'bool light' argument.
2863
2864 2007-04-24  Marek Habersack  <mhabersack@novell.com>
2865
2866         * TermInfoDriver.cs: don't include debug stuff by default - it
2867         breaks multithreaded applications (they all attempt to open
2868         console.log and fail because of sharing violation).
2869
2870 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2871
2872         * TermInfoDriver.cs (ReadKeyInternal): Since our input stream is
2873         buffered, check if it has more buffered input in addition to our
2874         timeout check. This makes it such that we will actually correctly
2875         match multi-char escape sequences.
2876         (Read): Changed the logic slightly wrt 'fresh' echoing. Once we
2877         encounter a fresh char, all chars afterward should also be
2878         considered 'fresh' even if 'fresh' is returned as false later.
2879         (ReadLine): Same logic here.
2880
2881 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2882
2883         Fixes bug #80702 (via getting rid of the casting) and more.
2884
2885         The following change makes it such that even if an application
2886         calls Console.SetOut() with its own output stream, we can still
2887         properly echo user-input from stdin to the real stdout.
2888
2889         * TermInfoDriver.cs (ctor): Grab a reference to the original
2890         Console.stdout so we can be sure we always echo to console.
2891         (QueueEcho): No need to cast Console.stdout anymore.
2892         (EchoFlush): Same.
2893         (WriteConsole: Here too.
2894
2895 2007-04-20  Jeffrey Stedfast  <fejj@novell.com>
2896
2897         * TermInfoDriver.cs (QueueEcho): Renamed from Echo(char). Use
2898         CStreamWriter's new InternalWriteChars().
2899         (Echo): Since we can no longer go thru CStreamWriter's ::Write()
2900         method that does checks for special keys, do the checks here
2901         instead - if it is a special key, flush the echo buffer and then
2902         write the special key.
2903         (EchoFlush): Also updated to use CStreamWriter's new
2904         InternalWriteChars().
2905         (Read): Use the Echo(key) variety.
2906         (ReadKey): Same.
2907         (ReadLine): And here too.
2908
2909         * CStreamWriter.cs (InternalWriteChars): Write a char array
2910         directly to stdout. Do not pass Go, do not collect $200.
2911
2912 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2913
2914         Optimization for echoing keypresses back to the console when the
2915         user pastes a block of text rather than manually typing text.
2916
2917         * TermInfoDriver.cs (Echo): A new convenience function for echoing
2918         characters/keys back to the console with an optimization twist and
2919         a bit of lime.
2920         (EchoFlush): Flush our pending echo queue
2921         (Read): Make use of Echo() both for convenience and for speed.
2922         (ReadLine): Same.
2923         (ReadKey): Make use of Echo()/EchoFlush() for simplicity of code,
2924         but we won't get the same optimization out of it.
2925
2926 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2927
2928         Fix for bug #81373.
2929
2930         * TermInfoDriver.cs: Changed 'buffer' to be a char array instead
2931         of a byte array and stdin is now a StreamReader rather than a
2932         Stream.
2933         (Init): Setup stdin as a StreamReader using Console.InputEncoding
2934         as our encoding.
2935         (GetCursorPosition): Use stdin.Read() instead of the old
2936         ReadByte() code.
2937         (AddToBuffer): Updated to allocate the correct array type for
2938         'buffer'.
2939         (ReadKeyInternal): Updated to use stdin.Read() rather than
2940         stdin.ReadByte(). This is the main reason we needed to use chars
2941         instead of bytes. Characters entered by the user need to be
2942         represented as unicode chars and not bytes like before.
2943         (Match): Now takes a char[] buffer argument instad of byte[] and
2944         compares the input buffer to the byte-map as chars.
2945
2946 2007-04-18  Jeffrey Stedfast  <fejj@novell.com>
2947
2948         Fixes bug #81159: behave the same as mscorlib
2949
2950         * TermInfoDriver.cs (ReadKeyInternal): Now has an 'out bool fresh'
2951         argument which is used to tell our caller if the key was freshly
2952         read from the console or pre-buffered.
2953         (Read): New implementation of Console.In.Read(char[], int, int)
2954         that behaves exactly like mscorlib's implementation.
2955         (ReadKey): Updated for the ReadKeyInternal() API change - only
2956         echo if the key was fresh.
2957         (ReadLine): Same.
2958
2959         * CStreamReader.cs (Read): Call the new TermInfoDriver.Read()
2960
2961 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2962
2963         * CStreamWriter.cs (Write): Optimized this some more, we don't
2964         need a temporary buffer. Just blit chunks of the src buffer
2965         instead.
2966
2967         * CStreamReader.cs (Read): Need to increment our array index so
2968         that we don't store each byte read into the same
2969         position. Discovered this while testing bug #81159 (which appears
2970         to work as expected with current svn, other than this buglet).
2971
2972         * TermInfoDriver.cs (CursorTop::set): SetCursorPosition() sets our
2973         internal cursorTop variable, so no need to explicitly set it again
2974         after calling SetCursorPosition().
2975         (CursorLeft::set): Same idea here.
2976
2977 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2978
2979         * TermInfoDriver.cs (ReadLine): Implemented a workaround for
2980         IronPython going behind System.Console's back when writing text to
2981         the screen (it doesn't seem to use Console.stdout, instead it
2982         creates its own file stream or something which just so happens to
2983         write to the same file descriptor) by querying for the cursor
2984         position in ReadLine(), so we lose no real performance (since we
2985         have to wait for user input anyway).
2986
2987 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2988
2989         * TermInfoDriver.cs (Init): SetEcho(false), we'll be manually
2990         echoing from now on (ReadLine() has already been doing this, might
2991         as well make ReadKey() behave the same).
2992         (GetCursorPosition): No longer need to disable/re-enable echo
2993         anymore since it is now always false.
2994         (ReadKey): Manually echo the key back to the console just like
2995         ReadLine() has been doing (in the interest of consistancy) if
2996         intercept is false.
2997         (ReadLine): No longer need to disable/re-enable echo, echo is
2998         always off now. Also, fixed what appears to have been a typo.
2999
3000 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
3001
3002         * TermInfoDriver.cs (IsSpecialKey): Oops, Enter should not be
3003         treated as a special key. Just update out cursor state here like
3004         we do with normal chars.
3005         (WriteSpecialKey): Enter is a no-op now because it is not treated
3006         as a special key anymore.
3007
3008         * CStreamWriter.cs (Write): Only flush our buffer if j > 0
3009
3010 2007-04-17  Jeffrey Stedfast  <fejj@gnome.org>
3011
3012         Turns out my last patch was broken wrt handling some special keys
3013         like Backspace and anything else that changed the cursor position
3014         in some non-standard way.
3015
3016         * CStreamWriter.cs (Write): Instead of calling NotifyWrite(), we
3017         instead need to check IsSpecialKey(), and, if so, flush whatever
3018         we have saved in our temporary buffer and then call
3019         WriteSpecialKey(). Otherwise go on as we did in the last patch.
3020
3021         * TermInfoDriver.cs (NotifyWrite): Broken up into 2 functions:
3022         (IsSpecialKey): Returns true if we need to do some special voodoo
3023         for this key
3024         (WriteSpecialKey): Write the special key (using whatever voodoo
3025         necessary)
3026
3027 2007-04-16  Jeffrey Stedfast  <fejj@gnome.org>
3028
3029         * CStreamWriter.cs (Write): Instead of writing 1 char at a time,
3030         copy the bytes into a temporary char array (with a fixed max size)
3031         so that we can minimize the number of Write() calls we make on the
3032         underlying stream (and thus on the write() system call).
3033
3034 2007-04-17  Alp Toker  <alp@atoker.com>
3035
3036         * Array.cs: Make GetRank() icall private. Subclasses should use the
3037         public Rank property.
3038
3039 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3040
3041         * WindowsConsoleDriver.cs: Get rid of unused Echo property.
3042
3043         * NullConsoleDriver.cs: Get rid of Echo property.
3044
3045         * IConsoleDriver.cs: Get rid of Echo property.
3046
3047         * ConsoleDriver.cs (Echo::get/set): Removed, not needed.
3048
3049         * TermInfoDriver.cs (Echo::get/set): Removed, this isn't necessary
3050         and is confusing.
3051         (ReadKey): If we are intercepting the key, call SetEcho (false)
3052         and then reset back to true after reading the key.
3053         (ReadLine): Same idea here.
3054         (GetCursorPosition): We no longer need to keep track of the
3055         previous echo state, we no longer have it :)
3056
3057 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3058
3059         Fix for bug #80710 (and a bug I introduced in my last fix due to
3060         this code assuming the underlying term echo state was always
3061         false) and other buglets that I noticed.
3062
3063         * TermInfoDriver.cs (ReadLine): Set (term) Echo to false as we do
3064         our own manual echoing which prevents ^H from getting displayed on
3065         the screen when the user hits backspace.
3066         (ReadLine): If the user hits Backspace and builder.Length is 0, DO
3067         NOT echo the backspace back to the console, ever.
3068         (ReadLine): Only echo characters back to the console if echo is
3069         set to true. Seems the Echo ConsoleDriver property is a Mono
3070         extension, and I'm assuming this is the intended behavior? I can't
3071         see what else the Echo property would be useful for...
3072
3073 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3074
3075         Fixes bug #81050
3076
3077         * TermInfoDriver.cs: Renamed the noEcho variable to echo, makes
3078         the logic cleaner/simpler/etc. Plus it was never actually used
3079         other than in the property methods which are called Echo.
3080         (Init): Call ConsoleDriver.SetEcho() with the 'echo' value -
3081         allows for a slight optimization if called from within the
3082         Echo::set property.
3083         (GetCursorPosition): Instead of calling the Echo property methods,
3084         call ConsoleDriver.SetEcho() directly to toggle echo off (if echo
3085         isn't already off, and then back on once we're finished getting
3086         the position - assuming the echo state is on, of course) - this
3087         avoids calling back into Init() which just felt dirty.
3088         (Echo::set): If the Echo state differs from our current state,
3089         call ConsoleDriver.SetEcho() with the new state (this is the
3090         important piece of the fix for bug #81050).
3091         (ReadKey): Simplified the echo logic to make it a bit clearer.
3092         (ReadLine): Same.
3093
3094 2007-04-16  Marek Safar  <marek.safar@gmail.com>
3095
3096         * Char.cs (IsLetter): Faster version.
3097
3098 2007-04-15  Alp Toker  <alp@atoker.com>
3099
3100         * Decimal.cs: Provide 2.0 Round() overloads using System.Math.
3101
3102 2007-04-15  Alp Toker  <alp@atoker.com>
3103
3104         * Activator.cs: CreateInstance(Type,object[]) was not params before
3105         2.0.
3106
3107 2007-04-15  Alp Toker  <alp@atoker.com>
3108
3109         * NonSerializedAttribute.cs: Inherited=false in 2.0.
3110
3111 2007-04-05  Dick Porter  <dick@ximian.com>
3112
3113         * Environment.cs: Increment mono_corlib_version
3114
3115 2007-04-03  Alp Toker  <alp@atoker.com>
3116
3117         * Array.cs: CreateInstance(Type,int[]) is params.
3118         * AppDomain.cs: ExecuteAssemblyByName(string,Evidence,string[]) is
3119         params.
3120
3121 2007-04-03  Alp Toker  <alp@atoker.com>
3122
3123         * Convert.cs:
3124         * Math.cs: Should be static classes in 2.0.
3125
3126 2007-04-03  Alp Toker  <alp@atoker.com>
3127
3128         * Delegate.cs: DynamicInvoke(object[]) is params in 2.0.
3129
3130 2007-04-03  Alp Toker  <alp@atoker.com>
3131
3132         * Delegate.cs: Combine(Delegate[]) is params in 2.0.
3133
3134 2007-03-27  Dick Porter  <dick@ximian.com>
3135
3136         * Environment.cs: Increment mono_corlib_version;
3137
3138 2007-03-16  Miguel de Icaza  <miguel@novell.com>
3139
3140         * BitConverter.cs: Revert the patch from 72237 as that introduces
3141         a regression and we are not sure yet what we will be doing about
3142         that.
3143
3144         Introduce a new InternalInt64BitsToDouble method that provides the
3145         fixed functionality, mark it as internal.
3146
3147         Introduce a new SwappableToDouble method that includes the
3148         swapping ToDouble routine as introduced by Zoltan on 72237, this
3149         is used by InternalInt64BitsToDouble.
3150
3151         * Math.cs (IEEERemainder): Use the InternalInt64BitsToDouble
3152         routine here to preserve the semantics from Zoltan.  
3153
3154         The problem with BitConverter.cs is that it is completely hossed.
3155         In .NET 1.1 it is a bitwise copy, no attempt is ever done to do
3156         endian-specific swapping.   In .NET 2.0 it is *almost* like that,
3157         but it is subtly broken: if data is unaligned then endian
3158         conversions happen.  If the data is properly aligned it behaves
3159         like 1.0.
3160
3161         In general BitConverter is a sad class that offers little control,
3162         we will be introducing a new mono bit converter and encourage
3163         users to use that instead of the entirely broken
3164         System.BitConverter. 
3165
3166 2007-03-11  Gert Driesen  <drieseng@users.sourceforge.net>
3167
3168         * Delegate.cs: Fixed bootstrap build.
3169
3170 2007-03-08  Gert Driesen  <drieseng@users.sourceforge.net>
3171
3172         * StringComparer.cs: Renamed StringComparer classes and promoted them
3173         to top-level classes. Merged Ordinal and OrdinalIgnoreCase comparers.
3174         Fixes binary serialization compatibility with MS.
3175
3176 2007-03-06  Zoltan Varga  <vargaz@gmail.com>
3177   
3178         * Type.cs (Equals): Remove a useless check.
3179
3180         * Type.cs: Rename Type:Equals(Type) to EqualsInternal, and add support for checking
3181         UnderlyingSystemType. Fixes #81037.
3182
3183 2007-03-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
3184
3185         * TermInfoDriver.cs: adjust buffer indexes after *every* read. Fixes
3186         bug #80329. Robert Jordan attached a similar patch to the bug report
3187         but I didn't see it until after my commit...
3188
3189 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
3190
3191         * Enum.cs: The above patch makes the formatting for specifiers 'x'
3192         and 'X' behave like MS.NET, including the correct length for each
3193         possible underlying type, and correctly using capital letters for
3194         the 'X' case.
3195
3196         Patch also includes some more test cases in EnumTests.cs.
3197
3198 2007-02-25  Gert Driesen  <drieseng@users.sourceforge.net>
3199
3200         * AppDomainSetup.cs: If configuration file is not an absolute path,
3201         then throw a MemberAccessException if ApplicationBase is not set,
3202         or otherwise consider it as a path relative to ApplicationBase.
3203         Fixes bug #80934. Patch provided by Jamie Cansdale.
3204         * AppDomain.cs: In CreateDomain, construct AppDomain with
3205         ApplicationBase of default domain if not explicitly set in specified
3206         AppDomainSetup. If config file is not set, then use filename of the
3207         default domain config file. Base on patch provided by Jamie Cansdale.
3208
3209 2007-02-16  Sebastien Pouliot  <sebastien@ximian.com>
3210
3211         * Random.cs: Fix exception messages ("then" -> "than"). Spotted by
3212         Mark A. Nicolosi (#80873).
3213
3214 2007-02-12  Miguel de Icaza  <miguel@novell.com>
3215
3216         * CStreamWriter.cs (Write with char []): take the lock once for
3217         all characters and call manually the InternalWriteChar properly to
3218         speed things up.
3219
3220         (Write with string parameter): same thing, if the driver is not
3221         initialized use a fast path.
3222
3223         If the driver has not been initialized, use a fast path instead. 
3224
3225 Mon Feb 12 21:54:57 CET 2007 Paolo Molaro <lupus@ximian.com>
3226
3227         * MonoType.cs: patch from Cedric Vivier <cedricv@neonux.com> to
3228         get correctly non-public fields from generic types.
3229
3230 2007-02-08  Jonathan Chambers  <joncham@gmail.com>
3231
3232         * __ComObject.cs: Add IUnknown field to object. Cleanup icalls.
3233         
3234 2007-02-03  Zoltan Varga  <vargaz@gmail.com>
3235
3236         * BitConverter.cs (ToDouble): Fix this on big-endian machines.
3237
3238 2007-01-30  Atsushi Enomoto  <atsushi@ximian.com>
3239
3240         * TimeZone.cs: According to the docs, we should not throw when
3241         converting to Localtime if we are a negative value.  Instead we
3242         return DateTime.MinValue.
3243
3244 2007-01-25  Atsushi Enomoto  <atsushi@ximian.com>
3245
3246         * DateTime.cs : copy Kind in those members that return DateTime.
3247           Fixed bug #80614.
3248
3249 2007-01-20  Miguel de Icaza  <miguel@novell.com>
3250
3251         * Array.cs (InternalArray__ICollection_Contains,
3252         InternalArray__IndexOf): Cope with null values in the array (See
3253         bug #80563).
3254
3255 2007-01-19  Marek Habersack  <grendello@gmail.com>
3256
3257         * AppDomain.cs: Make sure that domain
3258         SetupInformation.ConfigurationFile is never null. MS.NET by
3259         default copies the default domain's ConfigurationFile value
3260         there. Fixes bug #80547.
3261
3262 2007-01-14  Jensen Somers <jensen.somers@gmail.com>
3263
3264         * ArraySegment.cs: Added Equals() method, operator == and !=
3265         overloading and GetHashCode().
3266
3267 2007-01-10  Andy Hume <andyhume32@yahoo.co.uk>
3268
3269         * Fixes to a number of exception classes.
3270         
3271         A project of mine uses #ctor(String,Exception) on 
3272         ObjectDisposedException, so I looked at adding that, and any 
3273         other similar constructors missing as per the class status report.
3274         
3275         I also spotted inconsistent setting of HResult, and fixed 
3276         those too.  For instance, ArgumentNullException sets HResult 
3277         only in three out of the four constuctors; not setting it in 
3278         the v2 (String,Exception) one -- and correctly not in the 
3279         Serialization constructor.
3280         
3281         
3282         So, I fixed the remaining missing (String,Exception) 
3283         constructors in corlib (2 of), and fixed the Hresult setting 
3284         in all exceptions there (4 of).
3285         
3286         The remaining Exception constructor omission listed was 
3287         InvalidCastException.ctor(System.String, System.Int32).  MSDN   says:
3288         "This constructor supplies an HRESULT value that is 
3289         accessible to inheritors of the InvalidCastException class, 
3290         via the protected HResult property of the Exception class."
3291         I added that method too, setting the HResult property from 
3292         the Int32 argument.
3293
3294 2007-01-10  Atsushi Enomoto  <atsushi@ximian.com>
3295
3296         * String.cs, StringComparer.cs : avoid extra string creation in
3297           StringComparer.OrdinalIgnoreCase.
3298
3299 2007-01-05  Sebastien Pouliot  <sebastien@ximian.com>
3300
3301         * DateTime.cs: Under 2.0 fix ParseExact to set DateTimeKind.Utc when
3302         DateTimeStyles.AdjustToUniversal is used.
3303
3304 2007-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3305
3306         * TermInfoDriver.cs: honor the backspace in ReadLine.
3307
3308 2006-12-30  Marek Safar  <marek.safar@gmail.com>
3309
3310         * String.cs: Character based method only.
3311         (IndexOf, LastIndexOf, Replace, IndexOfAny): Performance improvements.
3312         (Substring): Returns same instance when index is 0.
3313
3314 2006-12-30  Alp Toker  <alp@atoker.com>
3315
3316         * Decimal.cs:
3317         * Math.cs: Implement missing Decimal.Ceiling methods for 2.0.
3318         Closes #80384.
3319
3320 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com> 
3321
3322         * DateTime.cs: Implement missing [To|From]Binary methods for 2.0.
3323         * OperatingSystem.cs: Implement missing ServicePack and VersionString
3324         properties (2.0).
3325         * Version.cs: Add missing Major|MinorRevision properties for 2.0.
3326
3327 2006-12-14  Raja R Harinath  <rharinath@novell.com>
3328
3329         * Type.cs (MakeGenericType): Can only be called on a generic type
3330         definition.
3331
3332 2006-12-03  Miguel de Icaza  <miguel@novell.com>
3333
3334         * DateTime.cs: Fix this on the 2.0 profile, return the
3335         DateTimeKind for the Now property
3336
3337 2006-12-01  Duncan Mak  <duncan@a-chinaman.com>
3338
3339         * ArgumentOutOfRangeException.cs (.ctor): 
3340         * NotFiniteNumberException.cs (.ctor): Add the 2.0 constructor
3341         that takes a string and an inner Exception.
3342
3343 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3344
3345         * DateTime.cs :
3346           When comparing enumerations, two or more enumeration values might
3347           match. Thus basically we should do complete matching, but right
3348           now just do reverse order search since only numbered abbrev month
3349           names matter (and full iteration is a mess). Fixed bug #80094.
3350
3351 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3352
3353         * DateTime.cs :
3354           use new internal clone-less DateTimeFormatInfo members.
3355
3356 2006-11-29  Martin Baulig  <martin@ximian.com>
3357
3358         * INullableValue.cs: Removed.
3359
3360 2006-11-28  Duncan Mak  <duncan@novell.com>
3361
3362         * ArgumentNullException.cs (.ctor): Added new constructor that's
3363         new in .NET 2.0.
3364
3365         * InsufficientMemoryException.cs: Added missing 2.0 exception.
3366         
3367 2006-11-27  Jonathan Chambers  <joncham@gmail.com>
3368
3369         * __ComObject.cs: Removed IDispatchMono.
3370         
3371 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3372
3373         * TermInfoDriver.cs:
3374         * Console.cs: lazy initialization of Console 2.0 (also when
3375         CancelKeyPress is used).
3376
3377 2006-11-27  Miguel de Icaza  <miguel@novell.com>
3378
3379         * Exception.cs (GetType): New method in 2.x, Another Moma catch. 
3380
3381 Mon Nov 27 19:34:16 CET 2006 Paolo Molaro <lupus@ximian.com>
3382
3383         * GC.cs: implemented the needed methods with icalls.
3384
3385 2006-11-26  Miguel de Icaza  <miguel@novell.com>
3386
3387         * Math.cs: Add Floor(Decimal d), for CreativeDocs.NET.
3388
3389         Go Moma!  http://www.mono-project.com/Moma
3390
3391         * Decimal.cs: Refactor code to implement TryParse.
3392
3393         Also, avoid initializing messages on every call to stripStyles
3394
3395 2006-11-22  Miguel de Icaza  <miguel@novell.com>
3396
3397         * DateTime.cs: A small performance hit, we store the actual time
3398         span in a boxed object.   This way, it can be updated from other
3399         threads if necessary.   We always unbox to get the value before
3400         any potential updates. 
3401
3402         Thanks to Gonzalo for catching this.
3403
3404 2006-11-21  Miguel de Icaza  <miguel@novell.com>
3405
3406         * TimeZone.cs (CurrentSystemTimeZone): Cache the current year
3407         daylight savings time in static variables.
3408
3409         (CurrentSystemTimeZone.OnDeserialization): Initialize
3410         this_year_dlt and this_year on this method.
3411
3412         (TimeZone): init statically the currentTimeZone instead of
3413         delaying that to the static property, avoiding a compare. 
3414
3415 2006-11-22  Lluis Sanchez Gual  <lluis@novell.com>
3416
3417         * Array.cs: (compare<T>) if a comparer is provided, it has
3418           priority over other comparison methods.
3419
3420 2006-11-14  Miguel de Icaza  <miguel@novell.com>
3421
3422         * Array.cs: TODOs will from now on be used to flag information
3423         that will be developer-visible, not to flag internal information
3424         that none of us reads or bothers about.
3425
3426         For those, use "FIXME" strings in the source code instead. 
3427
3428         * AppDomain.cs: Update to be more useful.
3429
3430 2006-11-13  Atsushi Enomoto  <atsushi@ximian.com>
3431
3432         * String.cs : fixed incorrect startIndex/length count in
3433           IndexOf(string,StringComparison).
3434
3435 2006-11-07  Marek Safar  <marek.safar@gmail.com>
3436
3437         * String.cs (LastIndexOf): If value is Empty, the return value is
3438         the start index position in value.
3439
3440 2006-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3441
3442         * TermInfoDriver.cs: prevent an invalid cast.
3443
3444 2006-10-26  Marek Safar  <marek.safar@seznam.cz>
3445
3446         * String.cs (Concat): Add fast-path for empty strings.
3447
3448 2006-10-20  Jonathan Chambers  <joncham@gmail.com>
3449
3450         * Variant.cs: Add support for bool and interfaces.
3451         
3452 2006-10-18  Kornél Pál  <kornelpal@gmail.com>
3453
3454         * Type.cs: Removed is_subtype_of because IsSubclassOf should be used
3455           that is public and virtual. IsClass: Checking for ValueType is
3456           unnecessary. IsEnum: UnderlyingSystemType is not used anymore so
3457           no EnumBuilder hack is necessary. Checking for Enum is
3458           unnecessary. IsSerializable: Walk BaseType for user defined types.
3459           IsSubclassOf: Walk BaseType for user defined types.
3460
3461         * MonoType.cs: IsValueTypeImpl is unnecessary. IsSubclassOf: Unlike
3462           Type system types throw ArgumentNullException on null Type
3463           argument.
3464
3465 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
3466
3467         * BadImageFormatException.cs: Changed message for default ctor to
3468         match MS. Use internal message field of Exception to check whether
3469         Message is null. Match MS default messages when no message is 
3470         set. Fixed ToString to match MS.
3471
3472 2006-10-09  Miguel de Icaza  <miguel@novell.com>
3473
3474         * Environment.cs: Handle SpecialFolder.MyMusic
3475
3476 2006-10-07 Gert Driesen <drieseng@users.sourceforge.net>
3477
3478         * Enum.cs: Use different exception message depending on whether the
3479         type of the passed in value is an Enum or not. Avoid looking up the
3480         enum's underlying type twice in case of "D" or "d" format specifier.
3481
3482 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3483
3484         * TermInfoDriver.cs: don't allow backspace if we're at the beginning
3485         position for a ReadLine.
3486
3487 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3488
3489         * TermInfoDriver.cs: ironpython autocompletion works now.
3490
3491 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3492
3493         * Console.cs: avoid casting on windows.
3494
3495 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3496
3497         * ConsoleDriver.cs:
3498         * TermInfoDriver.cs:
3499         * IConsoleDriver.cs:
3500         * CStreamWriter.cs:
3501         * ConsoleKeyInfo.cs:
3502         * NullConsoleDriver.cs:
3503         * Console.cs:
3504         * CStreamReader.cs:
3505         * WindowsConsoleDriver.cs: initial changes to handle cursor position
3506         and screen buffers.
3507
3508 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3509
3510         * ArithmeticException.cs: Modified default message to match MS, to
3511         ensure a local regression test passes on both Mono and .NET.
3512
3513 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3514
3515         * Exception.cs: Marked message internal to allow derived classes to
3516         access the raw message (without changing the public API).
3517
3518 2006-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3519
3520         * ConsoleDriver.cs:
3521         * TermInfoDriver.cs:
3522         * IConsoleDriver.cs:
3523         * Console.cs:
3524         * WindowsConsoleDriver.cs: don't switch to the alternate window.
3525         Trigger the cancel event. Retrieve the cursor position at the
3526         beginning, as we're going to keep track of it instead of querying it
3527         all the time.
3528
3529 2006-09-14  Jonathan Chambers  <joncham@gmail.com>
3530
3531         * Environment.cs (ProcessorCount): Implement as icall.
3532         Patch by Jason McFall.
3533
3534 2006-09-05  Raja R Harinath  <rharinath@novell.com>
3535
3536         * DateTime.cs (Today) [NET_2_0]: Set kind to Local.
3537
3538 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
3539
3540         * Enum.cs (Equals): Use the generic Equals implementation from ValueType which
3541         is faster and avoids allocations.
3542
3543 2006-09-01  Martin Baulig  <martin@ximian.com>
3544
3545         * Array.cs (Array.InternalArray): Removed the helper class;
3546         instead we use private generic methods in System.Array which are
3547         inserted into the vtable at runtime.
3548
3549 2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3550
3551         * ConsoleCancelEventArgs.cs: fix my build.
3552
3553 2006-08-22  Miguel de Icaza  <miguel@novell.com>
3554
3555         * MulticastDelegate.cs: Make DynamicInvokeImpl internal in 2.0 
3556
3557         * Converter.cs: update signature to final.
3558
3559         * ModuleHandle.cs: Removed the [Obsolete] flags as they removed
3560         those in the final 2.0
3561
3562         * DateTime.cs: Fixed the signature. 
3563
3564         * Convert.cs: Removed API calls that were deprecated in final 2.0
3565
3566         * Enum.cs: Updated to use the obsoletes flagged in 2.0.
3567
3568         * ConsoleCancelEventArgs.cs: Updated to 2.0
3569
3570 2006-08-19  Miguel de Icaza  <miguel@novell.com>
3571
3572         * Attribute.cs: This needs to do a deep compare, not a shallow
3573         one.   Ran into this bug with the VBNC compiler that compares two
3574         separate attributes for equality using this.
3575
3576         * String.cs (StartsWith): Fix the overloaded constructor that
3577         takes a CultureInfo, if that is null, it means to use the current
3578         culture. 
3579
3580         * TermInfoDriver.cs: Do not throw exceptions on the driver for
3581         SetWindowSize and SetWindowPosition, they can be treated as nops.
3582
3583 2006-08-18  Zoltan Varga  <vargaz@gmail.com>
3584
3585         * *.cs: Use String.Empty instead of "" in a lot of places.
3586
3587 2006-08-17  Sebastien Pouliot  <sebastien@ximian.com>
3588
3589         * DateTime.cs: Remove last patch to DateTime as the fix wasn't correct
3590         and made most x.509 unit tests fails. However the original problem is 
3591         back (only on 2.0).
3592
3593 2006-08-14  Raja R Harinath  <rharinath@novell.com>
3594
3595         Fix #78943
3596         * Activator.cs (CreateInstance): Throw ArgumentException on open
3597         generic types.
3598
3599 2006-08-14  Miguel de Icaza  <miguel@novell.com>
3600
3601         * MonoType.cs: Do the argument testinf for SetField later,
3602         otherwise the implicit (and not documented, but already considered
3603         side effect of checking SetProperty) did not work.
3604
3605         Bug fix #79023
3606
3607 2006-08-13  Atsushi Enomoto  <atsushi@ximian.com>
3608
3609         * String.cs : Normalize() and IsNormalized() implementation.
3610
3611 2006-08-10  Jonathan Chambers  <joncham@gmail.com>
3612
3613         * __ComObject.cs: Added defintion of IDispatch interface, and
3614         property. Get CLSID of supertype for creation if class not
3615         ComImport attributed (allows for inheritance of RCW).
3616         * MonoType.cs: Implement IsCOMObjectImpl.
3617
3618 2006-08-09  Atsushi Enomoto  <atsushi@ximian.com>
3619
3620         * DateTime.cs : fixed X509Certificate() case that regressed only
3621           under NET_2_0.
3622
3623 2006-08-07  Kornél Pál  <kornelpal@gmail.com>
3624
3625         * Console.cs: Use correct code pages on Windows and initialize
3626           InputEncoding and OutputEncoding to the actual encodings used.
3627
3628 2006-08-05  Duncan Mak  <duncan@novell.com>
3629
3630         * Char.cs (TryParse): Implemented missing 2.0 method, which fixed
3631         bug #79007.
3632
3633 2006-07-28  Jonathan Chambers  <joncham@gmail.com>
3634
3635         * __ComObject.cs: Added support for marshalling objects.
3636         
3637 2006-07-24  Atsushi Enomoto  <atsushi@ximian.com>
3638
3639         * Char.cs : implemented utf32 conversion methods thus fixed bug #78856.
3640
3641 2006-07-19  John Luke  <john.luke@gmail.com>
3642
3643         * TermInfoDriver.cs: switch order of alt and control when
3644         calling new ConsoleKeyInfo()
3645
3646 2006-07-19  Kornél Pál  <kornelpal@gmail.com>
3647
3648         * String.cs: Improve CreateString () performance when length is zero.
3649
3650 2006-07-18  Kornél Pál  <kornelpal@gmail.com>
3651
3652         * String.cs: Added CreateString () methods. Constructors with matching
3653           argument list are redirected to these methods that improves
3654           performance as well as fixes bug #78703.
3655
3656 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
3657
3658         * __ComObject.cs: Begin implementing COM Interop.
3659         * Environment.cs: Increment corlib version.
3660         
3661 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
3662
3663         * Delegate.cs (DynamicInvokeImpl): Add support for bound delegates in Net 2.0.
3664
3665 2006-07-11  Zoltan Varga  <vargaz@gmail.com>
3666
3667         * Double.cs (Parse): Fix handling of inner whitespace.
3668
3669 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
3670
3671         * Int32.cs: Fix a warning.
3672
3673 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
3674
3675         * TimeZone.cs : consider DateTimeKind in ToLocalTime() and 
3676           ToUniversalTime(). Fixed bug #78784. Patch by Thong Nguyen.
3677         * DateTime.cs : DateTimeKind for UtcNow should be Utc.
3678
3679 2006-06-28  Kornél Pál  <kornelpal@gmail.com>
3680
3681         * Char.cs: Implemented IsHighSurrogate and IsLowSurrogate methods.
3682
3683 2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
3684
3685         * Double.cs : don't throw Exception in TryParse() for 'E'.
3686           Fixed bug #78546.
3687
3688 2006-06-20  Jb Evain  <jbevain@gmail.com>
3689
3690         * Math.cs: implement Math.Truncate.
3691
3692 2006-06-13  Atsushi Enomoto  <atsushi@ximian.com>
3693
3694         * DateTime.cs :
3695           Another lame win32 dependent pattern. Fixed bug #78618.
3696
3697 2006-06-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
3698
3699         * Environment.cs: Implement Set/GetEnvironmentVariable for User/Machine.        
3700
3701 2006-06-07  Kornél Pál  <kornelpal@gmail.com>
3702
3703         * Environment.cs: Use Consts.FxFileVersion for Environment.Version
3704           as Consts.RuntimeVersion was removed.
3705
3706 2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
3707
3708         * Variant.cs: Added.
3709         * Environment.cs: Incremented corlib version since adding Variant.      
3710         
3711 2006-06-01  Raja R Harinath  <rharinath@novell.com>
3712
3713         * Nullable.cs (operator==, operator!=): Remove.
3714
3715 2006-05-31  Zoltan Varga  <vargaz@gmail.com>
3716
3717         * MonoDummy.cs: Removed as it is no longer needed.
3718
3719         * Environment.cs: Bump corlib version.
3720         
3721         * Environment.cs: Revert the last change.
3722         
3723         * Environment.cs: Bump corlib version.
3724
3725         * MonoAsyncCall.cs: New file.
3726
3727 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
3728
3729         * Char.cs: Removed duplicate (explicit) interface implementation.
3730         * String.cs: Removed duplicate (explicit) interface implemenation.
3731         * MulticastDelegate.cs: Fixed API mismatches.
3732
3733 2006-05-29 Paolo Molaro <lupus@ximian.com>
3734
3735         * String.cs: make sure that the chars truncated by a stringbuilder
3736         are zeroed.
3737
3738 2006-05-29  Martin Baulig  <martin@ximian.com>
3739
3740         * Exception.cs
3741         (Exception.StackTrace): Use the new stack trace format which is
3742         very similar to the one of MS.NET - method name goes first,
3743         file / line number last and in the method name, we separate class
3744         and method name by `.'.
3745
3746         * Environment.cs
3747         (Environment.StackTrace): Enable line-number information.
3748
3749 2006-05-24  Atsushi Enomoto  <atsushi@ximian.com>
3750
3751         * DateTime.cs :
3752           Implement 2.0 TryParseExact(). Patch by Seo Sanghyeon.
3753
3754 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
3755
3756         * Array.cs : added internal sort method used
3757           in System.Collections.Generics.List<T>.Sort(Comparison<T>).
3758
3759 2006-05-15  Zoltan Varga  <vargaz@gmail.com>
3760
3761         * Environment.cs: Bump corlib version.
3762
3763 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
3764
3765         * MonoType.cs (GetMethodImpl): Fix a warning.
3766
3767 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
3768
3769         * ArrayTest.cs : use proper comparer in IndexOf() and LastIndexOf().
3770           Patch by Kazuki Oikawa. Fixed bug #77277.
3771
3772 2006-05-07  Zoltan Varga  <vargaz@gmail.com>
3773
3774         * Nullable.cs (Equals): Fix comparison to null. Fixes #78322.
3775
3776 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
3777
3778         * Nullable.cs : updated Nullable<T> API to 2.0 RTM.
3779
3780 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3781
3782         * Double.cs : (Parse) handle currency symbol when
3783           AllowCurrencySymbol is passed as part of the style. Patch by
3784           nede@aliquant.com, modified to eliminate redundant Substring().
3785           This fixes bug #77721.
3786
3787 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3788
3789         * MonoType.cs : (GetMethod) when zero-length type[] is explicitly
3790           passed, don't return methods with some arguments. Fixed bug #77367.
3791
3792 2006-04-21  Gert Driesen  <drieseng@users.souceforge.net>
3793
3794         * Enum.cs: Provide meaningful message when type of passed in value
3795         does not match enum type.
3796
3797 2006-04-19  Raja R Harinath  <rharinath@novell.com>
3798
3799         * Char.cs (Equals): Don't access 'm_value' field of other
3800         instances.  Cast directly to 'char'.
3801
3802 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3803
3804         * DateTime.cs : implement SpecifyKind(). Patch by Thong Nguyen.
3805
3806 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3807
3808         * NumberFormatter.cs : general performance improvements. Avoid 
3809           extraneous evaluation for simple formatting. Details are seen in 
3810           bug #77792. Patch by Kazuki Oikawa.
3811
3812 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3813
3814         * DateTime.cs : implement IsDaylightSavingTime().
3815           Patch by Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>.
3816
3817 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
3818
3819         * Array.cs :
3820           added some more [ReliabilityContract].
3821           removed some [CLSCompliant].
3822           renamed generic method parameter names.
3823
3824 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
3825
3826         * Environment.cs (SetEnvironmentVariable): Implement.
3827
3828 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3829
3830         * Array.cs : oops, the last change caused regression. The array must
3831           be transparent to ReadOnlyCollection, not create another list.
3832
3833 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3834
3835         * Array.cs : AsReadOnly<T>() in RTM returns ReadOnlyCollection<T>.
3836           Thus removed ReadOnlyArray<T> and ReadOnlyArrayEnumerator<T>.
3837           In 2.0 some members became non-virtual.
3838
3839 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3840
3841         * String.cs : oops, NET_2_0.
3842
3843 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3844
3845         * String.cs : added new IndexOf() and LastIndexOf() overloads, and
3846           IEnumerable<char>.GetEnumerator().
3847
3848 2006-03-21  Kornél Pál  <kornelpal@gmail.com>
3849
3850         * String.cs: Make memcpy4 private as it is a helper method.
3851           Make memcpy internal to can be used from UnicodeEncoding.
3852
3853 2006-03-19  Marek Safar  <marek.safar@seznam.cz>
3854
3855         * Nullable.cs (Compare, Equals): Added constrain as gmcs now correctly
3856         reports an error here.
3857
3858 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
3859
3860         * Double.cs : (Parse) reject String.Empty.
3861
3862 Wed Mar 15 16:30:51 CET 2006 Paolo Molaro <lupus@ximian.com>
3863
3864         * LocalDataStoreSlot.cs: implement as index in an array.
3865         Implemented finalizer and allow it to remove the data stored
3866         in the slot.
3867
3868 2006-03-15  Zoltan Varga  <vargaz@gmail.com>
3869
3870         * Environment.cs: Bump corlib version.
3871
3872 2006-03-10  Zoltan Varga  <vargaz@gmail.com>
3873
3874         * MonoCustomAttrs.cs (IsDefined): Avoid a runtime assert if a type
3875         overwrites GetCustomAttributes () but not IsDefined ().
3876
3877 2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
3878
3879         * Environment.cs: Bumped corlib version to 48 (due to r57532)
3880
3881 2006-03-07  Martin Baulig  <martin@ximian.com>
3882
3883         * String.cs (String.FormatHelper): Try getting an `ICustomFormatter'
3884         from the `provider' if possible.
3885
3886 2006-02-26  Gert Driesen  <drieseng@users.souceforge.net>
3887
3888         * DecimalFormatter.cs: Removed obsolete class, as it has been replaced
3889         by NumberFormatter.
3890         * DoubleFormatter.cs: Same.
3891         * SingleFormatter.cs: Same.
3892
3893 2006-02-21  Marek Safar  <marek.safar@seznam.cz>
3894
3895         * String.cs (Equals): Optimized for speed.
3896
3897 2006-02-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3898
3899         * TermInfoDriver.cs: patch by Mike Hull that fixes bug #77518.
3900
3901 Mon Feb 20 11:19:54 CET 2006 Paolo Molaro <lupus@ximian.com>
3902
3903         * MonoType.cs: patch from Joachim Ante <joe@otee.dk> to
3904         improve error messages.
3905
3906 2006-02-15  Martin Baulig  <martin@ximian.com>
3907
3908         * Type.cs (Type.IsGenericInstance): Removed.
3909
3910 2006-02-14  Ankit Jain  <jankit@novell.com>
3911             Raja R Harinath  <rharinath@novell.com>
3912  
3913         * ArraySegment.cs (.ctor): Fix bounds check. Rename param 'length' to
3914         'count'.
3915
3916 2006-02-11  Zoltan Varga  <vargaz@gmail.com>
3917
3918         * TermInfoDriver.cs (CreateKeyInfoFromInt): Fix handling of tab and its
3919         friends.
3920         
3921         * TermInfoDriver.cs (GetWindowDimensions): Obtain the exact terminal
3922         size using an icall.
3923         (GetCursorPosition): Convert the row and column to 0 based indexing. 
3924         Also fix reading of large values.
3925         (CreateKeyInfoFromInt): Convert LF to ConsoleKey.Enter.
3926
3927         * ConsoleDriver.cs (GetTtySize): New icall.
3928
3929 2006-02-10  Zoltan Varga  <vargaz@gmail.com>
3930
3931         * Array.cs: Fix some methods which previously returned Nullable<T>.
3932
3933         * Nullable.cs: Add T: struct constraint and fix constructor.
3934
3935 Fri Feb 3 11:01:46 CET 2006 Paolo Molaro <lupus@ximian.com>
3936
3937         * String.cs: changed StartsWith/EndsWith to faster versions.
3938
3939 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3940
3941         * String.cs: implement 2.0 StartsWith and EndsWith new overloads. Based
3942         on a patch by Thong Nguyen.
3943
3944 2006-01-31  Zoltan Varga  <vargaz@gmail.com>
3945
3946         * String.cs: Implement one of the new net 2.0 Split methods.
3947
3948 2006-01-31  Atsushi Enomoto  <atsushi@ximian.com>
3949
3950         * String.cs : (LastIndexOf) Fixed bug #77412. It should not expect
3951           that value length is bigger than its index.
3952
3953 2006-01-27  Zoltan Varga  <vargaz@gmail.com>
3954
3955         * DateTime.cs: Add some 2.0 methods and properties.
3956
3957 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3958
3959         * Console.cs: if InternalCodePage returns -1, use the default encoding.
3960         Also match the UTF8 one properly. Patch by wall_john@sohu.com.
3961
3962 2006-01-19  Atsushi Enomoto  <atsushi@ximian.com>
3963
3964         * ModuleHandle.cs : GetPEKind() is not public in 2.0 RTM.
3965
3966 2006-01-16  Alp Toker  <alp@atoker.com>
3967
3968         * TimeSpan.cs: Simple implementation of NET 2.0 TryParse() using
3969         try/catch
3970
3971 2006-01-05  Raja R Harinath  <rharinath@novell.com>
3972
3973         Fix regressions introduced by the fix to #71300.
3974         * Activator.cs (CreateInstance): Use Binder.SelectMethod instead
3975         of home-grown FindBestCtor.
3976         (FindBestCtor): Delete.
3977
3978 2006-01-03  Zoltan Varga  <vargaz@gmail.com>
3979
3980         * Nullable.cs: Update to Net 2.0 RTM.
3981         
3982         * Nullable.cs: Add comments about runtime dependencies on the layout of
3983         this type.
3984
3985 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
3986
3987         * Activator.cs: Now find the best ctor when null are used for 
3988         paramaters. Fix bug #71300. Added checks for specific types (void,
3989         TypedReference, ArgIterator and RuntimeArgumentHandle).
3990         * Console.cs: Re-use Environment logic to detect Windows.
3991         * Type.cs: Re-applied r45150 as the real bug was in Activator.
3992
3993 2006-01-02  Zoltan Varga  <vargaz@gmail.com>
3994
3995         * Activator.cs: Add a 'params' to one of the CreateInstance overloads.
3996
3997         * RuntimeTypeHandle.cs RuntimeMethodHandle.cs RuntimeFieldHandle.cs:
3998         Add == and != operators.
3999
4000 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
4001
4002         * Environment.cs: Bump corlib version to 46.
4003         * TimeZone.cs: Partial fix for #76094. Added [Serializable] attribute 
4004         and renamed internal CurrentTimeZone class to CurrentSystemTimeZone 
4005         (like MS). This allows serialization roundtrip to work in Mono but 
4006         there's still an issue when deserializing a stream from MS. 
4007
4008 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com> 
4009  
4010         * NumberFormatter.cs: Fixed rounding for float and the string output
4011         now includes all the precision (not counting preceding zeros). This
4012         fix the DecimalTest.TestConstructSingleRounding_NotWorking test cases.
4013
4014 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
4015  
4016         * Array.cs: Fixed Sort<T> with IComparable (generic or not) bug #77039
4017
4018 2005-12-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4019
4020         * Array.cs: Added the Sort<T> methods (generics). 
4021
4022 2005-12-19  Sebastien Pouliot  <sebastien@ximian.com> 
4023  
4024         * Array.cs: Fixed BinarySearch when the array is empty (#77030). Added
4025         some null check which throws ArgumentNullException under 2.0.
4026
4027 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
4028
4029         * DateTime.cs: Added MonoTODO to ctor accepting a Calandar instance.
4030         * Double.cs: Under 2.0 throw a ArgumentException when parsing with
4031          NumberStyles.AllowHexSpecifier. Partial fix for #72221. Added the
4032         second, simpler, TryParse method (2.0).
4033         * Single.cs: Added the TryParse methods for 2.0.
4034
4035 2005-12-15  Raja R Harinath  <rharinath@novell.com>
4036
4037         * Type.cs (IsGenericType): Make virtual.
4038
4039 2005-12-08  Sebastien Pouliot  <sebastien@ximian.com> 
4040
4041         * AppDomainSetup.cs: ApplicationBase throw exception on get (not on 
4042         set). New behaviour is more like MS - but most issues (unit tests)
4043         were really path issues. Fix bug #71291.
4044         * DateTime.cs: Add more information when throwing an exception in 
4045         ctor(long). Useful for debugging.
4046
4047 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
4048
4049         * Single.cs Double.cs: Fix warnings.
4050
4051 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
4052  
4053         * Convert.cs: ToBase64String method didn't use the option parameter so
4054         we always included new lines. Fix bug #76876.
4055
4056 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
4057
4058         * AppDomainSetup.cs: Added missing ComVisible and removed LAMESPEC 
4059         (the docs were fixed).
4060         * NumberFormatter.cs: Fixed the "NotWorking" case where 1.15 was 
4061         misrounded compared to MS implementation. Extra care is required when
4062         dealing with the extra 2 digits information (e.g. double precision is
4063         15 digits but 17 are kept - for a reason ;-)
4064
4065 2005-12-05  Ben Maurer  <bmaurer@ximian.com>
4066
4067         * Environment.cs: Bump version
4068
4069         * Nullable.cs: New Box and Unbox methods for the jit
4070
4071 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
4072
4073         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
4074           list does not have enum value 0 as the first item. Fixes #76921
4075
4076 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
4077
4078         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
4079
4080 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
4081
4082         * Double.cs: remove unused icall.
4083         * BitConverter.cs: handle double binary format on ARM FPA.
4084
4085 2005-12-02  Alp Toker  <alp@atoker.com>
4086
4087         * MonoType.cs:
4088         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
4089
4090 2005-12-02  Alp Toker  <alp@atoker.com>
4091
4092         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
4093         ReflectionOnlyAssemblyResolve in 2.0 final
4094
4095 2005-12-01  Alp Toker  <alp@atoker.com>
4096
4097         * String.cs: Add static and non-static Equals(... StringComparison) for
4098         2.0.
4099
4100 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4101
4102         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
4103
4104 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4105
4106         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
4107         have to add 1 to x and y when setting the cursor position.
4108         Fixes bug #76856.
4109
4110         * Convert.cs: remove unused variables.
4111
4112 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
4113
4114         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
4115         with large numbers.
4116
4117 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
4118
4119         * Convert.cs: fix endianess issue when converting to base-8
4120         format. All the base code would need a rewrite for efficience.
4121
4122 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
4123
4124         * String.cs: Added support for Compare(... StringComparison) in 2.0.
4125
4126 2005-11-25  Alp Toker  <alp@atoker.com>
4127
4128         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
4129
4130 2005-11-17  Dick Porter  <dick@ximian.com>
4131
4132         * Environment.cs: Incremented corlib version
4133
4134 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4135
4136         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
4137         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
4138         methods to return the exception as an out parameter,
4139         instead of throwing it. This will be of special help
4140         to TryParse methods.
4141         * Environment.cs: Update corlib version to 42.
4142         
4143 2005-11-14  Raja R Harinath  <rharinath@novell.com>
4144
4145         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
4146
4147 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
4148
4149         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
4150
4151 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
4152
4153         * TimeZone.cs: Removed incorrect double-check lock and unneeded
4154         hashtable access.
4155
4156 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
4157
4158         * Type.cs: IsNested implemented, signature fixes.
4159
4160 2005-11-11  Raja R Harinath  <rharinath@novell.com>
4161
4162         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
4163
4164 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
4165
4166         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
4167         as well to avoid copying the whole array.
4168
4169 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
4170
4171         * Int64.cs : ditto for long.
4172
4173 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
4174
4175         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
4176
4177 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
4178
4179         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
4180         in 2.0 profile.
4181         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
4182         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
4183         already replaced by Backspace and Whitespace)
4184         * DateTime.cs: Moved DayOfWeek enum to it's own file.
4185         * DateTimeKind.cs: New (2.0) enum.
4186         * DayOfWeek.cs: New file (extracted from DateTime.cs).
4187         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
4188         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
4189         values (-1 to all of them).
4190         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
4191         GetObjectData method.
4192         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
4193         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
4194         profile.
4195         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
4196         profile.
4197         * StringComparison.cs: New (2.0) enum (needed for Uri).
4198         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
4199         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
4200         profile.
4201
4202 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
4203
4204         * Type.cs : I forgot to mention, some '(' were missing in the
4205           improved patch ;-)
4206
4207 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
4208
4209         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
4210         IsSerializable property, since the latter returns true for delegates/enums.
4211
4212 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
4213
4214         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
4215           makes maintenance easier.
4216
4217 2005-10-24  Martin Baulig  <martin@ximian.com>
4218
4219         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
4220
4221 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4222
4223         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
4224
4225 2005-10-20  Raja R Harinath  <rharinath@novell.com>
4226
4227         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
4228
4229 2005-10-16  Michal Moskal  <malekith@nemerle.org>
4230
4231        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
4232
4233 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
4234
4235         * DateTime.cs : another crappy Windows dependent format.
4236
4237 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
4238
4239         * DateTime.cs: Speed up when parsing date time objects by not
4240         duplicating cultureinfo arrays.
4241
4242 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
4243
4244         * Type.cs (GetTypeCode): Applied patch from 
4245         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
4246         passed in.
4247
4248 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
4249
4250         * Delegate.cs: Add support for delegate covariance and contravariance
4251         from net 2.0.
4252
4253 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
4254
4255         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
4256
4257 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
4258
4259         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
4260         #76204.
4261
4262 2005-09-23  Miguel de Icaza  <miguel@novell.com>
4263
4264         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
4265
4266 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
4267
4268         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
4269         attributeType parameter.
4270         (IsDefined): New icall.
4271
4272         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
4273         object when only a specific attribute type is requested. Fixes #76062.
4274
4275         * Environment.cs: Bump corlib version.
4276
4277 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
4278
4279         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
4280
4281 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4282
4283         * DateTime.cs : (_DoParse) don't check ticks range before computing
4284           the actual value. Fixed bug #76082.
4285
4286 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4287
4288         * TimeZone.cs : When the target DateTime is in the range of
4289           DST end to DST + delta, don't adjust UtcOffset gap between that of
4290           DST and that of STD. This should fix bug #75985.
4291
4292 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4293
4294         * TimeZone.cs, DateTime.cs :
4295           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
4296           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
4297           - use ToLocalTime() and don't depend on the own offset computation.
4298             Parse() with 'Z' pattern is closer to correct value on switching
4299             Daylight Saving Time. See bug #75985.
4300
4301 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4302
4303         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
4304           handled as expected and it kept time value as local one.
4305           Patch by Brion Vibber. Fixed bug #75995.
4306
4307 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4308
4309         * DateTime.cs : Literal escape (\) was not checking format as
4310           expected. Fixed bug #75213.
4311
4312 2005-09-05  Miguel de Icaza  <miguel@novell.com>
4313
4314         * MonoType.cs: Patch from Jonathan Chambers to implement
4315         Type.GUID. 
4316
4317 2005-09-05  Martin Baulig  <martin@ximian.com>
4318
4319         Reflect latest API changes in the August CTP.
4320
4321         * Type.cs (Type.HasGenericArguments): Removed.
4322         (Type.BindGenericParameters): Renamed to MakeGenericType().
4323
4324 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
4325
4326         * DateTime.cs : another idiotic COM dependent format.
4327
4328 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
4329
4330         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
4331         Added some comments about the class.
4332
4333 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
4334
4335         * AppDomain.cs: Use the more concise property syntax for declarative
4336         security.
4337         * AppDomainManager.cs: Default HostSecurityManager is null.
4338
4339 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
4340
4341         * NumberFormatter.cs : eliminate non-ASCII character.
4342
4343 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
4344
4345         * Enum.cs: Better exception message.
4346         
4347 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
4348
4349         * Convert.cs: In FromBase64String, return empty byte array for zero
4350         length string. Pass bool to InternalFromBase64String to control 
4351         whether to allow a whitespace-only string.
4352         * Environment.cs: Bump corlib version.
4353
4354 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
4355
4356         * Environment.cs: Bump corlib version.
4357
4358 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
4359
4360         * Math.cs: Implement a new 2.0 Round method.
4361
4362 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
4363
4364         * Convert.cs: Throw OverflowException if result is larger than
4365         ushort.MaxValue to match MS.NET. Remove commented code.
4366
4367 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4368
4369         * Convert.cs: For now, do not throw OverflowException if hex prefixed
4370         value is negative for signed types (other than int64). Need to look
4371         into this further.      
4372
4373 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4374
4375         * Convert.cs: Numerous fixed in overloads taking base to match 
4376         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
4377         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
4378         character is a negative sign. Throw OverflowException if hex prefixed 
4379         value is negative for signed types (other than int64) to match MS.NET. 
4380
4381 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4382
4383         * DateTime.cs : added another COM dependent pattern (rather to describe
4384           how it works on .NET than to add the pattern itself...).
4385
4386 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4387
4388         * DateTime.cs : added case for bug #53023.
4389
4390 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
4391
4392         * Type.cs: Add IsGenericType property from NET 2.0.
4393
4394 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
4395
4396         * String.cs : added new StartsWith()/EndsWith() override, fixing
4397           existing EndsWith() which incorrectly assumed that both string
4398           lengths must be equivalent (they are not always equal).
4399         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
4400
4401 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
4402
4403         * String.cs: Implement Split(String[]) methods.
4404
4405 2005-08-09  Miguel de Icaza  <miguel@novell.com>
4406
4407         * AppDomainSetup.cs: Full-pathization of the appBase should only
4408         be done on Windows, the ":" condition never applied to Linux.
4409
4410         * ConsoleKey.cs: Include a few aliases for a few values that were
4411         introduced recently.
4412
4413 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4414
4415         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
4416         Fixes bug #75697.
4417
4418 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
4419
4420         * String.cs : (StartsWith) compared string lengths are not always the
4421           same in culture-sensitive comparison.
4422
4423 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
4424
4425         * Array.cs: Changed protected ctor to private. Fixes API compatibility
4426         with MS.NET.
4427         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
4428         be exposed in 2.0 profile.
4429         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
4430         be exposed in 2.0 profile.
4431         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
4432         be exposed in 2.0 profile.
4433         * Type.cs: Added GetType method and implemented _Type interface.
4434         Fixes API compatibility with MS.NET.
4435
4436 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
4437
4438         * StringComparer.cs: Add generics version of string interfaces.
4439
4440 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
4441
4442         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
4443
4444 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
4445
4446         * StringSplitOptions.cs MidpointRounding.cs: New files.
4447
4448         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
4449
4450 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
4451
4452         * StringComparer.cs: New file.
4453
4454 2005-07-26  Raja R Harinath  <harinath@gmail.com>
4455
4456         * Enum.cs (GetValue): Make private.  Return an ulong.
4457         (Parse): Tighten scope of couple of variables.  Use ulong when
4458         twiddling bits.
4459
4460 2005-07-25  Raja R Harinath  <rharinath@novell.com>
4461
4462         * Enum.cs (FindName, GetValue): New.  Carved out of ...
4463         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
4464         exceptions when parsing names.  Avoid allocating arrays unless
4465         necessary.  Avoid conversion of an enumeration constant to its own
4466         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
4467
4468 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
4469
4470         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
4471         Fixes bug #75527.
4472
4473 2005-07-13  Miguel de Icaza  <miguel@novell.com>
4474
4475         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
4476         signature for GetValue and SetValue to make the long [] argument
4477         be a params argument. 
4478
4479 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
4480
4481         * Convert.cs: Fix the bug when Convert.ChangeType was using
4482         NumberFormatInfo instead of DateTimeFormatInfo when the type to
4483         change is a DateTime.
4484
4485 2005-07-11  Martin Baulig  <martin@ximian.com>
4486
4487         * Array.cs: Use Type.Equals() instead of `==' to compare type
4488         parameters.     
4489
4490 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
4491
4492         * Type.cs: Mark BindGenericParameters as deprecated. Use
4493         MakeGenericType as default implementation with updated signature.
4494
4495 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
4496
4497         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
4498         #75514.
4499
4500 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
4501
4502         * DelegateSerializationHolder.cs: When the deserialized target is
4503         a proxy, call IsInstanceOfType to force the proxy to load the
4504         real type of the remote object. This is needed to make sure that
4505         subsequent calls to GetType() return the expected type. This fixes
4506         bug #75447.
4507
4508 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
4509
4510         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
4511         serialization.
4512
4513 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
4514
4515         * Guid.cs: Avoid code duplication between overriden methods (new in 
4516         2.0). Avoid exception processing when possible. Renamed parameters to
4517         match the framework. Added ComVisible to NET_2_0.
4518
4519 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
4520
4521         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
4522         function for NET_2_0. It's full signature is:
4523                 public static T CreateInstance<T>();
4524
4525 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
4526
4527         * Decimal.cs: Renamed internal fields for the sake of serialization
4528         interoperability with MS.NET.
4529         * Exception.cs: In the StackTrace property, return the stack trace
4530         if it has a value, even if the exception has not been thrown
4531         (it may have been deserialized).
4532
4533 2005-06-28  Martin Baulig  <martin@ximian.com>
4534
4535         * Array.cs (Array.InternalArray<T>): New nested class; derives
4536         from Array.  This is now used by the runtime for arrays; fixes #74953.
4537
4538 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
4539
4540         * String.cs : added some extra whitespace characters for Trim().
4541           Fixed bug #75259.
4542
4543 2005-06-13  Michal Moskal <malekith@nemerle.org>
4544         
4545         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
4546         since it now throws on MethodBuilders. Don't use FieldHandle in
4547         GetField (throws on FieldBuilder) - just use the name.
4548
4549 2005-06-13  Martin Baulig  <martin@ximian.com>
4550
4551         * MonoType.cs
4552         (MonoType.getFullName): Added `bool assembly_qualified' argument.
4553         (MonoType.AssemblyQualifiedName): The interncall now adds the
4554         assembly name, so we don't need to do it here.
4555         (MonoType.FullName): Use the new getFullName() API.
4556
4557 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
4558
4559         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
4560         NET_2_0. Added "new" white char and ComVisible for 2.0.
4561
4562 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4563
4564         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
4565         calls to avoid extra allocations.
4566
4567 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
4568
4569         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
4570
4571         * Type.cs MonoType.cs: Add internal virtual
4572         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
4573         from non-instanciated counterparts
4574
4575 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
4576
4577         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
4578
4579 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
4580
4581         * Type.cs: Add missing 2.0 attributes.
4582
4583 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4584
4585         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
4586         also internal method GetCustomAttributesData, used by 
4587         System.Reflection.CustomAttributeData.
4588         
4589 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4590
4591         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
4592         missing attributes (for both 1.1 and 2.0).
4593         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
4594         2.0. Reworked Trim() to skip a useless call. Added missing attribute
4595         for 2.0.
4596         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
4597         missing attribute for 2.0. Hided some public/protected methods.
4598
4599 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4600
4601         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
4602
4603 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4604
4605         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
4606         * AppDomain.cs: Added new members from _AppDomain interface.
4607         * AppDomainManager.cs: Fixed flags and added attributes.
4608         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
4609         AppDomainManagerInitializationOptions in beta2.
4610
4611 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4612
4613         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
4614
4615 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4616
4617         * Exception.cs: Implements _Exception only for 2.0.
4618
4619 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4620
4621         * GC.cs: Fix build.
4622         
4623         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
4624           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
4625           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
4626
4627 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4628
4629         * Environment.cs:
4630         * AppDomain.cs: if the assembly is loaded from a byte array, Location
4631         returns "". Fixes bug #74958.
4632
4633 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
4634
4635         * *.cs: More 2.0 API fixups
4636
4637         * *.cs: In beta 2, generics are no longer non-cls-compliant.
4638
4639 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
4640
4641         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
4642         that was different from MSFT.
4643         * String.cs: Fixed IndexOfAny thrown an exception
4644         when startIndex of arguments equals Length. (Closes bug #75083.)
4645
4646         * Decimal.cs: Changed to use NumberFormatter in ToString.
4647         * NumberFormatter.cs: Implemented decimal formatter.
4648
4649 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4650
4651         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
4652         support in System.Net work again.
4653
4654 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
4655
4656         * CharEnumerator.cs: add IEnumerable <char> support
4657
4658 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
4659
4660         * Activator.cs: Added missing validation on parameters.
4661
4662 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
4663
4664         * Type.cs: Check that the arguments of the `types' array are
4665         non-null. Fixes bug 71300
4666
4667 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
4668
4669         * AppDomainSetup.cs: Added new 2,0 constructors and the 
4670         ActivationArguments property.
4671         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
4672         new location for the ApplicationActivator class.
4673         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
4674
4675 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
4676
4677         * Environment.cs: bump corlib version for bug #75060.
4678
4679 2005-05-27  Raja R Harinath  <rharinath@novell.com>
4680
4681         * Environment.cs (ExpandEnvironmentVariables): Rewrite
4682         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
4683         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
4684         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
4685         StringBuilder has an appropriate Append overload.
4686
4687 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
4688
4689         * Type.cs (IsEnum): Special case EnumBuilder here.
4690
4691 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
4692
4693         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
4694         allow call to work with serialization under a restrictive policy.
4695         The code path (the protected information) isn't being used.
4696
4697 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
4698
4699         * Exception.cs: Use the new StackTrace ctor.
4700
4701         * Type.cs: Improve support for user defined type subclasses.
4702
4703 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4704
4705         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
4706           reject 2 digit years for "yyyy".
4707           Use GetAllDateTimePatterns() instead of constant string.
4708           Fixed bug #72788.
4709
4710 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4711
4712         * DateTime.cs : next_not_digit prevented some valid parse.
4713           Just remove it, since now we pass max length to ParseNumber() and
4714           thus it is not needed anymore. Fixed bug 63137.
4715
4716 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4717
4718         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
4719           Reset num after whitespace parsing.
4720           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
4721
4722 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4723
4724         * DateTime.cs : Allow ',' where whitespaces are allowed.
4725           Fixed bug #71289.
4726
4727 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
4728
4729         * BitConverter.cs: Speed this up, fixing 74014. Patch from
4730         `Aleksandar Dezelin'.
4731
4732 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
4733
4734         * Type.cs: Add some helper methods needed by other classes.
4735
4736         * Array.cs: Improve support for user defined Type subclasses.   
4737         
4738         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
4739         wrapper function, not used yet.
4740
4741         * Type.cs Array.cs: Revert this as it breaks the build.
4742
4743         * Type.cs Array.cs: Improve support for user defined Type subclasses.
4744
4745 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
4746
4747         * Delegate.cs (Equals): Use `as' to protect in the case where !
4748         (obj is Delegate)
4749
4750 2005-05-19  Raja R Harinath  <rharinath@novell.com>
4751
4752         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
4753         error.
4754
4755 2005-05-19  Miguel de Icaza  <miguel@novell.com>
4756
4757         * TermInfoDriver.cs: Removed warning.
4758
4759         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
4760         FindLastIndex<T>: Parameter names are normative.        
4761         Fix coding style ("Method<T>" not "Method <T>")
4762         Throw argument exceptions per argument.
4763         
4764         (FindAll): Fix bug, actually return the values that were computed,
4765         not a short version of the original array.
4766         
4767 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4768
4769         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
4770         for each framework version.
4771
4772 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
4773
4774         * Attribute.cs:
4775         * Exception.cs: .Net 1.1 already has these interfaces
4776
4777 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
4778
4779         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
4780         object on GetCustomAttributes (fixes bug #74717).
4781
4782 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4783
4784         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
4785           Fixed bug #74775.
4786
4787 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4788
4789         * DateTime.cs : don't allow extraneous pattern characters also for
4790           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
4791
4792 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
4793
4794         * Activator.cs: Match exceptions thrown by MS.NET for
4795         CreateInstance overloads if type is abstract. Fixes bug #74861.
4796
4797 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4798
4799         * OperatingSystem.cs: PlatformID.Unix.
4800
4801 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
4802
4803         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
4804         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
4805
4806 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
4807
4808         * NumberFormatter.cs : roundtrip number is already rounded before
4809           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
4810           bug #72955.
4811
4812 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
4813
4814         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
4815         the comparer in the same order as msft. Fixes #70725
4816
4817 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4818
4819         * Enum.cs: the hashtable don't need to be synchronized any more, since
4820         it's only accessed from withint a lock.
4821
4822         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
4823         bug 74768.
4824
4825 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
4826
4827         * Array.cs: Remove CLSCompliant (false) attributes.
4828
4829 2005-05-06  Martin Baulig  <martin@ximian.com>
4830
4831         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
4832         [CLSCompliant(true)] attribute.
4833
4834 2005-05-04  Miguel de Icaza  <miguel@novell.com>
4835
4836         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
4837         initialize cache as a static method.  Fixes #74828.
4838
4839 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
4840
4841         * Console.cs: CancelKeyPress is stubbed.
4842
4843 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
4844
4845         * ActivationContext.cs: Updated for beta2.
4846         * AppDomainManager.cs: Updated for beta2.
4847         * ApplicationId.cs: Updated for beta2.
4848         * ApplicationIdentity.cs: Updated for beta2.
4849         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
4850         doesn't leak the code base from the returned AssemblyName.
4851
4852 2005-04-25  Martin Baulig  <martin@ximian.com>
4853
4854         * Environment.cs (Environment.Version): Changed to 2.0.50215.
4855
4856 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
4857
4858         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
4859         number of "missing" in the class status pages.
4860
4861 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4862
4863         * MulticastDelegate.cs: (GetInvocationList) when building the list that
4864         is later traversed forward, mark 'this' as the end of the chain.
4865         Fixes bug #74607.
4866
4867 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
4868
4869         * Environment.cs: Bump corlib version.
4870
4871 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4872
4873         * WindowsConsoleDriver.cs: ignore key release events.
4874
4875 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
4876
4877         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
4878
4879 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
4880
4881         * _AppDomain.cs: Add security checks to the interface. Declarative 
4882         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
4883         with older MCS.
4884         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
4885         blocking some cases from working properly. Declarative security on 
4886         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
4887
4888 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
4889
4890         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
4891         on the AppDomain. Added an internal property to get the granted set.
4892
4893 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
4894
4895         * String.cs,
4896           Char.cs : use TextInfo for ToLower() and ToUpper().
4897
4898 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
4899
4900         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
4901         ToString methods (not required for 2.0 as TypeInformation will be 
4902         deprecated). Added null check for GetObjectData.
4903
4904 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
4905
4906         * Delegate.cs: allow IronPython 0.7 to compile.
4907
4908 2005-03-24  Miguel de Icaza  <miguel@novell.com>
4909
4910         * Delegate.cs: Add CreateDelegate with a target option, currently
4911         internal as it is not exposed by the framework yet.
4912
4913 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
4914
4915         * String.cs: Add some 2.0 methods.
4916
4917 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
4918
4919         * Activator.cs: Now use the supplied evidences when loading 
4920         assemblies. Added LinkDemand for RemotingConfiguration on both
4921         GetObject methods.
4922         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
4923         Input|Output] as they use a handle on a FileStream (which is
4924         restricted otherwise). Added Demand for UnmanagedCode for the
4925         Set[Error|In|Out] methods.
4926         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
4927         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
4928         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
4929         GetFunctionPointer method.
4930         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
4931         MemberAccess on MakeTypedReference.
4932
4933 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
4934
4935         * Environment.cs: Fix CAS unit tests for NET_1_1.
4936         * Exception.cs: Fix CAS unit tests for NET_1_1.
4937
4938 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4939
4940         * Version.cs: don't ignore the last number. Fixes bug #73539.
4941
4942 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
4943
4944         * MonoType.cs: When the security manager is active, constructors and
4945         methods will return null if a linkdemand fails during reflection 
4946         query.
4947
4948 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
4949
4950         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
4951
4952 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
4953
4954         * Environment.cs: Bump corlib version.
4955
4956 2005-03-10  Martin Baulig  <martin@ximian.com>
4957
4958         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
4959         we're null.
4960
4961 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
4962
4963         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
4964         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
4965         Fixes #73432.
4966
4967 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
4968
4969         * Environment.cs: Bump corlib version.
4970
4971         * Exception.cs (StackTrace): Return the wrapper info as well.
4972
4973 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
4974
4975         * NumberFormatter.cs: Some internal classes was converted to structs,
4976         and improved some points.
4977
4978 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
4979
4980         * NumberFormatter.cs: Improved performance and memory usage
4981         when integer standard format.
4982         * SByte.cs:
4983         * Int16.cs:
4984         * Int32.cs:
4985         * Int64.cs:
4986         * Byte.cs:
4987         * UInt16.cs:
4988         * UInt32.cs:
4989         * UInt64.cs:
4990         * Single.cs:
4991         * Double.cs:
4992         * TimeSpan.cs: Improved these directly call to NumberFormatter.
4993
4994 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4995
4996         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
4997         and translate them into a ConsoleKeyInfo.
4998         * TermInfoReader.cs: added a method to return the bytes of a string
4999         property.
5000         * ConsoleKeyInfo.cs: added copy constructor and setters.
5001
5002 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
5003
5004         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
5005
5006 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
5007
5008         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
5009         and added some to support the reflection only methods. DoAssemblyResolve
5010         was modified to invoke the new PreBindAssemblyResolve event when the
5011         assembly is reflection only.
5012         
5013 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
5014
5015         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
5016         Add net 2.0 ReliabilityContractAttributes.
5017
5018 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5019
5020         * TermInfoDriver.cs: cygwin terminals are handled by the windows
5021         console driver.
5022
5023         * TermInfoReader.cs:
5024         * TermInfoNumbers.cs:
5025         * KnownTerminals.cs:
5026         * TermInfoBooleans.cs:
5027         * TermInfoStrings.cs: documented.
5028
5029 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
5030
5031         * Array.cs: Reverse the order in the Equals calls.
5032
5033 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
5034
5035         * Exception.cs (StackTrace): Implement this in managed code since it is
5036         needed by CAS. Fixes #72146.
5037
5038 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5039
5040         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
5041
5042 2005-02-14  Raja R Harinath  <rharinath@novell.com>
5043
5044         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
5045         See #72015.
5046
5047 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
5048
5049         * Version.cs (CompareTo, Equals): Make sure the versions for
5050         generics handle `null'. The non-generics versions now just call
5051         the regular versions, to reduce code duplication.
5052
5053         * Boolean.cs (CompareTo): make this really work for generics 
5054
5055         * Type.cs (GetProperty): Passing new Type [0] is different than
5056         null. null means `I don't care how many types this has,' while new
5057         Type [0] means `this must have 0 types.'
5058
5059 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5060
5061         * corlib.dll.sources: added WindowsConsoleDriver.cs
5062
5063         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
5064         implemented the few missing properties/methods.
5065
5066         * System/IConsoleDriver.cs: uncommented all methods/properties.
5067         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
5068         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
5069         windows. Only missing MoveBufferArea by now.
5070
5071 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
5072
5073         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
5074
5075         * Int32.cs AppDomain.cs: Fix warnings.
5076
5077 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
5078
5079         * IServiceProvider.cs: Is not ComVisible.
5080
5081         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
5082
5083         * Type.cs: Fix ClassInterface attribute.
5084
5085 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
5086
5087         * Delegate.cs: remove the finalizer from Delegate: this
5088         is handled internally by the runtime now.
5089
5090 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5091
5092         * Activator.cs: provide the Type name when throwing an exception.
5093
5094 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5095
5096         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
5097         bug #72238.
5098
5099 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
5100
5101         * Array.cs: provide specialized versions of some methods.
5102
5103 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
5104
5105         * String.cs: provide a managed memcpy and memset method
5106         for use both in corlib and from the JIT. Implement
5107         some methods with the managed helpers and remove some icalls.
5108
5109 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
5110
5111         * Exception.cs: Added Data property for NET_2_0 (required for new
5112         unit tests).
5113
5114 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5115
5116         * ConsoleDriver.cs:
5117         * TermInfoDriver.cs:
5118         * IConsoleDriver.cs:
5119         * Console.cs: added BufferWidth and BufferHeight.
5120
5121 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5122
5123         * ConsoleDriver.cs:
5124         * Console.cs:
5125         * TermInfoDriver.cs:
5126         * IConsoleDriver.cs: added a few more properties and fixed cursor
5127         addressing.
5128
5129 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5130
5131         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
5132         calls to the proper driver.
5133         * TermInfoDriver.cs: terminfo based console driver.
5134         * IConsoleDriver.cs: interface implemented by console drivers.
5135
5136         * ConsoleCancelEventArgs.cs:
5137         * ConsoleCancelEventHandler.cs:
5138
5139         * ConsoleModifiers.cs: 
5140         * ConsoleSpecialKey.cs:
5141         * ConsoleColor.cs:
5142         * ConsoleKey.cs: new enumerations.
5143
5144         * ConsoleKeyInfo.cs: New file.
5145
5146         * TermInfoReader.cs: reader for terminfo capabilities files.
5147
5148         * TermInfoNumbers.cs:
5149         * TermInfoBooleans.cs:
5150         * TermInfoStrings.cs: enumations for terminfo property names.
5151
5152         * KnownTerminals.cs: byte arrays for selected terminals.
5153
5154         * Console.cs: added more 2.0 methods and implemented some of them.
5155
5156
5157 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
5158
5159         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
5160
5161 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
5162
5163         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
5164         disclosed unless code has ControlPolicy and ControlEvidence.
5165
5166 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
5167
5168         * Exception.cs: Compute stack trace on demand.
5169
5170 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
5171
5172         * Environment.cs: Removed hack for static class (NET_2_0). Added 
5173         proper security for FailFast (documented in FDBK20543). Added new
5174         method IsRunningOnWindows to replace (Platform == 128) as the logic is
5175         gonna change in the future (Unix is id #4 in NET_2_0).
5176
5177 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
5178
5179         * Environment.cs: Added CAS security (both declarative and imperative)
5180         as a test. This shouldn't affect execution unless --security is 
5181         specified.
5182
5183 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
5184         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
5185         and Type.FilterName delegates They weren't dealing with the optional '*'
5186         at the end of the filter mask
5187
5188 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
5189
5190         * Array.cs: Fix a typo in the previous patch.
5191         
5192         * Array.cs: Fix some test failures in the generic methods.
5193
5194         * Array.cs: Implement AsReadOnly.
5195
5196 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
5197
5198         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
5199         #71242
5200
5201 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
5202
5203         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
5204         have been removed from 2.0.
5205
5206 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
5207
5208         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
5209         NET 2.0.
5210
5211 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
5212
5213         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
5214         Add default culture (neutral) to the name when none is specified.
5215         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
5216         can't trust Id ?
5217
5218 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
5219
5220         * DateTime.cs: Reverted last patch for utc as it broke all certificate
5221         handling and another unit test in DateTime.
5222
5223 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
5224
5225         * DateTime.cs: Return immediately if useutc is set to true, there
5226         is no need to do the extra computation (which also happened to
5227         create a new DateTime using the `use_localtime' constructor, which
5228         lead to the erroneous date returns when using 'u' or `U'
5229         formats).   
5230
5231         Fixes another bug in the regression test suite.
5232
5233 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
5234
5235         * AppDomain.cs: Fix the DefaultDomain property to return the root 
5236         domain (as it seems that the root's Id isn't always 0).
5237         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
5238         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
5239
5240 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
5241
5242         * IntegerFormatter.cs: The - sign inside the "negative" section in
5243         a multi-format string means `show the sign' only if it is the
5244         first token, not `copy verbatim'.  In the other sections it means
5245         `copy-verbatim'.
5246
5247         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
5248         instead of "--34".
5249
5250         The bad news is that this code needs to be rewritten to handle all
5251         the formatting cases, see bug #71112 for details.
5252
5253         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
5254         the conversion is invalid, not ArgumentException, this fixes
5255         another regression in our test suite.
5256
5257 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
5258
5259         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
5260         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
5261         exists anymore).
5262
5263 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
5264
5265         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
5266         initialization problems.
5267
5268 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
5269
5270         * Int32.cs: NumberStyles.AllowExponent was supported by the
5271         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
5272         70469.
5273
5274 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
5275
5276         * Base64FormattingOptions.cs : it was not in System namespace.
5277
5278 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
5279
5280         * DateTime.cs : If no progress on value string, don't regard as
5281           matched. This fixes bug #70707.
5282
5283 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
5284
5285         * Environment.cs: Bump corlib version.
5286
5287 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
5288
5289         * Array.cs (DoBinarySearch): Fix a warning.
5290
5291 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
5292
5293         * Environment.cs: Bump corlib version.
5294
5295         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
5296
5297 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
5298
5299         * Exception.cs: Prevent stringifying the type name on the
5300         ctor. this gets called a few times on every execution to create a
5301         nullref exception.
5302
5303 2004-12-06  Martin Baulig  <martin@ximian.com>
5304
5305         * Decimal.cs: Decimal constant support has been merged into GMCS,
5306         removed the FIXME.
5307
5308 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
5309
5310         * Environment.cs: Bump corlib version.
5311         
5312         * Environment.cs: Bump corlib version.
5313
5314 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
5315
5316         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5317         MS.NET. Fixes #56245.
5318
5319 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
5320
5321         * GC.cs : Collect(generation) actually does not throw an exception
5322           even if generation > MaxGeneration (MS document bug).
5323
5324 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
5325
5326         * Exception.cs: Implement _Exception under NET_2_0.
5327
5328         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
5329
5330         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
5331         NotCancelableException.cs TimeoutException.cs: New files.
5332
5333 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5334
5335         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
5336         constant support.
5337
5338 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5339
5340         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
5341         without decimal constant support.
5342
5343 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
5344
5345         * Decimal.cs: Updated to use compiler decimal constant support.
5346
5347 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
5348
5349         * MonoType.cs: Revert last change since it breaks remoting.
5350
5351 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
5352
5353         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5354         MS.NET. Fixes #56245.
5355
5356 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
5357
5358         * INullable.cs: New interface added.
5359         * Nullable.cs: Methods added. Also a static Nullable class
5360         containing static methods.
5361         
5362 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
5363
5364         * BitConverter.cs: Added support for special case when ToString is 
5365         called with (new byte [0]).
5366
5367 2004-11-10  Lluis Sanchez  <lluis@novell.com>
5368
5369         * Exception.cs: Added setter for StackTrace.
5370
5371 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
5372
5373         * IntegerFormatter.cs: Avoid .ToCharArray
5374
5375 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
5376
5377         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
5378
5379 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5380
5381         * InvalidOperationException.cs: make the message more meaningful and
5382         real. Fixes bug #69055.
5383
5384 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
5385
5386         * String.cs: Rather than == String.Empty, use .Length == 0. It
5387         is a bit faster (avoids a method call, and the code is less complex).
5388
5389 2004-10-24  Fawad Halim  <fawad@fawad.net>
5390         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
5391         Add text between end of current lookup window and next % match if we just got a match, or add all text to the end if there are no further % matches.
5392         This fixes bug #64995.
5393
5394 2004-10-19  Lluis Sanchez  <lluis@novell.com>
5395
5396         * MarshalByRefObject.cs: Field _identity is not serializable.
5397         This fixes bug #68567.
5398
5399 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
5400
5401         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
5402         avoid entering slow integer formatting code.
5403
5404         (_ToString): Use ZeroPad here when possible, as it is faster.
5405
5406 2004-10-11  Martin Baulig  <martin@ximian.com>
5407
5408         * Environment.cs: Bump corlib version to 28.
5409
5410 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
5411
5412         * Convert.cs (ToType): Throw an exception when converting null to a
5413         valuetype. Fixes #67780.
5414
5415 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5416
5417         * DateTime.cs : Performance fix. ParseExact() implementation should
5418           avoid s = s.Substring(1).
5419
5420 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5421
5422         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
5423           of m/s/t/z. This fixes bug 66723.
5424
5425 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
5426
5427         * String.cs: make GetHashCode() managed.
5428
5429 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
5430
5431         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
5432
5433         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
5434
5435         * ModuleHandle.cs: Add missing methods.
5436
5437         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
5438
5439 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
5440
5441         * AttributeTargets.cs: Add 2.0 GenericParameter value.
5442
5443         * Environment.cs: Bump corlib version.
5444
5445 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
5446
5447         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
5448
5449 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
5450
5451         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
5452         and swapping of all values before going into the BitConverter so that values
5453         are returned with proper endianess.
5454
5455 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
5456
5457         * Convert.cs: ToType was returning unconverted object when it should
5458         fail with an ArgumentException.
5459
5460 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
5461
5462         * Array.cs: Add stub for AsReadOnly<T>.
5463         
5464 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
5465
5466         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
5467
5468         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5469         parameters.
5470
5471 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
5472
5473         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5474         methods and fields.
5475         
5476         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
5477         custom attributes.
5478
5479         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
5480
5481         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
5482         sealed' optimization.
5483
5484         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
5485
5486         * Type.cs Add GetPseudoCustomAttributes () method.
5487
5488 2004-09-24  Martin Baulig  <martin@ximian.com>
5489
5490         * Type.cs (Type.GetGenericParameterConstraints): New public method.
5491
5492 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
5493
5494         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
5495         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
5496
5497         * Type.cs: Tweak Module property in 2.0 build.
5498
5499 2004-09-23  Martin Baulig  <martin@ximian.com>
5500
5501         * Type.cs (Type.GenericParameterAttributes): New public property.
5502
5503 2004-09-23  Martin Baulig  <martin@ximian.com>
5504
5505         * GenericParameterAttributes.cs: New file.
5506
5507 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
5508
5509         * ModuleHandle.cs: Updated after changes to Module class.
5510
5511 2004-09-21  Geoff Norton <gnorton@customerdna.com>
5512
5513         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
5514         this filter. Fixes bug #65778.
5515
5516 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
5517
5518         * Environment.cs: Bump corlib version.
5519
5520 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
5521
5522         * ModuleHandle.cs: New file.
5523
5524         * RuntimeFieldHandle.cs: Add an internal ctor.
5525
5526 2004-09-19  Dick Porter  <dick@ximian.com>
5527
5528         * Console.cs: Use the internal wrappers for StreamReader and
5529         StreamWriter that catch IOException.
5530
5531 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
5532
5533         * Environment.cs: Bumped mono_corlib_version to 25.
5534
5535 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5536
5537         * AppDomain.cs: added SetupInformationNoCopy property, since
5538         SetupInformation creates a copy now, all updates to it should use the
5539         actual data. Fixes bug #61991 take 2.
5540
5541 2004-09-09  Tim Coleman <tim@timcoleman.com>
5542         * Base64FormattingOptions.cs: New enum
5543         * Convert.cs: Add new ToBase64String methods for Fx 2.0
5544
5545 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
5546
5547         * Console.cs,
5548         * GC.cs: Class is static for NET_2_0.
5549
5550 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
5551
5552         * Activator.cs: Make sure not to call .GetType on a
5553         null argument. fixes 63852
5554
5555 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
5556
5557         * Array.cs (Clear): make this an icall.
5558
5559 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
5560
5561         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
5562
5563 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5564
5565         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
5566         insensitive enironment variables hashtable once we create it.
5567
5568 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
5569
5570         * AppDomain.cs: Changed 2 imperative security demands to declarative
5571         (unsupported) so it doesn't (for now) call the security runtime.
5572
5573 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
5574
5575         * Delegate.cs: Free the delegate trampoline in the finalizer.
5576
5577 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
5578
5579         * ApplicationId.cs: Completed GetHashCode using information from MS
5580         (FDBK13339).
5581
5582 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
5583
5584         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
5585
5586 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
5587
5588         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
5589           allows 12, that should not be accepted (13 is rejected) and
5590           interpreted as 0. This fixes bug 63376.
5591
5592 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
5593
5594         * Version.cs: Fixed Clone so we can use it on versions with only
5595         major/minor or major/minor/build.
5596
5597 2004-08-17  Martin Baulig  <martin@ximian.com>
5598
5599         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
5600         argument specifying whether or not to include the type arguments.
5601         (MonoType.FullName): Don't include the type arguments.
5602         (MonoType.ToString): Include them here.
5603
5604         * Environment.cs: Bumped mono_corlib_version to 24.
5605
5606 2004-08-16  Duncan Mak  <duncan@ximian.com>
5607
5608         * AttributeUsageAttribute.cs: Change the AttributeUsage to
5609         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
5610         bug #62895.
5611
5612 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
5613
5614         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
5615         Added call to AddPermissionRequests to pass permissions
5616         arguments.
5617         * Environment.cs: Added a few Fx 2.0 methods
5618
5619 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
5620
5621         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
5622         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
5623         references). Added (non-obsolete) Fx 2.0 properties and methods.
5624         * AppDomainSetup.cs: Added internal copy constructor.
5625         * DomainManagerInitializationFlags.cs: Fixed values.
5626
5627 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
5628
5629         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
5630         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
5631         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
5632         * ApplicationId.cs: New Fx 2.0 class.
5633         * ApplicationIdentity.cs: Fixed ToString.
5634         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
5635
5636 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
5637
5638         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
5639         AppDomain using it's Id. Completed SetAppDomainPolicy.
5640         * Environment.cs: Bumped mono_corlib_version to 23.
5641
5642 2004-08-02  Martin Baulig  <martin@ximian.com>
5643
5644         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
5645
5646 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
5647
5648         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
5649           now its location is changed.
5650
5651 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
5652
5653         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
5654           NET_2_0 profile.
5655         
5656 2004-07-18  Martin Baulig  <martin@ximian.com>
5657
5658         * Array.cs: Ben Maurer implemented all the new generic methods
5659         here :-)
5660
5661 2004-07-17  Martin Baulig  <martin@ximian.com>
5662
5663         * Decimal.cs: Implement IComparable<Decimal>.
5664
5665 2004-07-17  Martin Baulig  <martin@ximian.com>
5666
5667         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
5668         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
5669
5670 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
5671
5672         * ActivationContext.cs: New class in Fx 2.0. Required for 
5673         System.Security.Policy.
5674         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
5675         System.Security.Policy.
5676         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
5677         System.Security.Policy.
5678         * IHostContext.cs: New interface in Fx 2.0. Required for 
5679         System.Security.Policy.
5680
5681 2004-07-12  Geoff Norton <gnorton@customerdna.com>
5682
5683         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
5684           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
5685           and will add/subtract the hour if needed
5686
5687 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5688
5689         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
5690           pass through all the possibly BindingInfo's and keep a bool value as to the type
5691           of exception we might need to throw;
5692
5693 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5694
5695         * Patch to fix bug #58973
5696
5697 2004-07-02  Jackson Harper  <jackson@ximian.com>
5698
5699         * PlatformID.cs: New 2.0 values.
5700         
5701 2004-06-25  Ben Maurer <bmaurer@ximian.com>
5702         
5703         * Environment.cs: GetFolderPath has new behavior. r=miguel
5704
5705 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
5706
5707         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
5708         bigger than 9999. Fix bug #41845.
5709         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
5710         the "R"eversible format for negative numbers.
5711
5712 2004-06-21  Jackson Harper  <jackson@ximian.com>
5713
5714         * Decimal.cs: Make sure to use invariant culture when parsing
5715         floats stringified with the invariant culture. Patch by Rodrigo
5716         B. de Oliveira.
5717         
5718 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
5719
5720         * FloatingPointFormatter.cs : Literal string should be kept in the
5721           output.
5722
5723 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5724
5725         * DateTime.cs : Concatenating whitespace removal was not working fine.
5726           Modified FormatException message (1 cent kindness).
5727
5728 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
5729         
5730         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
5731         new generics classes
5732         * IComparable.cs: add the new <T> version.
5733         * EventHandler.cs: new <T> version.
5734         
5735 2004-06-18  Dick Porter  <dick@ximian.com>
5736
5737         * String.cs: The icall can cope with embedded \0 now.
5738
5739 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5740
5741         * DateTime.cs :
5742           - Added new common pattern "yyyy/M/dZ"
5743           - empty string should not be compared in _ParseEnum()
5744           - Use culture independent string comparison in _ParseString()
5745           - Whitespace removal should be checked after '..' token check (some
5746             pattern such like es-ES LongDatePattern contains spaces in '..').
5747           - formats null check should be done (to throw ArgumentNullException)
5748             in ParseExact().
5749           - When specified one character format, dates are incorrectly regarded
5750             as to use invariant culture.
5751
5752 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5753
5754         * ArgIterator.cs: changed layout to Auto
5755         * DateTime.cs: changed layout to Auto
5756
5757 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5758
5759         * DateTime.cs: CRLF to LF
5760
5761 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
5762
5763         * Decimal.cs: Fixed regression in System.Data caused by the recent 
5764         changes. Adapted (and moved) the code to correct the scale from 
5765         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
5766         scale has no importance).
5767
5768 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
5769
5770         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
5771           attributes are omitted.
5772
5773 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5774
5775         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
5776           check if the format character is valid.
5777
5778 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5779
5780         * DateTime.cs : AddDays(double) rounds the input.
5781
5782 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5783
5784         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
5785           Fixed ToLocalTime() as well, but it does check range for MinValue.
5786
5787 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5788
5789         * DateTime.cs : Added overflow check in ToUniversalTime() and
5790           ToLocalTime(). Fixed bug #60253.
5791
5792 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
5793
5794         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
5795         source code (with permission). Fix (biggest) part of bug #60110.
5796         http://www.yoda.arachsys.com/csharp/floatingpoint.html
5797
5798 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
5799
5800         * Decimal.cs: Fixed scale after Round (a different scale is correct 
5801         from a math point of view but affect the string representation of the
5802         value). Note: other operations also have scale problems!
5803         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
5804         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
5805         rounding (which is the rounding provided by Math.Round). This fix bug
5806         #60111. The code (new Round methods) should be moved elsewhere (as it
5807         may also be required elsewhere) post Mono 1.0.
5808
5809 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
5810
5811         * AppDomainSetup.cs: added TODO for serialization
5812         * ExecutionEngineException.cs: added missing serialization ctor
5813         * InvalidProgramException.cs: added missing serialization ctor
5814         * MulticastNotSupportedException.cs: added missing serialization ctor
5815         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
5816         * Random.cs: fixed serialization compatibility with MS.NET
5817
5818 2004-06-15  Paolo Molaro <lupus@ximian.com>
5819
5820         * Type.cs: removed unused (and non-existing) icall type_is_instance.
5821
5822 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5823
5824         * Environment.cs: use internalGetHome instead of getting "HOME" as
5825         that variable may not be defined.
5826
5827 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
5828
5829         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
5830         (overflow is only checked for days but can also occurs in hours and
5831         minutes which uses Int32 when multiplying). The new results match MS
5832         implementation.
5833
5834 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5835
5836         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
5837           them with matching NumberFormatInfo properties.
5838
5839 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5840
5841         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
5842         * FloatingPointFormatter.cs :
5843           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
5844           failures.
5845           Format Permille pattern (It is undocumented but actually available,
5846           and used in xsl:format-number).
5847
5848 2004-06-14  Raja R Harinath  <rharinath@novell.com>
5849
5850         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
5851         version with BOOTSTRAP_WITH_OLDLIB.
5852         * String.cs (STring.Concat): Likewise.
5853
5854 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
5855
5856         * FloatingPointFormatter.cs :
5857           - Don't format more than 15 fraction digits. Don't report to Pedro
5858             directly (removing the error message with his concent).
5859           - When format string starts with '.', it means integral part format 
5860             is not specified. Ignore '.' characters after the first
5861             appearance. Fixed bug #59890.
5862           - 0.0 is formatted only before the third ';' appearance.
5863
5864 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
5865
5866         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
5867         rounding logic which worked for FromOADate (while the newer didn't).
5868         * TimeSpan.cs: Now throw an OverflowException when the timespan is
5869         over MaxValue or under MinValue.
5870
5871 2004-06-11  Martin Baulig  <martin@ximian.com>
5872
5873         * Console.cs (Write, WriteLine): Implemented the varargs versions.
5874
5875 2004-06-11  Martin Baulig  <martin@ximian.com>
5876
5877         * String.cs (Concat): Implemented the varargs version.
5878
5879 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
5880
5881         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
5882         decode it properly (i.e. matching MS results). Fixed the Round method
5883         for negative decimal numbers (moved code from Math.cs).
5884         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
5885         fix a bug when rounding a negative decimal.
5886
5887 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5888
5889         * AppDomain.cs: set the _principal to null when changing the policy.
5890         * Console.cs: remove ClsCompliant attribute from a method marked as
5891         internal and added comment.
5892
5893 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
5894
5895         * Delegate.cs: marked protected fields private to match public
5896         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
5897         protected to fix public API
5898         * Enum.cs: marked ctor protected to match public API of MS.NET
5899         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
5900         match public API of MS.NET
5901
5902 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
5903
5904         * DateTime.cs : Added more common patterns.
5905
5906 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5907
5908         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
5909         be a performance winner (the actual Math code has a note to wait a
5910         better Decimal implementation) but it returns the correct results
5911         (without adding new code in corlib or the runtime). Fix #37744.
5912
5913 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
5914
5915         * DateTime.cs :
5916           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
5917             now represented as double. Strict token check for 'Z'.
5918           - Pattern validity check in GetDateTimeFormats(char).
5919           - Fixed pattern "yyyy/M/d HH:mm:ss".
5920
5921 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5922
5923         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
5924         unmanaged code). Simplified divide. Removed workaround for bug #59793.
5925         Fixed GetHashCode to return different result for X and -X.
5926
5927 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
5928
5929         * DateTime.cs :
5930           - Now re-checked all common format patterns. They should be tried
5931             with both current culture and invariant culture. Since '/' covers
5932             '-', removed extraneous patterns. Added more common patterns
5933             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
5934             only after NET_1_1). Commented out 1 character format patterns.
5935           - The format patterns we should try should not be obtained by
5936             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
5937             character patterns), to handle UTC correctly. Examined patterns
5938             are changed, to 1) common patterns with specified (or current)
5939             culture, 2) common patterns with invariant, 3) The above "one
5940             character patterns" with specified (or current) culture.
5941           - When trying to parse some kind of patterns such as RFC1123, 
5942             always use invariant DateTimeFormatInfo so that they can avoid
5943             parsing with culture-dependent calendar.
5944           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
5945           - Removed extraneous '-' case. It is not special one.
5946           - When ParseExact(), allow only '/' for '/' pattern character.
5947           - When Parse(), allow any non-letter & non-number characters.
5948           - When pattern is not fully parsed, reject that format.
5949           - Added "exact" parameter to some ParseExact().
5950           - RFC1123 pattern is (again) now parsed in local time. I regressed
5951             some problems in previous fix.
5952
5953 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
5954
5955         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
5956         value.
5957
5958 2004-06-07  Duncan Mak  <duncan@ximian.com>
5959
5960         * Exception.cs (Source): This can return null.
5961
5962 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5963
5964         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
5965         constructor to limit range of milliseconds from 0,999. Fixed
5966         ToType method to work for object, string and DateTime.
5967
5968 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5969
5970         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
5971         insensitive, wrong exception in FromOADate, handling of Min/Max 
5972         values, negative doubles where integer part is negative but 
5973         decimals are positive! Charming format ;-)
5974
5975 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5976
5977         * String.cs: Fixed Join in case separator parameter is null.
5978         * TimeSpan.cs: Cache format errors during parsing and throw 
5979         FormatException only if there was no overflow.
5980
5981 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
5982
5983         * MonoCustomAttrs.cs: fixed issue where an empty array was 
5984         returned when GetCustomAttributes was invoked with null
5985         attribute type and there was only one result
5986
5987 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5988
5989         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
5990         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
5991         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
5992         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
5993         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
5994         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
5995         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
5996         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
5997
5998 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
5999
6000         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
6001         int and long) into string in a specific base (2, 8, 10 or 16).
6002
6003 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
6004
6005         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
6006         the dividend is negative and the result is 0 (remainder).
6007
6008 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
6009
6010         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
6011
6012 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
6013
6014         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
6015         spans. Fixed parsing when only days are presents in the string (which
6016         should be illegal according to the documentation but is supported).
6017
6018 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
6019
6020         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
6021         somewhat different from the documentation.
6022
6023 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
6024
6025         * Type.cs: added missing attributes on InvokeMember
6026
6027 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
6028
6029         * String.cs: Flag concat with four arguments internal. 
6030
6031 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
6032
6033         * Array.cs: Fixed legal case where value is null.
6034         * Byte.cs: Fixed ToString when format is an empty string (use "G").
6035         * Guid.cs: Renamed private fields (and changed some to signed) to 
6036         match MS implementation and allow serialization to work. Fix 
6037         bug #59113.
6038
6039 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6040
6041         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
6042
6043 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
6044
6045         * Console.cs: Remove *again* the version of WriteLine with four
6046         arguments;  That should *not* be added.  
6047
6048         Flag it as internal as people migrate their code.
6049
6050 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
6051
6052         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
6053         ArgumentNullException (only case, all other returns 0). Fixed exception
6054         reporting for hex prefix only strings. Fixed ChangeTo where null could
6055         be misinterpreted between null and Empty.
6056
6057 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
6058
6059         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
6060         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
6061         case when we parse Int64.MinValue (positive doesn't fit a signed long).
6062
6063 2004-05-28  Jackson Harper  <jackson@ximian.com>
6064
6065         * Environment.cs: Increment version number.
6066         
6067 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
6068
6069         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
6070         Fixes #59189.
6071
6072 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6073
6074         * DateTime.cs : I reverted my fix by accident :(
6075
6076 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6077
6078         * DateTime.cs :
6079           - In ToString(), Don't use culture-dependent daynames to format
6080             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
6081           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
6082             (since the format string is the same as 'F').
6083
6084 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6085
6086         * DateTime.cs : don't adjust utc value in ToString(). It must output
6087           the same time value, just adding 'Z' for UTC.
6088
6089 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6090
6091         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
6092           proceeding.
6093
6094 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6095
6096         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
6097
6098 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
6099
6100         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
6101         * Convert.cs: Convert with a base parameter cannot parse negative 
6102         string numbers, even "-0".
6103         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
6104         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
6105         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
6106
6107 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
6108
6109         * DateTime.cs : 
6110           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
6111             to common formats (yes, I know it is nothing more than hack)
6112           - Fixed some GetDateTimeFormats() that just returned patterns.
6113           - For InvariantCulture, now try both supported formats and our
6114             predefined formats.
6115           - It was accepting incorrectly extraneous characters. That caused
6116             some UTC/non-UTC bug.
6117           - RFC1123 string should return universal time. Uncomment again (the
6118             problem should went away because of the extra characters fix above.
6119
6120             With some of the changes above, fixed bug #47720.
6121
6122 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
6123
6124         * DateTime.cs : quick revert 'Z' support for certificate verifications.
6125
6126 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
6127
6128         * Array.cs: Removed duplicate condition if LastIndexOf.
6129
6130 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
6131
6132         * DateTime.cs :
6133           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
6134             (Fixed bug #58938.)
6135           - As a quick remedy to accept more patterns, Parse() now also tries
6136             InvariantInfo patterns (this is because we have no more than one
6137             pattern for each pattern component.)
6138           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
6139             culture uses 'Z' as AM/PM designer, and it should be recognized as
6140             part of the UTCpattern (if it actually UTC pattern for the culture
6141             contains 'Z').
6142
6143 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
6144
6145         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
6146         seems to allow multiple attributes with AllowMultiple at
6147         runtime.
6148
6149 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
6150
6151         * Byte.cs: Throw an OverflowException for negative numbers.
6152         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
6153         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
6154
6155 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
6156
6157         * Array.cs: Fixed possible integer overflow.
6158         * BitConverter.cs: Fixed a possible integer overflow in ToString.
6159         * Guid.cs: Added an internal method to create a random Guid without
6160         using CryptoConfig (which is heavy on first use). This is only used
6161         in S.R.E.ModuleBuilder to speedup MCS compilation.
6162         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
6163         possible integer overflow in methods that takes index and count
6164         as parameters.
6165
6166 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
6167
6168         * String.cs: Add new Strcpy icalls which take a char array as 
6169         parameter.
6170
6171 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
6172
6173         * DateTime.cs : added more invariant format patterns. This should
6174           really fix bug #57656.
6175
6176 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
6177
6178         * BitConverter.cs (ToBoolean): Return true or false instead
6179         of unsafe returing byte as bool. Fixes bug #58874.
6180
6181 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
6182
6183         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
6184           string format argument is null.
6185
6186 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
6187
6188         * Version.cs: Rename of data fields to match those in Microsoft.NET.
6189           Patch by PAF@design.ru.
6190
6191 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6192
6193         * DateTime.cs: allow double quotes in the formats. Don't set
6194         next_not_digit to true in presence of single or double quotes. Patch by
6195         Martin Probst.
6196
6197 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
6198
6199         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
6200
6201 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
6202
6203         * Array.cs: Fixed exception when we try to Clear outside bounds.
6204         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
6205         * BitConverter.cs: Fixed negative index and integer overflow in
6206         To... methods.
6207         * Buffer.cs: Fixed integer overflow in BlockCopy.
6208
6209 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
6210
6211         * Array.cs: Clear can now work on multidimentional arrays.
6212         * IntPtr.cs: We now only accept 32bits values in the long constructor
6213         unless we're on a 64 bits machine.
6214         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
6215         constructor unless we're on a 64 bits machine.
6216
6217 2004-05-22  Duncan Mak  <duncan@ximian.com>
6218
6219         * Convert.cs: The file was mostly in DOS endings already, for the
6220         sake of consistency, converted it all to DOS endings.
6221         (ToType): When value is null, immediately return null and don't
6222         ever throw a NullReferenceException. When conversionType is null,
6223         throw an InvalidCastException. Give a better error message when
6224         attempting to convert to a DBNull as well.
6225
6226 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
6227
6228         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
6229         of Decimal (and not use the banker's rounding like Convert.To...).
6230         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
6231         to NaN compares (see new unit tests).
6232
6233 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
6234
6235         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
6236         Also fixed the case where wide (16 bits) characters were converted to 
6237         bytes.
6238
6239 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6240
6241         * ThreadStaticAttribute.cs
6242         * ContextStaticAttribute.cs
6243         * FlagsAttribute.cs
6244         * ObsoleteAttribute.cs : now that Inherited is false by
6245         default on AttributeUsageAttribute (as it should be) we
6246         need to explicitly set Inherited to false for those
6247         attributes should it be be false.
6248
6249 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6250
6251         * AttributeUsageAttribute.cs: Inherited property should be
6252         true by defaultrs.cs: respect Inherited property, and
6253
6254 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6255
6256         * MonoCustomAttrs.cs: respect Inherited property, and
6257         AllowMultiple property of a CustomAttribute. This fixes
6258         a major issue we had with respect to custom attributes.
6259
6260 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6261
6262         * MonoType.cs: throw ArgumentNullException when type parameter in
6263         GetCustomAttributes(Type, bool) is null
6264
6265 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
6266
6267         * Buffer.cs: Added checks for null source and destination. Fix failing
6268         CryptoStream unit test.
6269         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
6270         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
6271         spec). This removes the TODO to get the computer MAC address and
6272         the chances to get a duplicate GUID (across different machines).
6273
6274 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6275
6276         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
6277           than OverflowExceptions then something went wrong internally
6278
6279 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6280
6281         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
6282           culture - sensitive
6283
6284 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
6285
6286         * Buffer.cs: Optimize BlockCopy.
6287
6288         * Environment.cs: Bump corlib version.
6289
6290 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
6291
6292         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
6293           See also bug #58478.
6294
6295 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6296
6297         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
6298         been set. Just return null as MS. Fixes bug #58120.
6299
6300 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
6301
6302         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
6303           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
6304           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
6305           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
6306           useless [CLSCompliant (false)]
6307
6308
6309 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6310
6311         * __ComObject.cs: To please corcompare (no implementation).
6312
6313 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
6314
6315         * Environment.cs: Bump corlib version.
6316
6317 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6318
6319         * Environement.cs: Removed two security attributes for CurrentDirectory
6320         that weren't documented (and anyway we don't support them).
6321
6322 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6323
6324         * Char.cs: Fix exceptions
6325
6326 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
6327
6328         * MissingMemberException.cs: Fix in serialization constructor.
6329
6330 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6331
6332         * Environment.cs: GetGacPath return value is resolved at runtime on
6333         windows.
6334
6335 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
6336  
6337         * Convert.cs: ToBase64CharArray method was depending on a bug in 
6338         S.S.C.ToBase64Transform class to work. Added an internal method to 
6339         provide the same functionality (multiple block processing).
6340
6341 2004-05-06  Jackson Harper  <jackson@ximian.com>
6342
6343         * Environment.cs: Make $HOME the personal directory.
6344
6345 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
6346  
6347         * Convert.cs: ToBase64String method was depending on a bug in 
6348         S.S.C.ToBase64Transform class to work. Added an internal method to 
6349         provide the same functionality (multiple block processing).
6350
6351 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
6352  
6353         * Environment.cs: Completed OSVersion property.
6354         * Version.cs: Added internal CreateFromString() to "try" to build the
6355         best version number form the specified string.
6356  
6357 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6358
6359         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
6360           Fixes several potential bugs and makes things way faster.
6361
6362 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6363
6364         * TimeSpan.cs: Formatting changes
6365
6366 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
6367
6368         * Activator.cs: change _flags to a const.
6369         * IntegerFormatter.cs: make tables readonly.
6370         * Convert.cs: tables readonly
6371         * DateTime.cs: ditto.
6372         * IntPtr.cs: avoid a cctor.
6373
6374 2004-04-29  Jackson Harper  <jackson@ximian.com>
6375
6376         * MonoType.cs: 
6377         * Type.cs: NET_2_0 now instead of 1_2. 
6378         
6379 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6380
6381         * Environment.cs: implemented GetLogicalDrives.
6382
6383 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
6384
6385         * Applied patch from Atsushi Enomoto that allows Synchronized
6386         writers to have a `dont close' flag, this fixes 52094
6387
6388 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
6389
6390         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
6391         return the method if it is private (it did until now because of a
6392         bug). Make sure it works as it worked before the fix.
6393         * Type.cs: Implemented FilterAttribute delegate.
6394
6395 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6396
6397         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
6398
6399 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6400
6401         * IntegerFormatter.cs: Made functions internal (needed by other patches)
6402
6403 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
6404
6405         * DateTime.cs: TODO cleaning.
6406         * Delegate.cs: GetObjectData should be virtual.
6407         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
6408           30 methods almost identical.
6409         * MulticastDelegate.cs: Implemented GetObjectData.
6410         
6411 2004-04-26  Jackson Harper  <jackson@ximian.com>
6412
6413         * Environment.cs: Things going bump in the night.
6414
6415 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
6416
6417         * Convert.cs (toBase64Transform): Make private.
6418
6419 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6420
6421         * Convert.cs:
6422         * Decimal.cs:
6423         * DecimalFormatter.cs:
6424         * FloatingPointFormatter.cs: Call invariant Char functions
6425         * Guid.cs: Call invariant Char and String functions
6426         * String.cs: Call invariant Char functions
6427
6428 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6429
6430         * String.cs: Refactored the Invariant ToXXX into its own internal methods
6431           so they are directly callable within corlib (can prevent early
6432           construction of CultureInfo, InvariantCulture and related classes)
6433
6434 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6435
6436         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6437         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6438
6439 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6440
6441         * String.cs: Check for null values
6442
6443 2004-04-23  Peter Bartok <pbartok@novell.com>
6444
6445         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
6446           will do a better fix in the future, but this way apps can at least use it.
6447
6448 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
6449
6450         * Environment.cs: Better support for GetFolderPath (same results as MS 
6451           on Windows).
6452
6453 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
6454
6455         * Activator.cs: Removed TODOs for finished methods.
6456         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
6457           must be relative to the current directory, not the temp directory.
6458           Implemented DynamicBase.
6459         * Convert.cs: No need to create a ToBase64Transform instance at every call
6460           to ToBase64CharArray.
6461         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
6462           ToFileTimeUtc.
6463         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
6464         * Delegate.cs: Removed class TODO.
6465         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
6466           methods.
6467         * Type.cs: Removed TODOs for things already implemented.
6468         
6469 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
6470
6471         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
6472         * MulticastDelegate.cs: Removed unused code.
6473
6474 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
6475
6476         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
6477         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
6478         * BadImageFormatException.cs: TODO reformat.
6479         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
6480         * DelegateSerializationHolder.cs: Made class internal.
6481         * Enum.cs: Removed TODO for localization, since this is something that has
6482           to be done for all classes.
6483         * Environment.cs: Removed TODO.
6484         * Exception.cs: Changed ToString to use StringBuilder.
6485         * MonoDummy.cs: Made class internal.
6486         * UnitySerializationHolder.cs: Added support for modules.
6487
6488 2004-04-16  David Sheldon <dave-mono@earth.li>
6489
6490         * DecimalFormatter.cs: Don't append a decimal point after the
6491           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
6492           "100. %"
6493
6494 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
6495
6496         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
6497           this.
6498
6499 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
6500
6501         * MonoDummy.cs: added MonoTODO to make sure we remove this class
6502           when its no longer needed
6503
6504 2004-04-09  David Sheldon <dave-mono@earth.li>
6505
6506         * Convert.cs: Allow + signs in strings for ToInt32, and
6507           - if it is base 10.
6508
6509 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
6510
6511         * Nullable.cs : usingdecl should also be conditional.
6512
6513 2004-04-07  Martin Baulig  <martin@ximian.com>
6514
6515         * Nullable.cs: New file.
6516
6517 2004-04-07  Martin Baulig  <martin@ximian.com>
6518
6519         * Type.cs (Type.GetGenericArguments): Make this abstract.
6520
6521 2004-04-07  Jackson Harper  <jackson@ximian.com>
6522
6523         * Environment.cs: Increase corlib version number.
6524         
6525 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6526
6527         * Environment.cs:
6528         (ExpandEnvironmentVariables): on windows, env. vars. are case
6529         insensitive.
6530
6531 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
6532
6533         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
6534         Removed [ThreadStatic] for _principalPolicy (not required).
6535
6536 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
6537
6538         * Guid.cs: Flag as Sequential.
6539
6540 2004-04-02  Dick Porter  <dick@ximian.com>
6541
6542         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
6543
6544 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
6545
6546         * Environment.cs: Implement ExpandEnvironmentVariables static method.
6547         Now call the runtime to get the username (fix #56144).
6548
6549 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6550
6551         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
6552         Fixes bug #56341.
6553
6554 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
6555
6556         * Console.cs: If we fail to open stdin/stdout/stderr, create
6557         readers with a NullStream.  This can happen if our caller does not
6558         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
6559         it will happen elsewhere.
6560
6561 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
6562
6563         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
6564         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
6565         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
6566           the constructor. This fixes bug #54019.
6567
6568 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
6569
6570         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
6571           internal variables to structures that are moved around methods.
6572           Factorized some common formatting code into FormatNumberInternal.
6573           
6574 2004-03-23  Dick Porter  <dick@ximian.com>
6575
6576         * DateTime.cs: Allow any character for DateSeparator when parsing,
6577         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
6578         deleted the previous fix for 54721, because this covers it too.
6579         
6580 2004-03-23  Dick Porter  <dick@ximian.com>
6581
6582         * DateTime.cs: Check the date string for too many digits when
6583         parsing.  Fixes bugs 53023 and 53025.
6584
6585 2004-03-22  Dick Porter  <dick@ximian.com>
6586
6587         * String.cs: Use the provider when converting strings to other
6588         types.
6589
6590         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
6591         formats.  Fixes bug 54721.
6592
6593 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6594
6595         * Console.cs: Styled, optimized calls
6596         * CrossAppDomainDelegate.cs: Small header fix
6597         * Buffer.cs: Style, improve errors
6598         * BitConverter.cs: Style, improve errors, remove obsolete comment
6599         * Attribute.cs: Style, improve errors, small fix
6600         * Array.cs: Style, improve errors, small fix, added TODOs
6601         * Activator.cs: Style, localized errors, added error checks
6602         * Byte.cs: Style, localized errors, fixed wrong exception parameters
6603         * Char.cs: Style
6604         * Boolean.cs: Style
6605         * AppDomainSetup.cs: Style
6606         * AppDomain.cs: Style, implemented two methods (redirect)
6607
6608 2004-03-21  Jackson Harper  <jackson@ximian.com>
6609
6610         * FloatingPointFormatter.cs: Set precision from number format info
6611         when it is not specified. This fixes bug #54983.
6612         
6613 2004-03-18  Nick Drochak <ndrochak@ieee.org>
6614
6615         * Math.cs: Use IsNaN() method not "x == NaN".
6616
6617 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6618
6619         * EntryPointNotFoundException.cs
6620         * DuplicateWaitObjectException.cs
6621         * DllNotFoundException.cs
6622         * DivideByZeroException.cs
6623         * ContextMarshalException.cs
6624         * CannotUnloadAppDomainException.cs
6625         * BadImageFormatException.cs
6626         * ArrayTypeMismatchException.cs
6627         * ArithmeticException.cs
6628         * ArgumentOutOfRangeException.cs
6629         * ArgumentNullException.cs
6630         * ArgumentException.cs
6631         * ApplicationException.cs
6632         * AppDomainUnloadedException.cs: Added missing HResult overrides
6633
6634         * BadImageFormatException.cs: Improved/ Fixed implementation
6635
6636 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
6637
6638         * Random.cs: Corrected random value when Next is called with a 
6639         negative value. Testing indictae that our results aren't exactly the 
6640         same as MS, we have a +/- 1 (probably rounding errors due to 
6641         different implementation).
6642
6643 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6644
6645         * Environment.cs: updated corlib version.
6646
6647 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
6648
6649         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
6650           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
6651           field "value" to "m_value", so it is interoperable with MS.NET when 
6652           serializing and deserializing data. Based on the patch from Daniel
6653           Keep.
6654
6655 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6656
6657         * TypeInitializationException.cs
6658         * SystemException.cs
6659         * StackOverflowException.cs
6660         * RankException.cs
6661         * OverflowExceptionException.cs
6662         * OutOfMemoryException.cs
6663         * NullReferenceException.cs
6664         * NotSupportedException.cs
6665         * NotFiniteNumberException.cs
6666         * InvalidOperationException.cs
6667         * InvalidCastException.cs
6668         * IndexOutOfRangeException.cs
6669         * FormatException.cs
6670         * ExecutionEngineException.cs: improved parameter names
6671
6672 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6673
6674         * Enum.cs
6675         * EntryPointNotFoundException.cs
6676         * DuplicateWaitObjectException.cs
6677         * DoubleFormatter.cs
6678         * DllNotFoundException.cs
6679         * DivideByZeroException.cs
6680         * DelegateSerializationHolder.cs
6681         * Delegate.cs
6682         * DBNull.cs
6683         * ContextStaticAttribute.cs
6684         * ContextMarshalException.cs
6685         * ContextBoundObject.cs
6686         * CLSCompliantAttribute.cs
6687         * CharEnumerator.cs
6688         * CannotUnloadAppDomainException.cs
6689         * BadImageFormatException.cs
6690         * AttributeUsageAttribute.cs
6691         * AttributeTargets.cs
6692         * AsyncCallback.cs
6693         * AssemblyLoadEventHandler.cs
6694         * AssemblyLoadEventArgs.cs
6695         * ArrayTypeMismatchException.cs
6696         * ArithmeticException.cs
6697         * ArgumentOutOfRangeException.cs
6698         * ArgumentNullException.cs
6699         * ArgumentException.cs
6700         * ArgIterator.cs
6701         * ApplicationException.cs
6702         * AppDomainUnloadedException.cs
6703         * AppDomain.cs: Mono styled, fixed exceptions/ locales
6704           removed excess usings
6705
6706 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
6707
6708         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
6709         spaces) which fixed #54939. Changed the way that the length is 
6710         validated (multiple of 4) because the ignored characters must not be
6711         included in the count.
6712
6713 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6714
6715         * String.cs: Monostyled
6716
6717 2004-03-09  Jackson Harper  <jackson@ximian.com>
6718
6719         * Char.cs: Only use a byte for numeric data.
6720         
6721 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6722
6723         * TypedReference.cs: Added missing Attributes
6724         * ParamArrayAttribute.cs: Small style fix
6725         * OperatingSystem.cs: Added .Net 1.1 member
6726
6727 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6728
6729         * FieldAccessException.cs
6730         * FormatException.cs
6731         * InvalidCastException.cs
6732         * InvalidOperationException.cs
6733         * MemberAccessException.cs
6734         * MethodAccessException.cs
6735         * MissingFieldException.cs: Locale strings
6736         * MissingMemberException.cs: Locale strings
6737         * MissingMethodException.cs: Locale strings
6738         * NotFiniteNumberException.cs
6739         * NotImplementedException.cs
6740         * NotSupportedException.cs
6741         * NullReferenceException.cs
6742         * ObjectDisposedException.cs
6743         * OutOfMemoryException.cs
6744         * OverflowExceptionException.cs
6745         * PlatformNotSupportedException.cs
6746         * RankException.cs: Added missing HResult overrides
6747
6748 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6749
6750         * RuntimeTypeHandle.cs
6751         * RuntimeMethodHandle.cs
6752         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
6753
6754 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6755
6756         * EventArgs.cs
6757         * Exception.cs
6758         * ExecutionEngineException.cs
6759         * FieldAccessException.cs
6760         * FormatException.cs
6761         * GC.cs
6762         * Guid.cs
6763         * IndexOutOfRangeException.cs
6764         * IntPtr.cs
6765         * InvalidCastException.cs
6766         * InvalidOperationException.cs
6767         * InvalidProgramException.cs
6768         * IServiceProvider.cs
6769         * LoaderOptimization.cs
6770         * LoaderOptimizationAttribute.cs
6771         * MarshalByRefObject.cs
6772         * Math.cs
6773         * MemberAccessException.cs
6774         * MethodAccessException.cs
6775         * MissingFieldException.cs
6776         * MissingMemberException.cs
6777         * MissingMethodException.cs
6778         * MultiCastDelegate.cs
6779         * MulticastNotSupportedException.cs
6780         * NonSerializedAttribute.cs
6781         * NotFiniteNumberException.cs
6782         * NotImplementedException.cs
6783         * NotSupportedException.cs
6784         * NullReferenceException.cs
6785         * ObjectDisposedException.cs
6786         * ObsoleteAttribute.cs
6787         * OperatingSystem.cs
6788         * OutOfMemoryException.cs
6789         * OverflowExceptionException.cs
6790         * PlatformID.cs
6791         * PlatformNotSupportedException.cs
6792         * Random.cs
6793         * RankException.cs
6794         * ResolveEventArgs.cs
6795         * ResolveEventHandler.cs
6796         * RuntimeFieldHandle.cs
6797         * RuntimeMethodHandle.cs
6798         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
6799           removed excess usings
6800
6801 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6802
6803         * SystemException.cs: Exceptions set the HResult
6804         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
6805         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
6806
6807 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6808
6809         * TypedReference.cs
6810         * TypeLoadException.cs
6811         * TypeInitializationException.cs
6812         * TypeCode.cs
6813         * TimeZone.cs
6814         * ThreadStaticAttribute.cs
6815         * SystemException.cs
6816         * STAThreadAttribute.cs
6817         * StackOverflowException.cs
6818         * SingleFormatter.cs
6819         * Single.cs
6820         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
6821           removed excess usings
6822
6823 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6824
6825         * UnauthorizedAccessException.cs: Exceptions set the HResult
6826         * UInt64.cs: Implemented two missing methods
6827         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6828         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6829
6830 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6831
6832         * WeakReference.cs
6833         * Void.cs
6834         * Version.cs
6835         * ValueType.cs
6836         * UnitySerializationHolder.cs
6837         * UnhandledExceptionEventHandler.cs
6838         * UnauthorizedAccessException.cs
6839         * UIntPtr.cs
6840         * UInt64.cs
6841         * UInt32.cs
6842         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
6843
6844 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
6845
6846         * Environment.cs: Bump corlib version.
6847
6848 2004-03-04  Jackson Harper  <jackson@ximian.com>
6849
6850         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
6851         
6852 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
6853
6854         * String.cs: Concat() fixed crash when one of the arguments is an object
6855           whose ToString() method returns null.
6856         * TypeLoadException.cs: Added some serialization fiels, needed for
6857           compatibility with MS.NET.
6858
6859 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
6860
6861         * String.cs (Equals): Speed up this method by avoiding Array
6862          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
6863
6864         This gives between 0x (for 1 char) and >2x (for large strings)
6865         factor of improvement.
6866
6867         A big thanks to Miguel, who suggested the integer compares.
6868
6869 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6870
6871         * MonoType.cs: use the binder in GetPropertyImpl.
6872
6873 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6874
6875         * Math.cs: MonoStyled, replaced space with tabs,
6876           speedup of some methods by avoiding method calls
6877
6878 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
6879
6880         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
6881           (Moved from InternalCall to Managed code).
6882
6883 2004-02-17  Martin Baulig  <martin@ximian.com>
6884
6885         * MonoType.cs (GetConstructors): Renamed the interncall to
6886         GetConstructors_internal(), made it internal and added a `Type
6887         reflected_type' argument to it.
6888         (GetEvents, GetFields): Likewise.
6889         (GetMethodsByName): Added `Type reflected_type' argument.
6890         (GetPropertiesByName): Likewise.
6891
6892 2004-02-16  Jackson Harper  <jackson@ximian.com>
6893
6894         * FloatingPointFormater.cs: Allow precision to be up to the number
6895         of decimals without rounding.
6896         
6897 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
6898
6899         * Delegate.cs (Equals): Do not compare method_ptr, since it might
6900         point to a trampoline.
6901
6902 2004-02-12  Jackson Harper  <jackson@ximian.com>
6903
6904         * AppDomainSetup.cs: If relative paths are used they should be
6905         rooted in the temp directory.
6906         
6907 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
6908
6909         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
6910
6911 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
6912
6913         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
6914         avoid an assert in the runtime.
6915
6916 2004-02-08  Duncan Mak  <duncan@ximian.com>
6917
6918         * Convert.cs (ToType): Always let a Convert.ChangeType call
6919         succeed if the source object is already of the destination type.
6920
6921         Patch by Ian MacLean (ianm@activestate.com).
6922
6923 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
6924
6925         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
6926
6927 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
6928
6929         * Environment.cs: Bump corlib version.
6930
6931 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
6932
6933         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
6934         fix bug #53461.
6935
6936 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
6937
6938         * Exception.cs: Changed ToString to remove the \n when no stack trace
6939         is present (which fixed a unit test for SecurityException). Changed
6940         all \n to Environment.NewLine.
6941
6942 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
6943
6944         * ContextBoundObject.cs: Removed TODO.
6945
6946 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6947
6948         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
6949         (double), which might round up.
6950
6951 2004-01-19  Jackson Harper <jackson@ximian.com>
6952
6953         * FloatingPointFormatter.cs: Use the default decimal digits count
6954         if they are not specified. This fixes bug #52927.
6955         
6956 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
6957
6958         * Environment.cs: Bump version number.
6959
6960 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
6961
6962         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
6963         uses IsAssignableFrom(o.GetType()), which is not always valid for 
6964         transparent proxies (because GetType will not return the type of the remote
6965         object if its assembly is not present).
6966
6967 2004-01-18  David Sheldon <dave-mono@earth.li>
6968
6969   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
6970     integer mantassa. So: 1E+15, rather than 1.E+15.
6971
6972 2004-01-18  David Sheldon <dave-mono@earth.li>
6973
6974         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
6975         even though docs say it should be an ArgumentNull. Two test cases now
6976   pass. See also nickd's commit of 2003-12-24.
6977
6978 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6979
6980         * Environment.cs: increased corlib version.
6981
6982 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
6983
6984         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
6985         be reused because they could be modified. This fixes bug #52655.
6986
6987 2004-01-12  Patrik Torstensson
6988
6989         * Environment.cs: Bump corlib version number due to new StringBuilder
6990         
6991         * String.cs: New internal method to support the new StringBuilder that
6992         uses the string as a buffer (until ToString is called)
6993
6994 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
6995
6996         * Environment.cs: Bump corlib version number for real this time.
6997         
6998         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
6999         the runtime, so it can take into account the Culture etc.
7000
7001         * Environment.cs: Bump corlib version number.
7002         
7003 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7004
7005         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
7006         new parameter with the method name and a boolean for ignoring case.
7007         Removed some string comparisons no longer needed.
7008
7009 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7010
7011         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
7012         new parameter with the property name and a boolean for ignoring case.
7013         Fixes bug #52753.
7014
7015 2004-01-11  David Sheldon <dave-mono@earth.li>
7016
7017         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
7018         bug 52274.
7019
7020 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
7021
7022         * AppDomain.cs: Keep track of type resolve and assembly resolve 
7023         events in progress to prevent infinite recursion.
7024
7025 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
7026
7027         * Console.cs: Test for UTF-8 being present anywhere on the
7028         string, also do ToUpper instead of ToLower, which will work even
7029         around the ICU bug with different locales (#52065), and addresses #52101
7030
7031 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
7032
7033         * Environment.cs: Bump version.
7034
7035 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
7036
7037         * Type.cs (IsNotPublic): One would normally assume that
7038         IsNotPublic == !IsPublic, but this is not the case (note to MS,
7039         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
7040         correct for Nested types'
7041
7042 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
7043
7044         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
7045         even though docs say it should be an ArgumentNull. Sent email to MS
7046         about this "bug".
7047
7048 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
7049
7050         * Exception.cs: Several changes to make it compatible with MS.NET (needed
7051         for remoting interoperability): set a default value for hresult, added 
7052         initialization of class_name, serialization field RemoteStackTrace must
7053         be RemoteStackTraceString, added ser. field ExceptionMethod.
7054
7055         * IndexOutOfRangeException.cs: Added serialization constructor.
7056
7057 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
7058
7059         * Int32 (Parse):
7060           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
7061
7062 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
7063
7064         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
7065         user supplied no parameter info, but not when the user supplied an
7066         empty parameter list. This fixes IKVM.
7067
7068         * Environment.cs: Bump corlib version.
7069
7070 2003-12-19  Dick Porter  <dick@ximian.com>
7071
7072         * String.cs: Added Compare shortcut for length==0.
7073
7074 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
7075
7076         * Environment.cs: Bump corlib version.
7077
7078 2003-12-17  Dick Porter  <dick@ximian.com>
7079
7080         * String.cs: Fix StartsWith and EndsWith when the argument is the
7081         empty string.  Fixes bug 52283.
7082
7083 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
7084
7085         * Environment.cs (HasShutdownStarted): Implement.
7086
7087 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
7088
7089         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
7090         
7091         * Environment.cs: Bump version number.
7092
7093 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7094
7095         * DateTime.cs: don't bail out with that year out of range error on
7096         stuff like "MM/dd/yyyy HH:MM:ss".
7097
7098 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
7099
7100         * Environment.cs: Make it a const instead.
7101         
7102         * Environment.cs: Make version field static.
7103
7104 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
7105
7106         * Type.cs: Make DefaultBindingFlags protected.
7107
7108         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
7109         Add new GacPath property + its associated icall.
7110
7111 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
7112
7113         * DateTime.cs : Bugs fixed (41845, 51422)
7114         * MonoType.cs : Exception message changed 
7115
7116 2003-12-08  Martin Baulig  <martin@ximian.com>
7117
7118         * Type.cs (MakeByRefType): New public method.
7119
7120 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
7121
7122         * Environment.cs: Add a version number for the corlib-runtime interface
7123         to make it easier to diagnose problems resulting from a mismatch 
7124         between the two.
7125
7126 2003-12-08  Patrik Torstensson   <p@rxc.se>
7127
7128         * Type.cs (GetMethod): Check type arguments within array
7129         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
7130         (same signature but different classes (derived level)
7131
7132 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
7133
7134         * Type.cs (MakeArrayType): Add argument checking.
7135
7136 2003-12-06  Dick Porter  <dick@ximian.com>
7137
7138         * String.cs: Don't use CompareInfo for non-culture-sensitive
7139         IndexOf and LastIndexOf methods.
7140
7141 2003-12-06  Ravindra  <rkumar@novell.com>
7142
7143         * DateTime.cs: Made Parse(string, IFormatProvider) method to
7144         use second argument. Fixed bug #51464.
7145
7146 2003-12-04  Martin Baulig  <martin@ximian.com>
7147
7148         * Type.cs (Type.MakeArrayType): New public method.
7149
7150 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7151
7152         * Buffer.cs:
7153         (BlockCopy): make the exception thrown helpful.
7154
7155 2003-12-03  Dick Porter  <dick@ximian.com>
7156
7157         * String.cs: Calling Replace on an empty string returns itself.
7158
7159 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
7160
7161         * MonoType.cs: Get rid of get_type_info, use a separate icall for
7162         each property instead.
7163
7164 2003-12-02  Dick Porter  <dick@ximian.com>
7165
7166         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
7167         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
7168
7169 2003-12-01  Dick Porter  <dick@ximian.com>
7170
7171         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
7172         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
7173
7174 2003-11-28  Dick Porter  <dick@ximian.com>
7175
7176         * Type.cs: 
7177         * MonoType.cs: 
7178         * Enum.cs: 
7179         * Boolean.cs: Do string compares with the Invariant culture.
7180
7181 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
7182
7183         * Array.cs: make the enumerator ICloneable
7184
7185 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
7186
7187         * Decimal.cs (ToXXX): Call Convert.ToXXX.
7188
7189 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
7190
7191         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
7192         Implement Load(byte[]) methods.
7193
7194         * BadImageFormatException.cs: Fix ToString.
7195
7196 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
7197
7198         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
7199         GetConstructor, as done by MS.
7200
7201 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7202
7203         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
7204
7205 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
7206
7207         * TypeInitializationException.cs: Added missing serialization constructor.
7208
7209 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7210
7211         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
7212         ApplicationBase. The tests pass now with mono.
7213
7214 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
7215
7216         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
7217
7218 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7219
7220         * Environment.cs: use Directory in CurrentDirectory property.
7221         We were not throwing any exception when setting the directory to an
7222         invalid path.
7223
7224 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7225
7226         * Array.cs:
7227         * Delegate.cs: implemented 1.1 stuff.
7228
7229         * Enum.cs:
7230         * IntPtr.cs: removed extra attribute.
7231         * PlatformID.cs: added WinCE.
7232
7233 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7234
7235         * ValueType.cs:
7236         (Equals): compare the fields of structs too.
7237         (GetHashCode): combine the hash code of all the fields.
7238         Fixes bug #50901 (will remove the icall in a couple of days).
7239
7240 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7241
7242         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
7243
7244 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7245
7246         * DateTime.cs: handle century when we try to parse 4-digit years and
7247         only 2 digits are present. Fixes bug #49394.
7248
7249 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
7250
7251         * Console.cs: On utf-8 consoles, use unmarked output.
7252
7253 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7254
7255         * IAppDomainSetup.cs:
7256         * _AppDomain.cs: 
7257         * Object.cs:
7258         * Type.cs: Added missing attribute
7259
7260 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
7261
7262         * Environment.cs: Added internal method for getting the path to 
7263         machine.config.
7264         
7265 2003-11-12 Jackson Harper <jackson@ximian.com>
7266
7267         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
7268         enum. This fixes the SWF build.
7269         
7270 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
7271
7272         * PlatformID.cs: Remove Unix platform, we cant expose constants
7273         that are not in the framework.
7274
7275         * OperatingSystem.cs: Adjust for the breakage.
7276
7277         * RuntimeMethodHandle.cs: Fix signature.
7278
7279         * Double.cs: Fix signature of TryParse.
7280
7281         * String.cs (Concat (object, object, object, object)): Add missing method.
7282
7283         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
7284         in the .NET Framework.
7285
7286         * Enum.cs: Hide constructor.  
7287
7288         Fix ToUint16 to be explicitly implemented.
7289
7290         * Console.cs: Add couple of extra missing methods (Write and
7291         WriteLine overloaded)
7292
7293 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
7294
7295         * AppDomain.cs, Activator.cs: New unimplmented entry points from
7296         1.1 (Com activation related).
7297         
7298         * Exception.cs: Formatting.
7299         
7300         * IServiceProvider.cs: Add ComVisible (true).
7301
7302         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
7303
7304 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
7305
7306         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
7307           #50356.
7308
7309 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
7310
7311         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
7312         on MonoMethod instead of Invoke.
7313
7314 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7315
7316         * DateTime.cs: Fixed Add* methods handling. Now it works properly
7317         with extreme values (there is a bug with Overflow and Underflow in
7318         long type).
7319
7320 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
7321
7322         * DateTime.cs: Fixed a few format bugs.
7323
7324 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
7325
7326         * AppDomain.cs (InternalPushDomainRef): New icalls.
7327
7328         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
7329         different appdomain.
7330
7331 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
7332
7333         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
7334
7335 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
7336
7337         * AppDomain.cs (IsFinalizingForUnload): Implement.
7338
7339         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
7340         to unmanaged code.
7341
7342 2003-10-25  Martin Baulig  <martin@ximian.com>
7343
7344         * MonoType.cs: Don't make this sealed.
7345
7346 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
7347
7348         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
7349
7350 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
7351
7352         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
7353         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
7354
7355 2003-10-22  Dick Porter  <dick@ximian.com>
7356
7357         * DateTime.cs: Handle '-' as a date separator when parsing formats.
7358
7359 2003-10-20  Duncan Mak  <duncan@ximian.com>
7360
7361         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
7362         and merge the two iterations into one.
7363
7364 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
7365
7366         * TypedReference.cs: Add new field used by the runtime.
7367
7368 2003-10-15  Martin Baulig  <martin@ximian.com>
7369
7370         * Type.cs (Type.DeclaringMethod): For a generic method's type
7371         parameter, return this method - otherwise, return null.
7372
7373 2003-10-14  Martin Baulig  <martin@ximian.com>
7374
7375         The generics API has changed in the spec since it was added here;
7376         these modifications make it match the spec again.
7377
7378         * Type.cs
7379         (GetGenericParameters): Renamed to `GetGenericArguments'.
7380         (HasGenericParameters): Renamed to `HasGenericArguments'.
7381         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
7382         (IsGenericTypeDefinition): New property.
7383         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
7384
7385         * MonoType.cs (ContainsGenericParameters): Implement this here;
7386         this is no interncall anymore.
7387
7388 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7389
7390         * Delegate.cs: add the method name to the exception when it cannot be
7391         bound.
7392         * Exception.cs: fix nullref in Source.
7393
7394 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
7395
7396         * Array.cs: Add argument checking to GetValue and SetValue.
7397
7398 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
7399
7400         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
7401         should not be TimeSpan.MaxValue, because it overflow.  Set this to
7402         be MAX_VALUE_TICKS
7403
7404 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7405
7406         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
7407         duplicate entry exception.
7408
7409 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
7410
7411         * DateTime.cs (ToString): Total rewrite, fixes #49358.
7412
7413 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
7414
7415         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
7416
7417 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7418
7419         * Enum.cs:
7420         (Equals): check that the object is an Enum before comparing the types.
7421
7422 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7423
7424         * Array.cs: reduced xsp allocated memory by 1/2.
7425
7426 2003-09-25  Martin Baulig  <martin@ximian.com>
7427
7428         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
7429         since it was identical to GetGenericTypeDefinition().
7430         (Type.IsGenericInstance): New property.
7431
7432 2003-09-24  Duncan Mak  <duncan@ximian.com>
7433
7434         * Math.cs (Abs): Fix double Locale.GetText bug reported by
7435         davejp@volny.cz. This fixes #48788.
7436
7437 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
7438
7439         * FloatingPointFormatter.cs: Add the necessary castings to char
7440         conversions.
7441
7442 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7443
7444         * FloatingPointFormatter.cs: Make the method calls more functional
7445         for protecting the values from different threads (make it more
7446         thread safe).
7447
7448 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7449
7450         * FloatingPointFormatter.cs: Fix a bug with the negative value of
7451         count parameter.
7452
7453 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
7454
7455         * FloatingPointFormatter.cs: Applied a lot of improvements in string
7456         construction, make use of Append/Insert with the "count" parameter.
7457     Thanks to Ben Maurer.
7458
7459 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7460
7461         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
7462
7463         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
7464         last change.
7465
7466 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7467
7468         * DoubleFormatter.cs: A few optimizations. Now, only one object
7469         is created to convert all double numbers.
7470
7471         * SingleFormatter.cs: A few optimizations. Now, only one object
7472         is created to convert all float numbers.
7473
7474         * FloatingPointFormatter.cs: Split the "number type parameters" from
7475         the "numver value and format parameters". The first ones are in the
7476         constructor and the others are in a method.
7477
7478 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
7479
7480         * Array.cs: Added argument checking to some NET_1_1 methods.
7481
7482 2003-09-04  Martin Baulig  <martin@ximian.com>
7483
7484         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
7485
7486 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7487
7488         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
7489         taking 'longs'. All tests pass.
7490
7491 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7492
7493         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
7494         Source. Remove MonoTODO attributes (class is 100% done). Also
7495         passes all Rotor tests for Exception!
7496
7497 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7498
7499         * Enum.cs: Remove [MonoTODO]'s that had been completed.
7500
7501 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7502
7503         * String.cs: fixed bug #47802.
7504
7505 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
7506
7507         * String.cs: Created method FormatHelper that does formatting,
7508         using a StringBuilder.
7509
7510 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7511
7512         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
7513
7514 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7515
7516         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
7517         methods under MS.
7518
7519 2003-08-11  Duncan Mak  <duncan@ximian.com>
7520
7521         * Environment.cs (Version): Return the same numbers as the MS
7522         implementation.
7523
7524 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
7525
7526         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
7527         replicated tests, and have a routine that does the heavy lifting.
7528
7529 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
7530
7531         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
7532           of DateTime.
7533         * Environment.cs: return $HOME for ApplicationData folder.
7534
7535 2003-08-04  Duncan Mak  <duncan@ximian.com>
7536
7537         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
7538         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
7539         floating point values. This fixes bug #46175.
7540
7541         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
7542         noted by c5n4kh6u02@sneakemail.com in
7543         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
7544
7545 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
7546
7547         * Double.cs: added icall Double.AssertEndianity.
7548
7549 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7550
7551         * Type.cs, MonoType.cs: implemented generic-specific methods.
7552
7553 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
7554
7555         * Buffer.cs: Add new internal MemCopy call.
7556
7557         Removed the above.
7558
7559 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7560
7561         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
7562         to icalls, to avoid special cases in some call conventions.
7563
7564 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7565
7566         * Enum.cs: added Serializable attribute.
7567
7568 2003-07-25  Duncan Mak  <duncan@ximian.com>
7569
7570         * AppDomain.cs (Equals):
7571         (GetHashCode): Removed because they do not need to be defined
7572         here.
7573
7574 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7575
7576         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
7577         cannot even get the type.
7578
7579 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
7580
7581         * Type.cs: Added generics stubs.
7582
7583 2003-07-23  Duncan Mak  <duncan@ximian.com>
7584
7585         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
7586         as values for NET_1_1.
7587         (GetFolderPath): Return the empty string ("") for values of
7588         SpecialFolder that have no corresponding equivalents in
7589         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
7590         and "$HOME" for SpecialFolder.Personal.
7591
7592         * IntPtr.cs (GetObjectData): Mark it as an interface
7593         implementation, instead of a public method.
7594
7595         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
7596
7597         * TypeLoadException.cs (GetObjectData):
7598         Create stubs for the fields that are being serialized.
7599
7600         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
7601
7602 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
7603         
7604         * Enum.cs: Fixed enum formatting. For flag enums, if one of
7605           the flags is unnamed, ToString() returns the integer value.
7606
7607 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
7608
7609         * Guid.cs: Fixed ToString (), was producing incorrect string.
7610
7611 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7612
7613         * AppDomainSetup.cs: fixed bug #46609.
7614
7615 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
7616
7617         * MonoType.cs: use an icall for IsPrimitiveImpl ().
7618
7619 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7620
7621         * Guid.cs: faster ToString ().
7622
7623 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
7624
7625         * FloatingPointFormatter.cs: Few changes for get working Rotor
7626         tests.
7627
7628 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
7629
7630         * Type.cs (IsAssignableFrom): Implement this as an icall since the
7631         runtime already includes the neccessary logic.
7632
7633 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7634
7635         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
7636         if it's present and get the full path for non-Uri paths.
7637
7638 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
7639
7640         * DateTime.cs: Fixed formatting of fractions of second.
7641
7642 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
7643
7644         * Console.cs: Turn off buffering for the streams returned by
7645         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
7646
7647 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
7648
7649         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
7650           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
7651           a new random number (although it is not needed), while mono did not. 
7652           As a result, the sequence of random numbers could be different for the
7653           same seed.
7654
7655 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
7656
7657         * FloatingPointFormatter.cs: use dec_len2 as default precision.
7658
7659 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7660
7661         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
7662           be done after the correspondig UTC offset has been applied.
7663
7664 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7665
7666         * Object.cs: Object must have the Serializable attribute.
7667         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
7668           to the resulting date. Also fixed _ToString so now correctly formates the
7669           UTC offset.
7670
7671 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
7672
7673         * Enum.cs: fix race in cache (bug#41841).
7674
7675 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
7676
7677         * FloatingPointFormatter.cs: if the precision is not specified, use
7678         the default precision for the data type.
7679
7680 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
7681
7682         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
7683         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
7684
7685 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7686
7687         * MonoType.cs: don't throw nullref when the return type for a property
7688         is specified and the property doesn't have a get accessor.
7689
7690 2003-06-10  Duncan Mak  <duncan@ximian.com>
7691
7692         * Array.cs (CreateInstance): Fixed a typo. It should throw
7693         ArgumentNullException instead of ArgumentException.
7694
7695 2003-06-09  Duncan Mak  <duncan@ximian.com>
7696
7697         * Array.cs: Revert the last revert. I fixed it.
7698         (Sort): Put a try-catch block around qsort, and wrap whatever
7699         Exception we get into a InvalidOperationException.
7700
7701 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
7702
7703         * Array.cs: Revert last patch, it broke some other functionality.
7704                 
7705 2003-06-08  Duncan Mak  <duncan@ximian.com>
7706
7707         * Array.cs: Throw more exceptions. This fixes the errors we see
7708         from the Rotor testsuite.
7709
7710         (CreateInstance): Throw ArgumentNullException when the input are
7711         null. Throw ArgumentOutOfRangeException when bounds + length is
7712         greater than Int32.MaxValue.
7713         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
7714         the valid range of indices of array.
7715         (Sort): Throw InvalidOperationException when comparer is null and
7716         none of the elements in keys implements IComparable.
7717
7718 2003-06-08  Duncan Mak  <duncan@ximian.com>
7719
7720         * Array.cs (CreateInstance): Throw a TypeLoadException if the
7721         Length of the input array 'lengths' is greater than 255 so that we
7722         won't see the g_assert that is in mono_array_class_get in class.c.
7723
7724         This fixes bug #44304.
7725
7726 2003-06-05  Nick Drochak  <ndrochak@gol.com>
7727
7728         * UnitySerializataionHolder.cs: Cleanups according to class status page
7729
7730 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
7731
7732         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
7733         RuntimeTypeHandle.cs: implemented the needed stuff to handle
7734         vararg calls.
7735
7736 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
7737
7738         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
7739         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
7740         for Ben Maurer after review and testing.
7741
7742 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
7743         
7744         * Array.cs: Added better argument checking to Array.Sort ()
7745         * DBNull.cs: Made the conversions throw like they do in MS.
7746
7747 2003-05-24  Philip Van Hoof  <me@freax.org>
7748
7749         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
7750
7751 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
7752
7753         * FloatingPointFormatter.cs: Take care with the explicit precision
7754         and round the number to that precision.
7755
7756         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
7757
7758         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
7759
7760 2003-05-20  Philip Van Hoof <me@freax.org>
7761
7762         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
7763         Implemented.
7764
7765 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
7766
7767         * AppDomainSetup.cs: Added new field which is used to notify the
7768         runtime that the search path has changed.
7769
7770 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
7771
7772         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
7773         introduced the last change I've done.
7774
7775 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
7776
7777         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
7778         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
7779         behaving correctly).
7780         
7781 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
7782
7783         * FloatingPointFormatter.cs: Fixed little format mismatches.
7784
7785 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7786
7787         * FloatingPointFormatter.cs: Fixed "-0" result emited.
7788
7789 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7790
7791         * AppDomain.cs: Added null argument check in Load().
7792         * Activator.cs: fixed bug #39926.
7793
7794 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7795
7796         * Enum.cs: fixed bugs #41522 and #42879.
7797
7798 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
7799
7800         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
7801         undocumented MS behaviour.
7802
7803 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7804
7805         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
7806         Jaime.
7807
7808 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7809
7810         * String.cs: fixed bug #41411 and another similar problem in
7811         LastIndexOf (string).
7812
7813 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7814
7815         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
7816         bug #42695.
7817
7818 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
7819
7820         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
7821         construction if the delegate list only has one element.
7822
7823 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7824
7825         * Environment.cs: Changed the method GetFolderPath because it must
7826         return at least a directory name (not null).
7827
7828         * Convert.cs: In ToType, if the destination type is unknown, try to
7829         cast the value to object (then, the calling method will downcast it
7830         to the type it wants).
7831
7832 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7833
7834         * Enum.cs: fixed bug #41522.
7835
7836 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7837
7838         * Enum.cs: protect with the lock also the lookup (bug #41841).
7839
7840 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
7841
7842         * MonoType.cs: allow a null name if InvokeMember is called with
7843         BindingFlags.CreateInstance set.
7844
7845 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7846
7847         * Enum.cs: reverted my previous patch.
7848
7849 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7850
7851         * Enum.cs: fixed bug #41841.
7852
7853 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7854
7855         * MonoType.cs:
7856         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
7857
7858 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7859
7860         * FloatingPointFormatter.cs: Little fixes for get the same results
7861         as MS.NET and show a message when something goes wrong with the
7862         parser of Custom Formats.
7863
7864 2003-04-22  Nick Drochak  <ndrochak@gol.com>
7865
7866         * Double.cs (ToString):
7867         * Single.cs (ToString): Handle case where param is a CultureInfo.
7868
7869 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
7870
7871         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
7872         ValueType::Equals() icalls static non-virtual, so they can be called
7873         by the code in RuntimeHelpers.
7874
7875 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
7876
7877         * Delegate.cs (operator ==): Do not crash if the second argument
7878         is null.  Bug fix submitted by Juan Cri.
7879
7880 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
7881
7882         * Array.cs: Deleted the exception in Array.Initialize(), it looks
7883         like the method do nothing for C#, is still a MonoTODO until
7884         we find a compiler that uses that.
7885
7886 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
7887
7888         * Delegate.cs (Delegate): Seems like a typo, we were checking the
7889         a field rather than the argument 
7890
7891         * MonoType.cs: Make GetNestedType an external method implementation.
7892
7893 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7894
7895         * Enum.cs: fixed bug #41294.
7896
7897 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7898
7899         * DateTime.cs: fixes bug #40910, part 2.
7900
7901 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
7902
7903         * String.cs (Equals): avoid the internal call, code cleanups
7904
7905 2003-04-11  Alan Tam <Tam@SiuLung.com>
7906
7907         * Convert.cs: fixed bug #41085.
7908
7909 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
7910
7911         * AppDomain.cs: Added internal method for getting process guid.
7912
7913 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
7914
7915         * Array.cs: Little fix to compare () method.
7916         
7917 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
7918
7919         * String.cs (Equals): Add trivial optimization.
7920
7921 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7922
7923         * DateTime.cs: fixed bug #40910.
7924
7925 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
7926
7927         * Console.cs: Make stderr, stdout and stdin use synchronized
7928         versions of the their readers/writers.
7929
7930 2003-04-04  Dick Porter  <dick@ximian.com>
7931
7932         * Version.cs: Make operator== and operator!= cope with null
7933         objects.  Didn't change operator<, operator<=, operator> or
7934         operator>= because its not meaningful to use those to compare
7935         against null, and throwing a NullReferenceException is probably
7936         the best thing to do there anyway.
7937
7938         Fixes bug 40720.
7939
7940 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7941
7942         * AppDomain.cs: fixed InvalidCastException.
7943
7944 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
7945
7946         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
7947         type checks and let it decide whenever a fast copy is possible.
7948
7949 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7950
7951         * MonoType.cs:
7952         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
7953
7954 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
7955
7956         * Activator.cs (CreateInstance): Call GetConstructor with the right
7957         arguments so the nonPublic argument is handled correctly.
7958
7959 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7960
7961         * Type.cs: fixed bug #40123.
7962
7963 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7964
7965         * FloatingPointFormatter.cs: Fixed some bugs for get the same
7966         results than MS.NET. Added simple error recovering, now ToString
7967         will return a general format if there is any exception in the
7968         process of formatting. This make the library more robust while the
7969         formatters are refined.
7970
7971 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7972
7973         * FloatingPointFormatter.cs: Added support for group separators.
7974
7975 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7976
7977         * Single.cs:
7978         * Double.cs: Apply changes of .ToString methods.
7979         * SingleFormatter.cs:
7980         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
7981         * FloatingPointFormatter.cs: New class. Implementation of double and
7982         single formatters. It is unified now and parametrized with precission
7983         values.
7984
7985 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
7986
7987         * AppDomain.cs: fixes bugs #39380 and #39331.
7988
7989 2003-03-06  Nick Drochak  <ndrochak@gol.com>
7990
7991         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
7992
7993 2003-03-04  Dick Porter  <dick@ximian.com>
7994
7995         * Single.cs:
7996         * Double.cs: Temporarily reverted the Double and Single ToString()
7997         change, because it broke nunit.
7998
7999
8000 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
8001
8002         * Double.cs: Changed ToString method. Added NumberFormatInfo support
8003         with DoubleFormatter class.
8004         * Single.cs: Changed ToString method. Added NumberFormatInfo support
8005         with SingleFormatter class.
8006         * DoubleFormatter.cs: New class with Double formatting functions.
8007         * SingleFormatter.cs: New class with Single formatting functions.
8008
8009 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
8010
8011         * Activator.cs: Added support for activation using activation attributes.
8012         * AppDomain.cs: Added internal method to get the default context from the runtime.
8013
8014 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
8015
8016         * DateTime.cs: FileTime is expressed in Universal time, and as such must
8017         be converted before subtracting the magic offset.
8018         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
8019         the timezone at the end) *must* be parsed by DateTime.Parse() for
8020         compatibility with Microsoft.
8021
8022 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8023
8024         * Attribute.cs:
8025         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
8026         #38238).
8027
8028         * IntPtr.cs: added serialization .ctor
8029
8030 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8031
8032         * AppDomain.cs: check for null in Unload and changed method name.
8033
8034 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8035
8036         * MonoCustomAttrs.cs: fixed bug #38238.
8037
8038 2003-02-17  Martin Baulig  <martin@ximian.com>
8039
8040         * Exception.cs (Exception.ToString): Print a newline between the
8041         exception message and the stack trace.
8042
8043 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8044
8045         * AppDomain.cs: implemented GetCurrentThreadId ().
8046
8047 2003-02-14  Patrik Torstensson
8048
8049         * Exception.cs: Fixed message output formating
8050
8051 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8052
8053         * Int32.cs:
8054         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
8055
8056 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
8057
8058         * Type.cs: IsClass should return false for Enumerations
8059
8060 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8061
8062         * MonoCustomAttrs.cs: return the correct array type in the short case.
8063         Fixes bug #37818.
8064
8065 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
8066
8067         * Math.cs: Fix a few methods (like Round) and add with comments the
8068         new methods: BigMul and DivRem that were in ECMA specs.
8069
8070 2003-02-07  Patrik Torstensson
8071
8072         * Exception.cs: Fixed formating
8073
8074 2003-02-05  Patrik Torstensson
8075
8076         * AppDomain.cs: Partly fixed the unload method 
8077         
8078 2003-02-04  Patrik Torstensson
8079
8080         * AppDomain.cs: Fixed lease issue with appdomain
8081
8082 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
8083
8084         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
8085           InitializeLifetimeService().
8086
8087 2003-02-03  Patrik Torstensson
8088
8089         * AppDomain.cs: New internalcalls for handling domain/context switches
8090         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
8091
8092 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8093
8094         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
8095         and ClearShadowCopyPath and fixed GetType ().
8096
8097         * Attribute.cs: clean up.
8098
8099         * Console.cs: removed UnixConsoleEncoding. Use Default.
8100
8101 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8102
8103         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
8104         GetCustomAttributes later.
8105
8106 2003-01-31  Patrik Torstensson
8107
8108         * Buffer.cs: Changed access level of BlockCopyInternal
8109
8110 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
8111
8112         * String.cs, IntegerFormatter.cs: use const where appropriate.
8113
8114 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8115
8116         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
8117         reporting.
8118
8119 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8120
8121         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
8122         The argument ICustomAttributeProvider can be of other types different
8123         from Type. Handle it.
8124
8125 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
8126
8127         * DateTime.cs: fix FromFileTime so the time returned by 
8128         File::GetLastModificationTime etc. is in the correct timezone.
8129
8130 2003-01-28  Patrik Torstensson
8131         * Exception.cs: reverted formating/endline changes (sorry guys)
8132
8133 2003-01-28  Patrik Torstensson
8134
8135         * MarshalByRefObject.cs: implemented GetObjectIdentity
8136         * Exception.cs: added support for remote exceptions
8137
8138 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8139
8140         * DateTime.cs: fixed bug #37225.
8141
8142 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8143
8144         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
8145
8146 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
8147
8148         * AppDomain.cs: Added DoTypeResolve method which will be called by
8149         the runtime to raise TypeResolve events.
8150
8151 2003-01-27  Duncan Mak  <duncan@ximian.com>
8152
8153         * Enum.cs (ToType): Implement this using Convert.ToType.
8154
8155 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
8156
8157         * Math.cs: Remove Pow's implementation body as it was wrong.  The
8158         C code does the right thing.  The code was trying to handle a
8159         number of cases, and that was incorrect.
8160
8161 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8162
8163         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
8164         bug #37113.
8165
8166 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8167
8168         * Enum.cs: added caching to GetInfo.
8169
8170 2003-01-23  Dick Porter  <dick@ximian.com>
8171
8172         * Environment.cs (System): Implemented ExitCode
8173
8174 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
8175
8176         * Type.cs (IsInstanceOfType): fixed regression caused by the change
8177         to IsSubclassOf().
8178
8179 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8180
8181         * MonoType.cs: re-added lines that were removed in the previous commit.
8182
8183 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
8184
8185         * Type.cs: corrected property IsSerializable. It should always return
8186         true for enums and delegates
8187         * MonoType.cs: added serialization support.
8188         * Delegate.cs: added serialization support.
8189         * DBNull.cs: added serialization support.
8190         * UnitySerializationHolder.cs: supports serialization of Assembly,
8191         MonoType and DBNull.
8192         * DelegateSerializationHolder.cs: added.
8193
8194 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8195
8196         * Exception.cs: changed default message to match MS one.
8197
8198 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
8199
8200         * String.cs: Fixed bug with CompareOrdinal
8201
8202 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8203
8204         * Enum.cs: implements IFormattable.
8205
8206 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8207
8208         * AppDomain.cs: implemented DoCallBack method.
8209         * MonoType.cs:
8210         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
8211         Public, Instance.
8212
8213         NUnit2 tests start moving.
8214
8215 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8216
8217         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
8218         instantiate an abstract class.
8219
8220 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8221
8222         * Type.cs:
8223         (IsSubclassOf): return false when null. Use != instead of Equals.
8224
8225 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8226
8227         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
8228
8229 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
8230
8231         * MonoType.cs: fixed Namespace property for nested types.
8232
8233 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
8234
8235         * MonoCustomAttrs.cs: create properly typed arrays when returning
8236         arrays of attributes of a given type.
8237
8238 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
8239
8240         * MonoType.cs: fixed MemberType property for nested types.
8241
8242 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8243
8244         * String.cs: fixed bug #36209.
8245
8246 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8247
8248         * Activator.cs: implemented method GetObject.
8249
8250 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
8251
8252         * Activator.cs: Since the documentation indicates the method
8253         either succeeds or throws one of the listed exceptions, we weren't
8254         expecting that CreateInstance might be returning null.
8255
8256         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
8257
8258 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8259
8260         * MarshalByRefObject.cs: implemented CreateObjRef.
8261
8262 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8263
8264         * DateTime.cs: fixed bug #30076.
8265         * TimeZone.cs: provide the parameter name in a exception.
8266
8267 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8268
8269         * DecimalFormatter.cs: fixed bug #35560.
8270
8271 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
8272
8273         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
8274
8275 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8276
8277         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
8278         nulls. Fixes #34909.
8279
8280 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8281
8282         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
8283         returns a non-null assembly.
8284
8285 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8286
8287         * MulticastDelegate.cs: make GetInvocationList work for more than 1
8288         delegate.
8289
8290 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8291
8292         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
8293         if this is the correct order of invocation.
8294
8295 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8296
8297         * Type.cs: changed the signature of internal_from_name. Modified
8298         the overloads of GetType to use it and check the typeName argument.
8299         Implemented FindInterfaces.
8300
8301 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8302
8303         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
8304         some obscure reasons (try make -f makefile.gnu using a corlib which has
8305         the modified version).
8306
8307 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
8308
8309         * String.cs (Concat): Reduce the number of compares required. 
8310
8311 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
8312
8313         * Activator.cs: throw a MissingMethodException if the default
8314         constructor is not found in CreateInstance.
8315
8316 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8317
8318         * String.cs:
8319         (Equals (str, str)): use 'as' instead of casting to object.
8320         (Equals (obj)): check the length of the strings (until now,
8321         "Hello".Equals ((object) "Hellow World!) was true!).
8322
8323 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8324
8325         * MonoType.cs: implemented GetEvent (name, flags).
8326
8327 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8328
8329         * AppDomain.cs: implemented a couple of methods called from the runtime
8330         to fire AssemblyLoad and AssemblyResolve events.
8331
8332 2002-10-31  Dick Porter  <dick@ximian.com>
8333
8334         * Environment.cs: MonoIO methods now have an error parameter
8335
8336 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
8337
8338         * Enum.cs: Added support for whitespaces in Enum:Parse().
8339
8340 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8341
8342         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
8343         internal call. Closes bug #32992.
8344
8345 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8346
8347         * Exception.cs: display the inner exception, if any, in ToString ().
8348
8349 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8350
8351         * Environment.cs: fixed StackTrace property.
8352
8353 2002-10-16  Nick Drochak  <ndrochak@gol.com>
8354
8355         * Enum.cs (Parse): Then fix the code so that it works too.
8356
8357 2002-10-15  Nick Drochak  <ndrochak@gol.com>
8358
8359         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
8360
8361 2002-10-12  Nick Drochak  <ndrochak@gol.com>
8362
8363         * IntegerFormatter.cs: Fix compiler warnings.
8364
8365 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
8366
8367         * Type.cs (GetConstructors): Use the correct flags.
8368
8369 2002-10-09  Nick Drochak  <ndrochak@gol.com>
8370
8371         * IntegerFormatter.cs: Suppress insignificant leading zeros
8372
8373 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
8374
8375         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
8376         <stonewell@21cn.com> to return also derived types.
8377
8378 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8379
8380         * Activator.cs: little fix in CreateInstance (Type, bool).
8381
8382 2002-09-19  Duncan Mak  <duncan@ximian.com>
8383
8384         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
8385         I18N/Common from building right now.
8386
8387 2002-09-19  Nick Drochak  <ndrochak@gol.com>
8388
8389         * Array.cs (CopyTo): Account for Object type and base (primitive) types
8390         * Type.cs (IsAssignableFrom): return false for a null parameter
8391
8392 2002-09-19  Nick Drochak <ndrochak@gol.com>
8393
8394         * Array.cs (CopyTo): Check that source type can be cast automatically
8395         to the destination type.
8396
8397 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8398
8399         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
8400         GetDefaultMembers.
8401
8402 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8403
8404         * Char.cs: implemented ToString (char)
8405         * IntegerFormatter.cs: made it internal.
8406
8407 2002-09-13  Nick Drochak  <ndrochak@gol.com>
8408
8409         * Enum.cs (Format): handle the "d" format for both signed and unsigned
8410         underlying types.
8411
8412 2002-09-12  Dick Porter  <dick@ximian.com>
8413
8414         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
8415         attribute, as there doesn't appear to be any struct
8416         layout-depending code here (and corcompare says it should be
8417         LayoutKind.Sequential)
8418
8419         * Decimal.cs: Stub out missing methods, add
8420         [DecimalConstantAttribute] to the constant fields (as shown by
8421         corcompare).
8422
8423         * LocalDataStoreSlot.cs: 
8424         * Environment.cs: 
8425         * Char.cs: 
8426         * Array.cs: Stub out missing methods.
8427
8428         * TypedReference.cs: 
8429         * ArgIterator.cs: Stub out
8430
8431         * AppDomainSetup.cs: 
8432         * AppDomain.cs: Stub out missing methods, add missing
8433         ClassInterface(ClassInterfaceType.None) attribute.
8434
8435 2002-09-12  Nick Drochak  <ndrochak@gol.com>
8436
8437         * Double.cs (ToString): Throw exception when "X" format is passed in.
8438
8439 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
8440
8441         * MonoType.cs: implemented Module property.
8442
8443 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
8444
8445         * MonoType.cs, Type.cs: implemented InvokeMember.
8446
8447 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
8448
8449         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
8450         type. Check the method signature matches.
8451
8452 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
8453
8454         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
8455
8456 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
8457
8458         * Console.cs: Specify an encoder, otherwise we will get the UTF8
8459         encoder that by default emits the byte markers.
8460
8461 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
8462
8463         * Delegate.cs: look also for non-public methods until we have the
8464         security checks in place.
8465
8466 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
8467
8468         * MonoType.cs: consider also the full name in GetInterface.
8469
8470 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8471
8472         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
8473         GetMethodImpl using the binder.
8474         * Type.cs: GetConstructorImpl/GetConstructor fixes.
8475
8476 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8477         * Enum.cs: Get rid of warning CS0162.
8478
8479 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
8480
8481         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
8482         actual value instead of public.
8483
8484         * LocalDataStoreSlot.cs: Make constructor internal.
8485
8486         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
8487         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
8488         instead of public.
8489
8490 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8491         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
8492                    properly.
8493
8494 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8495
8496         * DateTime.cs: fixed buglet.
8497
8498 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
8499
8500         * MonoType.cs: speedup access to common data.
8501
8502 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8503
8504         * Double.cs: implemented TryParse.
8505
8506         * Math.cs: PowImpl is now private.
8507
8508         * MissingFieldException.cs: implemented Message.
8509
8510         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
8511
8512         * _AppDomain.cs: Uncommented ToString.
8513
8514 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8515
8516         * Type.cs:
8517         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
8518
8519 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8520
8521         * ArgumentException.cs: use the field instead of the property for
8522         param_name.
8523
8524         * ArgumentOutOfRangeException.cs: modified Message.
8525
8526         * DateTime.cs: 
8527         (_DoParse): throw out of range exception for year. Removed check
8528         for month (it's done in the constructor).
8529
8530 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
8531
8532         * Environment.cs: Implemented OSVersion property.
8533
8534 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
8535
8536         * Exception.cs: set stack_trace to null
8537
8538 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
8539
8540         * AppDomain.cs: implemented ToString().
8541
8542 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8543
8544         * AppDomain.cs: securityInfo can be null in CreateDomain.
8545
8546 2002-08-19  Dick Porter  <dick@ximian.com>
8547
8548         * MonoType.cs: Add a space before the Assembly name in
8549         AssemblyQualifiedName (needed for resource files so the MS runtime
8550         can load types)
8551
8552 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8553
8554         * AppDomain.cs: parameter name when throwing ArgumentNullException.
8555
8556         * ArgumentException.cs: modified Message to do what MS does.
8557
8558         * ArgumentNullException.cs: don't use {0} in message.
8559
8560         * Exception.cs: use Message property in ToString ().
8561
8562 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
8563
8564         * WeakReference.cs: Changed the constructor and GetObjectData
8565         method needed for ISerializable implementation in order to be
8566         compatible with SOAP generated by MS.
8567
8568 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
8569
8570         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
8571
8572 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
8573
8574         * Exception.cs (ToString): changed the ouput format.
8575
8576 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
8577
8578         * MonoType.cs: moved get_method icall to this class, we can
8579         remove it as soon someone provides a full featured GetMethodImpl.
8580
8581         * Type.cs: use GetMethodImpl everywhere.
8582
8583         * Delegate.cs: new CreateDelegate implementations.
8584
8585 2002-08-06  Tim Coleman <tim@timcoleman.com>
8586         * MonoType.cs: 
8587                 Fix bug #28582.  Now checks parameters for properties
8588                 in GetPropertyImpl.
8589
8590 2002-08-04  Nick Drochak  <ndrochak@gol.com>
8591
8592         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
8593
8594 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8595
8596         * String.cs:
8597         (FormatSpecifier): allow white space between the comman and the width
8598         specifier.
8599
8600 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8601
8602         * Int32.cs:
8603         * Int64.cs:
8604         * UInt32.cs:
8605         * UInt64.cs: fixed bug #28050. May be a MS bug?
8606
8607 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
8608
8609         * MonoType.cs: fix IsArrayImpl.
8610
8611 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8612
8613         * String.cs: make ToLower (culture) and ToUpper (culture) use the
8614         default ToLower and ToUpper and don't throw NotImplemented.
8615
8616 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
8617
8618         * Type.cs: make GettTypeCode an icall. Test implementation of
8619         GetMember().
8620
8621 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8622
8623         * AppDomainSetup.cs: implemented LoaderOptimization.
8624
8625 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8626
8627         * Activator.cs: some more intermediate results checking in
8628         in CreateInstance and CreateInstanceFrom and use GetConstructor and
8629         Invoke only with Type [] until the other overloaded versions work.
8630
8631 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8632
8633         * Activator.cs: reformatted. Implemented CreateInstance* methods
8634         that return ObjectHandle.
8635
8636         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
8637
8638 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8639
8640         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
8641         the divisor is not) and avoid the icall, which seems to have a bug.
8642
8643 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8644
8645         * Double.cs (CompareTo): Correctly handle the case where the instance
8646         is NaN. Also return 0 if the values are equal.
8647
8648 2002/07/03  Nick Drochak <ndrochak@gol.com>
8649
8650         * MissingMethodException: Add missing Message property
8651         * MissingMemberException: Add missing Message property
8652
8653 2002-06-30  Nick Drochak  <ndrochak@gol.com>
8654
8655         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
8656         subtraction trick, it doesn't work when the values have a diference of
8657         less than one.
8658
8659         * Single.cs (CompareTo): same
8660
8661 2002-06-27  Martin Baulig  <martin@gnome.org>
8662
8663         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
8664         constructor argument.  [FIXME: The implicit conversion to an
8665         unsigned integer doesn't work with mcs.]
8666
8667 2002-06-26  Martin Baulig  <martin@gnome.org>
8668
8669         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
8670         not `S = System'.  This file now compiles with mcs.
8671
8672         * String.cs: Removed the already ifdef-outed __arglist Concat function
8673         to make it compile with mcs.
8674
8675 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8676
8677         * IntegerFormatter.cs:
8678         (FormatParse.FormatNumber): fixed custom format for negative numbers.
8679
8680 2002-06-21  Martin Baulig  <martin@gnome.org>
8681
8682         * Double.cs: Replace the private `enum State' with constants since this
8683         will avoid some bigger headaches in mcs.
8684
8685 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
8686
8687         * TimeSpan.cs: do not pollute the namespace with the
8688         System.Parser name.
8689
8690 2002-06-18  Nick Drochak  <ndrochak@gol.com>
8691
8692         * ArgumentException.cs: Use the message given in the constructor when
8693         accessing the Message property.  Thanks to Dietmar for the help with 
8694         "base".
8695
8696 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
8697
8698         * MonoType.cs: GetField is now a InternalCall
8699
8700 2002-06-13  Nick Drochak  <ndrochak@gol.com>
8701
8702         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
8703         sortable format(s), e.g. "2002-02-25"
8704
8705 2002/06/12  Nick Drochak <ndrochak@gol.com>
8706
8707         * Random.cs (Next): Fix math error.  Return a number within the range.
8708
8709 2002-06-12  Nick Drochak  <ndrochak@gol.com>
8710
8711         * String.cs (IndexOf): Return -1 if start index is equal to string
8712         length.
8713
8714 2002-06-10  Duncan Mak  <duncan@ximian.com>
8715
8716         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
8717         (ToType): Added null field in conversionTable to avoid
8718         IndexOutOfRangeException. Changed what exceptions we throw to match
8719         the spec.
8720         
8721 2002-06-11  Nick Drochak  <ndrochak@gol.com>
8722
8723         * Int64.cs (Parse): Added unique strings to the messages where we throw
8724         a FormatException. Needed these to debug, so just left them in since
8725         they might be useful later. Fixed Currency parsing where we weren't
8726         looking at CurrencyDecimalSeparator, etc.
8727
8728 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
8729
8730         * DateTime.cs: fixes to pass tests M0 to M6:
8731                 if yy pattern then year values >= 30 are in 20th century
8732                 rfc1123 pattern is always in GMT, therefor useutc must be false
8733         made GetNow() internal static so it can be called from TimeZone.
8734         * TimeZone.cs: removed dependency on year 2002 from initialization of 
8735         current timezone.
8736
8737 2002-06-09  Duncan Mak  <duncan@ximian.com>
8738
8739         * Convert.cs (ToType): Rearranged what Exceptions we throw to
8740         match MS behavior.
8741
8742 2002-06-08  Duncan Mak  <duncan@ximian.com>
8743
8744         * Decimal.cs: Added support for the IConvertible interface.
8745
8746 2002-06-08  Martin Baulig  <martin@gnome.org>
8747
8748         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
8749         doesn't necessarily need to be of the enum's underlying type.
8750
8751 2002/06/07  Nick Drochak <ndrochak@gol.com>
8752
8753         * String.cs: Add [Serializable] to class
8754         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
8755
8756 2002-06-04  Nick Drochak  <ndrochak@gol.com>
8757
8758         * Double.cs (Parse): Recognize the group separator string, but still we
8759         don't check the format for the proper number of digits between
8760         separators. Also throw OverflowException when we get Pos or Neg
8761         Infinity from runtime.
8762
8763 2002-06-03  Duncan Mak  <duncan@ximian.com>
8764
8765         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
8766
8767 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
8768
8769         * Type.cs: fixed GetTypeCode.
8770
8771 2002-06-02  Duncan Mak  <duncan@ximian.com>
8772
8773         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
8774         cast from an int so that we throw OverFlowException correctly.
8775         
8776         (ToInt64): Use a new 64bit version of ConvertToBase.
8777         
8778         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
8779         and Int32.MaxValue).
8780
8781         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
8782
8783 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8784
8785         * Convert.cs (ToSByte): Check for special value.
8786         * Single.cs (Parse): 
8787         * UInt16.cs (Parse):
8788         * UInt32.cs (Parse): Throw OverflowException if negative
8789
8790 2002-06-02  Duncan Mak  <duncan@ximian.com>
8791
8792         * Convert.cs (DBNull): Point it to DBNull.Value.
8793         (IsDBNull): Instead of checking typecodes, just check to see if
8794         it's the same as the DBNull field.
8795
8796 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8797
8798         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
8799
8800 2002-06-02  Duncan Mak  <duncan@ximian.com>
8801
8802         * Char.cs (Parse): Simplify the Exception handling.
8803
8804         * Convert.cs (ToDecimal): Remove call to Math.Round () when
8805         converting from a float.
8806
8807 2002-05-30  Martin Baulig  <martin@gnome.org>
8808
8809         * MonoType.cs (GetInterface): Implemented.
8810
8811 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8812
8813         * Activator.cs: implemented CreateInstance ().
8814
8815 2002-05-22  Duncan Mak  <duncan@ximian.com>
8816
8817         * Convert.cs (ConvertToBase): Added new 64bit version.
8818         (BuildConvertedString64): New 64bit version of
8819         BuildConvertedString.
8820
8821         This fixes bug 25068.
8822
8823         (ConvertFromBase): Added additional test for checking if the
8824         digits are valid. Thanks to Miguel for coming up with this test.
8825
8826         This fixes bug 25071.
8827         
8828 2002-05-21  Duncan Mak  <duncan@ximian.com>
8829
8830         * Convert.cs (ToType): Rearranged to fit the new layout of
8831         conversionTable.
8832
8833         (conversionTable): Rearranged to fit the layout of the
8834         System.TypeCode enum.
8835
8836         This should fix bug 25075.
8837         
8838 2002-05-21  Duncan Mak  <duncan@ximian.com>
8839
8840         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
8841         mixed up the two code paths, one for converting to a specific base
8842         (this case), another from converting from a foreign base to base10
8843         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
8844
8845         * Convert.cs (ToByte)
8846         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
8847         that we won't confuse FormatException with OverflowException.
8848
8849 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
8850
8851         * Environment.cs: CommandLine missed spaces between arguments.
8852         Implemented StackTrace. Returning MachineName in UserDomainName
8853         instead of null.
8854         
8855 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
8856
8857         * MonoCustomAttrs.cs: handle inherit argument.
8858
8859 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8860
8861         * Math.cs (Pow): Change icall method name and insert parameter
8862         checks in for infinities and NaN.
8863
8864 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
8865
8866         * Double.cs (Parse): Reimplement by cleaning up the string first,
8867         and then passing to strtof in the mono runtime.
8868
8869         * Single.cs (Parse): Use the Double implementation and cast to
8870         float. 
8871
8872 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8873
8874         * Math.cs 
8875                 (Ceiling): Check for "special" values
8876                 (Floor): Check for "special" values
8877                 (Round): Fix off-by-one error on decimal shifting
8878
8879 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
8880
8881         * DateTime.cs: ToString () using "G" format specifier 
8882
8883 2002-05-19  Martin Baulig  <martin@gnome.org>
8884
8885         * Convert.cs (FromBase64CharArray): Do correct exception handling.
8886
8887 2002-05-19  Martin Baulig  <martin@gnome.org>
8888
8889         * Convert.cs (FromBase64CharArray): Convert the char array using
8890         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
8891         a byte array.
8892
8893 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
8894
8895         * MonoType.cs: Style changes.
8896
8897         * Type.cs: Style changes.
8898
8899 2002-05-16  Piers Haken <piersh@friksit.com
8900
8901         * UInt64.cs: fix declaration of IConvertible.To* overrides.
8902
8903 2002-05-16  Nick Drochak  <ndrochak@gol.com>
8904
8905         * BitConverter.cs (ToString): Add parameter check for invalid start 
8906         index.
8907
8908         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
8909         now that StreamWriter uses buffering
8910
8911 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
8912
8913         * Double.cs: Oops.  Also handle exponents without finding a dot.
8914
8915 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8916
8917         * ChangeLog: removed empty entry at the top of the file.
8918
8919         * Int32.cs: made static functions used by Parse internal.
8920
8921         * Int64.cs:
8922         * UInt32.cs:
8923         * UInt64.cs: removed static fucntions used by Parse and use the ones
8924         in Int32.cs
8925
8926 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
8927
8928         * IServiceProvider.cs: added using System
8929
8930 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
8931
8932         * Single.cs: copied ToString() and Parse() methods from 
8933         Double to Single and modified a tiny bit for Single.  
8934         There is still a FIXME for Double and Single about
8935         passing the format and provider info to the icall too.
8936
8937 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8938
8939         * Int32.cs:
8940         * Int64.cs:
8941         * UInt32.cs:
8942         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
8943         Don't use a delegate to test for valid digits.
8944
8945 2002-05-01  Duncan Mak  <duncan@ximian.com>
8946
8947         * Convert.cs: 
8948         * Math.cs: Added missing CLSCompliant attributes where necessary.
8949         
8950 2002-04-30  Duncan Mak  <duncan@ximian.com>
8951
8952         * ArgumentException.cs (Message): 
8953         * ArgumentOutOfRangeException.cs (Message): Added.
8954
8955 2002-04-30  Nick Drochak  <ndrochak@gol.com>
8956
8957         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
8958
8959 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
8960
8961         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
8962
8963 2002-04-28  Duncan Mak  <duncan@ximian.com>
8964
8965         * DivideByZeroException.cs: Added missing serialization constructor.
8966
8967         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
8968
8969 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8970
8971         * Math.cs: fix Floor () and Round (). Closes #23960.
8972
8973 2002-04-27  Nick Drochak  <ndrochak@gol.com>
8974
8975         * Array.cs (IList.Contains): Should throw a RankException if this is 
8976         called on a Rank > 1 array. Not in the docs, but this is what the 
8977         MS.NET does.
8978
8979 2002-04-26  Duncan Mak  <duncan@ximian.com>
8980
8981         * MissingMemberException.cs: Made the message variable 'protected'
8982         instead of 'private', so that we can see it in
8983         MissingMethodException and MissingFieldException.
8984
8985         * MissingFieldException.cs:
8986         * MissingMethodException.cs: Added missing (string, string)
8987         constructor, and also the Message property.
8988
8989 2002-04-26  Martin Baulig  <martin@gnome.org>
8990
8991         * Enum.cs: Implemented the IConvertible methods.
8992
8993 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8994
8995         * SByte.cs: little change in Parse (string) to avoid incorrect
8996         OverflowException thrown (reported by nickd).
8997
8998 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
8999
9000         * ValueType.cs: Add Serializable attribute.
9001
9002         * String.cs: ifdef-out out the __arglist Concat function until I
9003         add support for that to mcs.
9004
9005 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
9006
9007         * AppDomain.cs (GetValue): usage of the correct icall (bug)
9008
9009 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
9010
9011         * GC.cs: implement most of the methods as icalls.
9012
9013 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9014
9015         * DecimalFormatter.cs (ToString): return correct value when the
9016         decimal number is 0.
9017
9018 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
9019         
9020         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
9021         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
9022
9023 2002-04-24  Nick Drochak  <ndrochak@gol.com>
9024
9025         * Double.cs (Parse): Handle case where there are no digits before the 
9026         decimal point, such as ".1".
9027
9028 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9029
9030         * Int32.cs:
9031         * UInt32.cs:
9032         * Int64.cs:
9033         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
9034
9035 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
9036
9037         * String.cs (Split): fixed invalid split of count 0 and 1.
9038         
9039 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
9040         
9041         * String.cs (LastIndexOf): fixed argument checking.
9042         * String.cs (Equals): made internal for performace.
9043
9044 2002-04-23  Nick Drochak  <ndrochak@gol.com>
9045
9046         * String.cs (Join): check argument and throw exception if needed
9047
9048 2002-04-23  Nick Drochak  <ndrochak@gol.com>
9049
9050         * String.cs (StartsWith): check argument and throw exception if needed
9051
9052 2002-04-22  Nick Drochak  <ndrochak@gol.com>
9053
9054         * String.cs (IndexOfAny): check arguments and throw exceptions as
9055         neccessary.  ALso remove some debug WriteLines.
9056
9057 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
9058
9059         * String.cs: use internal constructors
9060         buf fix in Concat.
9061
9062 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
9063
9064         * MonoType.cs: make GetElementType its own icall.
9065
9066 2002-04-18  Nick Drochak <ndrochak@gol.com>
9067
9068         * String.cs: Modified file. Re-add methods needed by the unit tests.
9069
9070 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
9071
9072         * String.cs: some code speedups and restored GetTypeCode().
9073
9074 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
9075
9076         * String.cs: New implementation using internal calls.
9077         
9078 2002-04-16  Nick Drochak  <ndrochak@gol.com>
9079
9080         * DecimalFormatter.cs: Trim off excess null characters from the string
9081         that decimal2string gives back.
9082
9083 2002-04-16  Nick Drochak  <ndrochak@gol.com>
9084
9085         * String.cs (SubString): revert my change.  I can't reproduce the
9086         problem anymore.
9087
9088 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9089
9090         * Attribute.cs: added GetHashCode and Equals.
9091
9092 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9093
9094         * Enum.cs: little improvements to Format ().
9095
9096 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
9097
9098         * String.cs: internalcall GetHashCode().
9099         * Array.cS: optimize access to elements.
9100
9101 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
9102
9103         * String.cs: make IndexOfAny() use an internalcall.
9104
9105 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9106
9107         * Int32.cs:
9108         * UInt32.cs:
9109         * Int64.cs: 
9110         * UInt64.cs: fixed error when testing for validity of flags.
9111
9112 2002-04-11  Nick Drochak  <ndrochak@gol.com>
9113
9114         * Double.cs: Use an internal call for ToString(). This is just a simple
9115         implementation to get away from throwing a NotImplementedException.
9116
9117 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9118
9119         * Int32.cs:
9120         * UInt32.cs:
9121         * Int64.cs: 
9122         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
9123         lupus.
9124
9125         * Int32.cs:
9126         * Int64.cs: throw an OverFlowException when parsing a string 
9127         containing a dot followed by any non '0' number.
9128
9129 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9130
9131         * Byte.cs:
9132         * UInt16.cs:
9133         * UInt32.cs:
9134         * UInt64.cs: added complex Parse ().
9135
9136 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9137
9138         * SByte.cs:
9139         * Int16.cs:
9140         * Int32.cs:
9141         * Int64.cs: added complex Parse ().
9142
9143 2002-04-09  Nick Drochak  <ndrochak@gol.com>
9144
9145         * Array.cs (BinarySearch): Add checks on paramters before using them
9146         and throw exceptions as needed.
9147
9148         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
9149         "G" format to "F" if so.
9150
9151 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
9152
9153         * MonoCustomAttrs.cs: return arrays of type Attribute[]
9154         instead of object[].
9155
9156 2002/04/09  Nick Drochak <ndrochak@gol.com>
9157
9158         * String.cs (Substring): Copy only non-null characters to the new
9159         string.
9160
9161 2002-04-09  Nick Drochak  <ndrochak@gol.com>
9162
9163         * IntegerFormatter.cs: Don't use a format character to indicate a
9164         custom format was passed in. It was using 'z' to indicate a custom
9165         format, but really it should throw a format exception if the user
9166         tries to use "z" as the format string. Now it does.
9167
9168         * Activator.cs: New File.
9169
9170 2002-04-08  Nick Drochak  <ndrochak@gol.com>
9171
9172         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
9173         applied to an enum. Need to handle the different possible integer
9174         types of an enum somehow.  Can anyone say generics?
9175
9176 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
9177
9178         * Convert.cs: switched the To*(object) methods to use
9179         IConvertible directly instead of calling ChangeType
9180
9181 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
9182
9183         * ValueType.cs: make Equals() an internalcall.
9184
9185 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
9186
9187         * Type.cs: also look for nested types in FindMembers.
9188         * MonoType.cs: make GetNestedTypes() an internalcall.
9189
9190 2002-04-05  Nick Drochak  <ndrochak@gol.com>
9191
9192         * Enum.cs (Parse): Handle different underlying types.
9193
9194 2002/04/04 Nick Drochak <ndrochak@gol.com>
9195
9196         * Enum.cs (IsDefined): Throw exception when type of value to look for
9197         is not the correct one.  Attempt to have it work with string values
9198         too, but not sure if the unit tests are getting that far yet.
9199
9200 2002-04-04  Nick Drochak  <ndrochak@gol.com>
9201
9202         * Decimal.cs: Fix a couple of typos.
9203
9204 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
9205
9206         * Enum.cs: the values array is of the enum and not of the underlying
9207         type. Updates and some bug fixes.
9208         * MonoType.cs: make the internalcall return FullName instead of the
9209         assembly qualified name.
9210         * Type.cs: make ToString () simply return FullName.
9211
9212 2002-04-03  Nick Drochak  <ndrochak@gol.com>
9213
9214         * Type.cs (GetTypeCode): provide some of the implementation for this
9215         method.  It's still too simplistic to be considered complete.
9216
9217 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
9218
9219         * Object.cs: fixed FieldGetter/FieldSetter signature
9220
9221 2002-04-02  Nick Drochak  <ndrochak@gol.com>
9222
9223         * Environment.cs: add MonoTODO's on parts that should have it.
9224
9225 2002-04-01  Nick Drochak  <ndrochak@gol.com>
9226
9227         * Enum.cs: added reality checks (check parameters to most methods that
9228         need them).
9229
9230 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
9231
9232         * Object.cs: added FieldGetter/FieldSetter
9233
9234 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9235
9236         * IntegerFormatter.cs: fixed initialization error in static
9237         constructor.
9238
9239 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
9240
9241         * Delegate.cs: added new field to store a trampoline function
9242
9243 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9244
9245         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
9246         make custom format strings work (not fully functional yet).
9247
9248 2002/03/28  Nick Drochak <ndrochak@gol.com>
9249
9250         * IntegerFormatter.cs: Change class from internal to public.  Add
9251         necessary [CLSCompliant(false)] attributes.
9252
9253 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9254         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
9255         (was a typo)
9256
9257 2002-03-28  Nick Drochak  <ndrochak@gol.com>
9258
9259         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
9260
9261 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
9262
9263         * Console.cs: Modified to get std handles from MonoIO.
9264         * Environment.cs: removed PAL dependencies.
9265
9266 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
9267
9268         * String.cs (System): Removed internal enumeration, because
9269         bootstrapping the corlib at this point does not support
9270         enumerations. 
9271
9272         * IntPtr.cs: Temporary work-around until I fix the assembly
9273         attributes bug.
9274
9275 2002-03-24  Martin Baulig  <martin@gnome.org>
9276
9277         * Enum.cs (GetValues): According to the docu this is sorted after
9278         values, not names.
9279
9280         * String.cs (System): Removed enumeration, because it is pretty
9281         hard to support enumerations in /nostdlib mode for the core types.
9282
9283 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9284
9285         * Array.cs: move error handling in the catch block.
9286         * MulticastDelegate.cs: remove == and != operators that were
9287         removed with the delegate changes (when you add stuff, please do not
9288         remove existing functionality!).
9289         * Type.cs: if a property is not found in a type, search for it
9290         in the parent types, too.
9291
9292 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
9293         
9294         * Math.cs: changed to use icall instead of PAL.
9295
9296 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9297
9298         * Double.cs: added check for NaN (Bug [22082])
9299
9300 2002-03-19  Nick Drochak  <ndrochak@gol.com>
9301
9302         * Enum.cs (Equals): check for null and throw if it is.
9303         * Enum.cs (Format): check for null parameters and throw if necessary.
9304         This method still needs more argument checking.
9305
9306 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9307
9308         * Enum.cs (Equals): check if Enums are of the same type
9309
9310 2002-03-18  Nick Drochak  <ndrochak@gol.com>
9311
9312         * Double.cs: Explicitly handle comparisons in CompareTo() for
9313         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
9314
9315         * Enum.cs(CompareTo): Check types of values before trying to compare.
9316         Throw exceptions if types are invalid or don't match.
9317
9318 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9319
9320         * Array.cs: Add some extra debugging information.
9321
9322 2002-03-15  Nick Drochak  <ndrochak@gol.com>
9323
9324         * Array.cs: Added IList and IEnumerable. 
9325
9326 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9327
9328         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
9329         NonCLSCompliant. 
9330
9331 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
9332
9333         * Delegate.cs (Equals): also compare method_ptr 
9334         (GetHashCode): returm method_ptr as hash
9335
9336 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
9337         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
9338         such as 42.ToString("0000000"), as these are (currently) not implemented
9339         in System.IntegerFormatter. TimeSpan luckely can do with Standard
9340         Numeric Format Strings, such as 42.ToString("D7").
9341
9342 2002-03-12  Duncan Mak  <duncan@ximian.com>
9343
9344         * FieldAccessException.cs: 
9345         * MethodAccessException.cs: 
9346         * PlatformNotSupportedException.cs: Inherit from
9347         MemberAccessException, not SystemException.
9348
9349         * ObsoleteAttribute.cs: Made Message and IsError properties
9350         instead of fields.
9351
9352 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
9353
9354         * GC.cs: make SuppressFinalize() a nop.
9355         * Delegate.cs: fix == operator.
9356
9357 2002-03-13  Nick Drochak  <ndrochak@gol.com>
9358
9359         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
9360         runtime that goes with this patch.
9361
9362 2002-03-10  Martin Baulig  <martin@gnome.org>
9363
9364         * Int32.cs (Parse): Correctly parse negative numbers.
9365
9366 2002-03-08  Martin Baulig  <martin@gnome.org>
9367
9368         * String.cs (Split): Really fix it this time. Also adding several new
9369         testcase to the testsuite.       
9370
9371 2002-03-08  Martin Baulig  <martin@gnome.org>
9372
9373         * Array.cs (Copy): Optimized: removed duplicate null check, removed
9374         two duplicate GetLowerBound() calls and one duplicate IsValueType.
9375
9376 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9377
9378         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
9379         * String.cs: use the dumb code for IndexOf(string): this is worth
9380         15-20 % speedup in mcs compile with mint.
9381
9382 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
9383
9384         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
9385
9386 2002-03-07  Martin Baulig  <martin@gnome.org>
9387
9388         * String.cs (Join): Throw an ArgumentNullException.
9389         (LastIndexOf (string,int,int)): This method does a backwards search,
9390         so startIndex points to the end of value, not to its beginning. Don't
9391         throw an exception if startIndex equals this.Length. Always return -1
9392         if startIndex is smaller than the length of value.
9393         (Replace (string,string)): Replace all occurences of oldValue.
9394         If newValue is null, all occurences of oldValue are to be removed.
9395         (Split (char[],int)): Return an empty array if maxCount is zero, throw
9396         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
9397         elements, not maxValue+1.
9398
9399 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
9400
9401         * MonoType.cs: make GetEvents() an internal call.
9402         * MulticastDelegate.cs: copy the passed in array.
9403
9404 2002-03-06  Martin Baulig  <martin@gnome.org>
9405
9406         * Array.cs (Copy): Use FastCopy when appropriate and do correct
9407         exception handling.
9408
9409 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
9410         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
9411         some of the failures found be new tests (see ChangeLog in 
9412         Test/System). Comments added to this method, based on
9413         the representation invariant of this class, that (try to) explain
9414         why it now should be correct.
9415
9416 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
9417
9418         * Int64.cs (Parse): bug fix for max. negative value. 
9419
9420 2002-03-07  Nick Drochak  <ndrochak@gol.com>
9421
9422         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
9423         I need to understand what the difference between the attribute and
9424         the interface is.
9425
9426 2002-03-06  Martin Baulig  <martin@gnome.org>
9427
9428         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
9429         an InvalidCastException if the widening conversion failed. See
9430         testcases #M94-#M96.
9431
9432         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
9433         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
9434         for this.
9435
9436         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
9437         (Copy): Actually allow copying multi-dimensional arrays.
9438
9439 2002-03-05  Duncan Mak  <duncan@ximian.com>
9440
9441         * Convert.cs:
9442         (DBNull) Added the missing field.
9443         (IsDBNull) Fixed typo.
9444         (ToByte (string, int)) Implemented.
9445         (ToString (byte, int)) Implemented.
9446         (ConvertToBase)
9447         (BuildConvertedString) internal functions used for converting values to
9448         a specific base.
9449
9450         * Int16.cs: 
9451         * Int32.cs:
9452         * Int64.cs:
9453         * Single.cs:
9454         * UInt16.cs: 
9455         * UInt32.cs: Implemented the IConvertible interface.    
9456
9457         * CharEnumerator.cs: Renamed to variables to be clearer and
9458         changed some of the tests to conform to the 1.0 spec.
9459
9460 2002-03-06  Martin Baulig  <martin@gnome.org>
9461
9462         * Array.cs (Copy): Calculate absolute array position here and use
9463         GetValueImpl() and SetValueImpl() with that position. We can now
9464         copy multi-dimensional arrays.
9465         (CopyTo): Small bug fix.
9466
9467 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
9468
9469         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
9470         Nick (See VersionTest.cs).
9471         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
9472         error comparing the current position (idx) against the length of the
9473         string iterated and it set idx to an unrecognized special value (-2)
9474
9475 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
9476
9477         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
9478         to do this dirty work, but someone has to do it (and I need it to pass
9479         the "200 sample tests compiled on linux" mark).
9480
9481 2002-03-06  Nick Drochak  <ndrochak@gol.com>
9482
9483         * Attribute.cs
9484         * DecimalFormatter.cs
9485         * Delegate.cs
9486         * Double.cs
9487         * GC.cs
9488         * Int16.cs
9489         * Int32.cs
9490         * MonoType.cs
9491         * RuntimeMethodHandle.cs
9492         * RuntimeTypeHandle.cs
9493         * String.cs
9494         * Type.cs:
9495                 Add [MonoTODO]'s to places where we currently throw a
9496                 NotImplementedException.
9497
9498 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
9499
9500         * Int16.cs (Parse): do not overflow on max negative value
9501
9502         * Int32.cs (Parse): do not overflow on max negative value
9503
9504 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
9505
9506         * Type.cs: fixed IsClass.
9507         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
9508         IsByRefImpl. Added GetInterfaces().
9509         * IServiceProvider.cs: compilation fix.
9510
9511 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
9512
9513         * Array.cs: allow copying an empty array to an empty array.
9514
9515 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
9516
9517         * String.cs: fixed LastIndexOf (string) to do a bit of argument
9518         checking.
9519
9520 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
9521         * Version.cs: many fixes to failures found by the newly created
9522         test cases for this class. Specifically, the CompareTo member
9523         returned wrong values due to the use of Int32.MaxValue as a special
9524         value indicating an "undefined" version component. Also implemented the
9525         missing operators (==, <, >, etc.), one missing constructor and
9526         and some exception throwing.
9527
9528 2002-03-04  Nick Drochak  <ndrochak@gol.com>
9529
9530         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
9531         * Attribute.cs: Add missing attributes: Serializable and
9532         AttributeUsage(AttributeTargets.All)
9533
9534 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9535
9536         * MonoType.cs: implemented GetConstructors(), GetFields(),
9537         GetMethods(), GetProperties().
9538         * Object.cs: added debugging icall obj_address().
9539         * Type.cs: fixed the binding flags for some Get* methods.
9540         Implemented FindMembers() as calls to the specific GetMember
9541         methods.
9542
9543 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9544         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
9545         should give an exception for n>=s.Length.
9546
9547 2002-03-01  Martin Baulig  <martin@gnome.org>
9548
9549         * Array.cs: More argument checking and bug fixing.
9550
9551 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
9552
9553         * BitConverter.cs: Indentation match
9554
9555         * AppDomain.cs: Added MonoTODOs to this too.
9556
9557         * Buffer.cs: Added MonoTODOs to this.
9558
9559 2002-03-01  Martin Baulig  <martin@gnome.org>
9560
9561         * Array.cs: Added argument checking to all methods where it was missing.
9562
9563 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9564
9565         * BitConverter.cs: Fixed bugs in ToString methods
9566
9567 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
9568
9569         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
9570
9571 2002-03-01  Nick Drochak  <ndrochak@gol.com>
9572
9573         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
9574         ArgumentOutOfRangeException like the docs say.
9575
9576 2002-03-01  Martin Baulig  <martin@gnome.org>
9577
9578         * Enum.cs (CompareTo): Correctly override this method from IComparable.
9579
9580         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
9581
9582 2002-02-28  Martin Baulig  <martin@gnome.org>
9583
9584         * String.cs: This file now passes the testsuite on Linux :-)
9585         
9586         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
9587         make them private and provide C# wrappers which do proper argument checking.
9588
9589         * String.cs (Format): Correctly handle escaped brackets.
9590
9591         * String.cs (_CompareChar): New internal function which compares two chars.
9592         (_Compare): Provide an internal compare method which can do all sorts of
9593         comparision and call it from all the Compare() methods. Also fixed a lot of
9594         bugs here, this code now actually passes the testsuite.
9595
9596 2002-02-28  Duncan Mak  <duncan@ximian.com>
9597
9598         * Convert.cs: Added the missing methods. The new class status page
9599         kicks ass, it even found my typos! Woohoo!
9600         (ConvertFromBase): Moved the Exception throwing in here and
9601         removed the other occurances so it's all centralized now.
9602         (ISDBNull): Implemented.
9603         (GetTypeCode): Implemented.
9604
9605 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9606         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
9607         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
9608         states that a lacking format should be interpreted as "N".  
9609         Also added [Serializable] attribute
9610         * TimeSpan.cs: some formatting and added the [Serializable] attribute
9611
9612 2002-02-26  Duncan Mak  <duncan@ximian.com>
9613
9614         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
9615
9616 2002-02-26  Martin Baulig  <martin@gnome.org>
9617
9618         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
9619         fields of the interncall GetTimeZoneData.
9620
9621         * DateTime.cs: Implemented Parse and fixed a few bugs.
9622
9623         * String.cs (TrimStart): Small fix.
9624
9625 2002-02-26  Martin Baulig  <martin@gnome.org>
9626
9627         * DateTime.cs: ParseExact is now fully functional.
9628
9629         * String.cs (TrimEnd): Small fix.
9630
9631 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
9632         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
9633         missing for about six months.
9634
9635 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9636
9637         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
9638
9639 2002-02-26  Martin Baulig  <martin@gnome.org>
9640
9641         * DateTime.cs: Miguel already committed this, but there was still a
9642         ChangeLog entry for this missing ....
9643         We're now reusing functionality from TimeSpan, printing dates is
9644         fully implemented, currently working on parsing.
9645
9646         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
9647         runtime for this.
9648
9649 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
9650
9651         * MonoType.cs: disable constructor.
9652         * Object.cs: make GetType() an internalcall.
9653         * Type.cs: added correct bindingflags to GetMethods ().
9654         All such calls should be reviewed to use the correct flags.
9655
9656 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9657
9658         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
9659         argument.
9660
9661 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
9662
9663         * Type.cs: implemented IsAssignableFrom.
9664
9665 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9666         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
9667         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
9668         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
9669         The former is documented by Microsoft. The latter is how they
9670         actually implemented it in mscorlib:-)
9671
9672 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9673
9674         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9675         runtime.
9676         * MonoType.cs: Implemented custom attributes methods.
9677
9678
9679 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9680         * Guid.cs: 
9681
9682 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9683
9684         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9685         runtime.
9686         * MonoType.cs: Implemented custom attributes methods.
9687
9688 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9689
9690         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
9691
9692 2002-02-19  Duncan Mak  <duncan@ximian.com>
9693
9694         * Convert.cs: Finished up the missing methods in Convert. Added a
9695         new private method ConvertFromBase.
9696
9697 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9698
9699         * String.cs: impl. IConvertible interface
9700
9701 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
9702         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
9703
9704 2002-02-18  Duncan Mak  <duncan@ximian.com>
9705
9706         * Convert.cs: Changed from using Type.GetType (string) to just
9707         typeof (). Probably will speed things up a bit?         
9708
9709 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
9710
9711         * Array.cs:         
9712         1. Fix for GetUpperBound to return correct values
9713         2. made some Properties virtual
9714         3. Adds IsFixedSize and IsReadOnly properties.
9715         4. changes CreateInstance(Type,int[],int[]) to throw Exception
9716         when third arg is null. InternalCall CreateInstance changed to  
9717         CreateInstanceImpl
9718         5. Fixed array.GetUpperBound at a couple of places
9719         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
9720         7. Added two FIXME's in BinarySearch functions.
9721
9722 2002-02-17  Duncan Mak  <duncan@ximian.com>
9723
9724         * TimeZone.cs:  Applied the rest of Ajay's patch for    
9725         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
9726         it works!
9727
9728 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
9729         * Guid.cs: added stub for Guid(string) ctor
9730
9731 2002-02-17  Duncan Mak  <duncan@ximian.com>
9732
9733         * Convert.cs: Near-complete implementation of Convert.cs
9734
9735         Added all the To* methods taking (object) and
9736         (object, IFormatProvider) as parameters.
9737
9738         Added [CLSCompliant (false)] attributes to methods dealing with
9739         unsigned types.
9740
9741         Added the missing section on converting to and from DateTime. Only
9742         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
9743
9744 2002-02-16  Duncan Mak  <duncan@ximian.com>
9745
9746         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
9747         make IsDaylightSavingTime (DateTime) call 
9748         IsDaylightSavingTime (DateTime, DaylightTime).  
9749         
9750         Added internal class CurrentTimeZone from Ajay. It needs more work
9751         to fill in the appropriate internal calls.
9752         
9753 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
9754
9755         * Type.cs: fix IsClass.
9756
9757 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
9758
9759         * String.cs: fix Trim().
9760
9761 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9762
9763         * String.cs: fix more off by one errors.
9764
9765 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
9766
9767         * MonoType.cs: fix IsValueTypeImpl.
9768         * Type.cs: fix IsEnum. Implement Equals methods.
9769
9770 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
9771
9772         * Int32.cs: implement IConvertible interface.
9773         
9774 2002-02-12  Duncan Mak  <duncan@ximian.com>
9775
9776         * TimeZone.cs: Implemented and added to CVS.
9777
9778 2002-02-11  Duncan Mak  <duncan@ximian.com>
9779
9780         * Convert.cs: Implemented the ChangeType () methods.
9781
9782 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
9783
9784         * Array.cs: make Clone() an internal call.
9785
9786 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9787         * Changed Guid.NewGuid so that it can use both System.Random and 
9788           System.Security.Cryptography.RandomNumberGenerator
9789
9790 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9791         * First version of Guid.NewGuid
9792
9793 2002-02-08  Duncan Mak  <duncan@ximian.com>
9794
9795         * RuntimeArgumentHandle.cs: Added to CVS.
9796
9797 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
9798
9799         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
9800         UnhandledExceptionEventHandler.cs: added delegates.
9801
9802 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
9803
9804         * MarshalByRefObject.cs: add ToString () method
9805         (apparently needed by nunit).
9806         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
9807         by it in the runtime.
9808
9809 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
9810         
9811         * String.cs (Format): implemented
9812
9813 2002-02-07  Duncan Mak  <duncan@ximian.com>
9814         
9815         * DuplicateWaitObjectException:
9816         * InvalidCastException:
9817         * NotImplementedException:
9818         * NotSupportedException:
9819         * NullReferenceException:
9820         * OutOfMemoryException:
9821         * OverflowException:
9822         * RankException:
9823         * StackOverflowException.cs:
9824         * UnauthorizedAccessException: Added missing constructor used for serialization.
9825
9826 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
9827
9828         * String.cs (System.Compare): bug fix 
9829
9830 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
9831
9832         * Enum.cs (Parse,  GetHashCode): impl. 
9833
9834 2002-02-05  Duncan Mak  <duncan@ximian.com>
9835
9836         * DBNull.cs: This is my first crack at the DBNull class. I think I
9837         actually got most of the IConvertible methods right, but I haven't
9838         done the research to test whether or not this is the correct
9839         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
9840
9841         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
9842
9843 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
9844
9845         * Enum.cs: added more functionality (GetName, ToObject, Equals)
9846
9847 2002-01-31  Duncan Mak  <duncan@ximian.com>
9848
9849         * InvalidOperationException.cs:
9850         * NotFiniteNumberException.cs:
9851         * ObjectDisposedException.cs:
9852         * TypeInitializationException.cs: Added missing bits for serialization/
9853         
9854         * AppDomainUnloadedException.cs:
9855         * ApplicationException.cs:
9856         * ArgumentOutOfRangeException.cs:
9857         * ArithmeticException.cs:
9858         * ArrayTypeMismatchException:
9859         * BadImageFormatException.cs:
9860         * Exception.cs:
9861         * MissingMemberException.cs:
9862         * TypeLoadException.cs: Added missing bits for serialization.
9863
9864 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
9865         * Guid.cs: implemented everything but Guid.NewGuid
9866
9867 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
9868
9869         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
9870         to have it in this interface and it screws up the method vtable setup.
9871
9872 2002-01-28  Andrei Zmievski <andrei@php.net>
9873
9874         * Double.cs: implemented IConvertible interface.
9875
9876 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
9877
9878         * ArgumentException.cs: Implement serialization constructor.
9879         (GetObjectData): Implement serializer.
9880         
9881         * ArgumentNullException.cs: Implement serialization constructor.
9882
9883         * Exception.cs: Implement serialization constructor.
9884         (GetObjectData): Implement serializer.
9885
9886 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9887
9888         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
9889
9890 2002-01-23  Duncan Mak  <duncan@ximian.com>
9891
9892         * EntryPointNotFoundException.cs:
9893         * FormatException: Added missing constructor and related bits.
9894
9895         * TypeLoadException: Added missing constructor, methods and properties.
9896
9897 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9898
9899         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
9900         manually getting the enumerator.
9901
9902         (AppDomain.AppDomain): Prime the loaded assemblies with the
9903         assemblies loaded by the runtime in our behalf.
9904
9905         * AppDomainSetup.cs: Remove private keyword, that is the default.
9906         Add a new property DisallowPublisherPolicy.
9907
9908         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
9909
9910 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
9911
9912         * MonoType.cs, Type.cs: many updates, corrected implementation,
9913         completed stubs.
9914
9915 2002-01-20  Andrei Zmievski <andrei@php.net>
9916
9917         * Byte.cs:
9918         * Char.cs: implemented IConvertible interface.
9919
9920         * Boolean.cs: use our own ToString() method directly.
9921
9922 2002-01-20  Duncan Mak  <duncan@ximian.com>
9923
9924         * Files I commited recently: Fixed indentation style.
9925
9926 2002-01-20 Nick Drochak  <ndrochak@gol.com>
9927
9928         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
9929         and delegates too. Added the appropriate usage flags.
9930
9931 2002-01-18  Duncan Mak  <duncan@ximian.com>
9932
9933         * CharEnumerator.cs: Implemented.
9934         * String.cs (System): Fixed the GetEnumerator () method(s).
9935
9936         * ObsoleteAttribute.cs:
9937         * STAThreadAttribute.cs:
9938         * MTAThreadAttribute.cs:
9939         * ThreadStaticAttribute.cs:
9940         * LoaderOptimizationAttribute.cs:
9941         * PlatformNotSupportedException.cs:
9942         * LoaderOptimization.cs: Added to CVS.
9943
9944 2002-01-18  Duncan Mak  <duncan@ximian.com>
9945
9946         * AppDomainUnloadedException.cs:
9947         * MethodAccessException.cs:
9948         * ContextMarshalException.cs:
9949         * CannotUnloadAppDomainException.cs:
9950         * DllNotFoundException.cs:
9951         * EntryPointNotFoundException.cs:
9952         * FieldAccessException.cs:
9953         * TypeUnloadedException.cs:
9954         * MissingFieldException.cs: Added to CVS.
9955
9956         * ApplicationException.cs: 
9957         * MemberAccessException.cs:
9958         * MissingMemberException.cs
9959         * MissingMethodException.cs:
9960         * SystemException.cs: Added [Serializable] attribute.
9961
9962         * Exception.cs: Added [Serializable] attribute, made properties
9963         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
9964         spec.
9965
9966         * ContextStaticAttribute.cs: Added [Serializable] attribute and
9967         put in the missing constructor.
9968
9969         * Environment.cs: Commented out references to
9970         EnvironmentPermissionAttribute, because they're just stubbed out
9971         right now and has no implementation.
9972
9973 2002-01-16  Andrei Zmievski <andrei@php.net>
9974
9975         * Boolean.cs: implemented IConvertible interface
9976
9977 2002-01-15  Nick Drochak  <ndrochak@gol.com>
9978
9979         * ResolveEventArgs.cs: class should derive from EventArgs.
9980
9981 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
9982
9983         * String.cs (System): Use DefaultMemberName for the String class.
9984
9985 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
9986
9987         * String.cs: use IndexerName in index char accessor.
9988
9989 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
9990
9991         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
9992         * String.c: eliminate 64k+ method calls in search.
9993         * Type.cs: handle byref and array types in ToString ().
9994
9995 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
9996
9997         * Guid.cs: created first version
9998
9999 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
10000
10001         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
10002
10003 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
10004
10005         * MulticastDelegate.cs: add == and != operator stubs.
10006         * String.cs: check for null in == operator.
10007         * Type.cs: use a virtual method to get TypeAttributes.
10008
10009 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
10010         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
10011
10012 2002-01-09  Nick Drochak  <ndrochak@gol.com>
10013         
10014         * Environment.cs: Comment out Security attribute and put a MonoTODO
10015         there as a reminder.  We need mcs magic to handle security attributes in
10016         corlib.
10017
10018 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
10019         * Created IAppDomainSetup.cs
10020
10021 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
10022         * Created System._AppDomain interface in _AppDomain.cs
10023
10024 2002-01-06  Nick Drochak  <ndrochak@gol.com>
10025
10026         * ResolveEventArgs.cs: New File, completely implemented! ;)
10027
10028 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
10029
10030         * Enum.cs: dummy ToString impl.
10031         * String.cs: dummy format implementations to get compiler errors
10032         somewhat working.
10033         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
10034
10035 2002-01-05  Ravi Pratap  <ravi@ximian.com>
10036
10037         * TODOAttribute.cs : Augment some more; provide two constructors
10038         with support for a comment too.
10039
10040 2002-01-05  Nick Drochak  <ndrochak@gol.com>
10041
10042         * Uncommented those MonoTODO's now that Ravi's got
10043         the class in there
10044
10045 2001-01-04  Ravi Pratap  <ravi@ximian.com>
10046
10047         * TODOAttribute.cs : Actually add this time ;-)
10048
10049         Change name to MonoTODO.
10050
10051 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
10052
10053         * String.cs (Trim): Fixed a few logic bugs in the code that
10054         calculated how much to trim off the end of the string.
10055
10056 2001-01-04  Nick Drochak  <ndrochak@gol.com>
10057         
10058         * Commented out the [TODO] attributes for now.  We don't have the
10059         class written.  Also changed it to [MonoTODO]
10060
10061 2002-01-04  Ravi Pratap  <ravi@ximian.com>
10062
10063         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
10064         our class libraries that are incomplete.
10065
10066         * Array.cs : Apply attribute wherever we find a FIXME which says
10067         we need something to be implemented there.
10068
10069         * Int32.cs : Ditto.
10070
10071         * MulticastDelegate.cs : Ditto.
10072
10073         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
10074         RuntimeTypeHandle.cs : Ditto.
10075
10076         * String.cs : Ditto.
10077
10078         * Type.cs : Ditto.
10079
10080         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
10081
10082         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
10083         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
10084
10085         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
10086         Delegate.cs : Ditto.
10087
10088         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
10089         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
10090         
10091 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
10092
10093         * Delegate.cs: add Remove() stub.
10094         * Enum.cs: add ToObject().
10095         * Type.cs: add IsEnum property.
10096
10097 2002-01-03  Kristian Rietveld  <kris@gtk.org>
10098
10099         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
10100         DateTime and object.
10101
10102 2001-12-30  Nick Drochak  <ndrochak@gol.com>
10103
10104         * Byte.cs (Parse): Add comments to aid in testing.
10105
10106 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
10107
10108         * Char.cs (Parse): Implement.
10109
10110         * Byte.cs (Parse): Implement a fast parser.
10111         
10112         * SByte.cs (Parse): Implement a fast parser.
10113
10114         * UInt16.cs (Parse): Implement a fast parser.
10115         
10116         * Int16.cs (Parse): Implement a fast parser.
10117
10118         * UInt32.cs (Parse): Implement a fast parser.
10119
10120         * Int32.cs (Parse): Implement a fast parser.
10121
10122 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
10123
10124         * Array.cs: fix null ref in sort code.
10125         * UInt64.cs: add bare-bones parse.
10126
10127 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
10128         
10129         * Byte.cs: removed use of Regexes.
10130
10131 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
10132
10133         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
10134         IsDefined(), GetUnderlyingType().
10135         * String.cs: fix one instance of Compare().
10136         * Type.cs: implemented GetProperties(), GetProperty().
10137
10138 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
10139
10140         * Array.cs: implement CopyTo ().
10141         * Char.cs: implement ToString ().
10142         * Exception.cs: bugfix.
10143         * Int32.cs: bare-bones Parse ().
10144         * MonoType.cs: query the needed info with an internalcall.
10145         * String.cs: speedups, bugfixes, reduced copies.
10146         * Type.cs: added missing fields. Implemented many of the Is*
10147         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
10148         GetFields(), FindMembers(), ToString().
10149         
10150 2001-12-11  Dick Porter  <dick@ximian.com>
10151
10152         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
10153
10154         * Console.cs: Use handles rather than casting file descriptors
10155
10156 2001-12-08  Nick Drochak  <ndrochak@gol.com>
10157
10158         * Byte.cs (Parse): Start implementation. Parse(string) works, but
10159         now we need to handle other formats
10160
10161 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
10162
10163         * DateTime.cs: added an icall to GetNow()
10164
10165 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
10166
10167         * Double.cs: added the parse method from Bob Smith
10168
10169 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
10170
10171         * UInt64.cs: ditto.
10172
10173         * UInt32.cs: ditto.
10174
10175         * Int32.cs (Int32.CompareTo): Fix because we can not just
10176         substract the values.
10177
10178         Return possitive value if the object is null.
10179
10180         * Boolean.cs: (Boolean.CompareTo): ditto.
10181
10182         * Int16.cs (Int16.CompareTo): ditto.
10183
10184         * Byte.cs (Byte.CompareTo): ditto.
10185
10186         * SByte.cs (SByte.CompareTo): ditto.
10187
10188         * Char.cs (Char.CompareTo): ditto.
10189         
10190         * Decimal.cs (Decimal.CompareTo): ditto.
10191
10192         * Int64.cs (Int64.CompareTo): ditto.
10193
10194         * Single.cs: Ditto.
10195
10196         * UInt16.cs: Ditto.
10197
10198 2001-11-28  Nick Drochak <ndrochak@gol.com>
10199
10200         * Byte.cs: Throw NotImplementedException for Parse.
10201
10202 2001-11-27  Derek Holden  <dholden@draper.com>
10203
10204         * IntegerFormatter.cs: Formatting of type "Number" was not
10205         using NumberFormatInfo.NumberNegativePattern.
10206
10207 2001-11-26  Dick Porter  <dick@ximian.com>
10208
10209         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
10210         the finalise routine any more
10211
10212 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
10213
10214         * ApplicationException.cs: internationalize by adding calls to
10215         Locale.GetText ().  And throw NotImplementedExceptions on calls
10216         that we have to implement.
10217
10218         * Version.cs: Ditto.
10219
10220         * ValueType.cs: ditto.
10221
10222         * UnauthorizedAccessException.cs: ditto.
10223
10224         * UInt32.cs: ditto.
10225
10226         * UInt64.cs: ditto.
10227
10228         * UInt16.cs: ditto.
10229
10230         * TypeLoadException.cs: ditto
10231
10232         * TypeInitializationException.cs: ditto.
10233
10234         * Type.cs: ditto.
10235
10236         * TimeSpan.cs: ditto.
10237
10238         * SystemException.cs: ditto.
10239
10240         * String.cs: ditto.
10241
10242         * StackOverflowException.cs: ditto.x
10243
10244         * Single.cs: ditto.
10245
10246         * SByte.cs: ditto.
10247
10248         * RuntimeTypeHandle.cs: ditto.
10249
10250         * RuntimeMethodHandle.cs: ditto.
10251
10252         * RuntimeFieldHandle.cs: ditto.
10253
10254         * Random.cs: ditto.
10255
10256         * OutOfMemoryException.cs: ditto.
10257
10258         * OperatingSystem.cs: ditto.
10259
10260         * ObjectDisposedException.cs: ditto.
10261
10262         * NullReferenceException.cs: ditto.
10263
10264         * NotImplementedException.cs: ditto.
10265
10266         * NotFiniteNumberException.cs: ditto.o
10267
10268         * MulticastNotSupportedException.cs: ditto.
10269
10270         * MissingMethodException.cs: ditto.
10271
10272         * MemberAccessException.cs: ditto.
10273
10274         * Math.cs: ditto.
10275
10276         * InvalidCastException.cs: ditto.
10277
10278         * IntegerFormatter.cs: ditto.
10279
10280         * Int32.cs: ditto.
10281
10282         * Int16.cs: ditto.
10283
10284         * IndexOutOfRangeException.cs: ditto.
10285
10286         * Environment.cs: ditto
10287
10288         * Enum.cs: ditto.
10289
10290         * DuplicateWaitObjectException.cs: ditto.
10291
10292         * DivideByZeroException.cs: ditto.
10293
10294         * Delegate.cs: ditto
10295
10296         * DecimalFormatter.cs: ditto.
10297
10298         * Decimal.cs: ditto.
10299
10300         * DateTime.cs: ditto.
10301
10302         * Convert.cs: ditto.
10303
10304         * Char.cs: ditto.
10305
10306         * Byte.cs: ditto.
10307
10308         * Boolean.cs: ditto.
10309
10310         * ArrayTypeMismatchException.cs: ditto.
10311
10312         * ArithmeticException.cs: ditto.
10313
10314         * ArgumentOutOfRangeException.cs: ditto.
10315
10316         * ArgumentNullException.cs: ditto.
10317
10318         * Enum.cs: Make it derive from ValueType, add CompareTo method.
10319
10320         * Attribute.cs: Reformat.
10321
10322 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
10323
10324         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
10325         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
10326         exception if the value is null too.
10327
10328         * Char.cs (CompareTo): ditto.
10329
10330         * ApplicationException.cs: Added constructor that does serialization.
10331
10332         * ParamArrayAttribute.cs: Define attribute correctly.
10333
10334 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
10335
10336         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
10337         * Array.cs: fix Array.Copy.
10338         * AssemblyLoadEventArgs.cs: rename field.
10339         * CLSCompliantAttribute.cs: use correct name for the class.
10340         * Char.cs: fix IsLetter.
10341         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
10342         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
10343         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
10344         * Delegate.cs: renamed target field to m_target.
10345         * Enum.cs: added missing methods.
10346         * MonoType.cs: add a constructor and some needed properties.
10347         * Object.cs: implement GetType().
10348         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
10349         ending 0 char.
10350         * Type.cs: add missing methods/properties.
10351
10352 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
10353
10354         * AttributeUseage.cs: Should define AttributeUsageAttribute.
10355
10356         * CLSCompliant.cs: Marked with AttributeUsage attribute.
10357
10358         * Decimal.cs: Fixed CLSCompliant attributes.
10359
10360         * Type.cs: changed _impl to internal (needs to be accessable by
10361         subclasses).
10362
10363         (TypeHandle): Marked as abstract, implementation removed.
10364
10365         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
10366         GetMethod): Added stub implementations so NUnit would link against
10367         corlib
10368
10369 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
10370
10371         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
10372
10373 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
10374
10375         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
10376         attribute. 
10377
10378 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
10379
10380         * String.cs: fix a couple of bugs.
10381         * AppDomain.cs: use new AppBuilder constructor.
10382         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
10383         NotImplementedException.cs, ObjectDisposedException.cs,
10384         UnauthorizedAccessException.cs: add implementation.
10385         * OverflowException.cs: fix class name.
10386
10387 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
10388
10389         * String.cs: Don't use a terminating nil char for our internal
10390         array.
10391
10392 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
10393
10394         * Delegate.cs (Delegate.CombineImpl): Implement.
10395         (Delegate.Combine): Implement.
10396
10397         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
10398
10399         (MulticastDelegate.CombineImpl): This was not as trivial as I
10400         thought. 
10401
10402         * ContextStaticAttribute.cs: Added AttributeUsage to
10403         ContextStaticAttribute. 
10404
10405         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
10406
10407 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
10408
10409         * added Decimal.cs * added DecimalFormatter.cs (internal class
10410         used from System.Decimal)
10411
10412 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
10413
10414         * Convert.cs: Added methods for Base64 transforming just used the
10415           existing System.Security.Cryptography.ToBase64Transform, should
10416           be changed to use a stand-alone class, e.g. Base64Encoder
10417           
10418 2001-10-10  Derek Holden  <dholden@draper.com>
10419
10420         * IntegerFormatter.cs: Added. Implements ToString for all the
10421         integer data types for all the format types.
10422
10423         * Byte.cs: Using IntegerFormatter for ToString's.
10424
10425         * SByte.cs: Using IntegerFormatter for ToString's.
10426
10427         * Int16.cs: Using IntegerFormatter for ToString's.
10428
10429         * Int32.cs: Using IntegerFormatter for ToString's.
10430
10431         * Int64.cs: Using IntegerFormatter for ToString's.
10432
10433         * UInt16.cs: Using IntegerFormatter for ToString's.
10434
10435         * UInt32.cs: Using IntegerFormatter for ToString's.
10436
10437         * UInt64.cs: Using IntegerFormatter for ToString's.
10438
10439 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
10440
10441         * Exception.cs: Implement bits of serialization.
10442
10443         * RuntimeFieldHandle.cs: Implement Serialization features.
10444
10445         * Type.cs: Implement TypeHandle property.
10446
10447 2001-09-28  Dick Porter  <dick@ximian.com>
10448
10449         * LocalDataStoreSlot.cs: Implemented
10450
10451 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10452
10453         * String.cs: fix off-by-one error in Trim().
10454
10455 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10456
10457         * Type.cs: added GetType () method.
10458
10459 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
10460
10461         * MissingMethodException.cs, MissingMemberException.cs,
10462         MemberAccessException.cs: added.
10463
10464 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
10465
10466         * String.cs: don't access the string array out of bounds in
10467         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
10468
10469 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
10470
10471         * String.cs: make Intern and IsIntern internalcalls.
10472
10473 2001-09-13  Dick Porter  <dick@ximian.com>
10474
10475         * Type.cs: Added a stub for the IsValueType property.
10476
10477         * SystemException.cs (System): Added the other constructor, so
10478         that System.Threading exceptions can inherit it.
10479
10480 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
10481
10482         * String.cs (TrimStart): Don't keep looping through the trimchars
10483         once we've found a match.
10484         (TrimEnd): Same here.
10485         (Trim): And finally here.
10486
10487 2001-09-07  Ravi Pratap  <ravi@ximian.com>
10488
10489         * Char.cs (IsLetterOrDigit): Implement.
10490         (IsLower): Implement, but we need to be Unicode aware.
10491         (IsNumber): Implement.
10492         (IsPunctuation): Implement.
10493         (IsWhiteSpace): Implement.
10494         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
10495         (ToLower): Same here.
10496
10497 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
10498
10499         * Object.cs: Shortcut, if (a == b) then return true.
10500
10501 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
10502
10503         * Delegate.cs: we need a pointer to the method thunk in
10504         the delegate object.
10505
10506 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
10507
10508         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
10509
10510 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
10511
10512         * String.cs (System): Don't mix uint and int.
10513
10514 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
10515
10516         * String.cs (BoyerMoore): Modified to not use pointers and to instead
10517         use indexes.
10518         (IndexOf): Use BoyerMoore.
10519
10520 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
10521
10522         * All over: Use the autogenerated enumerations from the ECMA
10523         documentation that Sergey wrote.
10524         
10525         * PlatformID.cs: Add Unix definition.
10526
10527         * OperatingSystem.cs: Use Unix instead of Linux here.
10528
10529         * MarshalByRefObject.cs: Mark class as [Serializable].
10530
10531 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
10532
10533         * Console.cs: impl. (write only)
10534         implemented the stdin stuff
10535
10536         * Int32.cs: impl. real op_Equal
10537
10538 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
10539
10540         * (common.src): Removed IAsyncResult as it is not on CVS yet.
10541
10542         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
10543         as it breaks the build.
10544
10545 2001-08-23  Michael Lambert <michaellambert@email.com>
10546
10547         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
10548         added CLSCompliant attribute
10549
10550         * IAsyncResult.cs: Added
10551
10552         * common.src: Added IAsyncResult.cs
10553
10554 2001-08-23  Michael Lambert <michaellambert@email.com>
10555
10556         * UIntPtr.cs: Added
10557
10558         * common.src: Added UIntPtr.cs
10559
10560 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
10561
10562         * Attribute.cs: uncomment some code to make it compile again
10563
10564         * mono.src: removed duplicated Attribute.cs
10565
10566 2001-08-16  Nick Drochak <ndrochak@gol.com>
10567
10568         * Attribute.cs: implemented all methods except GetHashCode()
10569
10570         * common.src: added Attribute.cs so it would compile in
10571
10572 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
10573
10574         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
10575         marked it as InternalCall
10576         
10577         * common.src: removed UriFormatException.cs because the file is
10578         not there.
10579
10580         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
10581         * Char.cs: replaced byte with char
10582
10583         * Array.cs: make it work with the mono interpreter
10584
10585 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10586
10587         * Version.cs: Make the class sealed
10588
10589 2001-08-08  Bob Smith  <bob@thestuff.net>
10590
10591         * Random.cs: Many compile fixes.
10592         * Random.cs: I read a bad spec. Class updated to match real spec.
10593
10594 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10595
10596         * IntPtr.cs: Added and Completed implementation.
10597
10598         * Uri.cs: Add a note.
10599
10600 2001-08-06  Bob Smith  <bob@thestuff.net>
10601
10602         * Random.cs: Compile fix. Needs more testing.
10603
10604 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
10605
10606         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
10607         into account IPv6 addresses, url encoding needs to be implemented, and 
10608         various minor methods need to be written, but this is a decent start.
10609
10610 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
10611
10612         * common.src: added Object.cs
10613
10614         * mono.src: added ValueType.cs
10615
10616 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
10617
10618         * Math.cs: replaced libc with libm
10619
10620 2001-08-02  Bob Smith  <bob@thestuff.net>
10621
10622         * Random.cs: Implemented. Needs testing.
10623
10624 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
10625
10626         * IServiceProvider.cs, EventHandler.cs: New files.
10627
10628 2001-08-02  Marcel Narings  <marcel@narings.nl>
10629         
10630         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
10631         Added exceptions. Added IConvertible. Still needs some platform 
10632         dependend stuff, the Parse and ToString members
10633
10634 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
10635
10636         * Type.cs (GetTypeFromHandle): added placeholder 
10637
10638 2001-07-24  Derek Holden  <dholden@draper.com>
10639
10640         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
10641         which is really an IConvertible defined method.
10642
10643         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
10644         behavior, still need to do the main Parse and ToString.
10645
10646         * Char.cs: Added a bunch of missing ECMA methods. Commented a
10647         specification discrepency. Still didn't any unicode stuff, though
10648         every IsFoo(char c) method has an IsFoo(string, index)
10649         counterpart, added wrappers for those.
10650         
10651         * Convert.cs: Fixed NaN/Inf checking and double/float
10652         rounding. Added ToType for IConvertible classes
10653
10654         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
10655         IsNaN methods. Changed Inf/NaN internals.
10656
10657         * IConvertible.cs: Added comments for using
10658         Convert.ToType. Changed return values to draft base values.
10659
10660         * Int16.cs: Added a missing Parse statement. Put in behavior for
10661         overloaded ToString and Parse methods.
10662
10663         * Int32.cs: Added a missing Parse statement. Put in behavior for
10664         overloaded ToString and Parse methods.
10665
10666         * Int64.cs: Added a missing Parse statement. Put in behavior for
10667         overloaded ToString and Parse methods.
10668         
10669         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
10670         methods. Changed Inf/NaN internals.
10671
10672         * SByte.cs: Added a missing Parse method. Put in Parse and
10673         ToString behavior, still need to do the main Parse and ToString.
10674
10675         * UInt16.cs: Added a missing Parse statement. Put in behavior for
10676         overloaded ToString and Parse methods.
10677
10678         * UInt32.cs: Added a missing Parse statement. Put in behavior for
10679         overloaded ToString and Parse methods.
10680
10681         * UInt64.cs: Added a missing Parse statement. Put in behavior for
10682         overloaded ToString and Parse methods.
10683         
10684 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
10685
10686         * MulticastDelegate.cs: New File.
10687
10688         * Delegate.cs: New file.
10689
10690         * Enum.cs: New file.
10691
10692         * Attribute.cs: New file.
10693
10694         * Type.cs: New file.
10695
10696         * ParamArrayAttribute.cs: New file.
10697
10698         * RuntimeTypeHandle.cs: New file.
10699
10700         * MulticastDelegate.cs: Added.
10701
10702         * DateTime.cs: Added
10703
10704         * Delegate.cs: Added
10705
10706 2001-07-18  Michael Lambert <michaellambert@email.com>
10707
10708         * AttributeTargets.cs: Add.
10709
10710 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
10711
10712         * Char.cs: Made ToUpper and ToLower public methods.
10713
10714         * String.cs: Lots and lots of compile fixes - just need to write
10715         DateTime.cs and this should build completely now.
10716
10717 2001-07-19  Bob Smith (bob@thestuff.net)
10718
10719         * Math.cs: Implemented. 
10720
10721 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
10722
10723         * String.cs: Removed tolower and toupper.
10724
10725         * Char.cs: Moved ToLower and ToUpper from string to here. 
10726
10727         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
10728         instead of comparing the value to Nan.
10729
10730 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
10731
10732         * TimeSpan.cs: New implementation.
10733
10734 2001-07-18  Scott Sanders <scott@stonecobra.com>
10735
10736          * UriFormatExcpetion.cs: Add - 85% complete
10737
10738 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
10739
10740         * String.cs (IndexOf): Slight optimization that allows skipping
10741         over a few chars here and there. This isn't as good as using my
10742         Boyer-Moore implementation, however, Boyer-Moore is only really
10743         good for long strings (I plan on making the code decide which
10744         string search algorithm it should use on-the-fly at some point).
10745         (LastIndexOf): Fix to work correctly.
10746         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
10747
10748 2001-07-16  Michael Lambert <michaellambert@email.com>
10749
10750         * EventArgs.cs: Add.
10751         
10752 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
10753
10754         * Version.cs: Remove my buggy comment.
10755
10756 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
10757
10758         * String.cs: Spelling error of IComparable, object's
10759         MemberwiseClone cannot be overridden.  Made indexer valid for now,
10760         but not sure what to do about this in the long run.  Seems to be a
10761         couple bugs in csc.exe having to do with multiple pointer defs in
10762         the same statement, and returning subclasses of a class in the
10763         return type of an interface function implementation.  Also moved
10764         operators inside of class definition.
10765
10766 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10767
10768         * String.cs: A tom of compile fixes, although we still don't compile.
10769
10770         * IConvertible.cs: The To*Int64() methods return *Int64's, not
10771         *Int32's. Also, it's ToDateTime() not ToDateType().
10772
10773 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10774
10775         * String.cs: Apparently I needed to at least write stubs for the
10776         IConvertible interfaces. *sigh*
10777
10778 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10779
10780         * String.cs: Many logic/other fixes and better usage of the
10781         features of c#
10782         (tolower): New convenience method to help condense code.
10783         (toupper): Another new helper method.
10784         (Compare): Use the new helper methods.
10785         (ToLower): use tolower().
10786         (ToUpper): use toupper().
10787         (LastIndexOfAny): Implemented.
10788         (BoyerMoore): New private helper method that implements a modified
10789         version of the Boyer-Moore search algorithm. Noothing uses it yet
10790         as I'm not 100% sure it even works properly with unicode strings
10791         not to mention it uses a huge lookup-table :-)
10792         (Split): Implemented.
10793
10794 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
10795
10796         * TODO: Added things that need to be finished in System.String
10797
10798         * String.cs: New source file implementing the System.String class
10799
10800 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
10801
10802         * TypeCode.cs: UInt64 was UInt63.
10803
10804         * Object.cs: Fixed a numer of compiler errors.
10805
10806         * Array.cs: Fixed some compiler errors.
10807
10808         * IComparable.cs: Fixed some compiler errors.
10809
10810         * ICloneable.cs: Fixed some compiler errors.
10811
10812         * IConvertible.cs: Fixed some compiler errors.
10813
10814         * IFormattable.cs: Fixed a compiler error.
10815
10816         * IFormatProvider.cs: Fixed a compiler error.
10817
10818         * IDisposable.cs: Fixed a compiler error.
10819
10820         * IFormatProvider.cs: Added public accesability type to
10821         IFormatProvider.
10822
10823         * Exception.cs: Added a using statement to remove compile time
10824         error.
10825
10826         * ApplicationException.cs: Removed a ; that was causing a compiler
10827         error.
10828
10829         * Int16.cs: Fixed some compiler errors.
10830
10831         * Int32.cs: Fixed some compiler errors.
10832
10833         * Int64.cs: Fixed some compiler errors.
10834
10835         * SystemException.cs: Fixed a compiler error.
10836
10837         * UInt16.cs: Fixed some compiler errors.
10838
10839         * UInt32.cs: Fixed some compiler errors.
10840
10841         * UInt64.cs: Fixed some compiler errors.
10842
10843         * Void.cs: Fixed a compiler error.      
10844
10845 2001-07-12  Joe Shaw  <joe@ximian.com>
10846
10847         * Array.cs: Fix backwards parameters to Array.SetValue()
10848         throughout.
10849         (BinarySearch): Fix backward logic surrounding whether to call
10850         value.CompareTo or comparer.Compare.
10851         (LastIndexOf): Stop being stupid. I am so not used to strongly
10852         bounded arrays...
10853         (Sort): Implement a quicksort.
10854
10855 2001-07-11  Joe Shaw  <joe@ximian.com>
10856
10857         * Array.cs: Change all instances of trying to access an array with
10858         the index operator to calls to GetValue and SetValue, and add
10859         InternalGetValue and InternalSetValue which are internal calls
10860         into the runtime. Ew.
10861
10862 2001-07-10  Joe Shaw  <joe@ximian.com>
10863
10864         * Array.cs: Implemented everything but Sort().
10865
10866 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
10867
10868         * Object.cs (Object::Equals): Object variable name is `o'.
10869
10870 2001-07-06  Joe Shaw  <joe@ximian.com>
10871
10872         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
10873         Implement the IComparable and IFormattable interfaces. Fix a typo
10874         (publig -> public)
10875
10876         * ApplicationException.cs, ArgumentException.cs,
10877         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
10878         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
10879         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
10880         ExecutionEngineException.cs, FormatException.cs,
10881         IndexOutOfRangeException.cs, InvalidCastException.cs,
10882         InvalidOperationException.cs, InvalidProgramException.cs,
10883         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
10884         NotSupportedException.cs, NullReferenceException.cs,
10885         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
10886         StackOverflowException.cs, SystemException.cs,
10887         TypeInitializationException.cs: Added all of the exceptions
10888         specified by the language spec. Mmmm... bloat.
10889
10890 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
10891
10892         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
10893         do a generic routine all of these guys use.
10894
10895         * Int16.cs: identified missing methods.
10896
10897         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
10898
10899 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
10900
10901         * TypeCode.cs: Implement
10902
10903         * Void.cs: Implement.
10904
10905         * TODO: Add file to keep track of pending tasks.
10906
10907         * Object.cs, ValueType.cs: Implement.