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