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