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