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