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