libs-base/ChangeLog
richard f1377a1375 * src/NSBundle: ([+initialize]) modified to take account of the
environment variables GNUSTEP_TARGET_DIR, GNUSTEP_TARGET_CPU,
        GNUSTEP_TARGET_OS, and LIBRARY_COMBO to override the defaults.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2918 72102866-910b-0410-8b05-ffd578937521
1998-08-12 14:41:20 +00:00

571 lines
22 KiB
Text

Wed Aug 12 14:55:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSBundle: ([+initialize]) modified to take account of the
environment variables GNUSTEP_TARGET_DIR, GNUSTEP_TARGET_CPU,
GNUSTEP_TARGET_OS, and LIBRARY_COMBO to override the defaults.
Fri Aug 4 10:55:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/GNUmakefile: Removed NSAllocateObject.m and
NSDeallocateObject.m (contents merged into NSObject.m).
* src/NSObject.m: Modified to perform storage of retain counts local
to the objects concerned in order to speed up performance - also
modified to cache an objects zone with it - in order to maintain
(or better) current performance when we get the NSZone code fixed
to work with malloced memory.
* src/include/NSObjCRuntime.h: Removed NSDebugLog()
* src/include/NSDebug.h: Added new version of NSDebugLog()
* src/include/NSProcessInfo.h: Added [-debugArray] method.
* src/NSProcessInfo.m: Added [-debugArray] method and modified to
parse arguments list and remove debug options, putting them in a
mutable array (returned by [-debugArray]).
* src/externs.m: Removed NSDebugLogging.
* src/NSBundle.m: Modified to use new version of NSDebugLog().
Thu Aug 3 15:35:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/include/NSGCString.h: Added _hash instance variable.
* src/include/NSGString.h: Added _hash instance variable.
* src/NSGCString.m: Added implementation of [-hash] to handle caching
of strings hash value, also added implementation of a few other
methods for the sake of performance. Modified NSGMutableCString
methods to reset hash cache when string is modified.
* src/NSGString.m: Added implementation of [-hash] to handle caching
of strings hash value. Modified NSGMutableString methods to reset
hash cache when string is modified.
* src/NSString.m: Misc performance hacks - use alloca() rather than
malloc/free where possible etc.
YMMV, but the above changes got me a 20% performance improvement in
the app I was working with.
* src/o_map.m: Don't use o_map_key_callbacks() - access the field
in the structure directly to avoid the function-call overhead as this
function was being called LOTS of times. Only a tiny performance
improvement - but every little helps.
Thu Jul 30 16:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/include/NSSet.h: Corrected protocol conformance
* src/NSSet.m: Added ([-encodeWithCoder:]), ([-initWithCoder:]).
Fixed ([-copyWithZone:]) to remove memory and to simply retain where
possible.
Implemented ([-description]) and ([-descriptionWithLocale:]).
* src/NSGCountedSet.m: Removed ([-initWithCapacity:]) and fixed
enumerator.
* src/include/NSDictionary.h: Added ([+dictionaryWithObject:forKey:])
and corrected protocol conformance.
* src/NSDictionary.m: Added ([+dictionaryWithObject:forKey:])
Wed Jul 29 15:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/Collection.m: Removed [-copy]
* src/include/Collecting.h: likewise
* src/NSAttributedString.m: fixed ([-copy]) and ([-isEqual:])
* src/NSCharacterSet.m: implemented (inefficiently) ([-isEqual:])
Wed Jul 29 9:10:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/TcpPort.m: typecast to get rid of warning
* src/NSCharacterSet.m: Added NSCoding methods.
* src/NSBitmapCharSet.m: Added NSCoding methods.
* src/NSHost.m: typecast to get rid of warning.
* src/NSData.m: ([-copy]) removed.
* src/NSDictionary.m: ([-copy]) removed.
* src/NSGSequence.m: ([-copy]) removed.
* src/NSScanner.m: ([-copy]) removed.
* src/NSArray.m: ([-copy]) removed.
* src/NSAttributedString.m: ([-copy]) removed.
* src/NSString.m: ([-copy]) removed.
* src/NSObject.m: ([-copyWithZone:]) modified to conform strictly
to Rhapsody docs. Added ([+instanceMethodSignatureForSelector:]).
* src/include/IndexedCollectionPrivate.h: fixed include for NSString.h
* src/Makefile.postamble: modified rule for building srcdir-include
stuff so that it works for me.
* src/NSException.m: ([-copyWithZone:]) typecast to get rid of warning.
* src/NSValue.m: ([-copyWithZone:]) typecast to get rid of warning.
* src/NSDistantObject.m: fixed ([-classForPortCoder]) for Protocol.
Tue Jul 28 12:57:54 1998 Adam Fedor <fedor@ultra.doc.com>
* src/GNUmakefile: Remove NEXTSTEP classes.
* src/NSConcreteNumber [-copy]: Removed.
[-copyWithZone:]: Likewise.
* src/NSNumber: [-copy]: Implement
[-copyWithZone:]: Likewise.
* src/NSDate.m [-copyWithZone:]: Correct implementation.
* src/NSException.m [-copyWithZone:]: Likewise.
* src/NSPort.m: [-copyWithZone:]: Likewise.
* src/NSValue.m: [-copyWithZone:]: Likewise.
Tue Jul 21 09:15:32 1998 Adam Fedor <fedor@ultra.doc.com>
* src/GNUmakefile: Removed redundant classes.
* src/Connection: Removed.
* src/Lock: Likewise.
* src/Notification: Likewise.
* src/Proxy: Likewise.
* src/include/Connection.h, src/include/Lock.h,
src/include/Notification.h, src/include/Proxy.h: Likewise.
* src/include/RetainingNotifier.h: Removed.
* src/libgnustep-base.def: Removed reference to redundant classes.
* src/include/ConnectedCoder.h: Likewise
* src/include/NSConnection.h: Likewise
* src/include/NSNotification.h: Likewise
* src/include/NSPort.h: Likewise
* src/include/all.h: Likewise
* src/ConnectedCoder.m: Likewise
* src/Makefile.postamble: Likewise
* src/MachPort.m: Likewise
* src/NSConnection.m: Likewise
* src/NotificationDispatcher.m: Likewise
* src/NSNotification.m: Likewise
* src/Port.m: Likewise
* src/TcpPort.m: Likewise
* src/behavior.m: Likewise
* src/NSThread.m: Likewise
* src/UdpPort.m: Likewise
* examples/first-client.m, examples/first-server.h,
examples/first-server.m, examples/second-client.h,
examples/second-client.m, examples/second-server.h,
examples/second-server.m: Removed.
* src/NSRunLoop.m: Add time.h (For GNU/Linux-2.0)
* src/TcpPort.m: Likewise.
* src/UdpPort.m: Likewise.
* sec/UnixFileHandle.m: Likewise.
Wed Jul 20 21:25:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/Decoder.m: ([-decodeClass]) modified to ensure correct decoding
instances of classes relying on multiple inheritance.
Tue Jul 14 16:26:36 1998 Adam Fedor <fedor@doc.com>
* src/Makefile.postamble (gnustep/base): Fixup dir creation.
(Foundation): Likewise.
* src/externs.m: New NSDebugLogging variable.
* src/include/NSObjCRuntime: Change NSDebugLog so it works when
DEBUG is defined and NSDebugLogging is set.
* src/NSBundle.m: Use it.
* src/include/Foundation.h: Include NSTimer.h
* src/include/NSObject.h: Define +instanceMethodSignatureForSelector:
Tue Jul 14 10:06:31 1998 Masatake Yamato <masata-y@is.aist-nara.ac.jp>
* checks/nsset.m : Added new testing functions.
(intersects_set_test): Likewise.
(is_subset_of_set_test): Likewise.
* src/include/NSSet.h ([NSSet -setWithObjects:]): Remove the type
declaration of arguments, "NSArray *". The arguments should be
declared as id.
* src/NSSet.m ([NSSet -isSubsetOfSet:otherSet]): Implement.
([NSSet -intersectsSet:otherSet]): Likewise.
Wed Jul 15 12:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/Invocation.m: Rewrote ([-invoke]) to retrieve return values
correctly by using mframe_decode_return()
* src/NSCharacterSet.m: Fixed ([-copyWithZone:]) to avoid using the
(non-existant) NSObject method.
* src/NSFileHandle.m: Modified method for making socket connections
and added a synchronous version.
* src/NSObjCRuntime.m: Tidied and added NSGetSizeAndAlignment().
* src/NSObject.m: Removed ([-copyWithZone:]) and
([-mutableCopyWithZone:]) (which shiould not exist in NSObject).
* src/NSString.m: Fixed implementation of the
([-rangeOfCharacterFromSet:options:range:]) method.
* src/UnixFileHandle.m: Various bug fixes for synchronous operations.
* src/mframe.m: Added mframe_decode_return() function to get the
return value out of a retframe.
* src/include/NSCharacterSet.h: Modified to say we conform to the
NSCoding protocol (whith the spec says we should).
* src/include/NSFileHandle.h: Altered methods for making a network call.
* src/include/NSObjCRuntime.h: Added NSGetSizeAndAlignment().
* src/include/NSObject.h: Removed stuff saying we conform to the
NSCoding and NSCopying protocols (we shouldn't) and removed the
([-copyWithZone:]) and ([-mutableCopyWithZone:]) methods - which
shouldn't be there.
* src/include/UnixFileHandle.h: Altered methods for making a network
connection.
* src/include/mframe.h: Added mframe_decode_return() function.
Tue Jul 14 16:06:16 1998 Masatake Yamato <masata-y@is.aist-nara.ac.jp>
* checks/invocation_*.m : New test files.
* checks/invocation2.m: Removed the file.
* src/include/NSInvocation.h (NS_INVOCATION, NS_MESSAGE):
Added new arguments to the macros. These macros don't require
SEL type argument to specify the method to invoke now.
* checks; Added invocation_char.m, invocation_short.m, invocation_int.m
and invocation_long.m
Fri Jul 10 21:43:30 1998 Adam Fedor <fedor@ultra.doc.com>
* src/include/GapArrayPrivate.h (gapMoveGaptTo): Change - to +.
* docs/todo.tmpl.texi: Updates
Fri Jun 25 20:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/TcpPort.m: Improved debug code and added method to turn it on -
([+setDebug:])
* src/NSConnection.m: Changed code so that if a process sends us a
'release' for an object local to us, which it vended to a third
party, we retain the object for 30 seconds before releasing it in
order to give the third party time to connect to us and retain it.
Improved debug code and added method to turn it on - ([+setDebug:])
* src/NSDistributedObject.m: Added flag to say whether an object has
been vended to a third party.
Improved debug code and added method to turn it on - ([+setDebug:])
* src/include/NSDistantObject.h: Added flag.
Thu Jun 24 22:05:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/proplist.y: Make parser more tolerant - permit a comma after
the final element in an array.
* src/NSData.m: Added ([NSMutableData +data])
* src/Unicode.m: Efficiency hack for conversion to/from unicode
* src/include/NSArray.h: Added ([-writeToFile:Atomically:])
* src/include/NSString.h: Added GSUndefinedEncoding and comment to
make sure nobody deletes it - needed for efficiency hack in Unicode.m
Fri Jun 19 13:37:37 1998 Adam Fedor <fedor@doc.com>
* NSObject (+isKindOfClass:): New method (patch from Bruce Ide
<greyfox@greyfox.org>).
(+isMemberOfClass): Likewise.
Tue Jun 16 09:48:18 1998 Adam Fedor <fedor@doc.com>
* src/NSProtocolChecker.m, src/include/NSProtocolChecker.h: New files.
(from Mike Kienenberger <mkienenb@arsc.edu>)
Fri May 29 10:16:09 1998 Adam Fedor <fedor@doc.com>
* doc/news.tmpl.texi: Fixed typo.
* doc/readme.tmpl.texi: Likewise. (patch from doko@cs.tu-berlin.de
(Matthias Klose)).
* src/ostream.m (ostream_save_buffer): Retain stream.
* src/include/MemoryStream.h: Remove outdated methods.
* src/include/NSException.h (NS_VALUERETURN): New macro.
Thu May 28 10:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Tools/gdomap.c: Added code to cope with systems where we can't
determine what network interfaces are active.
* checks/heap.m: Portability fix for svr4 systems.
* configure.in: Improved portability to svr4 systems.
* src/NSMethodSignature.m: Changed order of includes to fix
compilation on svr4 systems.
* src/NSPage.m: Altered to use 'sysconf(_SC_PAGESIZE)' to get page
size on svr4 systems.
* src/NSTask.m: Altered to use 'kill()' rather than 'killpg()' on
svr4
* src/NSThread.m: Altered to use 'sleep()' rather than 'usleep()'
on svr4
* src/include/config.h.in: Added a couple of configuration
constants for portability - HAVE_KILLPG and HAVE_USLEEP
Thu May 21 09:38:14 1998 Adam Fedor <fedor@doc.com>
* src/NSUser.m (NSUserName): Use getpwuid for BSD machines (patch
provided by Stefanos Kiakas <stefanos@ringworld.uniscape.com>).
* src/GetDefEncoding.c (GetDefEncoding): Change binary AND to
logical AND. (GetEncoding): Likewise (patch provided by
David Fritzsche <david@dementia.wupper.de>).
Wed May 20 15:26:50 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/GNUmakefile: Added NSUndoManager.[hm]
* src/Invocation.m: ([-_initArgframeFrom:withType:retainArgs:]) fixed
memory leak due to failing to set 'args_retained' flag.
* src/NSObject.m: ([-forward::]) modified to call (forwardInvocation:)
method so we can conform to OpenStep spec.
* src/NSUndoManager.m: Implementation of new class.
* src/include/NSUndoManager.h: Interface for new class.
Wed May 13 13:18:35 1998 Adam Fedor <fedor@doc.com>
* src/NSArray.m ([NSArray -initWithContentsOfFile:]): Move
definition from NSMutableArray.
* NSBundle.m (+initialize): New method.
(+mainBundle): Use recursive lock.
(-initWithPath:) Likewise.
* Unicode.m (encode_chartouni): Cast char to unsigned before to
unichar (patch provided by David Fritzsche <david@dementia.wupper.de>).
Fri May 1 14:26:50 1998 Masatake Yamato <masata-y@is.aist-nara.ac.jp>
* src/mframe.m(mframe_do_call): before allocating a storage for
returned structure, check stack_argsize.
Mon Apr 27 15:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/include/mframe.h: Added three new functions to enable passing
of pointers using the mframe routines.
* src/mframe.m: Added mframe_dissect_call_opts(),
mframe_do_call_opts(), and mframe_build_return_opts() so that we
may pass pointers to and from functions in other languages rather
than using the DO behaviour which is to copy a single object when
given a pointer.
Tue Apr 21 15:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSMethodSignature.m: ([+signatureWithObjCTypes:]) rewritten
to use some macros from libFoundation (adapted from gcc) to handle
creation of NSMethodSignature objects where the types string passed
in does not contain the position information of the arguments.
Thu Apr 16 13:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* checks/client.m: enable testing of DO strucuture return.
* checks/server.m: fix typo in keyword
* src/KeyedCollection.m: ([-decodeContentsWithCoder:]) fixed a
memory leak.
* src/mframe.m: Fixed a few bugs in returning structures - now works
properly on GNU/Linux intel. Can anyone figure out how to handle
all this stuff using autoconf?
Mon Apr 20 09:23:58 1998 Adam Fedor <fedor@ultra.doc.com>
* src/NSLock.m: Eliminate busy waiting from NSConditionLock
* src/NSLock.h: add instance variable and rename "value" to
support changes to NSConditionLock
* src/NSLock.m: Raise appropriate exceptions
* src/NSLock.m: Prevent NSLock and NSConditionLock from being
locked recursively
* src/NSThread.m: -sleepUntilDate: implemented
* src/NSThread.m: remove calls to objc_get_thread_data except
in currentThread message
* src/BinaryCStream.m: Replace assert's with NS*Assert
* src/CStream.m.orig: Likewise
* src/Decoder.m: Likewise
* src/Encoder.m: Likewise
* src/MemoryStream.m: Likewise
* src/RawCStream.m: Likewise
* src/TextCStream.m: Likewise
* src/ostream.m.orig: Likewise
(patches from Quetzalcoatl Bradley <qbradley@csc.uvic.ca>).
* src/NSFileManager.h: Include pwd.h if we have it
* configure.in: Check for pwd.h
* configure: regenerate.
* src/include/config.h.in: Likewise.
Wed Apr 15 09:54:25 1998 Adam Fedor <fedor@doc.com>
* src/NSFileManager.m ([NSFileManager
-fileAttributesAtPath:traverseLink:]): Add NSFileOwnerAccountName.
* src/externs.m: Add NSFileOwnerAccountName definition.
(patch provided by Marcus Mueller <znek@object-factory.com>)
* src/NSThread.m (-sleepUntilDate:): Implemented (from
Quetzalcoatl Bradley <qbradley@csc.uvic.ca>).
Sun Apr 5 20:07:28 1998 Scott Christley <scottc@net-community.com>
* Utilize documentation rules in Makefile Package.
* doc/GNUmakefile: Rewrite to use Makefile Package.
* doc/Makefile.postamble: Remove old obsolete rules.
* Documentation which covers GNUstep as a whole versus just
gstep-base has been moved to the top level Documentation dir.
* GNUstep-HOWTO: Delete.
* doc/gnustep-base.tmpl.texi: GNUstep-HOWTO and FAQ removed.
Add variable so that included files know they are within the
main document.
* doc/gnustep-howto.tmpl.texi: Delete.
* doc/faq.tmpl.texi: Delete.
* doc/announce.tmpl.texi: Don't include version.texi needlessly.
* doc/news.tmpl.texi: Don't include version.texi needlessly.
* doc/todo.tmpl.texi: Don't include version.texi needlessly.
* src/GNUmakefile: Don't compile Random class as the name too
often conflicts with user apps.
* src/GetDefEncoding.m: Reformat.
* src/NSArray.m (-replaceObjectsInRange:withObjectsFromArray:):
Fix range check. Use enumerator instead of count.
Wed Apr 1 18:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Tools/gdomap.m: Modified code so that we make sure we have at least
one valid route to any gdomap process which has probed us. This is
to cope with machines which send out info about all their interfaces
when one or more of the interfaces is not working.
* src/checks/nstask.m: added test for environment setting.
* src/NSCalendarDate.m: Fixed bug in initialisation where daylight
savings time is in operation - was adjusting in wrong direction.
* src/NSRunLoop.m: Added NSObject catagory for the methods -
([NSObject +cancelPreviousPerformRequestsWithTarget:selector:object:]),
([NSObject -performSelector:withObject:afterDelay:]), and
([NSObject -performSelector:withObject:afterDelay:inModes:])
* src/NSTask.m: Various bug fixes as a result of running the test
suite. All seems to work ok now.
* src/NSDate.h: Changed order of declaractions so this can be included
within NSObject.h
* src/NSObject.h: Added run-loop integration methods -
([NSObject +cancelPreviousPerformRequestsWithTarget:selector:object:]),
([NSObject -performSelector:withObject:afterDelay:]), and
([NSObject -performSelector:withObject:afterDelay:inModes:])
* src/NSRunLoop.h: Added an instance variable to keep track of
queued delayed actions to be performed on objects.
Tue Mar 31 11:32:03 1998 Adam Fedor <fedor@doc.com>
* aclocal.m4 (OBJC_CON_AUTOLOAD): Improved test. Check nm output
for indicator functions.
* configure: Regenerate.
* checks/GNUmakefile (LoadMe_RESOURCE_FILES): Changed name.
* doc/gnustep-howto.tmpl.texi: Update.
* doc/status.tmpl.texi: Likewise.
Fri Mar 20 11:15:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* checks/client.m: Added some tests for passing objects byref
* checks/server.h: Added ([-sendByref:]) to protocol.
* checks/server.m: Added ([-sendByref:]) for testing 'byref'.
* src/Coder.m: Added ([-encodeByrefObject:])
* src/Encoder.m: Added ([-_doEncodeByrefObject:]) and changed the
designated encoding method throughout from
([-_encodeObject:withName:isBycopy:isForwardReference:]) to
([-_encodeObject:withName:isBycopy:isByref:isForwardReference:])
* src/NSCoder.m: Added ([-encodeBytes:length:]),
([-encodeByrefObject:]) and ([-decodeBytesWithReturnedLength:])
* src/NSConnection.m: Modified ([-forwardForProxy:selector:argFrame:])
and ([-_service_forwardForProxy:]) methods to handle byref flag.
* src/NSDictionary.m: Added ([+dictionaryWithDictionary:])
* src/NSPortCoder.m: Added ([-isByref]) and ([-_doEncodeByrefObject:])
methods and modified ([-_doEncodeBycopyObject:]) to handle byref flag.
* src/include/Coding.h: Added ([-encodeByrefObject:])
* src/include/NSCoder.h: Added ([-encodeBytes:length:]),
([-encodeByrefObject:]) and ([-decodeBytesWithReturnedLength:])
* src/include/NSDictionary.h: Fixed prototype for the
([+dictionaryWithDictionary:]) method.
* src/include/NSPortCoder.h: Added ([-isByref])
* src/objc-gnu2next.m: Added _F_BYREF flag code
Fri Mar 13 15:05:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSCalendarDate.m: ([-descriptionWithCalendarFormat:locale:])
Fixed bug in displaying time-zone - was displaying minutes and
seconds when should have been showing hours and minutes.
Wed Mar 11 11:56:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSArray.m: ([-copyWithZone:]) changed to use the
NSShouldRetainWithZone() function.
* src/NSCalendarDate.m: ([-dealloc]) don't release the timezone -
we never retain it anyway (should we?)
([-setCalendarFormat:]) make a copy of the string we are given in
case it gets changed or deleted.
* src/NSConcreteNumber.m: ([-copyWithZone:]) fixed to use the
NSShouldRetainWithZone() function.
* src/NSData.m: ([-copyWithZone:]) fixed to use the
NSShouldRetainWithZone() function.
* src/NSDictionary.m: ([-copyWithZone:]) fixed to use the
NSShouldRetainWithZone() function.
* src/NSHost.m: Added ([-awakeAfterUsingCoder:])
* src/NSNumber.m: Added ([-copy]) and ([-copyWithZone:])
* src/NSString.m: ([-copyWithZone:]) fixed to use the
NSShouldRetainWithZone() function.
* src/TcpPort.m: Commented out unnecessary warning message.
* src/NSTimeZone.m: Modified ([-encodeWithCoder:]) and
([-awakeAfterUsingCoder:]) so that the local timezone is encoded
specially and is restored as whatever the local timezone of the
restoring application is.
* src/NSValue.m: Added ([-copy]) and ([-isEqualToValue:])
Tue Mar 10 17:05:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSArray.m: ([-copyWithZone:]) rewritten to avoid doing
unnecessary copy of non-mutable objects and to fix memory leak.
* src/NSCTemplateValue.m: ([-isEqaul:]) and ([-isEqualToValue:])
implemented.
* src/NSCalendarDate.m: ([-initWithCoder:]) and ([-encodeWithCoder:])
implemented.
* src/NSConcreteNumber.m: ([-copy]) and ([-copyWithZone:])
implemented to do simple retains.
* src/NSDictionary.m: ([-copyWithZone:]) rewritten to avoid doing
unnecessary copy of non-mutable objects and to fix memory leak.
* src/NSGString.m: ([-cString]) fixed crash when called on empty
string.
* src/NSTimeZone.m: ([-awakeAfterUsingCoder:]) implemented to handle
decopding of archived objects correctly.
* src/include/NSValue.h: Added ([-isEqualToValue:])