libs-base/ChangeLog

1058 lines
43 KiB
Text
Raw Normal View History

Fri Nov 20 14:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSSerializer.m: Added GNUstep specific methods for controlling
format to optimise serialisation for property lists containing
repeated strings.
* src/include/NSSerializer.h: ditto
* src/FastArray.x: inline implementation of fast array code for stuff
that doesn't need to be retained etc. Minimal functionality so far.
* src/Fastmap.x: Tidied indentation etc.
* src/include/NSArchiver.h: Use FastArray
* src/NSUnarchiver.m: Use FastArray
* src/NSAutorleasePool.m: Optimize implementation of +new
* src/NSArray.m: Use ([NSAutoreleasePool +new])
* src/NSDictionary.m: Use ([NSAutoreleasePool +new])
* src/NSFileManager.m: Use ([NSAutoreleasePool +new])
* src/NSPort.m: Use ([NSAutoreleasePool +new])
Thu Nov 19 21:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/Archiver.m: Got rid of 'assert' - replace with 'NSAssert' etc.
* src/BinaryTree.m: ditto
* src/Coder.m: ditto
* src/Collection.m: ditto
* src/ConnectedCoder.m: ditto
* src/Invocation.m: ditto
* src/LinkedList.m: ditto
* src/MachPort.m: ditto
* src/NSAutoreleasePool.m: ditto
* src/NSBundle.m: ditto
* src/NSConnection.m: ditto
* src/NSCountedSet.m: ditto
* src/NSDate.m: ditto
* src/NSDistantObject.m: ditto
* src/NSGArchiver.m: ditto
* src/NSGSequence.m: ditto
* src/NSObject.m: ditto
* src/NSPortCoder.m: ditto
* src/NSRunLoop.m: ditto
* src/NSSet.m: ditto
* src/NSTimer.m: ditto
* src/NSZone.m: ditto
* src/NotificationDispatcher.m: ditto
* src/OrderedCollection.m: ditto
* src/Port.m: ditto
* src/Random.m: ditto
* src/Storage.m: ditto
* src/TcpPort.m: ditto
* src/UdpPort.m: ditto
* src/behavior.m: ditto
* src/mframe.m: ditto
Thu Nov 19 16:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/include/NSSerializer.h: Removed erroneous protocol conformance
for NSSerializer and NSDeserializer.
* src/NSSerializer.m: Complete rewrite - full OpenStep compatibility
and huge speed increase.
* doc/todo.tmpl.texi: Update todo list.
* checks/benchmark.m: Added benchmarks for serializing/deserializing
property lists and archiving/unarchiving them.
* src/NSString.m: Fix bug returning arrya in completePathIntoString
Thu Nov 19 12:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSData.m: ([-encodeWithCoder:]) bugfix for case where data object
is of length zero.
Wed Nov 18 9:20:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Tools/make_services.m: New tool
* Tools/GNUmakefile: Added make_services
* Tools/Makefile.postamble: Tidied installation for gdnc
* src/NSDistributedNotificationCenter.m: Start server with full path.
Mon Nov 16 14:29:35 1998 Adam Fedor <fedor@ultra.doc.com>
* src/NSBundle.m [+allBundles]: New method (unimplemented).
[+allFrameworks]: Likewise.
* src/NSCharacterSet.m [+punctuationCharacterSet]: Likewise.
* src/NSLock.m [-lockBeforeDate:]: Likewise.
[-lockWhenCondition:beforeDate:]: Likewise.
* src/NSConnection.m: Likewise.
* src/include/NSBundle.h: New methods;
* src/include/NSCharacterSet.h: Likewise.
* src/include/NSLock.h: Likewise.
* src/include/NSConnection.h: Likewise (fixes from TROILLARD
Camille <tuscland@wanadoo.fr>).
* src/include/fast.x: Fix /* in comment.
Thu Nov 12 17:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
src/NSFormatter.m: New class
src/include/NSFormatter.h: New class
src/NSRunLoop.m: Misc optimisations
src/NSGString.m: slight ([-cString]) optimisation.
src/NSGCString.m: slight ([-cString]) optimisation.
src/NSObject.m: fast allocation of temporary memory.
src/include/fast.x: fast allocation of temporary memory.
Tue Nov 10 11:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSScanner.m: ([-scanString:intoString:]) bugfix to check length
of the string we are looking for and simply return NO if it is longer
than the data remaining in the string being scanned. Previously it
would have raised an exception - which it shouldn't.
Mon Nov 9 20:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/externs.m: corrected notification name for user defaults.
* src/NSUserDefaults.m: corrected notification name.
* src/include/NSUserDefaults.h: corrected notification name.
Mon Nov 9 11:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/externs.m: fixed error in hashtable constants.
* src/NSDistributedNotificationCenter.m: pugfix in check for
posting of notification. Changed to pass selectors as strings.
* Tools/gdnc.h: Pass selectors as strings. make posting oneway
* Tools/gdnc.m: Pass selectors as strings, plus many bugfixes.
Mon Nov 2 17:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
Tidied header files for NO_GNUSTEP/STRICT_OPENSTEP stuff.
* src/NSDistributedNotificationCenter.m: New class (untested)
* src/include/NSDistributedNotificationCenter.m: New class
* src/GNUmakefile: Added NSDistributedNotificationCenter
* src/Tools/gdnc.m: Server for distributed notifications (untested)
* src/Tools/gdnc.h: Include for distributed notifications
* src/Tools/GNUmakefile: Added gdnc
Fri Oct 30 09:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/include/NSPortNameServer.h: Added ([-removePort:]) method in a
GNUstep catagory so that ports can unregister all their names at one
go. Added maps of names and ports to keep track.
* src/include/Port.h: removed [-invalidate] - inherit from NSPort
* src/Port.m: removed [-invalidate] - inherit from NSPort
* src/NSPort.m: made [-invalidate] method remove all the ports names
from the name server and send the invalidation notification.
* src/NSPortNameServer.m: Keep track of name/port mappings and, the
first time a name is registered for a port, tell gdomap to remove
any pre-existing names for that port (left around from a crashed
server perhaps).
Thu Oct 29 13:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/UnixFileHandle.m: Improved handling of error conditions on
background connection operations. Disable SIGPIPE to avoid abort
when we attempt to write to a socket that's closed by the other end.
* src/TCPPort.m: Modified to use NSPortNameServer, also changed to
disable SIGPIPE on initialisation only, not on every write.
* src/include/NSPortNameServer.h: new class.
* src/NSPortNameServer.m: new class.
* src/GNUmakefile: Added NSPortNameServer.
Wed Oct 28 14:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Tools/gdomap.c: Added command-line options to lookup, register, and
unregister a name for a port - basically for debugging purposes.
* src/TcpPort.m: Modified port registration code to cope with the
case where a server dies and is restarted, and tries to use the
same ip port number it has before it died.
* checks/nsinvocation.m: Added archiving checks.
* src/NSInvocation.m: Archiver bugfixes
* src/include/NSInvocation.h: Archiver bugfixes
* src/NSData.m: Serialisation bugfixes
* src/NSArchiver.m: Archiver bugfixes
* src/NSUnarchiver.m: Archiver bugfixes
Tue Oct 27 08:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
Corrected all the collection classes to return the count of objects
in the collection as the ([-hash]) in conformance with the latest
documentation.
Mon Oct 26 10:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSGCString.m: Implemented ([-copy]) and ([-copyWithZone:]) to
work without invoking any methods uing the runtime - much faster.
* src/NSObject.m: Bugfix and performance improvement to the -perform...
methods. They previously threw an exception if the method referred
to by the selector was not implemented (when they should have tried
forwarding instead) rather than when passed a nul selector.
Sun Oct 25 08:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSObject.m: Cache implementation for adding object to autorelease
pool to avoid objc runtime messaging overhead.
* src/NSAutoreleasePool.m: Cache implementation for adding object to
* src/NSAutoreleasePool.m: Cache implementation for adding object to
autorelease pool to avoid objc runtime messaging overhead.
* src/NSGCString.m: Implemented ([+allocWithZone:])
* src/NSGString.m: Implemented ([+allocWithZone:])
Sat Oct 24 11:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSArchiver.m: New implementation
* src/NSArchiver.m: New file
* src/GNUmakefile: Added NSUnarchiver.m
* src/include/NSArchiver.h: New version
New Archiver/unarchiver - OPENSTEP complient (I think).
Basic functionality tested fairly thoroughly, some of the more
unusual bits untested so far. Mechanisms for adding other backends
in place, but untested. Performance may be around four times that
of the old version though there is still a little (very little)
room for improvement.
Thu Oct 22 21:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSData.m: Added support for serialisation of Class and SEL types
and made a more efficient version of the main deserialisation code
in the NSDataStatic class.
Wed Oct 21 13:30:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSData.m: Reorganized and optimised.
* src/NSGArray.m: optimised coding/decoding
* src/NSGCountedSet.m: optimised coding/decoding
* src/NSGDictionary.m: optimised coding/decoding
* src/NSGSet.m: optimised coding/decoding
* src/NSObject.m: cache data classes
* src/NSString.m: Added (nonstandard) ([-boolValue]) method
* src/include/NSData.h: Added ([-relinquishAllocatedBytesFromZone:])
* src/include/NSString.h: Added (nonstandard) ([-boolValue]) method
* src/include/NSPortMessage.h: Added (as yet unused) class.
* src/NSPortMessage.m: Added (as yet unused) skeleton implementation.
Thu Oct 17 08:15:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSGDictionary.m: Added checks for invalid parameters.
* src/NSGSet.m: Added checks for invalid parameters.
* src/NSGCountedSet.m: Added checks for invalid parameters.
Thu Oct 15 08:13:12 1998 Masatake Yamato <masata-y@is.aist-nara.ac.jp>
* src/NSString.m ([NSString
-completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:]):
Implement.
Thu Oct 15 06:15:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/BinaryCStream.m: Update system version number
* src/NSCalendarDate.m: Implemented ([-copyWithZone:])
* src/NSCountedSet.m: Rewrite ([-copyWithZone:])
* src/include/NSData.h: Added GNUstep specific method for more
efficient zone use.
* src/NSData.m: Modified throughout to use NSZone functions for
managing content memory.
* src/NSGArray.m: Modified to use NSZone functions for managing
content memory. Also tidied coding methods.
* src/include/NSGCString.h: Modified to use NSZone for contents.
* src/NSGCString.m: Modified to use NSZone for contents and fixed
bug in coding (couldn't cope with embedded nuls in string).
* src/NSGDictionary.m: Modified to use NSZone for contents.
* src/include/NSGString.h: Modified to use NSZone for contents.
* src/NSGString.m: Modified to use NSZone for contents.
* src/NSObject.m: Added fastZone() function.
* src/PortCoder.m: Updated system version number
* src/include/NSSet.h: Added ([+setWithSet:])
* src/NSSet.m: Added ([+setWithSet:]) and fixed ([-copyWithZone:])
* src/include/NSString.h: Added GNUstep specific methods for faster
use of zones.
* src/NSString.m: Modified to use NSZone functions for contents.
* src/include/NSZone.h: Removed non-existent methods and changed
structure layout to support NSZoneFromPointer()
* src/NSZone.m: Rewrite to support NSZoneFromPointer(),
NSRecycleZone() and fix a couple of bugs. Needs more work to
make simpler and more efficient.
* src/include/fast.x: Added fastZone()
Wed Oct 14 11:29:11 1998 Masatake Yamato <masata-y@is.aist-nara.ac.jp>
* src/NSString.m ([NSString -stringByResolvingSymlinksInPath]):
Implement.
Wed Oct 14 10:27:47 1998 Masatake Yamato <masata-y@is.aist-nara.ac.jp>
* src/NSString.m ([NSString +pathWithComponents:]):
Use the first object of components as the base path string
instead of null string([NSString string]).
Tue Oct 13 09:24:17 1998 Adam Fedor <fedor@doc.com>
* src/include/NSNotification.h: Addd placeholder in
NSNotificationCenter for size of NotificationDispatcher.
The Oct 8 15:15:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/FastMap.x: Minor bugfixes and updates.
* src/NSArray.m: Optimisation - don't use malloc unless really needed.
* src/NSCountedSet.m: Tidied
* src/NSSet.m: Tidied - core/non-core separation made.
* src/NSGArray.m: Rewrite - simpler and faster.
* src/NSGCountedSet.m: Rewrite to use FastMap (and work).
* src/NSGDictionary.m: Tidied initialisation.
* src/NSGSet.m: Rewrite to use FastMap - much faster.
* src/include/NSSet.h: tidied - core/non-core stuff.
Tue Oct 6 16:35:48 1998 Adam Fedor <fedor@doc.com>
* aclocal.m4: Add win32 test
* configure.in: Use DYNAMIC_LINKER test.
* src/GNUmakefile: Add win32-load.h
* src/win32-load.h: New file.
Tue Oct 6 16:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/FastMap.x: New map table for dictionaries.
* src/include/fast.x: New stuff for avoiding objc message overheads.
* src/NSGCString.m: Hashing and comparison performance improvments
* src NSGDictionary.m: Optimisation
* src NSGString.m: Optimisation
* src/NSObject.m: Optimisation
* src/NSString.m: Optimisation
Sat Oct 3 23:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSString.m: Moved NXConstantString stuff out to NSGCString.m
* src/NSGCString.m: Added NXConstantString (inherits from NSGCString)
and modified for efficient ([-isEqual:]) and ([-isEqualToString:])
methods.
Thu Sep 30 17:45:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
More performance work - huge improvement in dictionary lookup and
perhaps 15 percent improvement elsewhere.
* src/NSString.m: ([-hash]) changed hash generation to produce a
more evenly distributed value so that dictionary lookup works
better for large dictionaries full of similar keys.
* src/NSDictionary.m: ([+dictionaryWithObjectsAndKeys:,...]) fixed
memory leak.
* src/include/NSGDictionary.h: Removed - not needed.
* src/NSGDictionary.m.old: Backup added.
* src/NSGDictionary.m: Complete rewrite.
* src/FastMap.x: New map table stuff for NSGDictionary.
Thu Sep 30 7:00:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
Changes to slightly more than double the speed of dictionary
lookups for string keys.
* src/NSGString: Added efficient -isEqual and -isEqualToString
* src/NSGCString: Speeded up -isEqual and -isEqualToString
Thu Sep 30 4:40:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSAutoreleasePool: Added NSLog to ([+addObject:]) to warn when
an object is autoreleased without a pool being present.
This should avoid many mistakes by newbies who don't understand
the retain/release/autorelease mechanism (perhaps it'll encourage
them to read up about it). It also serves as a useful reminder
when you DO know what you are doing.
Wed Sep 30 14:35:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Removed MallocAddress class -
use ([NSData +dataWithBytesNoCopy:length:]) instead.
* src/NSConnection.m: ([-forwardForProxy:selector:argFrame:])
modifield to cope better when passed a selector without types.
* src/Encoder.m: Modified to encode selector without type if needed.
* Tools/dwrite.m: Removed references to cStringNoCopy
* src/BinaryTree.m: Removed references to cStringNoCopy
* src/Collection.m: Removed references to cStringNoCopy
* src/Encoder.m: Removed references to cStringNoCopy
* src/KeyedCollection.m: Removed references to cStringNoCopy
* src/MemoryStream.m: Removed references to cStringNoCopy
* src/NSCalendarDate.m: Removed references to cStringNoCopy
* src/NSData.m: Removed references to cStringNoCopy
* src/NSGCString.m: Removed references to cStringNoCopy
* src/NSGString.m: Removed references to cStringNoCopy
* src/NSHashTable.m: Removed references to cStringNoCopy
* src/NSLog.m: Removed references to cStringNoCopy
* src/NSMapTable.m: Removed references to cStringNoCopy
* src/NSPortCoder.m: Removed references to cStringNoCopy
* src/NSString.m: Removed references to cStringNoCopy
* src/NSTimeZone.m: Removed references to cStringNoCopy
* src/NSUser.m: Removed references to cStringNoCopy
* src/NSZone.m: Removed references to cStringNoCopy
* src/StdioStream.m: Removed references to cStringNoCopy
* src/Stream.m: Removed references to cStringNoCopy
* src/TextCStream.m: Removed references to cStringNoCopy
* src/UdpPort.m: Removed references to cStringNoCopy
* src/UnixFileHandle.m: Removed references to cStringNoCopy
* src/lex.pl.m: Removed references to cStringNoCopy
* src/lex.sf.m: Removed references to cStringNoCopy
* src/mframe.m: Removed references to cStringNoCopy
* src/o_hash.m: Removed references to cStringNoCopy
* src/o_x_base.m.in: Removed references to cStringNoCopy
Tue Sep 29 13:05:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/include/Foundation.h: Added some missing files.
* src/NSDistantObject.m: Fixed ([-methodSignatureForSelector:)]
Mon Sep 28 17:02:33 1998 Adam Fedor <fedor@ultra.doc.com>
* src/include/NSObject.h (-perform:, -perform:withObject:,
-perform:withObject:withObject:): Remove definitions (use
performSelector:... instead.
(+class, +superclass, +setVersion:, +version): Add.
Rearrange some other method definitions.
* src/include/NSProxy.h: Likewise.
* src/NSObject.m (+class): Add.
(-perform:, -perform:withObject:,
-perform:withObject:withObject:): Depreciate these methods.
* src/Proxy.m: Likewise.
* src/Collection.m: Use performSelector instead of perform.
* src/IndexedCollection.m: Likewise.
* src/NSArray.m: Likewise.
* src/NSRunLoop.m: Likewise.
* src/NSSet.m: Likewise.
* src/NSTimer.m: Likewise.
* src/NotificationDispatcher.m: Likewise.
* src/NSException (-initWithCoder:): Fix object decoding.
Fri Sep 18 10:20:55 1998 Adam Fedor <fedor@ultra.doc.com>
* src/include/preface.h.in (MIN, MAX): Rewrite macros (suggestion
from Tom Hageman <tom@basil.icce.rug.nl>.
Thu Sep 10 06:05:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSFileHandle.m: Implemented [(-waitForDataInBackground])
* src/UnixFileHandle.m: Implemented [(-waitForDataInBackground])
* src/include/NSFileHandle.h: Added [(-waitForDataInBackground])
* src/externs.m: Fixed error in hash callbacks name.
* src/Set.m: Fixed error in hash callbacks name.
* src/include/NSHashTable.h: Fixed error in hash callbacks name.
* src/NSRunLoop.m: minor efficiency hack - don't use autoreleasing
arrray construction methods when we are going to retain immediately.
Fri Sep 04 08:05:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSUserDefaults.m: ([-setObjectsforKey:], [-removeObjectForKey:])
fixed to make domain dictionarys mutable if required.
* src/externs.m: Updated notification name for defaults.
* src/include/NSUserDefaults.h: Updated notification name.
Mon Aug 31 16:28:58 1998 Adam Fedor <fedor@ultra.doc.com>
* src/NSBundle.m (+mainBundle:): Remove *_obj directory to
find main bundle path.
Wed Sep 02 14:15:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/Coder.m: ([-decodeObject:]) fixed to autorelease as it should.
* src/NSCalendarDate.m, src/NSException.m, src/NSGAttributedString.m,
src/NSHost.m, src/NSLog.m, src/NSProcessInfo.m, src/NSTimeZone.m:
tidied coding/decoding and logging.
* src/NSString.m: Added implementation of [-zone] for constnat strings.
Wed Sep 02 13:15:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* src/NSRunLoop.m: ([-cancelPerformSelector:target:argument:]) bugfix
supplied by masata-y@is.aist-nara.ac.jp - was incrementing loop index
when should have been decrementing.
Mon Aug 24 09:22:17 1998 Adam Fedor <fedor@ultra.doc.com>
* doc/gnustep-base.tmpl.texi: Fix up doc problems.
* doc/todo.tmpl.texi: Likewise.
Thu Aug 20 11:50:23 1998 Adam Fedor <fedor@doc.com>
* src/mframe.m (mframe_next_arg): Fixes from Richard
Frith-Macdonald <richard@brainstorm.co.uk>.
Tud Aug 13 21:15:00 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
Rewrite of maframe stuff and associated things to get DO and
NSInvocations working for ALL data types. Configuration files for
GNU/Linux on a PC and sunos4.1.3 on sparc provided (and tested).
* src/NSObject: Fixed code to local reference counts to get object
alignment right on machines that have strict restrictions on the
alignment of doubles (eg sparc).
Also updated forwarding of invocations to work with new code.
* src/NSInvocation.m: Rewrite from scratch to use new mframe code.
* src/NSMethodSignature.m: Rewrite from scratch to use new mframe code.
* src/mframe.m: Modified to use new information set up by config
* configure.in: Run configure in src/mframe
* src/mframe: New configuration directory for mframe stuff.
* src/include/mframe.h: Deleted - now generated by config process.
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:])