Fri Jul 10 21:43:30 1998 Adam Fedor * src/include/GapArrayPrivate.h (gapMoveGaptTo): Change - to +. * docs/todo.tmpl.texi: Updates Fri Jun 25 20:45:00 1998 Richard Frith-Macdonald * 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 * 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 * NSObject (+isKindOfClass:): New method (patch from Bruce Ide ). (+isMemberOfClass): Likewise. Tue Jun 16 09:48:18 1998 Adam Fedor * src/NSProtocolChecker.m, src/include/NSProtocolChecker.h: New files. (from Mike Kienenberger ) Fri May 29 10:16:09 1998 Adam Fedor * 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 * 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 * src/NSUser.m (NSUserName): Use getpwuid for BSD machines (patch provided by Stefanos Kiakas ). * src/GetDefEncoding.c (GetDefEncoding): Change binary AND to logical AND. (GetEncoding): Likewise (patch provided by David Fritzsche ). Wed May 20 15:26:50 1998 Richard Frith-Macdonald * 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 * 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 ). Fri May 1 14:26:50 1998 Masatake Yamato * 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 * 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 * 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 * 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 * 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 ). * 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 * src/NSFileManager.m ([NSFileManager -fileAttributesAtPath:traverseLink:]): Add NSFileOwnerAccountName. * src/externs.m: Add NSFileOwnerAccountName definition. (patch provided by Marcus Mueller ) * src/NSThread.m (-sleepUntilDate:): Implemented (from Quetzalcoatl Bradley ). Sun Apr 5 20:07:28 1998 Scott Christley * 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 * 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 * 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 * 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 * 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 * 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 * 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:])