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