2003-03-17 Adam Fedor * Version 1.6.0 2003-03-17 Adam Fedor * Testing/LoadMe.m (afterLoad): Use description, not name. * Testing/nsfilemanager.m: Print some output. Clean up. * Testing/scanner.m, nstimezone.m, release.m: Idem. * config/config.vsprintf, config/config.vasprintf: Rewrite to properly call a variable argument function. 2003-03-14 Adam Fedor * Testing/nsarray.m (compare): Un-nest function. * Source/NSProcessInfo.m (-operatingSystem): Add darwin. 2003-03-13 Richard Frith-Macdonald * Source/NSFileManager.m: ([-isDeletableFileAtPath:]) Fix for the case where the path is a file in the current directory. 2003-03-11 Adam Fedor * configure.ac: Fix some typos (Reported by Alexander Malmberg ). 2003-03-07 Richard Frith-Macdonald * Headers/gnustep/base/NSSet.h: Added a few non-openstep declarations * Source/GSCompatibility.m: OAppend() sort dictionary keys even if locale is nil. 2003-03-06 Richard Frith-Macdonald * Source/NSData.m: Fix reference to zone of deallocated object. Bug reported by Roland Schwingel * Source/NSFileManager.m: Fix typo (using logical or rather than bitwise or) in call to access() Bug reported by Roland Schwingel 2003-02-17 * GNUmakefile (GNUSTEP_TARGET_INSTALL_PREFIX) (GNUSTEP_TARGET_LOCAL_ROOT, GNUSTEP_TARGET_NETWORK_ROOT): On mingw32 replace / with \\057 to avoid the msys shell translating / with \. 2003-03-04 Richard Frith-Macdonald * config/config.vasprintf.c: * config/config.vsprintf.c: Correct the number of arguments passed so that modern compilers don't fail on these files. A compiler failure is seen by configure as the same as a runtime failure, and configure would infer incorrect runtime behavior! 2003-03-01 Richard Frith-Macdonald * Source/NSSerializer.m: Fix crash when deserializing a corrupt or truncated archive ... raise exception rather than segfaulting. Added code to recognize newer versions of the serialiser format and give up if they are encountered and cannot be handled. * Source/GSTcpPort.m: Added code to recognise newer versions of the port format and give up if they are encountered and cannot be handled. This allows for the addition of decent versioning in later formats. 2003-02-28 Richard Frith-Macdonald * Tools/AGSParser.m: Fix to understand __attribute__() in declaration. 2003-02-27 Richard Frith-Macdonald * Tools/AGSIndex.m: Convert nil content to empty strings before use. * Tools/AGSHtml.m: ditto ... prevent some crashes. 2003-02-24 Richard Frith-Macdonald * Source/NSProcessInfo.m (_gnu_process_args): Tidied patch and add code to print error and abort if argv is null under unixy systems. 2003-02-24 Tom Koelman * Source/NSProcessInfo.m (_gnu_process_args): If argv is 0 (e.g. on MingW) set executable name using module name info. 2003-02-23 Richard Frith-Macdonald * Source/NSUser.m: Don't prepend HOMEDRIVE to HOMEPATH if HOMEPATH already contains a drive letter. 2003-02-22 Richard Frith-Macdonald * Source/Additions/GSObjCRuntime.m: GSObjCSetValue() correct to call ([unableToSetNilForKey:]) when it should. * Source/NSDecimalNumber.m: Override initialisers from NSNumber to create NSDecimalNumber objects ... bug report by David Ayers. 2003-02-21 Richard Frith-Macdonald * Source/NSDistributedNotificationCenter.m: ([_connect]) make the connection to the server usable from any thread. 2003-02-19 Adam Fedor * Source/NSKeyValueCoding.m ([NSObject -handleQueryWithUnboundKey:]): Raise NSUnknownKeyException. ([NSObject -handleTakeValue:forUnboundKey:]): Idem. 2003-02-18 Adam Fedor * Source/GSFFIInvocation.m (GSFFIInvocationCallback): Cast invocation to access ivars correctly. Check validReturn. 2003-02-18 Tom Koelman * Source/NSProcessInfo.m (_gnu_process_args): If argv is 0 (e.g. on MingW) set executable name to empty string. 2003-02-17 Richard Frith-Macdonald * Source/GSString.m: (fillHole) fix memory overrun (read only) and argument order errors (in code not normally compiled) spotted by Manuel Guesdon. 2003-02-16 Adam Fedor * Version 1.5.2 * Documentation: Update. * Source/GSFFIInvocation.m (GSFFIInvocationCallback): Autorelease and invalidate the return value object before returning. 2003-02-16 Richard Frith-Macdonald * Source/GSDictionary.m: ([-isEqualToDictionary:]) implement optimised version which does not need to create a key enumerator. * Source/GSArray.m: ditto * Source/GSSet.m: similar minor optimisations. 2003-02-15 15:53 Alexander Malmberg * Source/NSRunLoop.m (-performSelector:target:argument:order:modes:): Order the performers correctly (lower order values first). Correct the documentation. 2003-02-13 Richard Frith-Macdonald * Source/NSTimeZone.m: Fix memory leak when making absolute timezone for offset 0. 2003-02-11 Tom Koelman * Source/NSTask.m: Make arguments into windows quoted strings for mingw. Adjustments to conform to GNUstep style and use static functions to avoid adding methods by RFM. 2003-02-11 Adam Fedor * configure (LDFLAGS): Remove extra spaces that cause problems on Darwin/gcc i2003-02-11 Willem Rein Oudshoorn * Headers/Foundation/NSFileManager.h: Added a little bit to the * documentation of the NSFileManagerHandler protocol. (some documentation markup fixes by RFM also) * Source/NSFileManager.m ([NSFileManager -copyPath:toPath:handler:]): use new private methods to cope with handlers that do not implement the informal protocol. Pass more information to the handler in case of an error. ([NSFileManager -removeFileAtPath:handler:]): see above ([NSFileManager -movePath:toPath:handler:]): see above ([NSFileManager -_copyPath:toPath:handler:]): see above ([NSFileManager -_copyFile:toFile:handler:]): see above, also fixed leaking of file descriptors in case of error without a handler. ([NSFileManager -_sendToHandler:handlerwillProcessPath:path]): new method ([NSFileManager -_proceedAccordingToHandler:handlerforError: errorinPath:path]): new method ([NSFileManager -_proceedAccordingToHandler:handlerforError: errorinPath:pathfromPath:fromPathtoPath:toPath]): new method 2003-02-11 Richard Frith-Macdonald * Source/NSFileManager.m: ([+attributesAt:traverseLink:]) check for null pointer and return nil. Crash reported by Tom Koelman. 2003-02-10 13:56 Alexander Malmberg * Source/NSRunLoop.m [HAVE_POLL] (-pollUntil:within:): Set fdEnd to pollfds_count instead of setting it separately (which was being done incorrectly). 2003-02-07 19:21 Alexander Malmberg * Source/GSAttributedString (-setAttributes:range:): Fix memory leak. 2003-02-06 Richard Frith-Macdonald * Sourcewin32-def.top: Remove recently added external functions. * Source/libgnustep-base.def.in: Regenerated to just contain public classes. The manual hacks are no longer needed as the make system now handles inclusion of symbols from subprojects in dlls. 2003-02-05 Richard Frith-Macdonald * Sourcewin32-def.top: Manually added external functions. * Source/libgnustep-base.def.in: Regenerated to combine external functions and all public classes. * Source/NSConnection.m: ([-init]) creates a connection usable as a server. 2003-02-04 Richard Frith-Macdonald * Source/NSBundle.m: Implement new MacOS-X isLoaded method. * Headers/gnustep/base/NSBundle.h: ditto 2003-02-04 Willem Rein Oudshoorn * Headers/gnustep/base/GSInvocation.h (CLEAR_RETURN_VALUE_IF_OBJECT): * New macro, if invocation returns object release it. (RETAIN_RETURN_VALUE): New macro, if invocation returns object release it. * Source/NSInvocation.m ([NSInvocation -dealloc]): Implement RELEASE * return object ([NSInvocation -setReturnValue:]) Implement RETAIN/RELEASE on return object ([NSInvocation -invokeWithTarget:]): Implement RETAIN/RELEASE on return object, fixed _validReturn flag setting * Source/GSFFIInvocation.m ([GSFFIInvocation -invokeWithTarget:]): Fix _validReturn flag setting, Implement RETAIN/RELEASE on return object. * Source/GSFFCallInvocation.m ([GSFFCallInvocation * -invokeWithTarget:]): Fix _validReturn flag setting. Implement RETAIN/RELEASE on return object. 2003-02-04 Adam Fedor * Headers/gnustep/base/.cvsignore: Don't include config.h.in * Documentation/.cvsignore: Don't include *texi * Source/Additions/GSXML.h: Fix up GSXLM.h include on MacOSX 2003-02-02 Stephane Corthesy Adam Fedor * Headers/gnustep/base/GSObjCRuntime.h (GS_STATIC_INLINE): Rename from FOUNDATION_STATIC_INLINE * Headers/gnustep/base/GCObject.h, GSXML.h: include Foundation/Foundation.h on MacOSX. * Source/Additions/GCArray.m, GCDictionary.m, GCObject.m: Idem. * Source/Additions/GSCompatibility.[hm]: Change category names to GSCompatibility. * Source/Additions/GSNextRuntime.m (ROUND): Expand inline due to gcc 3.1 compile problems. * Source/Additions/Unicode.m: Don't define GetEncodingName on MacOSX Added #ifdef HAVE_ICONV around definition of iconv_stringforencoding(). 2003-02-01 Richard Frith-Macdonald * Source/Additions/Unicode.m: Fix error in check for legality of three-byte utf-8 sequences. 2003-01-31 Richard Frith-Macdonald * Source/NSRunLoop.m: Fix memory leak with timed performs. 2003-01-31 Stephane Corthesy Adam Fedor * Headers/gnustep/base/GSCategories.h: Moved NSString(GSCategories), NSMutableString(GSCategories), and copied NSObject(GSCategories) to here * Headers/gnustep/base/NSString.h, Headers/gnustep/base/NSObject: From here. * Headers/gnustep/base/GSMime.h: Include Foundation on MacOSX. * Source/Additions/GSCategories.m: Fix includes. * Source/Additions/GSCompatibility.h: Defined DebugLog, WarnLog macros. Add Additional NSObject, NSInvocation, NSString and NSProcessInfo methods. Add NSStandardLibraryPaths. * Source/Additions/GSCompatibility.m: Idem. 2003-01-30 Richard Frith-Macdonald * Source/libgnustep-base.def.in: Regenerated 2003-01-27 Richard Frith-Macdonald * Source/Additions/Unicode.m: Fixed bug in utf-8 output for three byte sequences. * Tools/AGSOutput.m: Fix loss of trailing info after a closing square bracket round a class name. * Source/Additions/GCArray.m: make mutable copy shallow for consistency with other arrays. 2003-01-26 Richard Frith-Macdonald * Source/NSString.m: Added new MacOS-X method ... ([MSMutableString-replaceOccurrencesOfString:withString:options:range:]) * Source/Headers/gnustep/base/NSString.h: ditto * Source/Additions/GSCategories.m: Added ([NSData-initWithHexadecimalRepresentation:]) * Source/Headers/gnustep/base/GSCategories.h: ditto 2003-01-26 Adam Fedor * Compiling gdl2 on MacOSX. * Headers/gnustep/base/NSObject.h (-notImplemented:, -subclassResponsibility:, -shouldNotImplement:, -compare:): Move to GSCategories category. * Headers/gnustep/base/NSString.h (-stringByDeletingPrefix:, -stringByDeletingSuffix:, -deleteSuffix:, -deletePrefix:): Idem. * Source/NSObject: Move methods to Additions/GSCategories.m * Source/NSString: Idem. * Source/Additions/GSCompatibility.h (GetEncodingName): Add. * Source/Additions/GSCompatibility.m (GetEncodingName): Cocoa implementation. 2003-01-24 Richard Frith-Macdonald * Source/Additions/GSCategories.m: Changed name of md5 digest method and added -hexadecimalRepresentation. * Source/Additions/GSMime.m: Update for md5 change. * Documentation/GNUmakefile: Fixed error in installation location. * Documentation/Makefile.postamble: Fixed to install BaseAdditions documentation. * Source/md5.c: Tidy up ... removed ... no longer used * Source/md5.h: ditto * Source/numbers.c: ditto * Headers/gnustep/base/numbers.h: ditto 2003-01-23 Richard Frith-Macdonald * Documentation/Base.gsdoc: Refer to additions. * Documentation/BaseAdditions.gsdoc: New intorduction for additions * Headers/gnustep/base/GSCategories.h: Added MD5Digest NSData method * Source/DocMakefile: Build additions documentation separately * Source/Additions/GSCategories.m: Added MD5Digest NSData method * Source/Additions/GSMime.m: Use MD5Digest NSData method. 2003-01-22 Richard Frith-Macdonald * Source/Additions/GSMime.m: ifdefed out my last change ...not sure it was good. * Source/GSFileHandle.m: Removed bogus semicolon which was causing code to be executed repeatedly rather than just once ... trivial optimisation. 2003-01-21 Adam Fedor * Source/Additions/(GCArray.m, GCDictionary.m, GCObject.m, GSCategories.m): Include config.h * Source/Additions/GSMime.m: Add extra arg to some NSDebugMLog to get it to compile right on OSX. 2003-01-20 Richard Frith-Macdonald * Headers/gnustep/unicode/latin9.h: Latin9 string encoding tables * Source/Additions/Unicode.m: Added built-in support for the Latin9 character encoding ... contains the Euro symbol ... nice for european users. * Source/NSArray.m: Make abstract copying implementation like that of latest MacOS-X rather than OPENSTEP ... no relationship between mutability and depth. * Source/NSDictionary.m: ditto * Source/NSSet.m: ditto * Source/GSArray.m: Implement optimised copies ... copying an immutable object just retains it, and copying a mutable object is shallow. * Source/GSDictionary.m: ditto * Source/GSSet.m: ditto 2003-01-16 Richard Frith-Macdonald * Source/NSURL.m: Support MacOS-X style initialisation using a path with a leading slash. 2003-01-09 Richard Frith-Macdonald * Source/Additions/GSCategories.m: Additional ([weekOfYear]) method for NSCalendarDate. * Headers/gnustep/base/GSCategories.h: ditto 2003-01-07 Richard Frith-Macdonald * Source/NSLock.m: * Source/NSPage.m: Mingw fixes ... problems reported by Fred. 2003-01-04 Richard Frith-Macdonald * Source/NSConcreteNumber.m: ([compare:]) explicitly cast to promote values to a type where comparisons can be done without loss of precision. 2003-01-03 Richard Frith-Macdonald * base.make.in: * configure: * configure.ac: * Headers/gnustep/base/GSIArray.h: * Headers/gnustep/base/GSIMap.h: * Headers/gnustep/base/NSGeometry.h: * Headers/gnustep/base/NSInvocation.h: * Source/GSArray.m: * Source/GSAttributedString.m: * Source/GSCompatibility.m: * Source/GSCountedSet.m: * Source/GSDictionary.m: * Source/GSFFCallInvocation.m: * Source/GSFTPURLHandle.m: * Source/GSFileHandle.m: * Source/GSFormat.m: * Source/GSString.m: * Source/GSTcpPort.m: * Source/GSTemplateValue.m: * Source/NSArray.m: * Source/NSAutoreleasePool.m: * Source/NSBundle.m: * Source/NSCalendarDate.m: * Source/NSConcreteNumber.m: * Source/NSCountedSet.m: * Source/NSData.m: * Source/NSDebug.m: * Source/NSInvocation.m: * Source/NSLog.m: * Source/NSMethodSignature.m: * Source/NSNotificationCenter.m: * Source/NSObject.m: * Source/NSPortCoder.m: * Source/NSRunLoop.m: * Source/NSScanner.m: * Source/NSSerializer.m: * Source/NSString.m: * Source/NSTimeZone.m: * Source/NSUnarchiver.m: * Source/mframe.m: * Source/Additions/GSMime.m: * Source/Additions/GSXML.m: * Tools/AGSOutput.m: * Tools/AGSParser.m: * Tools/defaults.m: * Tools/gdomap.c: * Tools/pl2link.m: * Tools/sfparse.m: * Tools/make_strings/StringsFile.m: Tweaks for warning free compilation with gcc-3.4 ... many comparisons os signed and un signed values avoided etc. 2003-01-03 Richard Frith-Macdonald * Tools/AGSHtml.m: Don't try to make a type reference to the superclass of NSObject. 2002-12-31 Richard Frith-Macdonald * Source/NSPage.m: Document all functions. 2002-12-31 Kelvin * Source/NSPage.m (NSRealMemoryAvailable): Add support for MINGW and BeOS. 2002-12-31 Richard Frith-Macdonald * Source/GSEQ.h: Optimisations for normalising sequences, especially where they contain latin1 characters. * Source/Additions/GCDictionary.m: Update map tables for macosx * Source/NSMapTable.m: Update for macosx compatibility, add some documentation and move stuff from externs.m * Source/NSHashTable.m: Update for macosx compatibility, add some documentation and move stuff from externs.m * Source/externs.m: Remove map and hash table stuff * Source/NSException.m: Fix documentation cross ref error. * Source/NSAssertion.m: Improve documentation. * Headers/gnustep/base/NSException.h: Include assertion documentation. * Headers/gnustep/base/NSMapTable.h: Update for macosx compatibility. * Headers/gnustep/base/NSHashTable.h: Ditto * Tools/AGSHtml.m: Fix typo ... excess semicolon in constant output. * Tools/AGSParser.m: Fix error failing to find comment for constants. * Source/NSObjCRuntime.m: Document functions. 2002-12-30 Adam Fedor * SSL/GNUmakefile: Don't compile if base=no * Tools/AGSIndex.h: Include gnustep/base/GSXML.h. * Tools/AGSHtml.m: Include GNUstep.h * Tools/AGSInde.m, Tools/AGSOutput.m, Tools/AGSParser.m, Tools/HTMLLinker.m: Idem. * Tools/GNUmakegile: Only compile autogsdoc when add=yes * Tools/Makefile.preamble: Include -lgnustep-baseadd when add=yes Mon Dec 30 18:19:55 2002 Nicola Pero * configure.ac: Recognize apple OBJC_RUNTIME_LIB. * configure: Regenerated. * Makefile.postamble: Updated check for gnu FOUNDATION_LIB. * Source/Makefile.preamble (libgnustep-baseadd_LIBRARIES_DEPEND_UPON): Do not add -framework Foundation on Apple, it's added automatically by gnustep-make. * Source/GNUmakefile: Updated check for OBJC_RUNTIME_LIB. * Source/Additions/GNUmakefile: Updated checks for OBJC_RUNTIME_LIB and FOUNDATION_LIB. 2002-12-28 Kelvin * Source/NSPage.m: Add BeOS support. * Source/NSProcessInfo.m ([NSProcessInfo -operatingSystem]): Idem (Also added solaris (fedor@gnu.org)). 2002-12-24 Richard Frith-Macdonald * Source/Additions/Unicode.m: Tidied and optimised binary searches. 2002-12-19 Richard Frith-Macdonald * Tools/AGSParser.m: Fix bug handling repeated opeing braces. 2002-12-17 Richard Frith-Macdonald * Tools/AGSIndex.m: Fix error indexing vararg methods. * Source/Additions/Unicode.m: Added home-brewed support for UTF8 to avoid use of iconv where not necessary.q Hope the code is OK :-) 2002-12-12 Richard Frith-Macdonald * Headers/gnustep/base/NSDistributedNotificationCenter.h: add type for LAN-wide notifications. Add ivar to support this. * Source/NSDistributedNotificationCenter.m: Implement support for a LAN-wide notification center. Fully document class. * Tools/gdnc.m: Add new GSNetwork flag to operate as LAN-wide notification center. * Tools/AGSHtml.m: Don't output contents section if there is nothing to show (ie must have at least two sections to index). * Source/NSConnection.m: Add locks to protect proxy cache in timeout. 2002-12-10 Adam Fedor * configure.ac: Enable libffi on darwin by default. 2002-12-10 Richard Frith-Macdonald * Source/NSArray.m: ([removeObjectsFromIndices:numIndices:]) bugfix for sorting by Kelvin Sherlock. * Source/NSConnection.m: Experimental code to keep local objects retained long enough to deal with most cases where the remote process may want them again. * Source/NSHost.m: Don't cache local host name ... it may change due to use of DHCP etc. 2002-12-08 Richard Frith-Macdonald * Source/NSThread.m: Fix race condition firing perform holder. Fix supplied by Philip Derrin. 2002-12-05 Richard Frith-Macdonald * Source/NSUserDefaults.m: Fix uninitialised local variable 'locale' which was causing a crash ... not 100% sure my fix is making the code work as intended. Could Adam please check it? 2002-12-04 Adam Fedor * Headers/gnustep/base/GSLocale.h: Add category arg to SetLocale functions. * Source/GSLocale.m (GSSetLocaleC, GSSetLocale): Update for change. * Source/NSObject.m (+initialize): Idem. * Source/NSUserDefaults.m ([NSUserDefaults +standardUserDefaults]): Idem. 2002-12-04 Richard Frith-Macdonald * Source/NSSerializer.m: bugfix deserialisation ... was trying to read size of date/number when these values were not being serialized. 2002-12-03 Mirko Viviani * Source/NSBundle.m ([NSBundle +initialize]): check for linked framework in two passes, first collect all the framework classes, then add it. The previous routine failed to add all the frameworks. 2002-12-02 Adam Fedor * Port baseadd to MacOSX. * Makefile.postamble (header-links): Don't link gnustep/gui to Foundation for FOUNDATION_LIB=nx * Headers/gnustep/base/NSObjCRuntime.h (FOUNDATION_EXPORT): Define only if not defined already. * Headers/gnustep/base/objc-gnu2next.h: Define _CLS_META, _CLS_CLASS * Source/Makefile.preamble (libgnustep-baseadd_LIBRARIES_DEPEND_UPON): Depend on framework Foudation if FOUNDATION_LIB=nx * Source/objc-gnu2next.m: Move most functions... * Source/Additions/GSNextRuntime.m: ...to here. * Source/Additions/GSCompatibility.[hm]: New files. * Source/Additions/GCDictionary.m: Include it. * Source/Additions/GSMime.m: Idem. * Source/Additions/GSXML.m: Idem. * Source/Additions/GCObject.m: Idem. Null out mutex code on NeXT_RUNTIME (Need a better fix). * Source/Additions/GNUmakefile: Don't compile Unicode.m on FOUNDATION_LIB=nx (not ported yet). * Source/Additions/GSObjCRuntime.m (GSObjCAddClasses): Version for NeXT_RUNTIME. (GSObjCAddClassBehavior): Fixes for NeXT_RUNTIME. * Source/Additions/behavior.m (behavior_class_add_class): Idem. 2002-12-02 Jonathan Gapen * Headers/gnustep/base/NSPort.h: Add NSSocketPort interface. * Source/NSSocketPort.m: New file. New MacOS X class partially implemented; serves as BSD socket wrapper. 2002-12-02 Adam Fedor * base.make.in (CONFIG_SYSTEM_LIBS): Set only if shared=no. * config.make.in (CONFIG_SYSTEM_LIBS): Set only if shared=yes. * Source/Makefile.preamble (libgnustep-base_LIBRARIES_DEPEND_UPON): Depend on $(CONFIG_SYSTEM_LIBS) if shared=yes. 2002-11-29 Richard Frith-Macdonald * Tools/plparse.m: Stefan Urbaneks patch to return 1 on failure. * Tools/sfparse.m: Similar code for this tool. * Source/Additions/GSObjCRuntime.m: Tidied function names * Headers/gnustep/base/GSObjCRuntime.h: ditto. * Source/NSKeyValueCoding.m: Use new function names. 2002-11-28 Richard Frith-Macdonald * Tools/AGSParser.m: Fix so we document static declarations made in headers and only ignore them in implementation. * Tools/AGSOutput.m: Bugfix to output ivar type information. * Tools/AGSHtml.m: Reduce space around examples. Bugs reported by Chris B. Vetter * Source/Additions/GSObjCRuntime.m: Tidied function name conventions. * Headers/gnustep/base/GSObjCRuntime.h: ditto. * Source/NSKeyValueCoding.m: Use new function names. * Source/mframe.m: When scanning arguments, skip type information for things poionted to by a pointer - more efficient than scanning the fine structure and then throwing away the scanned information. * Source/additions/GSMime.m: Fill in 'type' field in multipart/related and fix bug in seaarch by content id. Also minor consistency change to API. 2002-11-27 Manuel Guesdon * Source/Additions/GSObjCRuntime.m: fixed type call typo in GSFindInstanceVariable 2002-11-27 Adam Fedor * configure.ac (INCLUDE_FLAGS): New for holding flags needed for compiling base. * config.make.in (CONFIG_SYSTEM_INCL): Use it. * base.make (CONFIG_SYSTEM_INCL): Remove CPPFLAGS (CONFIG_SYSTEM_DEFS): Remove. * Source/Additions/GNUmakefile: include config.mak 2002-11-27 Richard Frith-Macdonald * Source/Additions/GSObjCRuntime.m: New file with GNUstep extensions from NSObjCRuntime, plus renamed behavior functions, plus a few other runtime manipulation functions. EXPERIMENTAL * Headers/gnustep/base/GSObjCRuntime.h: declarations for above. * Source/GSCompatibility.m: Don't use new format plists when writing descriptions. Also, honor NSWriteOldStylePropertyLists user default to write old style property-lists rather than new style or xml style. * Source/NSUser.m: Use USERPROFILE for default home directory on windoze. * Source/NSArray.m: Write non-xml property lists as ascii. * Source/NSDictionary.m: Write non-xml property lists as ascii. * Source/mframe.m: use objc_alignof_type() as suggested by Roland Schwingel. Long ago the objc runtime version was buggy so mframe implemented its own algorithm. Now the objc runtime one is better. 2002-11-26 Richard Frith-Macdonald * Source/Additions/GCObject.m: Attempt to make garbage collecting thread-safe. * Source/Additions/GCArray.m: Fix count initialising mutable array. * Source/Additions/GSMime.m: Provide a method to generate and return a string suitable for use as a boundary. Make tolerant of multipart messages with 'application' as the message type. Added ([-setBuggyQuotes:]) method for parsing stuff produced by microsoft ;-( 2002-11-25 Richard Frith-Macdonald * Source/NSUserDefaults.m: Treat '-' on its own as an argument rather than the start of a flag name. * Source/Additions/GSMime.m: Place angle brackets around generated content ID. Add method to generate message ID. Tidy comments a little. 2002-11-20 Richard Frith-Macdonald * Source/libgnustep-base.def: Add garbage collecting classes. 2002-11-20 Adam Fedor * Source/NSBundle.m (+preferredLocalizationsFromArray:forPreferences:): Check for array with no objects. ([NSBundle -localizedInfoDictionary]): Idem. 2002-11-20 Richard Frith-Macdonald * Source/Additions/Unicode.m: Work around bug in the redhat 8 iconv library ... was sucessfully opening the encoding "" when it shouldn't. 2002-11-19 Adam Fedor * Version: 1.5.1 * Documentation/news.texi: Updated. 2002-11-19 Adam Fedor * Headers/gnustep/base/NSBundle.h: More documentation. Add missing MacOSX methods. * Source/NSBundle.m (-executablePath): New (-load): Use it. (+pathsForResourcesOfType:inDirectory:): New stub. (-pathsForResourcesOfType:inDirectory:forLocalization:): Idem. (-pathForResource:ofType:inDirectory:forLocalization:): Idem. (+preferredLocalizationsFromArray:): New method. (+preferredLocalizationsFromArray:forPreferences:): Idem. (-localizedInfoDictionary): Idem. (-localizations): Idem. (-preferredLocalizations): Idem. * Source/cifframe.m (cifframe_from_info): Fix so that stucture returns get space allocated. 2002-11-19 Richard Frith-Macdonald * Source/behavior.m: Moved to Source/Additions/behavior.m * Source/Unicode.m: Moved to Source/Additions/Unicode.m * Source/Additions/GCObject.m: new experimental GC class. * Source/Additions/GCArray.m: ditto * Source/Additions/GCDictionary.m: ditto * Headers/gnustep/base/GCObject.h: Garbage collection classes intended for use by gdl2 and gsweb. 2002-11-18 Richard Frith-Macdonald * Source/GSCompatibility.m: Fix for case where a non property list object is found when outputting a description. 2002-11-12 Richard Frith-Macdonald * Source/NSUserDefaults.m: Fix for getting integer, float and bool values when they are stored as NSNumbers (problem reported by Ludovic Marcotte). Also optimise a little. 2002-11-15 Richard Frith-Macdonald * Source/NSThread.m: Port pipe to mingw. * Tools/gdomap.c: Fix for modern mingw interface lookup. Patch by Tom Koelman 2002-11-12 Richard Frith-Macdonald * Source/NSUserDefaults.m: Try again ... get ([-setVolatileDomain:forName:]) and ([-setPersistentDomain:forName:]) to conform to both the OpenStep standard and the current MacOS-X documentation. 2002-11-11 Richard Frith-Macdonald * Source/NSString.m: adocument property list stuff. * Source/NSUserDefaults.m: set integers, floats and bools as NSNumber Bugfix ([-setVolatileDomain:forName:]) was checking wrong list of domains. Tidied. 2002-11-10 Richard Frith-Macdonald * Headers/gnustep/base/NSObject.h: Removed GNUstep plist extensions. * Source/NSObject.m: ditto. * Source/GSCompatibility.m: Implement new plist generator. * Source/NSArray.m: Use new plist code * Source/NSData.m: ditto * Source/NSDictionary.m: ditto * Source/NSSerializer.m: handle NSNumber and NSDate * Source/NSString.m: ditto, plus implement extensions to old plist support so we can encode NSNumber and NSDate values. Remove GNUstep property list extensions from the api ... make more like MacOS and OpenStep spec by having a central mechanism for generating property lists rather than spreading the code across the plist classes. Also ... maintain allocation debug accounting when making objects immutable. 2002-11-09 Richard Frith-Macdonald * Source/NSObject.m: use NSString implementation of ([descriptionWithLocale:indent:to:]) * Source/NSUserDefaults.m: ([setObject:forKey:]) validate and raise exceptions if given bad info. 2002-11-07 02:21 Alexander Malmberg * Source/GSString.m: (-makeImmutableCopyOnFail:): Set isa to correct class. 2002-11-04 Richard Frith-Macdonald * Source/NSArray.m: Ensured some documentation in place for almost all methods. * Source/Additions/GSMime.m: Fix broken method reference. * Source/Additions/GSXML.m: ditto * Source/NSScanner.m: ditto * Source/NSUnarchiver.m: ditto * Tools/AGSIndex.m: Minor fix for superclass reference lookup. * Tools/AGSHtml.m: ditto 2002-11-03 Richard Frith-Macdonald * Source/NSRunLoop.m: Revert to remove unneeded notification setup. * Source/NSThread.m: Rewrite pierres changes, scrapping all conditionally compiled code that would never be used, rewriting unix specific stuff (so it might run under windoze ... not yet tested) removed unnecessary code and simplified, etc etc. Fixed bugs in usage of condition locks so it actually works. * Testing/thread.m: New test to try out performSelectorOnMainThread:withObject:waitUntilDone:modes: 2002-11-02 Pierre-Yves Rivaille * Source/NSRunLoop.m ([NSRunLoop -init]): ask to be informed about NSWillBecomeMultiThreadedNotification if _willBecomeMultiThreaded: method existes. * Source/NSRunLoop.m: new GSAppKitInterThreadRunLoopWatcher private class. ([NSRunLoop -_willBecomeMultiThreaded:]): new method, sets up the lock, the socket and new run loop watcher that'll listen on the socket. [NSObject -performSelectorOnMainThread:withObject:waitUntilDone:modes:]): modified to use the previous changes. 2002-11-01 Richard Frith-Macdonald * Headers/gnustep/base/NSBundle.h: Tidied/corrected documentation markup. * Headers/gnustep/base/NSDate.h: Added NSTimeIntervalSince1970 and removed GSTimeNow() from public API. * Source/NSDate.m: Update to use NSTimeIntervalSince1970 * Source/NSTimer.m: Declare GSTimeNow() locally * Source/NSprocessInfo.m: ditto * Source/Additions/GSMime.m: more tolerant parsing ... ignore excess data in multi-part document. Thu Oct 31 00:46:23 2002 Nicola Pero * Headers/gnustep/base/NSBundle.h: Added more documentation. Wed Oct 30 23:42:50 2002 Nicola Pero * Source/NSBundle.m ([+_addFrameworkFromClass:]): New code locating linked frameworks magically - no matter where they are on disk - by using objc_get_symbol_path(). If that fails or is not available, fall back on the existing code. Fixed NSLog() message. 2002-10-30 Richard Frith-Macdonald * Source/NSThread.m: Implemented and documented new MacOS-X methods - ([-performSelectorOnMainThread:withObject:waitUntilDone:modes:]) and ([-performSelectorOnMainThread:withObject:waitUntilDone:]) Wed Oct 30 03:14:34 2002 Nicola Pero * Headers/gnustep/base/objc-load.h: Added copyright notice. (objc_get_symbol_path): Declare to take a Category *, not a struct objc_category *, argument; documented. * Source/objc-load.m: Include config.h first. Define _GNU_SOURCE if HAVE_DLADDR is defined. (objc_get_symbol_path): Fixed crash with classes or categories with long names. Updated declaration. * config/objc-sys-dynamic.m4 (OBJC_SYS_DYNAMIC_LINKER): Print a message displaying the type of dynamic linker found. Add -ldl on the link line for linux-gnu and other systems, so that dladdr() is actually found. With the 'simple' linker, print a message saying if we found dladdr() or not. (OBJC_SYS_DYNAMIC): Historical unused macro removed. * configure: Regenerated. 2002-10-28 Richard Frith-Macdonald * Source/NSFileManager.m: include statvfs.h if available. 2002-10-26 Adam Fedor * Source/NSException.m: Document. * Source/NSFileHandle.m: Partial Documentation. * Source/NSObject.m: Fix typo in docs. 2002-10-25 Mirko Viviani * Source/NSBundle.m ([NSBundle -load]): set _codeLoaded before loading the bundle. 2002-10-22 Richard Frith-Macdonald * Tools/AGSParser.m: Avoid duplication of method comments when parsing the same file as both header and source. 2002-10-22 Richard Frith-Macdonald * Tools/AGSOutput.m: ([-split:]) In links generated from class and method specifications in square brackets, place a space between the class and the method name. * Tools/gsdoc-1_0_0.dtd: Corrected minor entity errors. 2002-10-21 Adam Fedor * Headers/gnustep/unicode/thai.h: New file. * Headers/gnustep/base/NSString.h (_NSStringEncoding): Add NSISOThaiStringEncoding. * Source/NSString.m (-dataUsingEncoding:allowLossyConversion:): Handle it. * Source/Unicode.m (struct _strenc_ str_encoding_table[]): Idem. (GSEncodingForRegistry): Idem. (GSToUnicode, GSFromUnicode): Idem. (Patches, modified, from Banlu Kemiyatorn ). 2002-10-21 Adam Fedor * Source/GSLocale.m (GSLanguageFromLocale): Implement regardless of HAVE_LOCALE_H. * Source/Unicode.m (GSEncodingForRegistry): New (from [GSFontInfo +encodingForRegistry:encoding:]). (GSEncodingFromLocale): New. (GetDefEncoding): Rearrange encoding check. * Resources/Languages/Locale.encodings: New file. 2002-10-21 Adam Fedor * Documentation/coding-standards.texi: Update. 2002-10-14 Richard Frith-Macdonald Source/NSObject.m: Add ([-makeImmutableCopyOnFail:]) for use by methods wishing to return constant string/array/dictionary etc results after building them using mutable objects they created. Source/GSArray.m: Implement ([makeImmutableCopyOnFail:]) Source/GSString.m: ditto Source/GSDictionary.m: ditto Source/GSSet.m: ditto Source/NSFileManager.m: Use it 2002-10-13 Mirko Viviani * Source/NSBundle.m ([NSBundle +_addFrameworkFromClass:]): remove the classes in the _loadingBundle that does not belong to it but with frameworks linked with it. ([NSBundle +bundleForClass:]): construct a list of NSFramework_* classes loaded with the bundle. ([NSBundle -load]): call _addFrameworkFromClass: for all linked frameworks with the bundle. 2002-10-13 Richard Frith-Macdonald * Tools/AGSHtml.m: Create automatic references to protocols in type specifications of the form (id) * Tools/autogsdoc.m: Add -Files option to read names of files to process as a property list rather than using command line args. Add -Clean flag to remove generated output files and purge generated data from templates. Add -CleanTemplates to completely temove template files. * Tools/AGSParser.m: Warn about private methods and ivars. 2002-10-12 Richard Frith-Macdonald * Source/NSProcessInfo.m: Make safe to reinitialise with args. * Source/Additions/GSXML.m: Correct handling of atttribute values. * Tools/autogsdoc.m: Initialise NSProcessInfo explicitly. 2002-10-11 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([-initWithContentsOfFile:]) check to see if the file is writable and the directory exists. If we can't operate properly, run in read-only ,mode where we try to read the file if possible, but never write defaults back. 2002-10-10 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([-synchronize]) handle locking more carefully ... avoid cpu intensive busy loops and give up after a while. 2002-10-10 Richard Frith-Macdonald * Source/NSLog.m: Added GSPrintf() * Tools/defaults.m: Use GSPrintf() * Tools/pldes.m: ditto * Tools/plser.m: ditto * Tools/plmerge.m: ditto * Tools/plparse.m: ditto * Tools/sfparse.m: ditto * Documentation/Base.gsdoc: Bump gsdoc version to 1.0.0 * Documentation/Functions.gsdoc: ditto * Documentation/TypesAndConstants.gsdoc: ditto * Source/NSLog.m: Fix typo in comment. * Tools/AGSOutput.m: Bump gsdoc version to 1.0.0 * Tools/GNUmakefile: Add gsdoc 1.0.0 dtd * Tools/autogsdoc.m: Bump gsdoc version to 1.0.0 * Tools/gsdoc-0_6_7.dtd: Revert to earlier version * Tools/gsdoc-1_0_0.dtd: New from latest update to 0.6.7 I think the documentation dtd is pretty complete now. 2002-10-09 Richard Frith-Macdonald * Tools/GNUmakefile: revert ... can't build if base library isn't installed. 2002-10-09 Richard Frith-Macdonald * Source/NSLog.m: Lots of documentation added. * Tools/GNUmakefile: build autogsdoc documentation automatically if possible. * Tools/AGSOutput.m: Make automatic cross references for functions. * Source/Docmakefile: Use handcrafted template files. Document the path utilities file. * Documentation/Functions.gsdoc: Handcrafted template. * Documentation/TypesAndConstants.gsdoc: Handcrafted template. 2002-10-08 Richard Frith-Macdonald * Headers/Foundation/NSDebug.h: Make warn logs de-selectable at runtime by setting the NoWarn debug level. Document. Say that debug levels can be added by putting them in the GNU-Debug array in the defaults database. * Source/NSUserDefaults.m: Add contents of the GNU-Debug array to the set of active debug levels. * Tools/AGSParser.m: Updated with support for documenting macros. * Tools/AGSOutput.m: ditto * Tools/AGSHtml.m: ditto 2002-10-07 Richard Frith-Macdonald * Source/NSData.m: Update logging after checks for results of memory allocation. * Source/NSTimeZone.m: Don't abort on failure to allocate memory ... just print a log and continue returning a null pointer. 2002-10-06 Richard Frith-Macdonald * Source/NSData.m: readContentsOfFile() fix use of atomic memory on GC systems ... problem noticed by Fred. Sat Oct 5 19:53:03 2002 Nicola Pero * Source/NSData.m ([NSDataMappedFile -initWithContentsOfMappedFile:]): release self and return nil - rather than returning NO, if the path is bad. 2002-10-05 Richard Frith-Macdonald * Tools/AGSOutput.m: Improve warning code, support text output in chapter/section/subsection. * Tools/AGSParser.m: move concatenation of comments into a single method, make it insert a linebreak between concatenated comments, and make it refrain from appending the same comment onto itsself (which would happen if the same file was parsed twice, as both a header and as source). Treat the 'main()' function specially ... don't document it as a function but insert its comments at the end of the 'chapter' part of the output document. These modifications make it easy to document a directory containing tools, by listing the tool source files as arguments to autogsdoc. Tools/gsdoc_0_6_7.dtd: Fix bug preventing use of text in a chapter! * Source/GSString.m: Implement -UTF8String method for better performance. * Source/NSPortNameServer.m: Improve diagnostic message in exception when reporting failure to register ... try to provide all the info needed to begin diagnosing any problem. * Tools/gdomap.c: Make -M flag work with -N. Make -M flag work when used after -N or -L. Improve diagnostic messages on failure so people know what it is trying to do. 2002-10-04 Richard Frith-Macdonald * Source/NSArray.m: Tidied init from file to ensure that everything is released properly on failure, and we don't generate log messages where a lower level API should be doing it. Added some documentation. * Source/NSDictionary.m: ditto * Source/NSString.m: ditto. Also add support for understanding the unicode BOM at the start of UTF8 data and stripping it. * Source/NSData.m: Tidied read from and write to file, adding lots of logging information. Also documented quite a bit. Resolved all conflicts found with Adam's change ... generally in favor of the most informative logging. * Source/NSPortNameServer.m: On failure to register name, make exception message provide lots of detail/advice for newbies. 2002-10-03 Adam Fedor * Source/NSData.m (readContentsOfFile): Change NSDebugLog(s) to NSWarnLog or NSLog. (-writeToFile:atomically:): Idem. ([NSDataMappedFile -initWithContentsOfMappedFile:]): Idem. * Source/NSDictionary.m ([NSDictionary -initWithContentsOfFile:]): Release ourselves and return nil if file cannot be read. 2002-10-03 Richard Frith-Macdonald * Source/NSRunLoop.m: ([-runMode:beforeDate:]) permit the use of a nil date and document it. This is the behavior MacOS seems to have and seems to be more useful than prohibiting nil dates. 2002-10-02 Richard Frith-Macdonald * Source/NSDistributedLock.m: Document and tidy. * Source/NSTimeZone.m: Don't set system zone prematurely. * Source/NSString.m: Don't bother to cache constant string class. Document it. 2002-10-01 Adam Fedor * config/pathxml.m4: Filter -L/usr/lib out of XML_LIBS. * configure: Regenerate. 2002-10-01 02:21 Alexander Malmberg * Source/NSUserDefaults.m (-synchronize): Handle lockDate being nil. 2002-09-30 Richard Frith-Macdonald * NSTimeZones/NSTimeZones.tar: Updated to latest information. * Source/NSCalendarDate.m: Tidy up a little. * Source/NSTimeZone.m: Rewrite main timezone code for performance - Roughly doubles speed of most NSCalendarDate stuff. * NSThread.m: Fix for single threaded operation ... suggested by Ludovic Marcotte. 2002-09-29 Richard Frith-Macdonald * Source/GSFileHandle.m: Encapsulate read and write operations in new low level methods to ease subclassing. * SSL/GSSSLHandle.m: Use new read and write methods to simplify. 2002-09-28 Richard Frith-Macdonald * Source/NSCalendarDate.m: Fix problem with signed/unsigned type conversion when initialising a date at a daylight savings time boundary, and attempt to improve the code for adding offsets to dates. * Source/Makefile.postamble: patch to fix some warnings in uninstall (by David Ayers). 2002-09-27 Richard Frith-Macdonald * Source/GSTcpPort.m: ([GSTcphandle+initialize]) ignore SIGPIPE in case a socket gets closed while we are writing. 2002-09-26 Richard Frith-Macdonald * Source/Additions/GSMime.m: Fix typo. Thu Sep 26 01:28:33 2002 Nicola Pero * Tools/make_strings/GNUmakefile: Do not include ctool.make. 2002-09-25 Richard Frith-Macdonald * Source/Additions/GSXML.m: Added ([-previousElement]) to match the [(-nextElement]) method. Wed Sep 25 02:46:28 2002 Nicola Pero * Tools/make_strings/make_strings.m (main): Remove "" languages from the list of languages before processing. 2002-09-24 Richard Frith-Macdonald * Source/GSTcpHandle.m: ([-handleForPort:beforeDate:]) fix bug where we could end up using the last (non-matching) handle rather than creating a new one. 2002-09-20 Richard Frith-Macdonald * Source/GSTcpHandle.m: ([-connectToPort:beforeDate:]) Added more informative logging for problem condition reported by Nicila ... perhaps it will help tracking down cause. 2002-09-19 Richard Frith-Macdonald * Source/GSFormat.m: Where a %p format prints a null pointer, print the text (null). * Source/GSTcpHandle.m: Check port for invalidation while looping on write events, so we can fail if we become invalid while sending or connecting, before the port timeout expires. * Source/NSConnection.m: Check connection for invalidation while looping waiting for a reply, so we can fail if we become invalid before the timeout expires. * Source/DocMakefile: Specify template options * Tools/autogsdoc.m: Remove hack to turn templates on by default. Document the use of templates. * Tools/gsdoc-0_6_7.dtd: Hack in more types for indexing ... don't know if the software works for them though. 2002-09-17 Richard Frith-Macdonald * Source/Unicode.m: Restructure conversion from unicode slightly, to make it clearer and more readable and to include handling of lossy conversions. * Headers/gnustep/unicode/gsm0338.h: Added table for lossy conversion from unicode. 2002-09-16 Richard Frith-Macdonald * Tools/AGSParser.m: Bugfix ... look for source files more intelligently. Try both current directory and relative to header. * Tools/AGSOutput.m: When creating template output file for functions etc because none was supplied, take account of the -Up flag and create an up link in it. * Source/GSHTTPURLHandle.m: If response parsing fails, fail the load operation and (conditionally when debug enabled) log an error. 2002-09-16 Richard Frith-Macdonald * Source/NSFileManager.m: Basic/dummy implementations of new MacOS-X methods added. Attribute handling totally rewritten to work in a lazy way ... so we only set up attribute info in the dictionary when we actually need it. Account 'Number' methods and dictionary keys changed to be account 'ID' instead ... in accordance with MacOS-X usage. Documented the class. * Source/NSData.m: ([-writeToFile:atomically:]) implement workaround for bug in windoze implementation of rename() * Source/NSString.m: Remove some redundant code duplicating stuff in GSMime.m 2002-09-15 Richard Frith-Macdonald * Source/NSFileManager.m: MacOS-X ([componentsToDisplayForPath:]) and ([displayNameAtPath:]) methods implemented. Creation date added. * Source/NSString.m: More alterations to GNUstep extension methods to make their names consistent with other methods. Q. Should we deprecate/remove them entirely? * Tools/gsdoc.m: Update for changes to extension methods... though this tool has been deprecated for some time now, so perhaps we should remove it? 2002-09-13 Adam Fedor * Source/cifframe.m (cifframe_guess_struct_size): Recurse if element contains structures. (cifframe_from_info): Alloc room for return value even if caller doesn't use it. Thu Sep 12 11:02:03 2002 Nicola Pero * Source/NSObject.m ([+_becomeMultiThreaded:]): Fixed typo - this method was declared to take a 'NSNotification' rather than a 'NSNotification *' argument. 2002-09-10 Richard Frith-Macdonald * Source/GSLocale.m: Double locking check fix * Source/NSFileManager.m: Double locking check fix Fixes contributed by David Ayers 2002-09-08 Richard Frith-Macdonald * Headers/gnustep/base/GSIArray.h: Minor optimisation * Headers/gnustep/unicode/gsm0338.h: Correct unicode to gsm table * Source/Unicode.m: Correct gsm conversion and optimise unicode to 8-bit charaacter conversion for other character sets. Also correct lossy/non-lossy conversion using iconv. 2002-08-30 Adam Fedor * Version: 1.5.0 2002-08-30 Richard Frith-Macdonald * Source/NSString.m: Implemented new MacOS-X methods - ([-stringByPaddingToLength:withString:startingAtIndex:]), and ([-stringByTrimmingCharactersInSet:]) Tidied a couple of extension method names for consistency and documented several methods. 2002-08-29 Richard Frith-Macdonald * Source/Additions/GSXML.m: Get libxml to put filename in error messages when it is available. 2002-08-28 Richard Frith-Macdonald * Source/Unicode.m: Rewritten the way that iconv is used to decide upon the available encodings ... lazy evaluation so that we don't try to lookup an encoding until we have to. This should improve process startup time (especially in gdb) since the iconv operations seem to be very slow. 2002-08-27 Richard Frith-Macdonald * Source/Additions/GSXML.m: Integrated GSXPath code by Nicola Pero provides an API to use the xpath support built into libxml from version 2.3 onwards. * Source/NSThread.m: Implement new priority methods. * Source/NSObject.m: Raise exception when passed null selector. 2002-08-27 Richard Frith-Macdonald * Source/NSData.m: ([-writeToFile:atomically:]) Removed bogus line which deleted files when it shouldn't. Added new MacOS-X methods supporting NSData objects where the bytes are not owned by the data object. Removed GNUstep extension which provided this functionality before. * Source/NSUserDefaults.m: Use distributed lock to ensure that there is no possible window when the defaults file is invalid ... not all systems guarantee that the rename() system call is atomic. * Source/NSArray.m: New MacOS-X methods ([-initWithArray:copyItems:]) ([-exchangeObjectAtIndex:withObjectAtIndex:]) * Source/NSTimer.m: Update for compatibility with latest MacOS-X * Source/NSObject.m: New ([+isSubclassOfClass:]) and perform cancellation from MacOS-X * Source/NSRunloop.m: New perform cancellation method from MacOS-X proofreading help/fixes from David Ayers. 2002-08-25 Richard Frith-Macdonald * Source/WindowsFileHandle.m: Removed ... no longer used. * Source/GSHTTPURLHandle.m: Don't use getpid() ... not portable. * Tools/gdomap.c: Don't use getuid() under windoze. 2002-08-24 Richard Frith-Macdonald * Source/NSURL.m: ([-initFileURLWithPath:]) check to see if path is a directory and append a trailing slash if necessary. Remove hack to refrain from stripping last patch component in file URLs. 2002-08-24 Richard Frith-Macdonald * Source/NSURL.m: Hacks for compatibility with MacOS-X in returning path of a file URL ... the RFC says we should only return a path for a generic URL (scheme://user:passwd@host:port/path#frag?query) which a file URL certainly isn't. However, for compatibility we now treat a file URL more like a generic one. Also when creating absolute file URLs from base plus relative, the MacOS-X code doesn't strip the last path component of the base URL as it should ... we emulate that too. 2002-08-22 Richard Frith-Macdonald * Source/NSFileManager.m: Fix typo ... missing closing brace under windoze. Reported by Alex Stockdale. 2002-08-21 Richard Frith-Macdonald * Source/NSObject.m: ([-replacementObjectForPortCoder:]) Documented method and removed unused/unwanted code dealing with NSDistantObject (NSDistantObject overrides the method). 2002-08-20 Alexander Malmberg * Source/NSObject.m: Fix silly typo. 2002-08-20 Alexander Malmberg * Source/NSConnection.m: (-removeProxy:) Remove unbalanced release. 2002-08-20 Richard Frith-Macdonald * Source/GSCountedSet.m: * Source/GSFileHandle.m: * Source/NSArchiver.m: * Source/NSData.m: * Source/NSDistributedNotificationCenter.m: * Source/NSHashTable.m: * Source/NSMapTable.m: * Source/NSObjCRuntime.m: * Source/NSObject.m: * Source/NSPortCoder.m: * Source/NSScanner.m: * Source/NSString.m: * Source/Unicode.m: * Source/UnixFileHandle.m: * Source/WindowsFileHandle.m: * Source/callframe.m: * Source/cifframe.m: * Source/mframe.m: Fix trivial typos and spelling errors pointed out by David Ayers. 2002-08-20 Richard Frith-Macdonald * Source/GSCountedSet.m: * Source/NSAutoreleasePool.m: * Source/NSCharacterSet.m: * Source/NSCountedSet.m: * Source/NSData.m: * Source/NSDebug.m: * Source/NSDictionary.m: * Source/NSFileHandle.m: * Source/NSLock.m: * Source/NSNull.m: * Source/NSNumber.m: * Source/NSObject.m: * Source/NSPipe.m: * Source/NSScanner.m: * Source/NSSerializer.m: * Source/NSSet.m: * Source/NSString.m: * Source/NSThread.m: * Source/NSTimeZone.m: * Source/Additions/GSMime.m: * Headers/gnustep/base/NSBundle.h: * Headers/gnustep/base/NSRange.h: * Headers/gnustep/base/NSSet.h: Modify comments to include gsdoc documentation for autogsdoc. This completes the transfer of all gsdoc documentation into the source code. * Documentation/gsdoc: All obsolete files removed. 2002-08-19 Richard Frith-Macdonald * Source/NSProxy.m: Documented all methods and corrected implementation of some introspection methods. 2002-08-16 Richard Frith-Macdonald * Source/Base.gsdoc: Moved to Documentation. * Source/GNUmakefile: Removed documentation building code. * Source/DocMakefile: New file for building refetrence documentation. * Documentation/Base.gsdoc: New from source directory. * Documentation/GNUmakefile: Set up installation directory name. * Documentation/Makefile.postamble: Use ../Source/DocMakefile to build library reference documentation and deal with installation. 2002-08-15 Adam Fedor * configure.ac: Add NetBSD header/ldflag support (Patch from Peter Cooper). * Headers/gnustep/base/GNUstep.h: New compatibility file. 2002-08-15 Richard Frith-Macdonald * SSL/GNUmakefile: Added -lgnustep-base and -lobjc to SSL_BUNDLE_LIBS So that bundle is linked with a dependency on these libraries ... to ensure that dynamic linkage works when the bundle is loaded in from java via jigs. 2002-08-15 Adam Fedor * SSL/configure.ac: Simplified check for libraries. Added socket lib check for Solaris. * Headers/gnustep/base/NSDecimalNumber.h: Add NSNumber category for decimalValue. * Source/NSDecimalNumber.m ([NSNumber -decimalValue]): Implemented. 2002-08-14 Richard Frith-Macdonald * Source/GSString.m: Allow 'true' as boolean value * Source/NSConcreteNumber.m: Output 'YES' as boolean in description. * Source/NSNotificationCenter.m: Fix dumb memory leak. * Source/NSNumber.m: Output 'YES' as boolean in description. * Source/NSUserDefaults.m: Set 'YES' as boolean string. * Headers/Foundation/NSObject.h: Fix v dumb memory leak. * Source/GSHTTPURLHandle.m: Append crlf to separate headers from body rather than just an lf. * SSL: Renamed SSL class and source file to reflect the fact that the code is not unix specific. 2002-08-11 Richard Frith-Macdonald * configure.ac: Check for libxml version 2.3.0 or greater to ensure we have xpath support. * Source/NSDecimalNumber.m: implement ([-getValue:]) and ([-initWithBytes:objCType:]) 2002-08-09 Richard Frith-Macdonald * Source/NSNotificationCenter.m: ([-postNotification:]) Correct to post the actual notification we are given rather than a notification built from that one. Bug report by Alexander Malmberg. 2002-08-08 Richard Frith-Macdonald * Source/NSProcessInfo.m: ([-globallyUniqueString]) Ensure that the string contains no dots, so it can be used as a filename under windoze. * Source/Additions/GSXML.m ([GSXMLNode -setNamespace:]): Documented. 2002-08-07 Richard Frith-Macdonald * Source/NSString.m: ([-boolValue]) Accept 'true' as well as 'YES' * Source/NSThread.m: Modified to avoid using non-standard notification initialisation. * Source/NSNotification.m: Rewritten as abstract/cluster class for implementation compatibility with MacOS-X * Source/NSNotificationCenter.m: Modified posting to behave like the MacOS-X implementation. Implement concrete subclass of NSNotification. * Source/NSUserDefaults.m: Try to make creation of new defaults database an atomic operation. * Source/NSObject.m: Remove dealloc notifications hack ... the dealloc method can now safely be used to refrain from deallocating objects, so I don't think the hack is needed any more. * Source/NSProcessInfo.m: ([-globallyUniqueString]) Update to ensure uniqueness across all hosts, processes, and threads. * Tools/gdomap.c: Tidyup patch by Matthias Klose 2002-07-29 Adam Fedor * Merge changes from 1.4.0 onto main branch. 2002-07-09 Richard Frith-Macdonald * Source/GSTcpHandle.m: Always use runloop in NSConnectionReplyMode to avoid other NSDefaultRunLoopMode events being triggered while executing a DO method. **EXPERIMENTAL** 2002-08-06 Adam Fedor * Source/NSString.m (-getLineStart:end:contentsEnd:forRange:): Change location of start of end char search (Patch from Pete French). 2002-07-27 Adam Fedor * Version: 1.4.0 2002-07-23 Adam Fedor * Source/NSInvocation.m ([GSFrameInvocation -initWithMethodSignature:]): Return nil if signature is nil. * Source/GSFFCallInvocation.m (-initWithMethodSignature:): Idem. * Source/GSFFIInvocation (-initWithMethodSignature:): Idem. 2002-07-20 Adam Fedor * Source/NSDecimal.m: ifdef for compiling on Darwin (report from Carl Eugen). * Source/NSInvocation.m ([-initWithSelector:): Rewrite to use designated initializer. (-initWithTarget:selector:): Idem. 2002-07-18 Adam Fedor * Tools/gdomap.c (main): Write the pidfile before switching away from root, but only if the user is root. 2002-07-17 Adam Fedor * Source/NSString.m (-getLineStart:end:contentsEnd:forRange:): Fix lineEnd and contentEnd check for \r\n (particularly at end of string. Tue Jul 16 16:43:59 2002 Nicola Pero * Headers/gnustep/base/GSXML.h ([GSXMLNode -setNamespace:]): Added missing method essential to use namespaces. * Source/Additions/GSXML.m ([GSXMLNode -setNamespace:]): Implemented. 2002-07-08 Richard Frith-Macdonald * Source/NSFileManager.m: Don't standardise path before converting to filesystem representation. * Tools/gdomap.c: Security enhancement - call setgroups(). 2002-07-03 Adam Fedor * Version: 1.3.4 * configure.ac: Remove warning about libffi * Documentation/news.texi: Update. 2002-07-03 Richard Frith-Macdonald * Source/Additions/GSMime.m: Ensure mime-version header appears before other headers. Fix bug in terminatimg mime data. 2002-07-02 Richard Frith-Macdonald * Tools/gdomap.c: Don't write to pidfile until *after* setuid away from root. Bug reported by James Kehl 2002-07-01 Richard Frith-Macdonald * Source/Additions/GSMime.m: Correct test for multipart content when generating raw data. Fix by Mark Allison 2002-06-30 Richard Frith-Macdonald * Headers/gnustep/base/GSFileHandle.h: New version of UnixFileHandle for combined unix/windoze use. * Source/GSFileHandle.m: New combined unix/windows implementation. * Source/NSFileHandle.m: Use GSFileHandle. * Source/GNUMakefile: Build GSFileHandle. * SSL/GSUnixSSLHandle.m: Update for combined GSFileHandle 2002-06-29 Richard Frith-Macdonald * Source/NSObject.m: ([-respondsToSelector:]) handle nul selectors. Bug report by Andy Ruder 2002-06-28 Richard Frith-Macdonald * Source/NSString.m: Change to quote strings in plist output aggressively (quote characters that don't really need quoting) while still parsing flexibly ... ie handle unquoted strings as long as they don't contain 'special' characters. Fix for Tom Hageman 2002-06-27 Richard Frith-Macdonald * Tools/AGSParser.m: ([-parseDeclaration:]) Correct wrongly positioned autorelease pool in last change. Hope that's the only one. Wed Jun 26 15:32:36 2002 Nicola Pero * base.make.in (OBJC_LIBS): Don't add -lobjc_gc -lgc for gc=yes, now should be done by gnustep-make automatically. Tue Jun 25 13:31:12 2002 Nicola Pero * Tools/AGSHtml.m: Tidy up autorelease pool macros so that it compiles with gc=yes and old compilers. * Tools/AGSParser.m: Idem. * Tools/AGSOutput.m: Idem. * Tools/HTMLLinker.m: Idem. * Tools/autogsdoc.m: Idem. * Tools/gdnc.m: Idem. * Tools/gsdoc.m: Idem. * Tools/make_strings/make_strings.m: Idem. Tue Jun 25 13:13:00 2002 Nicola Pero * Source/Additions/GSMime.m ([-rawMimeData:]): Create the autorelease pool after the other variables, so that it compiles with gc=yes and gcc < 3.x. * Source/NSLog.m (NSLogv): Idem. 2002-06-23 Richard Frith-Macdonald * Headers/Foundation/NSFileHandle.h: add async read of specific length. * Source/NSFileHandle.m: Make the async wconvenience methods call the core ones. * Source/UnixFileHandle.m: Remove async convenience methods and add one to read specified length of data. 2002-06-21 Richard Frith-Macdonald * Source/GSMime.m: add a few consistency checks to raise an exception if we try to unparse a GSMimeDocument with inconsistent headers and content. 2002-06-19 Adam Fedor * Source/GSLocale.m (GSSetLocaleC): Only set locale for LC_CTYPE. 2002-06-18 Richard Frith-Macdonald * Source/NSURL.m: Cope with a URL where the path is missing. Check user, password, host, port parts for illegal characters. Thanks to bug report by Marco Manfredini * Source/GSMime.m: add convenience method for setting document type. Fix error in recent change to base64 encoding. 2002-06-17 Richard Frith-Macdonald * Source/NSTimer.m: Retain target and user info on initialisation Release them on invalidation. Ensure timer is invalidated on deallocation. Documented timer methods. Changes based on bug report by Andy Ruder * Source/NSURL.m: Fixed one possible nul pointer indirection, and added some comments about the internal data structure. Handle percentage escape sequences in user, password, host and port even though MacOS-X only seems to do it for the user name and host. * Tools/plmerge.m: Fixed some crasher bugs where given bad arguments. 2002-06-16 Richard Frith-Macdonald * Source/GSFTPURLHandle.m: simple implementation added * Source/NSURLHandle.m: Register GSFTPURLHandle for ftp scheme. * Source/GSHTTPURLHandle.m: modified so that data being read is reported periodically during the read proces rather than just at end. 2002-06-15 Adam Fedor * Source/NSProcessInfo.m: Include sys/fcntl for Solaris. 2002-06-14 Richard Frith-Macdonald * config/pathxml.m4: Adjust path to headers. * Tools/gsdoc.m: Adjust path to headers. Add warning about deprecation. Patch by e.sammer * Source/NSObject.m: Added some compatibility methods in a categpory of Object. * Source/Additions/GSMime.m: Add a couple of convenience methods. * Source/GSHTTPURLHandle.m: Use one of them. * SSL/Makefile.postample: on distclean, don't need to delete bundle, but do delete config.h explicitly. 2002-06-13 Richard Frith-Macdonald * Source/Additions/GSXML.m: Include NSInvocation.h to avoid compiler warning. 2002-06-12 Richard Frith-Macdonald * Source/NSObject.m: Fix a few errors which crept in to the map table based reference counting. * Examples/GNUmakefile: Permit local makefile to be missing. * Source/UnixFileHandle.m: Added outgoing SOCKS5 support. * Source/NSFileHandle.m: Added SOCKS5 documentation. * Source/Base/gsdoc: Dopcumented SOCKS enironemnet variables and defs. * Source/NSNotification.m: Made -description more informative. * Testing/call.m: Trivial test program for tcp connections. * SSL/GSUnixSSLHandle.m: Updated for socks. * Additions/GSMime.m: Utilites to encode/decode base64 * Source/GSHTTPURLHandle.m: Use encoding. 2002-06-10 Richard Frith-Macdonald * Source/UnixFileHandle.m: Avoid some unnecessary autoreleases. 2002-06-09 Richard Frith-Macdonald * Source/NSObject.m: Implemented and documented -className * Tools/AGSOutput.m: When Verbose = YES log all documentable entities for which no comment text was found. * Source/NSException.m: Added NSParseErrorException and tidied other general exceptions. * Source/extern.m: Removed generic exceptions ... now in NSException.m 2002-06-06 Adam Fedor * Source/cifframe.m (cifframe_from_info): Set value locations after prepping cifframe. 2002-06-06 Richard Frith-Macdonald * Source/NSLog.m: patch by Jeff Teunissen to avoid adding date/time info when using syslog. * Source/NSURL.m: Fix loading codde to set self as client of handle. * Tools/AGSParser.m: Fix to avoid warnings about unimplemented protocols * Headers/gnustep/base/GSXML.h: * Headers/gnustep/base/NSArchiver.h: * Headers/gnustep/base/NSAutoreleasePool.h: * Headers/gnustep/base/NSCoder.h: * Headers/gnustep/base/NSDictionary.h: * Headers/gnustep/base/NSFileHandle.h: * Headers/gnustep/base/NSNotification.h: * Headers/gnustep/base/NSRunLoop.h: * Headers/gnustep/base/NSURL.h: * Headers/gnustep/base/NSURLHandle.h: * Source/GSHTTPURLHandle.m: * Source/NSArray.m: * Source/NSCoder.m: * Source/NSFileHandle.m: * Source/NSNotification.m: * Source/NSRunLoop.m: * Source/NSURLHandle.m: * Source/NSUnarchiver.m: * Source/externs.m: * Source/Additions/GSXML.m: Tidied for documentation purposes ... no substantial code changes Wed Jun 5 17:46:47 2002 Nicola Pero * Source/NSLog.m (_NSLog_standard_printf_handler): Fixed syslogging of strings: add a NULL at the end of strings before feeding them to syslog. 2002-06-05 Richard Frith-Macdonald * Headers/Foundation/NSURL.h: Added a couple of ivars and removed non-standard methods. * Source/NSURL.m: Rewrite everything apart from the code dealing with NSURLHandle objects (and change some of that) to conform to the documentation (I hope) and to try to match behavior with that of MacOS-X. 2002-06-04 Adam Fedor * Headers/gnustep/base/NSByteOrder.h: Hack for bug in gcc 3.1 * Source/externs.m (_gcc3_1_hack): Idem. (modified patch from benhur@inf.ufsm.br). * Source/GSFFIInvocation.m (gs_objc_msg_forward): Alloc closure with fastMallocBuffer. * Documentation/coding-standards.texi: Update. 2002-06-02 Richard Frith-Macdonald * Headers/Foundation/NSObject.h: Removed ([_dealloc]), ([-deallocNotificationsActive]), ([setDeallocNotificationsActive:]) * Source/NSObject.m: Removed ([_dealloc]), ([-deallocNotificationsActive]), ([setDeallocNotificationsActive:]) as these methods are no longer necessary now that the dealloc method itsself is able to refrain from performing deallocation if if wishes (the retain count mechanism can no longer reach a zero retain count). 2002-06-01 Richard Frith-Macdonald * Source/NSObject.m: Change NSDecrementExtraRefCountWasZero() to refrain from decrementing when the count is zero. Documented the retain/release/retainCount methods (and others). * Headers/Foundation/NSObject.h: Documented extra ref count functions. 2002-05-28 Richard Frith-Macdonald * Source/NSObject.m: Change order of zombie initialisation for darwin port. 2002-05-28 Richard Frith-Macdonald * Headers/gnustep/base/GSMime.h: Make set... methods return void. * Source//GSMime.m: Make set... methods return void. Also fix parsing to use different 'specials' for HTTP and MIME * Headers/gnustep/base/GSIMap.h: * Headers/gnustep/base/NSHashTable.h: * Headers/gnustep/base/NSMapTable.h: * Source/GSArray.m: * Source/GSSet.m: * Source/GSTcpPort.m: * Source/NSBundle.m: * Source/NSConnection.m: * Source/NSData.m: * Source/NSHashTable.m: * Source/NSMapTable.m: * Source/NSObject.m: * Source/NSRunLoop.m: Applied patches by James Knight, to improve memory efficiency and insertion.deletion speed to hash and map tables. Also fixes for some GC problems. Fixed minor problem in patch, and added code to call functions to clean up after hash and map enumerations. Modified cleanup function to clear enumerator ... for memory release on GC system. Rewrote enumeration code so that it maintains the characteristic that objects can safely be removed from maps after being enumerated (this feature is used in several places). *WARNING* This introduces a binary incompatibility in that the size of the map table and hash table enumeration types has grown. If you have binaries which use the NSEnumerateHashTable() or the NSEnumeratemapTable() functions, you need to rebuild them. 2002-05-27 Richard Frith-Macdonald * Headers/Foundation/GSMime.h: Tidy up and add convenience methods. * Source/Additions/GSMime.m: Tidy up and add convenience methods. Added methods to convert content between string and data for ease of use from java. Added support for most character sets handled by GNUstep-base. Improved ContentID generation to be both unlikely to recur, and to be guaranteed unique within a process. * Source/NSBundle.m: ([+allBundles]) Don't enumeraste if map table has not been created yet. * Source/NSLog.m: Allow output descriptor to be changed. * Source/NSProcessInfo.m: Add method to change log output to go to another file for applications where stderr has been hijacked. 2002-05-26 Fred Kiefer * Source/Additions/GSXML.m Define GSXMLAttribute in the case when libxml is found. Otherwise it wont compile on MS Windows. 2002-05-26 Richard Frith-Macdonald * Headers/Foundation/GSMime.h: Add GSMimeHeader class. * Source/Additions/GSMime.m: Add GSMimeHeader class. Update API to use GSMimeheaders rather than dictionaries. 2002-05-23 Richard Frith-Macdonald * Source/Additions/GSXML.m: Fix a few errors in last changes. * Source/NSString.m: Updates for GSXML changes. * Tools/AGSHtml.m: Updates for GSXML changes. * Tools/AGSIndex.m: Updates for GSXML changes. 2002-05-22 Richard Frith-Macdonald * Headers/gnustep/base/GSXML.h: Add _parent ivars * Source/Additions/GSXML.m: Implement memory mangement so that the underlying libxml data is not freed unless all objects derived from it have been deallocated. Remove comments warning about original memory management scheme. 2002-05-22 Richard Frith-Macdonald * Source/GSeq.h: Fix bug matching sequences with zero length range. * Headers/gnustep/base/GSMime.h: Tell autogsdoc where to look for source * Headers/gnustep/base/GSXML.h: Updates for consistency etc. * Source/Additions/GSXML.m: ditto * Tools/AGSHtml.m: Modified for changed GSXML * Tools/AGSIndex.m: ditto * Tools/AGSParser.m: ditto * Tools/autogsdoc.m: ditto * Tools/defaults.m: Fixed typo Mostly, changes to make methods which were intended to be private really private, and lots of modifications to make mathod names consistent with OpenStep usage ... suggestions made by many people. * configure.ac: Use better names for GMP and ZLIB flags * configure: regenerate * Headers/gnustep/base/GSConfig.h.in: GMP and ZLIB update * Headers/gnustep/base/NSDecimal.h: GMP update * Headers/gnustep/base/UnixFileHandle.h: ZLIB update * Source/NSDecimal.m: GMP update * Source/UnixFileHandle.m: ZLIB update 2002-05-15 Richard Frith-Macdonald * Source/NSLog.m: Altered logging format for compatibility with MacOS-X (and easier collating). Thanks to report by lcampbell 2002-05-14 Richard Frith-Macdonald * Source/Unicode.m: GSFromUnicode(), GSToUnicode(), bugfix - ensure that returned memory is allocated from specified zone, rather than returning internal buffer. * Tools/AGSIndex.m: When a string missmatch is found when merging, update the output to the new string as well as warning. * Tools/autogsdoc.m: Don't automatically include refs to installed copies of the project being documented. 2002-05-13 Richard Frith-Macdonald * Source/NSFileManager.m: Don't try to release memory using free() when it was allocated using NSZoneMalloc(). * Tools/autogsdoc.m: Improve dependency rule management. * Tools/AGSParser.h: ditto * Tools/AGSParser.m: ditto * Tools/AGSIndex.h: ditto * Tools/AGSIndex.m: ditto Store all dependency information in the .igsdoc file and keep it up to date. Never regenerate a file that doesn't need it. Mostly the changes are to cope with the fact that we now have common files into which all functions, constants, variables, and typedefs within a project are combined. 2002-05-11 Richard Frith-Macdonald * Source/Unicode.m: Rationalise so that all conversion operations go through the two new functions. Gets rid of a load of old code. * Source/GSString.m: ([-replaceCharactersInRange:withString:]) minor performance enhancement when copying from a 16-bit string to an 8-bit string. 2002-05-10 Adam Fedor * Source/Additions/GSXML.m: Change libxml strings to UTF8 (makeText:) New. Add GSXMLDummy for MinGW * Source/Additions/libgnustep-base.def: Remove GSXMLHandler. (patch from Kai Henningsen). 2002-05-10 Richard Frith-Macdonald * Tools/gdnc.m: Make gdnc log to syslog by default, and close stdin, stdout, stderr to run as daemon. * Source/NSUser.m: Restructured path generation code slightly. Added support for system-wide .GNUsteprc with force options. Removed use of FORCE_USER_ROOT and FORCE_DEFAULTS_ROOT * Source/Base/gsdoc: Document the .GNUsteprc files. * Source/NSArray.m: Fix bug with GC pointed out by James Knight 2002-05-09 Richard Frith-Macdonald * Source/GSHTTPURLHandle.m: Insert port information to URL passed to proxy. 2002-05-09 Fred Kiefer * Source/NSBundle.m Use fileSystemRepresentation instead of cString to get the file name to load. 2002-05-08 Richard Frith-Macdonald * Source/NSTask.m: When launching under windoze, don't forget to use the fileSystemRepresentation of the program name. 2002-05-08 Richard Frith-Macdonald * Source/Additions/GSXML.m: Fix function prototype ... gets rid of compiler warning. * Source/GNUmakefile: remove o_vscanf.c ... unused * Source/o_vscanf.c: remove unused file. * Source/mframe.m: Fix compiler warning about unused function. * Source/GSFormat.m: Fix compiler warning about unused var. * Source/NSDebug.m: Fix compiler warning about unused var. * Source/externs.m: Fix compiler warnings ... move some exceptions to source files relating to where they are declared. * Source/NSArchiver.m: define exception. * Source/NSConnection.m: define exception. * Source/NSPort.m: define exception. * Tools/gdomap.c: Remove unused variable (log_perror). 2002-05-07 Adam Fedor * configure.ac: Make all AC_DEFINES define 1 * config/objc-con-autoload.m4: Idem. * config/objc-sys-dynamic.m4: Idem. 2002-05-07 Richard Frith-Macdonald * Source/NSUser.m: mingw path fixes and debugging * Source/NSFileManager.m: ditto 2002-05-06 Adam Fedor * Source/NSMethodSignature.m (-isEqual:): Implemented (from znek@mulle-kybernetik.com). 2002-05-06 Richard Frith-Macdonald * Source/NSMapTable.m: Delete line teft over by accident ... could cause crach if passes nul table. Thanks to Lars Sonchocky-Helldorf * Source/NSCalendarDate.m: ([-initWithString:calendarFormat:]) don't supply current date information as default ... for compatibility with MacOS-X use zero date instead. Thanks to lcampbell. 2002-05-04 Adam Fedor * Testing/nsbundle.m: Update to work without installing bundle. 2002-05-04 Richard Frith-Macdonald * Source/NSUser.m: NSHomeDirectoryForUser() ... fix windoze bug ... was returning the current users home directory irrespective of the user asked for. Now returns nil for other users ... should really find some mechanism to determine home directories for other users. * Source/Additions/GSXML.m: If ([_parseChunk:]) is called with nil data, terminate parsing. Report by Alexander Malmberg. 2002-05-03 Richard Frith-Macdonald * Source/NSAssertion.m: Added comments and fixed bug in handling an assertion in a function ... was calling va_end() before the last use of the arguments. Also, release new handler after adding it to thread dictionary ... fix memory leak. * Source/NSThread.m: Add fprintf of alert message to STDERR if we are unable to determine the current thread. Don't attempt to use NSLog() or similar ... since chances are, without a thread object, that would just crash. In GSRegisterCurrentThread(), add code to handle the case where the NSThread class has not been initialised. * Source/NSObject.m: NSAllocateObject() raise exception if passed something other than a class to allocate an instance of. 2002-05-02 Richard Frith-Macdonald * SSL/GSUnixSSLHandle.m: Change '#if HAVE...' to '#ifdef HAVE_...' * Source/GSFormat.m: ditto * Source/GSHTTPURLHandle.m: ditto * Source/GSTcpPort.m: ditto * Source/NSBundle.m: ditto * Source/NSData.m: ditto * Source/NSDate.m: ditto * Source/NSFileManager.m: ditto * Source/NSHost.m: ditto * Source/NSLock.m: ditto * Source/NSLog.m: ditto * Source/NSPage.m: ditto * Source/NSPipe.m: ditto * Source/NSProcessInfo.m: ditto * Source/NSRunLoop.m: ditto * Source/NSString.m: ditto * Source/NSTask.m: ditto * Source/NSThread.m: ditto * Source/NSUser.m: ditto * Source/UnixFileHandle.m: ditto * Source/WindowsFileHandle.m: ditto * Tools/gsdoc.m: ditto * Tools/autogsdoc.m: ditto Fixes to handle configuration changes where AC_DEFINE is setting preprocessor constants to be empty (but defined) rather than to be 1 2002-05-02 Adam Fedor * configure.ac: Updated to autoconf 2.53 from configure.in * configure, config.h.in: Regenerate. * Source/mframe/configure.ac: Idem. * SSL/configure.ac: Idem. * acconfig.h, aclocal.m4: Remove * config/pathxml.m4: New from aclocal.m4. * config/objc-con-autoload.m4: Updated from aclocal.m4 * config/procfs-exe-link.m4: Idem. * config/procfs.m4: Idem. 2002-05-02 Richard Frith-Macdonald * Source/NSURLHandle.m: Implement ([-hash]) and ([-isEqual:]) based on ([-absoluteString]) rather than simple pointer comparison. * Source/GSHTTPURLHandle.m: ([-bgdConnect]) check for existing headers before writing ... avoid overriding them and only set things that the programmer has not bothered to set. ([-loadInBackGround]) use URL port if available. More fixes thanks to lcampbel via savannah * Headers/Foundation/NSURLHanlde.h: include NSObject.h * Source/UnixFileHadle.h: add missing semicolon thanks to Paul Windey 2002-05-01 Richard Frith-Macdonald * Source/NSURLHandle.m: ([URLHandleClassForURL:]) Fix to return most recently registered class rather than first registered one. Bug report via savannah 2002-04-30 Adam Fedor * Version: 1.3.2 * Documentation/news.texi: Update. * NEWS Regen. 2002-04-29 Richard Frith-Macdonald * Source/NSFileManager.m: Standardise handling for windoze drive specifiers in file paths. * Source/NSUser.m: Use ([-stringWithFileSystemRepresentation:length:]) when importing file names. * Source/NSString.m: Update all path handling methods for windoze changes. Fix several bugs where we did not conform to documentation. 2002-04-28 Richard Frith-Macdonald * Source/NSFileManager.m: Port ([-stringWithFileSystemRepresentation:length:]) to windoze... Have it convert backslashes to slashes etc. 2002-04-25 Richard Frith-Macdonald * Tools/AGSParser.m: Improve handling of identifier mapping so that an identifier mapped to an empty string (or //) an any place where whitespace is permissable is treated as part of that white space. 2002-04-25 Richard Frith-Macdonald * Tools/AGSParser.m: Interpret a mapping to '//' in the WordMap as meaning that the rest of the line containing the mapped value should be ignored. 2002-04-24 Gregory John Casamento * Tools/make_strings/GNUmakefile - modified to prevent build error when building from scratch * Tools/make_strings/GNUmakefile.preamble - added to provide paths to include and lib directories for linking make_strings tool when building from scratch. 2002-04-23 Adam Fedor * Source/GSFFIInvocation.m (-initWithCallback:returnp:values:frame:signature:): Simplify setting values. Structs passed by ref when MFRAME_STRUCT_BYREF. (GSFFIInvokeWithTargetAndImp): Encoding values unneedded now. (gs_objc_msg_forward): Free the closure via NSData. * Source/mframe/powerpc/generic: Fix offset for structs. * Source/mframe/powerpc/linux-gnu: Idem. * Source/mframe/powerpc/darwin: Idem. 2002-04-22 Adam Fedor * Tools/gdomap.c (gdomap_log): For LOG_INFO, write to 1, not 0. * Tools/make_strings: New tool from Alexander Malmberg * Source/Additional/Makefile.preamble (ADDITIONAL_OBJCFLAGS): Add for building DLL on mingw32 2002-04-20 Richard Frith-Macdonald * Source/NSURL.m: ([-absoluteString]) anonymous bugfix applied. 2002-04-19 Richard Frith-Macdonald * Tools/gdnc.m: If given -NSHost specification for the current host, ignore it and use the standard name. * Source/GSTcpPort.m: ([-invalidate]) call superclass implementation at end ... so handles can find this port when they are destroying themselves. Reverses last change I made to this. 2002-04-18 Richard Frith-Macdonald * SSL/COPYING.LIB: New file ... just to make it *REALLY* obvious this code is under the LGPL 2002-04-18 Adam Fedor * Minimally working libffi support. Needs work. * configure.in: Allow libffi to be enabled. * Source/GSFFIInvocation.m: Rewrite. * Source/NSConnection.m (-forwardInvocation:forProxy:): Add libffi function. * Source/NSInvocation.m: Fixup cifframe arg functions. * Source/cifframe.m: Rewrite. * Testing/nsinvocation.m: Bug fix. * Documentation/coding-standards.texi: Remove info dir tag. * Documentation/gnustep-base.texi: Idem. * Resources/Languages/Slovak: New file (from Stefan Urbanek). Thu Apr 18 11:10:04 2002 Nicola Pero * Headers/gnustep/base/NSObjCRuntime.h: Updated #defines and Windows DLL export/import machinery to the new gnustep-make conventions. 2002-04-18 Richard Frith-Macdonald * Tools/gdomap.c: re-order headers so config.h is used on windoze * Source/NSFileManager.m: ([-fileSystemRepresentationWithPath:]) modified to handle MSYS paths with '/drive/' prefix. * Source/GSTcpPort.m: ([-invalidate]) call superclass implementation at start, so flag gets set to say we are not valid, and we avoid any recursive calls. 2002-04-16 Richard Frith-Macdonald * config/config.reuseaddr.c: New test for broken SO_REUSEADDR * configure.in: test for broken SO_REUSEADDR * acconfig.h: Add BROKEN_SO_REUSEADDR * configure: regenerated * Source/UnixFileHandle.m: Use reuseaddr info. * Source/GSTcpPort.m: Use reuseaddr info. * Tools/gdomap.c: Use reuseaddr info. * Source/NSPortNameServer.m: Improved warnings about launching gdomap. * Source/NSDistributedNotification.m: Improved warnings about launching gdnc. * Source/NSException.m: Log uncaught exceptions with executable name. * Source/NSProcessInfo.m: New private function for exception msg. * Source/GSString.m: Applied fix by Malexander Malmberg for transmuting strings where the default encoding is not the same as the internal 8-bit encoding. * Source/Unicode.m: Logic fix for selecting strict conversion from unicode by Alexander Malmberg. 2002-04-12 Richard Frith-Macdonald * Source/Additions/GSXML.m: New method ([-nextElement]) to traverse tree skipping non-element nodes. Also ([-childElement]) to get the first child element of a node. Thu Apr 11 15:34:33 2002 Nicola Pero * Source/GSAttributedString.m ([GSMutableAttributedString -sanity]): Renamed to -_sanity, and changed so that we always compile this in so that regression testcases can use it. 2002-04-08 Richard Frith-Macdonald * Resources/GNUmakefile: install new language files. * Resources/Languages/Russion: language file added. * Resources/Languages/UkraineRussion: language file added. Added language files provided by Serg Stoyan * Source/UnixFileHandle.m: Permit accept/connect on descriptors by default. * Source/WindowsFileHandle.m: ditto * Headers/Foundation/NSProcessInfo.h: Added MacOS-X operating system methods and enum * Source/NSProcessInfo.m: Added operating system methods and documented all methods for autogsdoc. 2002-04-07 Richard Frith-Macdonald * Source/GSString.m: Tidy initialisers for case where the default C-string encoding is not usable internally. * Source/NSLog.m: Try default cString encoding. * Tools/cvtenc.m: Add -EscapeIn and -EscapeOut flags to handle \u escapes in files. * Resources/Languages/Italian: Correct to use \u escapes * Resources/Languages/French: ditto. * Resources/Languages/German: ditto. * Resources/Languages/README: New file to tell editors that they should use \u escapes ... and suggesting use of the cvtenc tool to make the job easy. 2002-04-06 Richard Frith-Macdonald * Source/NSString.m: Fix error in unicode BOM handling Write plist unicode escapes using the conventional \u rather than \U, but read in either form. * Source/GSString.m: Fix error in length of unicode data produced. * Tools/cvtenc.m: Made easy to use and added instructions. Sat Apr 6 02:42:43 2002 Nicola Pero * Source/NSUser.m (NSSearchPathForDirectoriesInDomains): Fixed typo, gnustep_local_root being used instead of gnustep_user_root for developer dirs in user root. 2002-04-05 Richard Frith-Macdonald * Source/NSObject.m: Fix locking bug with NSZombie ... was not locking when adding/removing zombies. * Source/NSString.m: Fix property list parsing code to raise exceptions on failure rather than logging messages. Also check for extra data at end of parsed string. * Tools/ctvenc.m: new tool for converting string encodings. 2002-03-28 Manuel Guesdon * Tools/gsdoc.m: corrected inversed test for missing entities 2002-03-27 Richard Frith-Macdonald * Source/GSPrivate.h: Added function to fetch boolean value from env * Source/NSException.m: Use new function. * Source/NSProcesInfo.m: Implement new function. * Source/NSObject.m: Implement NSZombie functionality. * Headers/Foundation/NSDebug.h: Document NSZombie functionality. 2002-03-25 Richard Frith-Macdonald * Source/NSTask.m: Implement code to watch for child process exit under mingw and rewrite various methods to handle process termination nicely under windoze. * Source/NSException.m: flush stderr ... under windoze stderr is not automatically flushed! * Source/GSWindowsFileHandle.m: watch for exceptional conditions so we can handle socket connection failures in mingw32. Added code to try to cope with standard files properly, not just network sockets. * Source/GSTcpPort.m: ditto. * Source/Unicode.m: GSToUnicode(), GSFromUnicode(), if terminate option is specified, always produce output with a nul terminator even for input of an empty string. 2002-03-22 Richard Frith-Macdonald * SSL/GNUmakefile: Remove -lobjc and -lgnustep-base from bundle libraries ... it should not need them. 2002-03-21 Richard Frith-Macdonald * Source/NSArray.m: Ensure property-list read/write uses UTF8 * Source/NSDictionary.m: ditto * Source/NSConnection.m: Change timeouts to 300 seconds and document all methods. 2002-03-20 Richard Frith-Macdonald * Source/GSString.m: lossyCString_u() handle case where cString contains more bytes than unicode string has characters. * Tools/gdomap.c: Suppress unnecessary warnings except under debug. Implement spawning to run as daemon under windoze. * Toolds/gdnc.m: Run as daemon under windoze. * Source/GSTcpPort.m: Fix to stop multiple servers trying to use the same port under windoze. * Source/WindowsFileHandle.m: Fix to stop multiple servers trying to use the same port under windoze. Fix to return gdomap port even if getservbyname() doesn't. * Source/UnixFileHandle.m: Fix to return gdomap port even if getservbyname() doesn't. * Source/NSTask.m: Try appending .exe extension to paths under windoze. * Source/Unicode.m: GSFromUnicode() fix lossy conversion for cases where output encoding can't handle the unicode. 2002-03-19 Richard Frith-Macdonald * Source/GSString.m: lossyCString_c() fix in line with recent changes ... cope with case where internal coding is not same as external coding. lossyCString_u() fix encoding used. 2002-03-18 Adam Fedor * Tools/gdomap.c (gdomap_log): Write to stdout if prio=LOG_INFO. 2002-03-18 Richard Frith-Macdonald * Source/Unicode.m: Some boundary error fixes by Alexander Malmberg. Fixes to encoding table initialisation. * Source/NSString.m:Fix error in encoding type for initialising from data. By Alexander Malmberg. * Source/GSString.m: Correct string length when transmuting an 8-bit string to a 16-bit string - by Alexander Malmberg. 2002-03-17 Pierre-Yves Rivaille * Source/GSAttributedString.m ([GSMutableAttributedString -replaceCharactersInRange:withString:]): Only keep attribute #0 when removing it would remove all attributes. (patch by Alexander Malmberg) 2002-03-16 Adam Fedor * configure.in: Also configure SSL. 2002-03-16 Richard Frith-Macdonald * Headers/gnustep/base/Unicode.h: Add more options for character encoding conversion routines. * Source/GSPrivate.h: Add a couple of private functions for character encoding management. * Source/GSString.m: Convert throughoput to use new functions for converting from one string encoding to another. Make changes to handle setting of default C string encoding to be an encoding which is incompatible with internal e-bit string objects. * Source/NSString.m: ditto * Source/Unicode.m: new string encoding conversion functions extended with a few new options. Also fixed some memory allocation bugs to cure memory leaks. Rewritten low level support for different character encodings ... should provide more efficient and maintainable conversion between encodings and permit use of wide character encodings and encodings with multibyte sequences as the default C string encoding. Testing ... minimal ... we could do with decent tests for this stuff. So this version must be viewed as possibly very unstable! 2002-03-14 Adam Fedor * Version: 1.3.0 * Documentation/install.texi, readme.texi, ...: Updated 2002-03-14 Richard Frith-Macdonald * Source/NSString.m; Bug report by Manuel Guesdon prompted me to rewrite string trimming extensions. All the tail end trimming was wrong. * Source/Unicode.m: Added two new conversion functions ... untested. The intention is to replace other string conversion with these ones which should localise memory management issues. 2002-03-14 Richard Frith-Macdonald * Tools/gdomap.c: Tidy a little ... fix non-static declarations. * Source/NSString.m: ([-initWithData:encoding:]) Correct the length of the string produced when unicode data is missing its 2 byte prefix. Simplification of code based on suggestion by Yen-Ju Chen * Source/GSString.m: Fixes for cString infor from unicode by Yen-Ju Chen. Wed Mar 13 16:55:49 2002 Nicola Pero * Source/Additions/GSXML.m ([GSSAXHandler -externalSubset:externalID:ystemID:]): Fixed typo, 'ystemID:' instead of 'systemID:'. 2002-03-13 Adam Fedor * Tools/gdomap.c (log): Redefine to gdomap_log to avoid conflict with syslog function on Darwin. * Source/NSProcessInfo.m (main): Use STRINGIFY to get proper name of constant string class. 2002-03-13 Richard Frith-Macdonald * Headers/gnustep/base/NSObjCRuntime.h: Remove bad markup in comments. * Headers/gnustep/base/NSString.h: Remove private class declaration and hide internals of NXConstantString behind dummy interface while improving comments. Fix long overdue declaraction of methods in clsses rather than protocols. * Source/GSUserDefaults.h: removed * Source/GSPrivate.h: added * Source/GSCompatibility.m: fix for hidden private info. * Source/GSString.m: ditto * Source/NSArray.m: ditto * Source/NSCalendarDate.m: ditto * Source/NSDate.m: ditto * Source/NSDecimalNumber.m: ditto * Source/NSDictionary.m: ditto * Source/NSLog.m: ditto * Source/NSObjCRuntime.m: ditto * Source/NSScanner.m: ditto * Source/NSSerializer.m: ditto * Source/NSString.m: ditto * Source/NSUser.m: ditto * Source/NSUserDefaults.m: ditto General tidyups to hide some internal workings which should really not be exposed in public headers. 2002-03-12 Richard Frith-Macdonald * NSTimeZones/NSTimeZones.tar: regenerated with latest data. 2002-03-12 Adam Fedor * Headers/gnustep/base/NSString.h: Add extra ivars needed by Darwin to NXConstantString. * Source/GSString.m: ([NXConstantString +initialize]): Remove constant string class reference setup for Darwin. * Source/NSProcessInfo.m (main): Put it here. Tue Mar 12 11:13:51 2002 Nicola Pero * Source/Additions/GSXML.m ([-isEqualTo:]): Renamed everywhere to isEqual: Tue Mar 12 09:21:20 2002 Nicola Pero * Source/NSAssertionHandler.m ([-handleFailureInMethod:object:file:lineNumber:description:]): Log if the object is a class or an instance. 2002-03-12 Richard Frith-Macdonald * SSL/configure.in: Check GNUstep directories for headers and libraries as well as standard system directories. Tue Mar 12 07:37:44 2002 Nicola Pero * Source/Additions/GSXML.m ([GSXMLNode -properties]): Fixed return type. 2002-03-10 Richard Frith-Macdonald * Headers/gnustep/base/NSInvocation.h: * Headers/gnustep/base/NSNumberFormatter.h: * Headers/gnustep/base/NSObject.h: Minor fixes to build with STRICT_OPENSTEP * Source/NSDistributedNotificationCentre.m: Attempt to start server automatically for other machines. Improve log messages. Sat Mar 9 15:21:04 2002 Adam Fedor * Source/NSDistributedNotificationCenter.m (-_connect): Move check for alternative name so we can get registered. 2002-03-09 Richard Frith-Macdonald * Source/NSDistributedNotificationCentre.m: Try alternative name for server if NSHost is specified ...in case it is running on another host. Sat Mar 9 12:02:45 2002 Adam Fedor * configure.in: Change constant string to FooConstantString * config/config.constant-string-class.m: Work with NeXT_RUNTIME (patch from Markus Hitter [mah@jump-ing.de]). 2002-03-09 Richard Frith-Macdonald * Source/NSFileManager.m: Change copy so that, if the source argument is a symbolic link, we copy the link rather than the thing it points to. * Tools/gdnc.m: Quick hack to register port with other names is NSHost is used. 2002-03-08 Richard Frith-Macdonald * Source/Unicode.m: Added BIG5 encoding * Headers/Foundation/NSString.h: Added BIG5 encoding * Resources/Languages/Locale.aliases: added traditional chinese Extensions for traditional chinese requested by Yen-Ju Chen 2002-03-08 Richard Frith-Macdonald * Source/Additions/GNUmakefile: Include ../../base.make * SSL/GNUmakefile: Include ../base.make from the makefiles directory for builting standalone. * Source/Unicode.m: Added some standard string handling for iconv. * Source/NSString.m: ([-initWithData:encoding:]) return nil on failure to handle encoding. * Source/NSMapTable.m: NSMapInsert() fixed to conform to spec. * Source/NSHashTable.m: NSHashInsert() fixed to conform to spec. Reports by Alexander Malmberg 2002-03-07 Pierre-Yves Rivaille * Source/NSRunLoop.m ([NSRunLoop -acceptInputForMode:]): added a _checkPerformes: call to solve minor issue. (performers would only be called after an event was received) (credits to Alexander Malmberg) 2002-03-07 Richard Frith-Macdonald * SSL/Makefile.posramble: store config.h in system specific subdir. * SSL/Makefile.preamble: Include headers from Source directory so we pick up GSConfig.h 2002-03-06 Richard Frith-Macdonald * Source/autogsdoc.m: store and fetch dependency info in .igsdoc so we can parse the correct source files for each header when we need to. 2002-03-06 Richard Frith-Macdonald * Source/Additions/GNUmakefile: build subproject. * Source/Additions/Makefile.preamble: set include flags. * Source/Additions/GSXML.m: moved implementation here. * Source/Additions/GSMime.m: moved implementation here. * Source/GNUmakefile: build subproject. 2002-03-06 Richard Frith-Macdonald * GNUmakefile: build SSL aggregate project * config.mak.in: Remove SSL info * configure.in: Remove SSL configuration * configure: Regenerate * SSL/GNUmakefile: Build SSL bundle * SSL/GSUnixSSLHandle.m: SSL bundle source from Source directory * SSL/Makefile.postamble: Build SSL bundle * SSL/Makefile.preamble: Build SSL bundle * SSL/config.h.in: Trivial config for SSL bundle * SSL/config.mak.in: SSL info for building bundle. * SSL/configure.in: Configuration for SSKL bundle. * Source/GNUmakefile: Don't build SSL bundle. * Source/GSUnixSSLHandle.m: Moved to SSL directory. * Source/Makefile.postamble: Don't build SSL bundle. * Source/Makefile.preamble: Don't build SSL bundle. Alterations to make the SSL bundle capable of standalone building - for use on systems where the base package has only been installed in binary form. Initial attempt! 2002-03-06 Richard Frith-Macdonald * Source/GSAttributedString.m: Applied fix for left-over attributes at end of string. Patch supplied by Alexander Malmberg . Reformatting to conform to GNUstep standards, and optimisation by me. 2002-03-04 Richard Frith-Macdonald * Tools/autogsdoc.m: Output gsdoc as UTF8 as we should. * Tools/AGSOutput.m: ditto. 2002-03-01 Richard Frith-Macdonald * Source/NSUser.m: When reading .GNUsteprc, if a per user version is not available, use the one in the configured system root directory. 2002-02-28 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: Add objc-runtime.h * Source/Makefile.preamble: Add ..DEPEND_UPON for all darwin versions. * Source/NSPortCoder.m (-initWithReceivePort:sendPort:components:): Change cast to make MacOSX compiler happy. 2002-02-28 Richard Frith-Macdonald * Source/NSUser.m: rewrite user and defaults root code to standardise and to use .GNUsteprc configuration. Also permit forcing of fixed roots at compile time. Thu Feb 28 16:46:31 2002 Nicola Pero * Source/NSUser.m (NSSearchPathForDirectoriesInDomains): Changed 'Apps' to read 'Applications'. 2002-02-27 Pierre-Yves Rivaille * Source/GSString.m ([GSMutableString -substringWithRange:]): create a new string which size is the range length, not the original string's length. 2002-02-27 Richard Frith-Macdonald * Tools/gdomap.c: Removed obsolete code for shrinking data structures. Added memmove() for overlapped memory moves (Alexander Malmberg) and removed a couple of obsolete functions. * Source/GSValue.m: attempt to correct encoding. * Source/NSKeyValueCoding.m: Fix termination of method names with nuls from report by Manuel Guesdon. * Source/NSDictionary.m: Implement MacOS-X compatible KVC behavior. Include webobjects/eof extension, with warnings. * Headers/Foundation/NSProtocolChecker.h: Change deprecated import to include. 2002-02-26 Richard Frith-Macdonald * Tools/gdomap.c: Improve fetching interface info on mingw ... ignore non-internet interfaces. NB. The mingw winsock2.h header is buggy ... to work properly you need to change the size of a struct sockaddr field from sa_data[14] to sa_data[22] Tue Feb 26 18:01:26 2002 Nicola Pero * Source/NSBundle.m: Removed all _releasedBundles machinery. Removed custom implementation of -release. Retain a bundle after we load it. This fixes -bundleForClass: and simplifies considerably the code. * Source/NSBundle.m: Whenever possible, use [self method] rather than [NSBundle method] to invoke a class method, for efficiency. * Source/NSBundle.m (objc_executable_location): Compute directly from _executable_path - using mainBundle is unsafe. Tue Feb 26 17:35:03 2002 Nicola Pero * Source/NSBundle.m (_bundle_load_callback): Completely ignore categories. (Suggestion by Gerrit Van Dyk ). 2002-02-26 Richard Frith-Macdonald * Source/GSTemplateValue.m: Implement initialize method to set the version of concrete classes to be that of the abstract class which actually performs encoding/decoding ... should correct archiving. Problem reported by Gerrit Van Dyk * Tools/GSIndex.m: tidied a little * Tools/GSParser.m: mark when things are implemented. * Tools/GSOutput.m: warn about unimplemented items. 2002-02-26 Pierre-Yves Rivaille * Source/NSUnarchiver.m ([NSUnarchiver +classNameDecodedForArchiveClassName:]): ([NSUnarchiver -classNameDecodedForArchiveClassName:]): return nil if the class name is not present. 2002-02-26 Richard Frith-Macdonald * Source/GSTcpPort.m: Fixes to work on mingw. * Source/NSHost.m: Update for current winsock on mingw. * Source/NSPortNameServer.m: Update for current winsock on mingw. * Source/WindowsFileHandle.m: Fix to work for basic socket I/O. * Tools/gdomap.c: many changes ... several fixes to work on mingw rewrite some clumsy inefficient code, make variables and functions local. etc. * Source/NSUnarchiver.m: ([versionForClassName:]) return NSNotFound if the class name was not present. Mon Feb 25 15:26:38 2002 Nicola Pero * Source/NSBundle.m ([-initWithPath:]): Return nil if the path can't be read. Fixed memory leak in case of nil argument. * Headers/gnustep/base/NSBundle.h: Documented some methods. 2002-02-25 Richard Frith-Macdonald * Source/GNUmakefile: Move xml and mime classes into an additional library, and make base library depend on it. EXPERIMENTAL. * Tools/gdomap.c: Try to get output working again after last changes. Add first attempt at MINGW support for getting network interface info. library, and make base library depend on it. EXPERIMENTAL - activate using 'make add=yes' 2002-02-25 Richard Frith-Macdonald * Source/NSObject.m: Rewrote key-value coding key manipulation to use a char array for speed. Moved functions for converting between object internals in scalar types and NSNumbers etc to NSObjCRuntime.m. Re-implemented path methods to fix incorrect implementation as pointed out by Manuel Guesdon. * Headers/Foundation/NSObjCRuntime.h: New functions from NSObject * Source/NSObjCRuntime.m: New functions from NSObject * Source/NSKeyValueCoding.m: Put key value coding methods here for clarity and ease of documentation. 2002-02-24 Richard Frith-Macdonald * Source/NSTask.m: Removed NSLogs() accidantally left in after debugging. Reported by Fred Kiefer. * Tools/gdomap.c: Use syslog for logging ... patch by Matthias Klose almost entirely rewritten to be portable. * configure.in: Minor additions for time header/functions * configure: regenerated 2002-02-23 Richard Frith-Macdonald * Headers/Foundation/NSObjCRuntime.h: Fix error in last change ... GSSelectorFromName() should not create a new selector while HSSelectorFromNameAndTypes() should. 2002-02-22 Alexander Malmberg * Headers/gnustep/base/NSArray.h: insertion position api update. * Source/NSArray.m: insertion position api update. * Source/GSArray.m: insertion position api update. Make insertion position api consistent with sorting api. 2002-02-21 Richard Frith-Macdonald * Source/NSValue.m: Fixed bug in archiving NSValue objects ... was creating faulty archives which would crash on unarchiving. * Headers/Foundation/NSObjCRuntime.h: Made GS... function names more consistent with NeXT/Apple ones. Provide new ivar handling API. Don't crash when asked for a class which does not exist. * Source/NSObject.m: partial conversion to new runtime api. * Source/NSData.m: partial conversion to new runtime api. Don't raise an exception if a class we are deserializing does not exist. Just warn and return a nul class. * Source/NSArchiver.m: better clasname handling. * Source/NSUnarchiver.m: try to gracefully handle the case where an archive contains the name of a class we don't have linked in to our code. * Source/NSPortCoder.m: ditto. 2002-02-20 Richard Frith-Macdonald * Source/NSUser.m: locking erro fixed by Stephen brandon 2002-02-20 Richard Frith-Macdonald * Headers/Foundation/NSInvocation.h: Remove _argframe ivar * Source/NSInvocation.m: Simplify by removing _argframe ivar and using _frame throughout to hold arguments. Fix checks for valid frame. * Source/callframe.m: Initialise newly created frame with zeros so that setting an object in an invocation should work when the invocation is retaining its contents. * configure.in: Disable ffi and warn about it. * configure: regenerated * Source/NSRunLoop.m: ([acceptInputForMode:beforeDate:]) block until limit date even if no I/O is possible. * Source/NSUserDefaults.m: Patch by Alexander Malmberg to try all listed locales rather than giving up at first failure. * Headers/gnustep/base/GSUnion.h: Enclose types bitmask in brackets to avoid *all* types being included in the union! Should decrease memory footprint and increase speed of many classes. * Source/NSString.m: ([stringByStandardizingPath]) memory leak fixed and windows path check fixed ... patch by Michael Scheibler. Also commented/documented the method. 2002-02-13 Richard Frith-Macdonald * Source/NSUserDefaults.m: Removed some code that was doing nothing, and tidied a little. 2002-02-13 Richard Frith-Macdonald * Headers/Foundation/NSPathUtilities.h: GSDefaultsRootForUser() function added. * Source/NSUser.m: Many alterations to do with correcting the file paths used to use GNUSTEP_USER_ROOT, and to get them to vary nicely when GSSetUserName() is called. Added function GSDefaultsRootForUser() to get a defaults directory based on a new environment varibale, or use GNUSTEP_USER_ROOT. * Source/NSUserDefaults.m: Use GSDefaultsRootForUser() Fix a few bugs in setting up defaults database. Move defaults database to the Defaults subdirectory. * Source/Headers/GSIMap.h: Fix error in last commit. 2002-02-13 Richard Frith-Macdonald * Source/NSString.m: ([stringByExpandingTildeInPath]) fix bug in handling ~username/... format. * Headers/Foundation/GSIMap.h: GSIMapCleanMap() rewrote to empty the map efficiently. Added an option to refrain from calling it when emptying a map that doesn't need keys and values releasing. * Source/GSAttributedString.m: don't clean maps on emptying. * Source/GSFFCallInvocation.m: ditto * Source/NSArchiver.m: ditto * Source/NSConnection.m: ditto * Source/NSObject.m: ditto * Source/NSPortCoder.m: ditto * Source/NSSerializer.m: ditto Changes inspired by Pierre-Tves Rivaille 2002-02-12 Richard Frith-Macdonald * Tools/AGSHtml.m: support for merging types and functions etc. * Tools/AGSIndex.m: ditto * Tools/AGSOutput.h: ditto * Tools/AGSOutput.m: ditto * Tools/autogsdoc.m: ditto Put stuff in place for merging info revert key-value coding changes. * Source/NSString.m: Fix bug in datausingEncoding:allowLossyConversion: pointed out by Stephen Brandon. Mon Feb 11 15:11:31 2002 Nicola Pero * Source/GSString.m (NSImmutableString): Implemented copy, copyWithZone:, mutableCopy, mutableCopyWithZone:, so that the string can be copied, and the copy no longer tracks the parent. 2002-02-10 Michael Hanni * Source/NSObjCRuntime.m: changed NSAssert() to NSCAssert() from last change. Also added NSException.h include to make compile correctly and quietly. 2002-02-10 Manuel Guesdon * Source/NSObject.m: changes to enable derived object KeyValueCoding process chnages (EOGenericRecord for example). o added: _infoForInstanceVariableNamed:retType:retSize:retOffset: _getValueForKey:selector:type:size:offset: _setValueForKey:object:selector:type:size:offset: _handleQueryWithUnboundKey: _handleTakeValue:forUnboundKey: o modified: storedValueForKey: takeStoredValue:forKey: valueForKey: takeValue:forKey: To use added method. * Source/NSObjCRuntime.m: o added NSAssert in GSGetInstanceVariable() and GSSetInstanceVariable() * Headers/gnustep/base/NSKeyValueCoding: o added: _infoForInstanceVariableNamed:retType:retSize:retOffset: _getValueForKey:selector:type:size:offset: _setValueForKey:object:selector:type:size:offset: _handleQueryWithUnboundKey: _handleTakeValue:forUnboundKey: Sat Feb 9 01:45:48 2002 Nicola Pero * Source/NSBundle.m ([+bundleForTool:]): Removed. We switch to a better API, which is to have a tool use +mainBundle, in the same way as applications do, to retrieve the main resource bundle for itself. ([+mainBundle]): Modified to support tools as well as applications. * Headers/gnustep/base/NSBundle.h ([+bundleForTool:]): Removed. 2002-02-08 Richard Frith-Macdonald * Headers/Foundation/NSTask.h: New method -validatedLaunchPath to check that an executable exists at the specified path or any alternative version corresponding to host, OS, and library-combo directories. Returns the actual path to the binary. * Source/NSTask.m: Implemented new mathod and added autogsdoc comments. * Source/NSBundle.m: Cotrrected error in comments. 2002-02-06 Richard Frith-Macdonald * Headers/Foundation/NSString.m: Additioanl method -immutableProxy * Source/NSString.m: ditto * Source/GSString.m: New classes for immutable proxy, one generic version, and one efficient version for accessing the main GNUstep mutable striong objects. * Source/GSAttributedString: use immutable proxy. New code to provide a proxy for a mutable string which will provide read-only access to it. 2002-02-05 Richard Frith-Macdonald * Source/NSString.m: ([-rangeOfCharacterFromSet:options:range:]) fix to return NSNotFound as location if character not present - bug reported by Nicola Pero. 2002-02-04 Richard Frith-Macdonald * Tools/gsdoc.m: loader() if entity id is missing, try to load url as a file. * Tools/AGSParser.m: Fixes for handling typedefs, constants, varibales and functions. * Tools/AGSOutput.[hm]: ditto * Tools/AGSHtml.m: ditto Preliminary support for C language added. 2002-02-03 Richard Frith-Macdonald * Source/GNUmakefile: use -WordMap flag with autogsdoc to cope with C-preprocessor constants that would otherwise confuse parsing. * Source/NSDictionary.m: Tidy to match interface. * Source/NSDistantObject.m: Tidy to match interface. * Source/NSPortCoder.m: Tidy to match interface. * Source/NSScanner.m: Tidy to match interface. Remove some illegal semicolons after method names. * Source/NSTimer.m: Tidy to match interface. * Tools/AGSParser.h: Handle word mappings. * Tools/AGSParser.m: Handle word mappings and deal with function attributes. * Tools/autogsdoc.m: Handle word mappings and make default logging less verbose. 2002-02-02 Richard Frith-Macdonald * Source/NSObject.m: Fix some maptable problems when using non-local reference counts. * Source/NSMapTable.m: Improve warning logging for dodgy practices. * Source/NSHashTable.m: ditto * Tools/AGSHtml.m: A couple of minor fixes for systems where the xml parser does not discard whitespace as it should. 2002-02-01 Richard Frith-Macdonald * Documentation/manual: New directory containing Objective-C and GNUstep-base programming manual/tutorial produced at Brainstorm. The intention was to produce a pretty complete manual and then release it, but we ran out of funding, so I'm releasing the work to date. * Source/NSObject.m: Go back to using local refcounts now that new map table code is thoroughly tested. 2002-02-01 Richard Frith-Macdonald * Source/Makefile.preamble: remove old GSI api support * Headers/Foundation/NSHashTable.h: ditto * Headers/Foundation/NSMapTable.h: ditto 2002-02-01 Richard Frith-Macdonald * Source/GSAttributedString.m: Move to assuming new GSI api. * Source/NSHashTable.m: ditto * Source/NSMapTable.m: ditto * Source/GSCountedSet.m: ditto * Source/GSDictionary.m: ditto * Source/GSFFCallInvocation.m: ditto * Source/NSArchiver.m: ditto * Source/NSConnection.m: ditto * Source/NSFileManager.m: ditto * Source/NSNotificationCenter.m: ditto * Source/NSObject.m: ditto * Source/NSPortCoder.m: ditto * Source/NSRunLoop.m: ditto * Source/NSSerializer.m: ditto * Source/NSUnarchiver.m: ditto 2002-02-01 Richard Frith-Macdonald * Source/NSHashTable.m: Fixed bug intorduced by last change to add error checking!! * Source/GSAttributedString.m: Make new or old GSI stuff optional. * Source/GSCountedSet.m: ditto * Source/GSDictionary.m: ditto * Source/GSFFCallInvocation.m: ditto * Source/NSArchiver.m: ditto * Source/NSConnection.m: ditto * Source/NSFileManager.m: ditto * Source/NSNotificationCenter.m: ditto * Source/NSObject.m: ditto * Source/NSPortCoder.m: ditto * Source/NSRunLoop.m: ditto * Source/NSSerializer.m: ditto * Source/NSUnarchiver.m: ditto Interim phase ... version of source which should build with new or old GSIMap and GSIArray APIs at the defination of GSI_NEW 2002-01-31 Adam Fedor * Old/*: Removed (now at ftp://ftp.gnustep.org/pub/gnustep/old/gnustep-obsolete.tar.gz). 2002-01-31 Richard Frith-Macdonald * Source/NSMapTable.m: * Source/NSHashTable.m: Add checks for nul tables and either log warnings and be tolerant, or raise exceptions. Thu Jan 31 15:35:21 2002 Nicola Pero * Source/NSObject.m ([-doesNotRecognizeSelector:]): Modified exception message to print out if we are an instance or a class object. For example, no longer 'IvarProxy does not recognize initWithClass:' but rather 'IvarProxy(class) does not recognize initWithClass:'. ([-doesNotRecognize:]): Idem. ([-subclassResponsibility:]): Similar change. ([-shouldNotImplement:]): Similar change. ([-notImplemented:]): Similar change. 2002-01-31 Richard Frith-Macdonald * Headers/gnustep/base/GSIArray.h: Use array as parameter to macros. * Source/GSAttributedString.m: Update for GSIArray change. * Source/GSCountedSet.m: Update for GSIArray change. * Source/GSDictionary.m: Update for GSIArray change. * Source/GSFFCallInvocation.m: Update for GSIArray change. * Source/NSArchiver.m: Update for GSIArray change. * Source/NSConnection.m: Update for GSIArray change. * Source/NSFileManager.m: Update for GSIArray change. * Source/NSNotificationCenter.m: Update for GSIArray change. * Source/NSObject.m: Update for GSIArray change. * Source/NSPortCoder.m: Update for GSIArray change. * Source/NSRunLoop.m: Update for GSIArray change. * Source/NSSerializer.m: Update for GSIArray change. * Source/NSUnarchiver.m: Update for GSIArray change. 2002-01-30 Richard Frith-Macdonald * Headers/Foundation/NSRunLoop.h: Go back to new version. * Source/NSRunLoop.m: Back to new (hopefully bug-free) version ... fixed a fence-post error in examining descriptors. Enabled poll() support if the O/S supports it. Converted to use standard debug logging keyed on NSRunLoop. Fixed poll code to call any available event handler when an error occurs on a descriptor. * configure.in: Improve check for sa_len 2002-01-30 Richard Frith-Macdonald * Headers/gnustep/base/GSIMap.h: Fix bug cleaning table and add option to specify type of enumerator structure externally. * Headers/gnustep/base/NSHashTable.h: Modify to conform to MacOS-X documentation and to work with GSIMAP stuff. * Headers/gnustep/base/NSMapTable.h: ditto * Headers/gnustep/base/o_array.h: deleted * Headers/gnustep/base/o_cbs.h: deleted * Headers/gnustep/base/o_hash.h: deleted * Headers/gnustep/base/o_list.h: deleted * Headers/gnustep/base/o_map.h: deleted * Headers/gnustep/base/o_x_bas.h.in: deleted * Headers/gnustep/base/o_x_cbs.h.in: deleted * Source/GNUmakefile: Remove o_... rules * Source/GSTcpPort.m: Remove unused include file * Source/Makefile.postamble: remove o_... rules * Source/NSCallBacks.h: Remove o_... info * Source/NSCallBacks.m: remove o_... info * Source/NSHashTable.m: Rewrite to use GSIMAP * Source/NSMapTable.m: Rewrite to use GSIMAP * Source/NSObject.m: Use GSIMAP for reference counts. * Source/NSRunLoop.m: Fix function prototypes for map table callbacks. * Source/externs.m: Remove o_... stuff and tidy callbacks. * Source/o_array.m: deleted * Source/o_cbs.m: deleted * Source/o_cbs_char_p.m: deleted * Source/o_cbs_id.m: deleted * Source/o_cbs_int.m: deleted * Source/o_cbs_int_p.m: deleted * Source/o_cbs_void_p.m: deleted * Source/o_hash.m: deleted * Source/o_list.m: deleted * Source/o_map.m: deleted * Source/o_x_bas.m.in: deleted * Source/o_x_cbs.m.in: deleted Masses of changes to simplify codebase and standardise all maptable code. Hopefully, the new NSMapTable code now conforms to the spec. 2002-01-30 Richard Frith-Macdonald * Headers/Foundation/NSRunLoop.h: revert * Source/NSRunLoop.m: revert Revert to earlier version temporarily, while I try to track down an obscure bug causing problems with some DO applications. Tue Jan 29 13:49:23 2002 Nicola Pero * configure.in: Removed garbage left over - doubled message for objc thread flags checking. * configure: Regenerated. Tue Jan 29 10:57:30 2002 Nicola Pero * Makefile.postamble (configure): Rule removed. It was causing problems on systems without autoconf. (base.make, config.mak): Do not depend on configure. 2002-01-29 Richard Frith-Macdonald * Headers/Foundation/NSRunLoop.h: More updates to ivars. * Headers/Foundation/NSRunLoop.m: Completed re-entrancy fixes in (I hope) a reasonably efficient manner. 2002-01-28 Richard Frith-Macdonald * Headers/Foundation/NSRunLoop.h: Removed previously deprecated methods. Completely changed ivar layout. * Headers/Foundation/NSRunLoop.m: Removed previously deprecated methods. Completely changed ivar layout. Modified most methods to work with changed ivar layout. Now stores per-mode context information in a new GSRunLoopCtxt class - one instance for each mode used in each runloop instance. Rewrite select() and poll() based mechanisms using the new class - should hopefully be more efficient and fix minor and obscure problems with re-entrancy. ### WARNING ... radical change ... may be buggy ... WARNING ### 2002-01-23 Kaelin Colclasure * configure.in: Check for poll(2) system call and header file. * configure: Regenerated. * config.h.in: Regenerated. * Source/NSRunLoop.m ([-acceptInputForMode:beforeDate:]): Refactored to put all code specific to the select(2) system call into a separate method. ([-_pollInputForMode:withTimeout:]): New private method with two implementations. If HAVE_POLL is defined, the poll version is used. Otherwise, we fall back to select. 2002-01-25 Richard Frith-Macdonald * acconfig.h: Add HAVE_SA_LEN * configure.in: Check for sa_len in sockaddr in struct ifreq * configure: regenerate * Headers/gnustep/base/config.h.in: regenerate * Tools/gdomap.c: Add patch by Pete French to handle variable length socket addresses ... modified to work with the rest of the world where we don't have such things. 2002-01-24 Richard Frith-Macdonald * Source/NSRunLoop.m: Correct returns from within exception handler. * Source/NSUserDefaults.m: use NSDefaultRunLoopMode. * Headers/gnustep/unicode/gsm0338.h: New character set mapping. * Source/Unicode.m: Add support for the GSM default alphabet. * Headers/gnustep/base/GSIMap.h: Add support for macros update when built with GSM_NEW defined (for use with NSMapTable in future). Various source files updated to use new GSI macros. Mon Jan 21 17:08:42 2002 Nicola Pero * Source/Makefile.postamble (after-uninstall): Removed GSConfig.h and mframe.h when uninstalling. 2002-01-16 Richard Frith-Macdonald * Source/NSRunLoop.m: Wrap code in exception handlers to reset current runloop mode if an exception occurs ... may remove this again if the performance is too bad. Use initialiser for NSTimer to avoid having to put timers into the autorelease pool. * Headers/Foundation/NSTimer.h: Expose GNUstep initialiser since OpenStep and MacOS-X don't have one. Wed Jan 16 13:46:24 2002 Nicola Pero Fixed dynamical loading of frameworks. * Source/NSBundle.m ([-_addFrameworkForClass:]): Fixed, should never be run during dynamical loading. * Source/NSBundle.m (_bundle_load_callback): Major simplification. Most code removed. Should run faster too. ([-load]): Do not DESTROY _bundle_load_callback's related variables. Wed Jan 16 12:30:20 2002 Nicola Pero * Source/NSBundle.m (_addFrameworkFromClass:): Fixed third argument of strncmp to be 12, not 12*sizeof(char). 2002-01-16 Richard Frith-Macdonald * Source/NSRunLoop.m: Modify to have a nil current mode if the loop is not running (MacOS-X compatibility) and documented the change for autogsdoc. Tue Jan 15 02:53:56 2002 Nicola Pero * Source/Makefile.postamble (after-distclean): Always remove SSL.bundle, regardless of any flags. 2002-01-13 Richard Frith-Macdonald * Tools/AGSParser.m: Mostly implemented parsing of C declarations (function, typedef, constant and variable). 2002-01-11 Richard Frith-Macdonald * Headers/Foundation/NSArchiver.h: tidyups * Source/NSDictionary.m: tidyups * Tools/AGSParser.m: a couple of declaration parsing fixes added, along with quite a bit of debugging. Function declaration parsing not yet working. 2002-01-10 Richard Frith-Macdonald * Source/NSDistributedNotificationCentre.m: Use NSHost user default to determine which server to connect to. * Tools/AGSParser.m: Minor parsing fixes ... correct GS_EXPORT Wed Jan 9 11:55:54 2002 Nicola Pero * configure.in: Call AC_CONFIG_AUX_DIR with $GNUSTEP_SYSTEM_ROOT/Makefiles arg so that gnustep-make's config.guess and config.sub are used. * configure: Regenerated. * config.guess: Removed. * config.sub: Removed. * install-sh: Removed. * mkinstalldirs: Removed. * Source/mframe/configure.in: Set AC_CONFIG_AUX_DIR to $GNUSTEP_SYSTEM_ROOT/Makefiles. * Source/mframe/configure: Regenerated. * Source/mframe/config.guess: Removed. * Source/mframe/config.sub: Removed. Wed Jan 9 11:08:57 2002 Nicola Pero * config.guess: Updated to latest version. * config.sub: Idem. 2002-01-08 Richard Frith-Macdonald * Tools/AGSHtml.h: * Tools/AGSHtml.m: * Tools/AGSIndex.h: * Tools/AGSIndex.m: * Tools/AGSOutput.h: * Tools/AGSOutput.m: * Tools/AGSParser.h: * Tools/AGSParser.m: * Tools/autogsdoc.m: * Tools/gsdoc-0_6_7.dtd: Updated for several changes ... Support documentation of instance variables Index class and category method names identically Extend index to have a listing of methods by unit Extend index to have a listing of ivariablese by class Use new extensions to double speed of generation of method indexes for classes. 2002-01-07 Adam Fedor * Version: 1.1.0 * Documentation/news.texi: Update * Source/NSObject.m (GSGetValue): Add case for void return (suggestion from ml@sbuilders.com). * Resources/Languages/Dutch: Change currency to Euro. * Resources/Languages/French: Likewise. * Resources/Languages/German: Likewise. * Resources/Languages/Italian: Likewise. * Old languages files renamed to *.Old 2002-01-07 Richard Frith-Macdonald * Tools/AGSHtml.m: Minor speedup. * Tools/AGSOutput.m: Put something in place of empty descriptions. * Tools/AGSParser.m: Rewrite handling of standards information to fix bug in NO_GNUSTEP handling. * Source/GNUmakefile: Don't document concrete number stuff ... not public. Sun Jan 6 22:33:55 2002 Nicola Pero * Tools/HTMLLinker.m: Rewritten to fixup links by link name rather than link file. Can now be used to link HTML files generated by autogsdoc. * Tools/HTMLLinker.html: Updated for changes. * Tools/GNUmakefile: Install HTMLLinker.html. 2002-01-06 Richard Frith-Macdonald * Tools/autogsdoc.m: Minor bugfix ... any .h file processed should also be processed as a .gsdoc file to produce indexes and html. * Tools/AGSHtml.m: List *all* methods for a class in its method summary, even if they are in categories or are documented in other files. 2002-01-05 Richard Frith-Macdonald * Tools/autogsdoc.m: Simplify by removing SourceDirectory default. Change mechanism for handling multiple source files for one header (need capability to write dependency rules for make). * Tools/AGSParser.[hm]: Add mechanism to return list of source files on which a document depends. * Tools/gsdoc-0_6_7.dtd: Permit wider use of index element. * Tools/AGSHtml.m: ditto, and support indexing of category methods along with class methods. * Source/GNUmakefile (Base_AGSDOC_FLAGS): Remove the SourceDirectory option ... now assumed to be the current directory for simplicity. * Source/Base.gsdoc: Add class and protocol indexes. 2002-01-04 Richard Frith-Macdonald * Source/GNUmakefile (Base_AGSDOC_FLAGS): Fix to use -HeaderDirectory and -SourceDirectory to get docs to build again... hopefully with both sets of make rules. Fri Jan 4 15:44:02 2002 Nicola Pero * base.make.in (GNUSTEP_BASE_HAVE_LIBXML): Define. * Source/GNUmakefile (Base_AGSDOC_FLAGS): Do not use -HeaderDirectory. (Base_HEADER_FILES_DIR): Define. * Source/GNUmakefile: Include documentation.make only if doc=yes is passed on the command line. * Tools/GNUmakefile: Idem. 2002-01-04 Richard Frith-Macdonald * Tools/autogsdoc.m: Rearrange code somewhat and remove auto generation of index and 'up' links ... now requires an explicit -Up if you want one. Fix to support multiple source files parsed per interface file. * Tools/GNUmakefile: Add -Up for documentation generation * Source/GNUmakefile: ditto Fri Jan 4 11:42:23 2002 Nicola Pero * Tools/HTMLLinker.m: Implemented -FixupAllLinks, -PathMappings, -PathMappingsFile options. Made -CheckLinks default to YES. Added support for specifying a directory as input or destination file, meaning all html files found in the directory. Never attempt to fixup links starting with mailto: or news: or without a filename, even if running with -FixupAllLinks YES. * Tools/HTMLLinker.html: New file. 2002-01-03 Richard Frith-Macdonald * Source/autogsdoc.m: Fixup bug in html relocation code ... was failing to adjust string length variable correctly. 2002-01-03 Adam Fedor * Headers/gnustep/base/NSString.h: Extern constant string class reference for Darwin added. * Source/GSString.m ([NXConstantString +initialize]): Setup constant string class reference variable for Darwin. * Source/NSObject.m: Don't put reference count and zone with object on Darwin. * Source/behavior.m (NeXT_RUNTIME/behavior_class_add_class): Use NeXT runtime functions. Pass only one method_list at a time. (NeXT_RUNTIME/behavior_class_add_methods): Only look at one method_list at a time. (NeXT_RUNTIME/search_for_method_in_list): Use NeXT runtime functions. Thu Jan 3 19:38:42 2002 Nicola Pero * Tools/HTMLLinker.m: New tool. * Tools/GNUmakefile: Compile the new tool. * Tools/Makefile.preamble (ADDITIONAL_OBJCFLAGS): Use -Wall. 2002-01-03 Adam Fedor * Source/GSFFCallInvocation.m (gs_method_for_receiver_and_selector): Correct test for class. * Source/GNUmakefile (AUTHORS): Remove target. * AUTHORS: Remove. * Admin/: Remove. * configure.bat: Likewise. 2002-01-03 Richard Frith-Macdonald * Header/Foundation/GSXML.h: Correction standards complience * Source/GSXML.m: A few documentation tidyups * Tools/autogsdoc.m: Some tidyups for improved performance and added code to relocate html documents. * Source/AGSIndex.[hm]: Minor API change to ease index handling, bugfix for class index generation. * Source/AGSHtml.m: Made index handling more consistent. 2002-01-02 Adam Fedor * configure.in: Show openssl as enabled by default in help. Check for more headers. * Source/NSTask.m: Move #includes to front, remove redundancies. * Source/GSXML.m ([(non-libxml)GSXMLNode +forwardInvocation]): Implement. * Documentation/GNUmakefile: Remove gnustep-base.texi * Documentation/install.texi: Update. * Documentation/news.texi: Likewise. * Tools/autogsdoc.m (main): When no libxml, abort with a useful error message. 2002-01-02 Richard Frith-Macdonald * Source/GSXML.m: Tidied some methods and added autogsdoc comments. * Source/NSData.[hm]: implement ([-writeToURL:atomically:]) * Source/GSXML.[hm]: Tidy document API to be more consistent with other classes. Add some autogsdoc comments. * Tools/AGSIndex.m: Bugfix in setting links to superclasses. * Tools/AGSOutput.m: Infinite recursion fix. 2002-01-01 Richard Frith-Macdonald * Source/GNUmakefile: Use new -Standards flag for autogsdoc * Tools/AGSparser.[hm]: New support for standards and some tidyups * Tools/AGSHtml.[hm]: Improved output and simplified a little. * Tools/autogsdoc.m: New Standards flag to turn on support for generation of standards complience notes in documentation. Tue Jan 1 11:18:35 2002 Nicola Pero * Source/NSFileManager.m (custom_strdup): New inline function to simplify code. (append_file_to_path): Use it. ([NSDirectoryEnumerator -initWithDirectoryPath: recurseIntoSubdirectories:followSymlinks:justContents:]): Idem. ([NSDirectoryEnumerator -nextObject]): Fixed memory leak (Reported by Brian Alliet ). 2001-12-31 Richard Frith-Macdonald * Source/behavior.m: behavior_class_add_methods() bugfix to ensure that despatch table is updated properly. search_for_method_in_list() deleted ... use version in gnu runtime. * Source/NSUserDefaults.m: Removed use of distributed lock ... we use atomic writes to file, so we don't need it. Also restructured a little to reduce file accesses when synchronising. Also tidied comments a little for autogsdoc. 2001-12-29 Adam Fedor * Source/behavior.m (class_add_behavior): Add depreciated function back. 2001-12-27 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: Disable __builtin functions for GCC < 3.x (darwin). * Headers/gnustep/base/behavior.h: New defs for darwin/NeXT. Remove depreciated function. * Source/GSSet.m (+initialize): Use new behavior function in place of depreciated one. * Source/behavior.m (behavior_class_add_class): On darwin, allow NXConstantString class to increase in size. (behavior_class_add_category): New/rewrite for darwin methodLists structure. (behavior_class_add_methods): Likewise. (search_for_method_in_list): Likewise. * Source/NSObject.m: Move ALIGN definition outside of #if (NSDecrementExtraRefCountWasZero): Change NSAssert to NSCAssert. * Source/mframe.m (method_types_get_first_argument): Use method_types_get_next_argument. * Source/Makefile.preamble: Additional flags for darwin linking. * Source/libgnustep-base.def: Updated for new/removed classes. 2001-12-26 Richard Frith-Macdonald * Tools/autogsdoc.m: Add options for better control of index file and turning off dependency checking (for slightly more efficient running under make). Also added flag to enable/disable html generation. * Tools/AGSHtml.m: Fix a few errors in achnors and links to document titles. 2001-12-22 Richard Frith-Macdonald * Tools/autogsdoc.m: Fix bug in handling args introduceed by last modification. Removed next and prev linkage at Nicolas suggestion. 2001-12-21 Richard Frith-Macdonald * Tools/autogsdoc.m: Simplify file processing and cleanup so that spurious linkage and indexing is not done when run on a single file. Fri Dec 21 13:50:50 2001 Nicola Pero * Source/NSBundle.m ([+bundleForLibrary:]): New method. ([+bundleForTool:]): New method. * Headers/gnustep/base/NSBundle.h: Declare them. Fri Dec 21 11:48:49 2001 Nicola Pero * NSTimeZones/Makefile.postamble (timezonedir, before-install): Unused targets removed. 2001-12-19 Richard Frith-Macdonald * Source/GSXML.m: Check validation status at parse completion. * Source/NSUserDefaults.m: Ensure flags are initialised. * Source/GSCompatibility.m: Set GNUstep DTD for propertyLists. * Tools/plist-0_9.dtd: GNUstep property list DTD. * Source/autogsdoc.m: Improve dependency checking ... only regenerate project index when necessary, thus avoiding some gsdoc file parsing. Wed Dec 19 02:17:09 2001 Nicola Pero * Source/NSThread.m (GSRegisterCurrentThread): Use @defs to access protected variables of NSThread otherwise GCC 3.1 refuses to compile it. (GSUnregisterCurrentThread): Idem. Tue Dec 18 18:02:07 2001 Nicola Pero * Source/NSObject.m ([+conformsToProtocol:]): Fixed - it was checking that the metaclass conforms to the protocol rather than the class, which was causing it to fail for protocols implemented in categories. 2001-12-18 Richard Frith-Macdonald Many source files modified to contain date, version, and title info. * Tools/AGSHtml.m: Fix 'standards' output. Implement date and version. * Tools/AGSOutput.m: Add 'standards' support for class, category, and protocol. Use new standards info from parser. * Tools/AGSParser.h: New method to set current standards. * Tools/AGSParser.m: Implement simplistic parsing of preprocessor conditionals to set current standards based on STRICT_MACOS_X, STRICT_OPENSTEP, and NO_GNUSTEP. The presence of markup in the comments still takes precedence over this mechanism. 2001-12-18 Richard Frith-Macdonald * Source/GSXML.m: Bugfixes in setting parse behavior ... now turns on validation properly. * Tools/gsdoc-0_6_7.dtd: added 'scope' to index element and added a 'title' type to list files in a project. * Tools/AGSHtml.h: * Tools/AGSHtml.m: Output tidyups and general format improvements. Add links to other documents in project. Add support for 'index' element with both file and project scope. * Tools/autogsdoc.m: Clean up a little and handle gsdoc files listed as source files better .... now looks for them in the source directory. Added automatic generation of an 'index' file for a project where the first source file listed in the project is not a gsdoc file. 2001-12-17 Richard Frith-Macdonald * Headers/gnustep/base/GSMime.h: Updates for autogsdoc * Headers/gnustep/base/GSXML.h: ditto * Headers/gnustep/base/NSArray.h: ditto * Headers/gnustep/base/NSAttributedString.h: ditto * Headers/gnustep/base/NSAutoreleasePool.h: ditto * Headers/gnustep/base/NSCalendarDate.h: ditto * Headers/gnustep/base/NSCharacterSet.h: ditto * Headers/gnustep/base/NSCoder.h: ditto * Headers/gnustep/base/NSConnection.h: ditto * Headers/gnustep/base/NSData.h: ditto * Headers/gnustep/base/NSDate.h: ditto * Headers/gnustep/base/NSDistantObject.h: ditto * Headers/gnustep/base/NSDistributedNotificationCenter.h: ditto * Headers/gnustep/base/NSInvocation.h: ditto * Headers/gnustep/base/NSLock.h: ditto * Headers/gnustep/base/NSMethodSignature.h: ditto * Headers/gnustep/base/NSNotification.h: ditto * Headers/gnustep/base/NSObject.h: ditto * Headers/gnustep/base/NSProxy.h: ditto * Headers/gnustep/base/NSRunLoop.h: ditto * Headers/gnustep/base/NSSet.h: ditto * Headers/gnustep/base/NSTimeZone.h: ditto * Headers/gnustep/base/NSTimer.h: ditto * Headers/gnustep/base/NSURL.h: ditto * Headers/gnustep/base/NSUndoManager.h: ditto * Headers/gnustep/base/NSUserDefaults.h: ditto * Headers/gnustep/base/NSValue.h: ditto * Source/GSArray.m: ditto * Source/GSAttributedString.m: ditto * Source/GSCompatibility.m: ditto * Source/GSCountedSet.m: ditto * Source/GSDictionary.m: ditto * Source/GSFFCallInvocation.m: ditto * Source/GSFFIInvocation.m: ditto * Source/GSFormat.m: ditto * Source/GSHTTPURLHandle.m: ditto * Source/GSLocale.m: ditto * Source/GSMime.m: ditto * Source/GSSet.m: ditto * Source/GSString.m: ditto * Source/GSTcpPort.m: ditto * Source/GSUnixSSLHandle.m: ditto * Source/GSValue.m: ditto * Source/GSXML.m: ditto * Source/NSArchiver.m: ditto * Source/NSArray.m: ditto * Source/NSAssertionHandler.m: ditto * Source/NSAttributedString.m: ditto * Source/NSAutoreleasePool.m: ditto * Source/NSBitmapCharSet.m: ditto * Source/NSBundle.m: ditto * Source/NSCalendarDate.m: ditto * Source/NSCallBacks.m: ditto * Source/NSCharacterSet.m: ditto * Source/NSClassDescription.m: ditto * Source/NSCoder.m: ditto * Source/NSConnection.m: ditto * Source/NSCopyObject.m: ditto * Source/NSCountedSet.m: ditto * Source/NSData.m: ditto * Source/NSDate.m: ditto * Source/NSDateFormatter.m: ditto * Source/NSDebug.m: ditto * Source/NSDecimal.m: ditto * Source/NSDecimalNumber.m: ditto * Source/NSDictionary.m: ditto * Source/NSDistantObject.m: ditto * Source/NSDistributedLock.m: ditto * Source/NSDistributedNotificationCenter.m: ditto * Source/NSEnumerator.m: ditto * Source/NSException.m: ditto * Source/NSFileHandle.m: ditto * Source/NSFileManager.m: ditto * Source/NSFormatter.m: ditto * Source/NSGeometry.m: ditto * Source/NSHashTable.m: ditto * Source/NSHost.m: ditto * Source/NSInvocation.m: ditto * Source/NSLock.m: ditto * Source/NSLog.m: ditto * Source/NSMapTable.m: ditto * Source/NSMethodSignature.m: ditto * Source/NSNotification.m: ditto * Source/NSNotificationCenter.m: ditto * Source/NSNotificationQueue.m: ditto * Source/NSNull.m: ditto * Source/NSNumber.m: ditto * Source/NSNumberFormatter.m: ditto * Source/NSObjCRuntime.m: ditto * Source/NSPage.m: ditto * Source/NSPipe.m: ditto * Source/NSPort.m: ditto * Source/NSPortCoder.m: ditto * Source/NSPortMessage.m: ditto * Source/NSPortNameServer.m: ditto * Source/NSProcessInfo.m: ditto * Source/NSProtocolChecker.m: ditto * Source/NSProxy.m: ditto * Source/NSRange.m: ditto * Source/NSRunLoop.m: ditto * Source/NSScanner.m: ditto * Source/NSSerializer.m: ditto * Source/NSSet.m: ditto * Source/NSString.m: ditto * Source/NSTask.m: ditto * Source/NSThread.m: ditto * Source/NSTimeZone.m: ditto * Source/NSTimer.m: ditto * Source/NSURL.m: ditto * Source/NSURLHandle.m: ditto * Source/NSUnarchiver.m: ditto * Source/NSUndoManager.m: ditto * Source/NSUser.m: ditto * Source/NSUserDefaults.m: ditto * Source/NSValue.m: ditto * Source/NSZone.m: ditto * Source/Unicode.m: ditto * Source/UnixFileHandle.m: ditto * Source/WindowsFileHandle.m: ditto * Source/behavior.m: ditto * Source/callframe.m: ditto * Source/cifframe.m: ditto * Source/externs.m: ditto * Source/libgnustep-base-entry.m: ditto * Source/mframe.m: ditto * Source/o_array.m: ditto * Tools/AGSParser.m: ditto Ensure that initial comments in source code are sutogsdoc comments so copyright and author information will be used. Fix inconsistencies between arguments in headers and source files. Fix various bugs exposed by autogsdoc ... mostly cases where there is a semicolon after a method name in a method implementation (this is illegal, but the gcc compiler currently ignores it). 2001-12-17 Richard Frith-Macdonald * Tools/AGSHtml.m: Provide list of methods in each class. * Tools/AGSIndex.m: New method to list methods in a unit. * Tools/AGSIndex.h: New method to list methods in a unit. * Tools/AGSOutput.m: Support (name) syntax for specifying a protocol cross reference using [(name)-method] * Tools/autogsdoc.m: Improve documentation of method references. * Tools/AGSparser.m: Handle @class statements. Improve standardisation of the format of types. 2001-12-16 Richard Frith-Macdonald * Source/NSObject.m: Make initial comment an autogsdoc comment. * Tools/gsdoc-0_6_7.dtd: Fix protocol error reported by Adam * Tools/AGSHtml.h: * Tools/AGSHtml.m: * Tools/AGSIndex.h: * Tools/AGSIndex.m: * Tools/AGSOutput.h: * Tools/AGSOutput.m: * Tools/AGSParser.h: * Tools/AGSParser.m: * Tools/autogsdoc.m: Tidied initial comments to take advantage of new code to parse author and copyright details. Fixed several minor bugs in various parts of the software. Updated documentation. 2001-12-15 Fred Kiefer * Tools/pl2link.m Better handling of MIME types. 2001-12-15 Richard Frith-Macdonald Many minor cleanups and bugfixes for autogsdoc. Alpha-test support for building base library documentation using autogsdoc ... lots of work remains to be done to improve the html output from autogsdoc and to add autogsdoc comments to the base library source code. * Tools/AGSIndex.h: improve merge control * Tools/AGSIndex.m: ditto * Tools/AGSHtml.h: new methods for cleaner indexing. * Tools/AGSHtml.m: ditto * Tools/AGSParser.m: minor bugfixes. Tools/GNUmakefile: Build autogsdoc documentation using autogsdoc. * Tools/autogsdoc.m: Fix minor dependency error. Fix for indexing where a version of the project being built is already installed. * Tools/gsdoc-0_6_7.dtd: Fix ivar support * Source/GSFFCallInvocation.m: minor debug output improvement. * Source/GNUmakefile: add basic instructions to build (but not install) documentation using autogsdoc. Don't want to install yet, as this is very much alpha-test stuff. 2001-12-13 Adam Fedor * Tools/pl2link.m: New file (from FredKiefer@gmx.de). 2001-12-12 Adam Fedor * Headers/gnustep/base/NSDebug.h: Include NSDebugLog functions when GSDIAGNOSE is defined. 2001-12-12 Richard Frith-Macdonald * Source/GSHTTPURLHandle.m: Remove GSHTPPropertyBodyKey ... make the ([writeData:]) method do nothing until the page is reloaded, so its behavior is consistent with ([writeProperty:forKey:]) and can be used in conjunction with background loading (ie all I/O is done during the load). * Source/NSURL.m: load resource data after setting it to force I/O 2001-12-11 Manuel Guesdon * Source/NSString.m: corrected bug in +stringByTrimmingSpaces (there was an exception when the string contains only spaces). 2001-12-08 Richard Frith-Macdonald * Documentation/gsdoc/NSDistantObjectRequest.gsdoc: note that the class does not exist (and why). 2001-12-08 Gregory Casamento * Source/GNUmakefile added SSL_LIB_DIRS += -L$(GNUSTEP_OBJ_DIR) to prevent build from failing when building from scratch. 2001-12-08 Richard Frith-Macdonald * Source/NSAttributedString.m: ([initWithCoder:]) fix typo. 2001-12-07 Adam Fedor * Headers/gnustep/base/NSDebug.h: Add NSDebugLog functions when GSWARN is defined (not DEBUG). 2001-12-07 Richard Frith-Macdonald * Source/GSHTTPURLHandle.m: Understand GSHTPPropertyBodyKey so we can set data to be posted in background. 2001-12-06 Richard Frith-Macdonald * Source/GNUmakefile: Add library dependencies for SSL bundle ... it needs libobjc and libgnustep-base to be linked. * Source/NSFileHandle.m: Only try to load SSL bundle if asked for. Mon Dec 5 16:32:31 2001 Adam Fedor * Source/GSHTTPURLHandle.m: Include sys/fcntl.h for O_WRONLY, etc (on Solaris). 2001-12-04 Richard Frith-Macdonald * Source/GNUmakefile: Add flags for SSL and rules to build bundle * Source/GSHTTPURLHandle.m: use +sslClass * Source/GSUnixSSLHandle.m: Extract SSL support for bundle to this file. * Source/Makefile.preamble: Add flags for SSL * Source/NSFileHandle.m: Add +sslClass and automated loading of bundle * Source/UnixFileHandle.m: Remove SSL support. * Headers/gnustep/base/NSFileHandle.h: Add +sslClass * Headers/gnustep/base/UnixFileHandle.h: Tidy a little. * config.mak.in: Add variables needed by SSL bundle * configure.in: Update to build SSL bundle by default. * configure: regenerated The above changes made to move SSL support into a bundle and add a +sslClass to NSFileHandle to return the class from the bundle if it is available. Changed the http url handle support to use this. 2001-12-04 Richard Frith-Macdonald * Source/NSValue.m: polish last set of changes - Optimisation ... cut memory allocation/deallocation to a minimum. Versioning ... set NSValue version number and attempt to decode old format objects. Simplification ... remove redundant code in placeholder class. Fixes ... allocate new objects in correct memory zone, I think a few others I forgot. * Source/NSNumberFormatter.m (-initWithCoder:): Avoid unnecessary autorelease/retain sequences. (-init): Fix illegal re-initialisation of initialised values and avoid unnecessary use of autorelease. 2001-12-03 Laurent Julliard * Source/NSNumberFormatter.m (-initWithCoder:): decoded objects must be retained 2001-12-03 Richard Frith-Macdonald * Source/NSValue.m: Fix coding/decoding to use serialization code to maintain byte order and word size compatibility. * Source/GSValue.m: ditto * Testing/values.m: added encoding/decoding tests. * Source/GSMime.m: Tidied handling of continuations a little. * Source/GSHTTPURLHandle.m: Added some debug logging. Sat Dec 1 10:11:18 2001 Nicola Pero * Makefile.postamble (base.make): Depend on configure. (config.mak): Idem. Sat Dec 1 09:29:43 2001 Nicola Pero * Makefile.postamble (base.make): New target. (config.mak): New target. 2001-11-29 Richard Frith-Macdonald * Source/NSScanner.m: Fix memory leak when initialised with something other than a constant string. 2001-11-28 Adam Fedor * Documentation/gsdoc/Base.gsdoc: Add NSLanguages summary. 2001-11-27 Richard Frith-Macdonald * Source/NSConnection.m: Put a limit of around a second on how long the delay between polling for incoming packets can grow to ... improve response on heavily loaded systems. * Source/GSHTTPURLHandle.m: ditto * Tools/autogsdoc.m: Tidied structure a little and added file modification date checks to see whether files should be regenerated or not. 2001-11-24 Fred Kiefer * Headers/Foundation/NSURL.h Declare NSNumber, so that it compiles without complaining. 2001-11-23 Laurent Julliard * Source/NSNumberFormatter.m (-encodeWithCoder:, -initWithCode:): fixed buggy encoder and decoder and code cleanup. 2001-11-22 Laurent Julliard * Headers/gnustep/base/Foundation.h: Fixed NSNumberFormatter.h missing. Thu Nov 22 00:52:57 2001 Nicola Pero * GNUmakefile (CVS_MODULE_NAME): Define. 2001-11-21 Richard Frith-Macdonald * Tools/AGSOutput.m: * Tools/AGSOutput.h: * Tools/AGSIndex.h: * Tools/AGSIndex.m: * Tools/AGSParser.h: * Tools/AGSParser.m: * Tools/AGSHtml.h: * Tools/AGSHtml.m: * Tools/autogsdoc.m: Many bugfixes and enhancements ... generate html as well as gsdoc. 2001-11-19 Richard Frith-Macdonald * Source/GSXML.m: Implement NSCopying protocol for most classes. 2001-11-19 Adam Fedor * Source/simple-load.h (__objc_dynamic_get_symbol_path): Fix typo. * Tools/gdomap.c (nameServer): Print strerror before exiting for more helpful message. 2001-11-13 Richard Frith-Macdonald * Source/NSUser.m: * Headers/Foundation/NSUserDefaults.h: * Documentation/gsdoc/NSUserDefaults.gsdoc: * Source/NSUserDefaults.m: Changed the method name +resetUserDefaults to be +resetStandardUserDefaults for compatibility with MacOS-X, which has now implemented an equivalent for the GNUstep method. * Source/NSPortNameServer.m: When removing a port, remove from internal name tables even if gdomap reports no name to unregister. In ([-removePort:]) retain set of names for duration of operation - fix suggested by Gerrit Van Dyk 2001-11-12 Richard Frith-Macdonald * Source/NSNumber.m: describe char and unsigned char as numbers rather than ascii characters. Use g format for floats. Use 'true' and 'false' for boolean output ... for MacOS-X compatibility. * Source/NSConcreteNumber.m: ditto * Source/GSFormat.m: Fix bug in formatting short integers - was trying to treat them as full sized. * headers/Foundation/NSString.h: Fix error in initWithFormat:locale:,... * Source/NSString.m: ditto ... was missing varargs * Documentation/gsdoc/NSNumber.gsdoc: document changes. * Documentation/gsdoc/NSString.gsdoc: document changes. * Testing/values.m: Added some number output tests. * Source/NSUserDefaults.m: Locking bug fixed ... was locking before lock had been created. * Source/libgnustep-base.def: Removed defunct class * Source/NSHost.m: Support initialisation with an address for which there is no corrsponding host name. 2001-11-09 Richard Frith-Macdonald * Documentation/gsdoc/Base.gsdoc: * Source/GSCompatibility.m: * Source/GSMime.m: * Source/GSUserDefaults.h: * Source/NSArray.m: * Source/NSCalendarDate.m: * Source/NSDate.m: * Source/NSDecimalNumber.m: * Source/NSDictionary.m: * Source/NSFileHandle.m: * Source/NSGeometry.m: * Source/NSLog.m: * Source/NSScanner.m: * Source/NSString.m: * Source/NSUserDefaults.m: Modify user defaults usage to cache some defaults used internally and provide private accessors for speed. Add default to force logging to be done via syslog since logging to stderr within code called via JIGS from a servlet engine may cause severe problems if the servlet engine is using descriptor 2 for other purposes. 2001-11-09 Richard Frith-Macdonald * Source/GSMime.m: modifications made to support HTTP continuation responses for buggy webservers which send them when they shouldn't. 2001-11-08 Richard Frith-Macdonald * Source/GSHTTPHURLHandle.m: handle writing of nil properties and use of empty strings as proxy settings. Minimise delays when tunneling SSL * Source/UnixFileHandle.m: Improve error logging with ssl. 2001-11-07 Richard Frith-Macdonald * Headers/foundation/NSUserDefaults.h: Add _lock ivar * Source/NSUserDefaults.m: initial attempt at thread-safety. 2001-11-07 Richard Frith-Macdonald * Headers/Foundation/NSString.h: removed stringByTrimming...Whitespace methods as they just duplicate the stringByTrimming...Spaces * Source/NSString.m: ditto Optimised the space trimming methods - avoid using character sets and creating unnecessary intermediary objects. 2001-11-07 Richard Frith-Macdonald * Source/NSUserDefaults.m: force defaults data to be read/write only to the user. Supplied by Ludovic Marcotte Wed Nov 7 09:04:51 2001 Nicola Pero After this change you need the latest gnustep-make to compile. * Source/Makefile.postamble: Removed rules to manually compile NSInvocation.m, NSConnection.m and mframe.m. (mframe.m_FILE_FILTER_OUT_FLAGS): Set to filter out optimization flags when compiling mframe.m. (NSConnection.m_FILE_FILTER_OUT_FLAGS): Idem. (NSInvocation.m_FILE_FILTER_OUT_FLAGS): Idem. 2001-11-01 Adam Fedor * Source/NSData.m: Add an include to avoid some warnings. Tue Oct 30 14:33:48 2001 Nicola Pero * Testing/benchmark.m (bench_object): Added test showing that a call to super in a category method - no matter if a class or an instance method - has the same big performance hit that a class method invocation has - at least with the current GNU runtime. 2001-10-28 Adam Fedor * Source/NSFileManager.m (_attributesAtPath:traverseLink:forCopy:): Make NSLog message into fprintf to avoid recursion. * Source/NSUserDefaults.m (pathForUser): Create ~/GNUstep/Library if it doesn't exist. 2001-10-26 Adam Fedor * configure (z): Check for gzseek in zlib since older zlibs don't have it. Fix check for LLONG_MAX (check if includes exist), same with uintmax_t * Source/GSFormat.h: Include stdint.h or inttypes.h if we have it. Proper check for LONG_LONG_MAX or LLONG_MAX. 2001-10-25 Adam Fedor * aclocal.m4 (AC_SYS_PROCFS): Typo fix, use AC_ARG_ENABLE. Make sure cache var is set to no if disabled. (AC_SYS_PROCFS_EXE_LINK): Likewise. * configure.in: Check for LLONG_MAX. Check for -lcipher. (Patch from chrisv@web4inc.com with modifications). * Source/GSFormat.m: If we have LLONG_MAX, define LONG_LONG_MAX to match. * Source/NSScanner.m: Likewise. 2001-10-24 Richard Frith-Macdonald * configure.in: Check for zlib * Headers/gnustep/base/GSConfig.h.in: Define HAVE_ZLIB * Headers/gnustep/base/NSFileHandle.h: Add useCompression extension * Headers/gnustep/base/UnixFileHandle.h: ditto * Source/UnixFileHandle.m: Add support for read/write with compression using zlib. Activate with -useCompression 2001-10-19 Richard Frith-Macdonald * Headers/Foundation/NSNumberFormatter.h: ivars aded and updated. * Source/NSNumberFormatter.m: implemented dealloc, copy, coding and all the ivar setting/getting methods. 2001-10-18 Richard Frith-Macdonald * Source/NSString.m: ([+stringWithCString:]) check for nul pointer. 2001-10-17 Adam Fedor * configure.in (GNUSTEP_LDIR): Look for libobjc in .../$LIBRARY_COMBO first. 2001-10-16 Adam Fedor * Source/GNUmakefile: Strip drive names from paths. * Source/GSXML.m: Add dummy GSXMLParser when not using libxml. * Source/NSBundle.m (_absolutePathOfExecutable:): Check for 'Path' variable also (for Windows). * Source/NSUser.m (GSStringFromWin32EnvironmentVariable): New function. (NSHomeDirectoryForUser): Use it. (setupPathNames): Prepend systemDrive to compiled in root paths. (patches from stephen@brandonitconsulting.co.uk). * Source/NSFileManager.m (_attributesAtPath:traverseLink:forCopy:): On (sparc && DEBUG) disable the setgrent functions which cause gdb to crash. 2001-10-15 Richard Frith-Macdonald * Source/GNUmakefile: * Source/GSXML.m: * Headers/Foundation/GSXML.h: Build and install dummy version if libxml is not available. * Tools/GNUmakefile: * Tools/AGSIndex.h: * Tools/AGSIndex.m: * Tools/AGSOutput.h: * Tools/AGSOutput.m: * Tools/AGSParser.h: * Tools/AGSParser.m: * Tools/autogsdoc.m: Many bugfixes and additions, bew code to generate indexes. 2001-10-15 Richard Frith-Macdonald * Tools/AGSOutput.m: Added new 'unit' pseudo-markup to permit control over chapter layout for a chapter containing class, category, or protocol documentation. 2001-10-14 Fred Kiefer * Source/Unicode.m: In iconv_cstrtoustr() and iconv_ustrtocstr() report if a iconv conversion cannot be found. Also added a type convert to the iconv call, so that the compiler wont report a type mismatch. 2001-10-13 Adam Fedor * Headers/gnustep/base/NSPathUtilities.h (GSSystemRootDirectory): New function. * Source/GNUmakefile: Define GNUSTEP_LOCAL_ROOT and GNUSTEP_NETWORK_ROOT paths on compile line. * Source/NSUser.m (setupPathNames): Use compiled in paths as backup if environment variables not found. (GSStandardPathPrefixes): Make sure a non-nil result is returned. (GSSystemRootDirectory). Implement. * Source/NSDistributedNotificationCenter.m (_connect): Use it to find gdnc. * Source/NSPortNameServer.m (initialize): Use it to find gdomap. 2001-10-13 Richard Frith-Macdonald * Source/GSFFCallInvocation.m: Change #import to #include * Source/NSProtocolChecker.m: Change #import to #include * Testing/containers.m: Change #import to #include * Tools/AGSOutput.h: Return string rather than writing to file * Tools/AGSOutput.m: Return string rather than writing to file * Tools/autogsdoc.m: Hnalde file writing. * Tools/plmerge.m: Change #import to #include 2001-10-11 Richard Frith-Macdonald * Tools/GNUmakefile: Addend new files. * Tools/AGSOutput.h: Support class for autogsdoc * Tools/AGSOutput.m: ditto * Tools/AGSParser.h: ditto * Tools/AGSParser.m: ditto * Tools/autogsdoc.m: New tool to generate gsdoc files from ObjC header and source files. Uses comments with a '/**' prefix (like javadoc) to provide nice information about classes and/or methods. This is very much an initial/alpha version but it is already quite useful. 2001-10-06 Richard Frith-Macdonald * Source/NSConnection.m: Increase default timeouts to max value. Improve algorithm for polling for messages when waiting for a reply in multithreaded mode ... use fibonacci sequence for delays rather than doubling each time. * Headers/Foundation/NSConnection.h: Remove default timeout constant. * configure.in: Check for float.h, not for values.h * Documentation/gsdoc/NSConnection.gsdoc: updated. 2001-10-05 Richard Frith-Macdonald * NSTimeZones/NSTimeZones.tar: Updated to latest info. 2001-10-02 Richard Frith-Macdonald * Source/NSLog.m: _NSLog_standard_printf_handler() modified to output message as UTF8 data if it can't be done as ASCII 2001-09-27 Richard Frith-Macdonald * Source/NSString: setupQuotables() ... add several characters to the set of those valid in an unquoted string ... so read back of NSNumber values encoded as strings works ... problem reported by Rene Cornilis. 2001-09-26 Richard Frith-Macdonald * Source/GNUmakefile: install DistributedObjects.h in gnustep/base rather than Foundation .... but it's an internal header - should it be installed at all? 2001-09-25 Adam Fedor * configure.in: Typo in saving CPPFLAGS during iconv test. 2001-09-21 Adam Fedor * configure.in: Typo in iconv cached value. * Headers/gnustep/base/NSGeometry.h: Make const values static also. * Source/NSConnection.m: Remove obsolete BROKEN_NESTED code. * Source/Unicode.m: Dynamically determine best Unicode encoding. 2001-09-21 Richard Frith-Macdonald * Headers/gnustep/base/DistributedObjects.h: * Source/GSFFCallInvocation.m: * Source/NSConnection.m: * Source/NSInvocation.m: * Source/callframe.h: * Source/callframe.m: Modifications to callframe handling to store pointers to data to be freed in order to be able to tidy up after an exception ... Appears to cure memory leak in ffcall code. No fix yest for mframe or ffi code. 2001-09-20 Richard Frith-Macdonald * Testing/nsconnection_client.m: Added simple exception tests * Testing/nsconnection_server.m: Added simple exception tests * Testing/server.h: Added simple exception tests 2001-09-19 Richard Frith-Macdonald * Source/NSConnection.m: rewrite ethod call code. * Source/callframe.h: ditto * Source/callframe.m: ditto * Source/cifframe.h: ditto * Source/cifframe.m: ditto * Source/mframe.m: ditto * Source/mframe/mframe.head: ditto * Headers/gnustep/base/DistributedObjects.h: Adde new DOContext struct. Rewrite code for moving data to/from method call stackframes and encoding/decoding it. The functions to encode/decode each data item are no longer nested, and pass a context structure around which provides for more information to be passed between the various layers of the process so that the whole thing is thread-safe and we don't get cases where code in one place tries to work with an object that was released in another place. Tested pretty extensively for libffcall stuff, with the simple test programs for maframe, and not at all for libffi. 2001-09-19 Adam Fedor * configure.in: Put CPPFLAGS in quotes 2001-09-14 Adam Fedor * configure.in: Remove redundancies in iconv checking. Remove redundant AC_SUBST(LIBS) lines. 2001-09-12 Adam Fedor * Source/thr-pthread.m (objc_yield): Replace pthread_yield with sched_yield. 2001-09-11 Adam Fedor * configure.in: Make sure to subst HAVE_PTHREAD_H into config.mak 2001-09-08 Richard Frith-Macdonald * Source/GSCompatibility.m: GSXMLPlMake() unused argument removed. * Source/NSData.m: Unused and commented out XML plist code removed. * Source/NSString.m: ditto * Source/NSArray.m: Generate XML plists only when writing to file or to URL, not for the -description... methods. This is what MacOS-X does. * Source/NSDictionary.m: ditto 2001-09-05 Adam Fedor * configure.in: Define BROKEN_NESTED_FUNCTIONS if compiler sucks. * Source/NSArray.m (-sortedArrayUsingSelector:): Remove nested function. ([NSMutableArray -sortUsingSelector:]): Likewise. * Source/NSConnection.m (-forwardForProxy:selector:argFrame:): Use external encode/decode functions if BROKEN_NESTED_FUNCTIONS. (-forwardInvocation:forProxy:): Likewise. (-_service_forwardForProxy:): Likewise. * Source/mframe.m (mframe_build_return_opts): Remove and consolidate nested functions. (mframe_handle_return): Likewise. 2001-08-31 Adam Fedor * Resources/French/Localizable.strings: Update (from Michael Scheibler ). Fri Aug 31 11:58:42 2001 Nicola Pero * Documentation/gsdoc/NSFunctions.gsdoc: Documented the localization functions/macros: NSLocalizedString, NSLocalizedStringFromTable, NSLocalizedStringFromTableInBundle, NSLocalizedStaticString, _ and __. 2001-08-30 Adam Fedor * Tools/sfparse.m: Add code to convert files to Unicode. * Resources/German/Localizable.strings: Convert to Unicode. * Resources/French/Localizable.strings: Likewise. Thu Aug 30 20:03:19 2001 Nicola Pero * Source/objc-load.m (objc_load_module): Reset the load callbacks to 0 when we abort loading the module because of an error (Reported by Michael Scheibler ). Thu Aug 30 13:08:17 2001 Nicola Pero * Documentation/gsdoc/NSObject.gsdoc: Added description of the class; documented alloc, allocWithZone:, class, new, dealloc methods. 2001-08-29 Adam Fedor * Source/objc-gnu2next.m (next_objc_msg_send): Fix incorrect def. Mon Aug 28 23:45:15 2001 Nicola Pero * Source/NSCalendarDate.m ([+dateWithString:calendarFormat:]): Call alloc on self, rather than on the hardcoded NSCalendarDate class, so it works in subclasses. ([+dateWithString:calendarFormat:locale:]): Idem. ([+dateWithYear:month:day:hour:minute:second:timeZone:]): Idem. 2001-08-28 Georg Fleischmann * base/Source/NSCalendarDate.m [NSCalendarDate descriptionWithCalendarFormat:locale:]: make milliseconds work (%F) 2001-08-28 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: More defs. * Source/NSObject.m (-methodSignatureForSelector:): Use sel_get_type. * Source/mframe.m (method_types_get_first_argument): New function. (method_types_get_sizeof_arguments): Likewise. * Source/objc-gnu2next.m (next_objc_msg_sendv): Use them. 2001-08-21 Willem Rein Oudshoorn * Source/GSFFCallInvocation.m: Clearified comments (gs_method_for_receiver_and_selector) added (GSInvocationCallback): Check if forwardInvocation: is implemented to avoid infinite recursion bug. Fri Aug 24 12:34:56 2001 Nicola Pero * Source/NSUserDefaults.m ([-__createArgumentDictionary]): Make sure we don't crash trying to parse an argument as a property list. Fri Aug 24 10:23:02 2001 Nicola Pero * Resources/Italian.lproj/Localizable.strings: New file. * Resources/GNUmakefile (LANGUAGES): Added Italian. 2001-08-21 Adam Fedor * Resources/English.lproj/Localizable.strings: New file * Resources/German.lproj/Localizable.strings: Likewise. * Resources/French.lproj/Localizable.strings: Likewise. * Resources/GNUmakefile: Install them. (files from michael.scheibler@onevision.de) * config/config.loadtest.m: Make Test inheret from Object (Darwin objc checks that classes implement forward::). * config/config.objc.m: Likewise. 2001-08-20 Pierre-Yves Rivaille * Documentation/gsdoc/ NSPipe.{gsdoc, html}: this class has been forgotten * Documentation/gsdoc/{Base, NSObject, NSPort}.{gsdoc, html}: updates to the links to show NSPipe 2001-08-16 Richard Frith-Macdonald * Tools/gsdoc.m: ([-initWithFileName:]) call xmlKeepBlanksDefault(0) to handle change in recent libxml whitespace handling. 2001-08-10 Richard Frith-Macdonald * Source/NSDistantObject.m: Tidy method lookup code. * Source/NSString.m: Handle nil content when parsing xml elements. 2001-08-06 Willem Rein Oudshoorn * Source/GSFFCallInvocation.m: Forwarding: thread safe, handle missing typeinformation better, performance improvement. Minor tidyups by RFM 2001-08-06 Richard Frith-Macdonald * Source/GSMime.m: ([-decodeData:fromRange:intoData:withContext:]) One line fix suggested by Stephen Brandon * Source/GSMime.m: ([-_decodeBody:]) fix parsing multipart documents as there was an error in the logic for testing to see if the sub docs had been parsed correctly. 2001-08-03 Adam Fedor * Source/NSObject.m: Don't decl __objc_responds_to on Darwin * Source/NSProxy.m: Likewise. 2001-08-03 Richard Frith-Macdonald * Headers/Foundation/Unicode.h: API Change * Source/Unicode.m: API Change ... remove old string conversion functions and replace with two functions, both of which differentiate between lengths of the source strings and sizes of destination buffers. * Source/NSString.m: Update for changes to Unicode.[hm] * Source/GSString.m: Update for changes to Unicode.[hm] 2001-08-02 Richard Frith-Macdonald * Source/NSPortNameServer.m: Log the host we are connecting to when we produce a warning for a failure of a link to gdomap. * Source/GSHTTPURLHandle.m: ([-propertyForKeyIfAvailable:]) return nil if the property is not available. 2001-08-01 Richard Frith-Macdonald * Documentation/gsdoc/Base.gsdoc: Documented all the uses of environment variables I could find. * Source/NSUserDefaults.m: __createArgumentDictionary ... handle property lists as arguments correctly. * Source/NSUser.m: Added GSTooldDirectory to listable paths. 2001-07-31 Richard Frith-Macdonald * Source/GSFFCallInvocation.m: attempt to guess type signature when compiler gives us an untyped selector. * Headers/Foundation/NSObject.h: ASSIGN(), ASSIGNCOPY(), minor reordering to make these macros thread-safe. 2001-07-30 Adam Fedor * Headers/gnustep/base/NSObjCRuntime.h: Export additional functions and variables for Windows DLLs. * Headers/gnustep/base/NSObject.h: Likewise. * Headers/gnustep/base/Unicode.h: Likewise. * Headers/gnustep/base/preface.h.in: Define __WIN32__ ifndef on MINGW32. * Testing/nsarray.m: Use NSCParameterAssert. * Testing/nsconnection.m: Cleanup for MinGW/Cygwin. Sat Jul 21 23:25:14 2001 Wim Oudshoorn * Source/NSHost.m ([NSHost +hostWithName:]): Added forgotten argument to NSLog(). 2001-07-19 Richard Frith-Macdonald * Source/UnixFileHandle.m: Don't abort aread/write attempts that fail on EAGAIN or EINTR ... retry them instead. Avoid unexpected exceptions when trying to write a large volume of data quicker then the output device can handle. * Source/WindowsFileHandle.m: ditto 2001-07-19 Adam Fedor * Documentation/readme.texi: Explain the license for GNUstep more clearly. * README: Regen. Thu Jul 19 12:41:22 2001 Nicola Pero * config/config.objc.m: New file. * configure.in: Added new test to check whether Objective-C really works. If it doesn't, abort immediately telling the user to fix their compiler installation first. (AC_CHECK_HEADERS): Don't check for libguile.h * configure: Regenerated. 2001-07-17 Richard Frith-Macdonald * Source/Unicode.m: Removed bogus tests for character zero in string conversion functions ... OpenStep strings are not nul terminated, so the code terminated conversions prematurely. Tue Jul 17 15:00:52 2001 Nicola Pero * Makefile.postamble (after-distclean): Depend on remove-header-links; do not remove links here. (remove-header-links): New target removing header links; different implementation on mingw32 and on non-migw32. Do not remove Source/Foundation. (.PHONY): Added, with header-links and remove-header-links. 2001-07-16 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: New definitions for sel functions, rearrange some things. * Headers/gnustep/base/objc-load.h: Change category type for compatibility with NeXT. * Source/objc-load.m: Likewise. * Source/GSCompatibility.m (+defaultsChanged:): Typo in method name. 2001-07-16 Richard Frith-Macdonald * Source/NSString.m: Finish off and enable XML property list code * Source/GSCompatibility.m: ditto 2001-07-16 Adam Fedor * Source/NSUserDefaults.m ([NSUserDefaults +userLanguages]): Put MINGW languages in array (Fix from "Michael Scheibler" ). 2001-07-16 Richard Frith-Macdonald * Source/NSArray.m: Added ([writeToURL:atomically:]) for MacOS-X compatibility * Source/NSDictionary.m: ditto 2001-07-15 Richard Frith-Macdonald * Source/NSProcessInfo.m: Added -processIdentifier for compatibility with MacOS-X * Source/NSTask.m: Added -processIdentifier, -suspend, and -resume for compatibility with MacOS-X * Source/NSPortNameServer.m: Modified removal methods to return a boolean success/failure status for MacOS-X compatibility. 2001-07-14 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: More function defs. * Headers/gnustep/base/objc-load.h (objc_get_symbol_path): Correct def to match function decl. * Source/NSDistantObject.m (-selectorTypeForProxy:): Declare variable in NeXT implementation. * Source/NSInvocation.m (-invokeWithTarget:): Special def for NeXT. * Source/thr-pthread.m: Add forward decl of __objc_thread_detach. 2001-07-12 Richard Frith-Macdonald * Source/NSAttributedString.m: ([addAttributes:range:]) corrected bogus range check (report by Michael Scheibler) * Source/NSString.m: ([descriptionWithLocale:...]) as special case quote strings beginning with a slash ... property lists can otherwise confuse strings with leading slashes as comments. 2001-07-11 Adam Fedor * Source/objc-load.m: Include objc-load.h on NeXT systems. 2001-07-11 Richard Frith-Macdonald * Source/NSFileManager.m: ([fileSystemRepresentationWithPath:]) MINGW fix contributed by Michael Scheibler 2001-07-10 Richard Frith-Macdonald * Source/NSUserDefaults.m: Update date/time designations to arrays * Source/NSDate.m: Update to use date/time designation arrays. 2001-07-09 Richard Frith-Macdonald * Source/objc-load.m: Remove bogus include of objc-load.h on non-NeXT systems. 2001-07-09 Adam Fedor * configure.in: Check for pthread.h - for compiling on Darwin. * Source/GNUmakefile: Compile thr-pthread.m conditionally. * Source/thr-pthread.m: New file. * Source/null-load.h (__objc_dynamic_get_symbol_path): New def. * Source/objc-load.m: Use NeXT load methods on Darwin. 2001-07-07 Richard Frith-Macdonald * Source/NSUser.m: NSSearchPathForDirectoriesInDomains() Set up default values if environment variables are missing. Use common code for getting path prefixes and search directories. 2001-07-07 Richard Frith-Macdonald * Source/NSData.m: readContentsOfFile() hack added to permit reading of files like those in the /proc filesystem which don't support lengths. * Source/NSString.m: ([-initWithFormat:locale:]) use dummy local variable to try to get compilation to work on alpha ... untested as I don't have an alpha system. 2001-07-02 Richard Frith-Macdonald * Source/NSString.m: Never init nocopy with null pointer - increase chance of double initialisation being detected. 2001-06-27 Richard Frith-Macdonald * Source/callframe.m: callframe_do_call_opts(), callframe_build_return_opts() fixed memory leaks. Performance improvements - callframe_from_info() use a single malloc to allocate memory for the entire callframe. callframe_free() use a single free() * Source/NSConnection.m: Wait only 0.1 millisecond for first try checking for events ... CPUs are getting faster. * Source/NSTimer.m: Set minimum timer to 0.1 milliseconds ... 2001-06-26 Adam Fedor * Source/NSUserDefaults.m (+userLanguages): On MingW systems, check locale for language name. 2001-06-26 Richard Frith-Macdonald * Source/NSSerializer.m: While deserializing, check strings to see if they are really unicode, and create cStrings if they are not. Minor memory usage optimisation. 2001-06-21 Richard Frith-Macdonald * Source/NSConnection.m: Change some deprecated runloop methods for standard ones. * Source/NSRunLoop.m: ([runMode:beforeDate:]) Check for task completion and send out notifications if required. * Source/NSTask.m: ([waitUntilExit]) schedule a timer so that the run loop waits rather than polling as fast as the CPU allows. 2001-06-20 Richard Frith-Macdonald * Source/NSTask.m: handleSignal() ... reset signal handler for systems that don't have BSD signal semantics. Report by jan trembulak * Source/GSString.m: getCString_c(), getCString_u() reverse logic of returning remaining range ... report by Michael Scheibler 2001-06-15 Adam Fedor * Version: 1.0.2 2001-06-15 Richard Frith-Macdonald * Source/NSFileManager.m: ([-removeFileAtpath:handler:]) Check for illegal paths as specified in the MacOS-X documentation. * Source/Makefile.postamble: Update to rebuild files for XML and SSL support when config.h changes. 2001-06-14 Richard Frith-Macdonald * Source/NSuserDefaults.m: Fix +resetUserDefaults to retain the NSRegistrationDomain information ... was losing it when this method was called in response to the user name being initially set. ([-registerDefaults:]) fix for when no dictionary found. Use NSLanguages rather than Languages as key for the languages list. * Source/NSUser.m: GSSetUserName() ... only reset the user defaults if the name is actually changed - and not if it is being initialised. When standardUserDefaults are first obtained, the user name should be initialised as part of that process anyway. * Source/NSFileManager.m: ([-removeFileAtpath:handler:]) Fix this method so it *doesn't* follow symbolic links. This makes it conform to the documentation and prevents accidental removal of entire directory hierarchies! Wed Jun 13 19:43:16 2001 Nicola Pero * Source/NSFileManager.m ([-createSymbolicLinkAtPath:pathContent:]): Fixed - the call to symlink was using old path instead of new path and viceversa. 2001-06-12 Adam Fedor * Documentation/news.texi: Update * Documentation/gsdoc/NSArray.gsdoc: Updates (from Pierre-Yves Rivaille ). 2001-06-11 Adam Fedor * configure.in (enable-openssl): New option, disabled by default. * Documentation/install.texi: document it. 2001-06-09 Adam Fedor * Source/externs.m: Change definition of exception strings and some functions to match headers. 2001-06-09 Richard Frith-Macdonald * Source/NSString.m: parseQuotedString() ... fix for parsing octal and hex escape sequences. 2001-06-09 Nicola Pero * configure.in (VERSION): Output a message saying that we are checking for the version, and which version we find. 2001-06-07 Richard Frith-Macdonald * Source/NSConnection.m: Control caching of port coders by a simple boolean, and disable it by default. 2001-06-07 Adam Fedor * aclocal.m4: Add special case for cygwin in CON_AUTOLOAD. 2001-06-07 Richard Frith-Macdonald * Source/GSAttributedString.m: When caching attribute dictionaries we make an immutable copy of the dictionary with shallow copy. 2001-06-06 Nicola Pero Configuration part of constant string support with gcc-3.0 * config/config.constant-string-class.m: New config test. * configure.in: Added test for -fconstant-string-class option in compiler, by compiling and running config.constant-string-class.m. Output different NX_CONST_STRING_CLASS and NX_CONST_STRING_CPPFLAGS depending on results of this test. * base.make.in (CONFIG_SYSTEM_INCL): Added NX_CONST_STRING_CPPFLAGS. * Headers/gnustep/base/GSConfig.h.in: Renamed NXCONST to NX_CONST_STRING_CLASS. * configure: Updated. 2001-06-06 Richard Frith-Macdonald * Source/NSScanner.m: ([scanHexInt:]) fix for scanning number consisting just of a zero. Reported by Tom Koelman 2001-06-06 Richard Frith-Macdonald Changes for constant string support with gcc-3.0 * configure.in: Just substitute NXCONST * Headers/gnustep/base/GSConfig.h.in: Use NXCONST to redefine NXConstantString * Headers/gnustep/base/NSString.h: new constantStringClass method. * Source/GSString.m: new constantStringClass method. * Source/NSObject.m: Use NSConstantStringClass. * Source/NSScanner.m: Use NSConstantStringClass. * Source/NSString.m: implement constantStringClass method. 2001-06-06 Nicola Pero * Source/mframe.m: Reactivated inling nested functions after gcc 3.0 was fixed to compile them again. 2001-06-05 Nicola Pero * GNUmakefile: If GNUSTEP_MAKEFILES is not set, tell the user it needs to source GNUstep.sh and then exit with an error. 2001-06-05 Nicola Pero * Source/mframe.m: Disabled inlining of nested functions. This should allow gnustep-base to be compiled using gcc 3.0. 2001-06-05 Richard Frith-Macdonald * Source/GSString.m: ([replaceCharactersInRange:withString:]) Fix error appending unicode string to C string. 2001-06-01 Richard Frith-Macdonald * Source/NSString.m: Patch by David Relson applied 2001-06-01 Richard Frith-Macdonald Optimisations suggested by Guenther Fuerthaller * Source/NSZone.m: NSZonefromPointer() check for empty zones list before locking. * Source/NSData.m: more efficient dealloc implementation for NSMutableDataMalloc. 2001-06-01 Nicola Pero * Source/NSCalendarDate.m ([-descriptionWithCalendarFormat:locale:]): Fixed %w (day of the week) to output a single digit number rather than a two digit one. 2001-05-31 Adam Fedor * Headers/gnustep/base/NSObjCRuntime.h (GSLastErrorStr): Define new OS-independant strerror like function. * Source/GSFormat.m: Use it. * Source/GSTcpPort.m, Source/NSData.m, Source/NSDistributedLock.m, Source/NSFileManager.m, Source/NSPipe.m, Source/NSRunLoop.m, Source/NSTask.m, Source/UnixFileHandle.m, Source/WindowsFileHandle.m: Likewise. * Source/NSObjCRuntime.m (GSLastErrorStr): New function (suggestion from "Michael Scheibler" ). * Headers/gnustep/base/behavior.h: Include objc-class.h on NeXT_RUNTIME. * Headers/gnustep/base/objc-gnu2next.h: New inline functions. * Source/NSDistantObject.m (-selectorTypeForProxy): Simplify NeXT_RUNTIME implementation. 2001-05-29 Adam Fedor * Version: 1.0.1 * Resources/Languages/Dutch: New file (from Dennis Leeuw ). 2001-05-28 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h (class_is_class): New. * Source/NSAssertionHandler.m (-handleFailureInMethod...): Use OpenStep functions to get class/sel names. * Source/NSBundle.m (+initialize): NeXT_RUNTIME method to find classes. 2001-05-26 Mirko Viviani * Source/NSDebug.m (_NSPrintForDebugger): new function to support print object (po) cmd of gdb. 2001-05-25 Adam Fedor * configure.in: Use -lobjc with NeXT_RUNTIME. * Headers/gnustep/base/behavior.h: Include objc.h on NeXT_RUNTIME. * Source/GSFormat.m: Replace assert with NSCParameterAssert 2001-05-23 Adam Fedor * configure.in: Check for libgiconv * Unicode.m: Include giconv.h if available. 2001-05-22 Adam Fedor * configure.in: Check CPP handling of LONG_LONG_MAX * Source/GSFormat.m: Undef LONG_LONG_MAX if not handled * Source/GSeq.h: Set static selectors to NULL. * Source/NSString.m (+initialize): Set selectors here instead. * Source/GSString.m (setup): ...And here. 2001-05-22 Richard Frith-Macdonald * Headers/Foundation/NSSet.h: Added ([-setSet:]) * Source/GSSet.m: Optimise ([-unionSet:]) * Source/GSArray.m: Tidy NSWarnMLog macros. * Source/GSAttributedString.m: ditto * Source/GSCountedSet.m: ditto * Source/GSDictionary.m: ditto * Source/NSArray.m: ditto * Source/NSDictionary.m: ditto * Source/NSSet.m: Implement ([-setSet:]) 2001-05-18 Richard Frith-Macdonald * Source/NSDate.m: check for nil dates in some init methods so we return nil on initialisation failure rather than raising an exception. I believe that init failures should deallocate their objects and return nil. * Source/NSArray.m: ([-initWithContentsOfFile:]) include filename in NSWarnMLog() message. * Source/NSDictionary.m: ([-initWithContentsOfFile:]) use NSWarnMLog 2001-05-14 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: Add apply_t prototype. * Source/objc-gnu2next.m: Include stdio.h. * Source/GSFormat.m: Don't compare LONG_LONG_MAX if not defined 2001-05-15 Richard Frith-Macdonald * Source/NSString.m: ([stringByDeletingPathExtension]) rewrite to conform to MacOS-X documentation. ([pathComponents]) ditto. * Headers/Foundation/NSInvocation.h: Added extra methods for setting an invocation to invoke super implementation of method. * Source/NSInvocation.m: Added extra methods for setting an invocation to invoke super implementation of method. * Source/GSFFCallInvocation.m: support invoke of super implementation. 2001-05-14 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: Add error prototypes. * Source/objc-gnu2next.m: Include preface.h, define error funcs. 2001-05-12 Richard Frith-Macdonald * Source/NSObject.m: Removed some unused obsolete code. * Source/NSProxy.m: Modified ([methodSignatureForSelector:]) and ([respondsToSelector:]) to work for existing methods and raise exception for non-existant methods. The MacOS-X docs says they raise exceptions, but I think it makes sense for them to work for methods that are actually implemented in the proxy. 2001-05-11 Adam Fedor * Source/NSArchiver.m ([NSArchiver -encodeValueOfObjCType:at:]): Use signed char to encode _C_CHR. * Source/NSPortCoder.m ([NSPortCoder -decodeValueOfObjCType:at:]): Be lenient about decoding [un]signed chars. * Source/NSUnarchiver.m: Likewise. * Source/GSTemplateValue.m (-encodeWithCoder:): Use signed char to encode/decode type info. * Source/GSValue.m: Likewise. * Source/NSConcreteNumber.m: Likewise. * Source/NSNumber.m: Likewise. * Source/NSValue.m: Likewise. 2001-05-10 Richard Frith-Macdonald * Source/NSConnection.m: Use respondsToSelector rather than respondsTo * Source/NSRunLoop.m: ditto ... and tidy up categories to avoid compiler warnings. * Source/NSAutoreleasePool.m: Add ([+freeCache]) method to clear out the cache of pools in the current thread. * Documentation/gsdoc/NSAutoreleasePool.gsdoc: basic class documentation inlcuding normal GNUstep extensions. 2001-05-08 Richard Frith-Macdonald * Tools/gdomap.c: Fixes to last modifications - provided by Chris B Vetter. * Source/NSString.m: Fix memory allocation of a unichar buffer to correct size. * Source/NSPipe.m: Log an error if we can't open a new pipe. * Source/NSTask.m: Slight tidyup 2001-05-04 Nicola Pero * Source/NSObject.m (GSGetValue): Call handleQueryWithUnboundKey: rather than handleTakeValue:forUnboundKey: when no property binding is found. 2001-05-04 Nicola Pero * configure.in: Abort if GNUSTEP_SYSTEM_ROOT is empty, printing a message saying that you must run the GNUstep configuration script before configuring the base library. * configure: Regenerated. 2001-05-04 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: Add arglist_h def. Add encoding functions defs. * Source/mframe.m: Include stdio and ctype. * Source/mframe/mframe.foot (mframe_arg_addr): Use marg_getRef if NeXT_RUNTIME. 2001-05-04 Richard Frith-Macdonald * Source/NSDate.m: GSTimeNow() remove volatile typespec and move initialisation of interval in the hope of fixing a problem with float operations. In any case, the code is tidier. * Tools/gdomap.c: If started as root, try to become user nobody before resorting to uid -2 (like NFS). 2001-05-03 Adam Fedor * configure.in: Don't use -lobjc with NeXT_RUNTIME. Check for -lm. * Headers/gnustep/base/objc-gnu2next.h: Add sel_register_name * Source/behavior.m: Add define hacks for Darwin. 2001-05-03 Richard Frith-Macdonald * Source/NSObject: ([+initialize]) Move GSSetLocale() after platform specific code with conditionally compiled variable declarations. Should make this work on BSD and MINGW again. 2001-05-02 Mirko Viviani * Source/NSObject.m ([NSObject +initialize]): fixed a FreeBSD specific code bug introduced by the call of GSSetLocaleC(). Wed May 2 13:19:13 2001 Nicola Pero * Source/UnixFileHandle.m (id): Redefine `id' when including openssl header files to avoid syntax errors from 3.x serie gcc compilers. 2001-05-02 Richard Frith-Macdonald * Source/NSTimeZone: ([-initWithName:]) fix for trivial locking bug. 2001-04-30 Adam Fedor * Source/behavior.m: Rewrite to work with NeXT runtime. * Headers/gnustep/base/objc-gnu2next.h: Add some extra translations. 2001-04-30 Richard Frith-Macdonald * Source/NSString.m: parseQuotedString() handle \U escape sequences of eight digit hex encoded unicode values. ([descriptionWithLocale:indent:to@]) handle unicode strings by using \U escape sequences in output C string. 2001-04-28 Fred Kiefer * Source/NSString.m: Corrected bug in last optimization for the parsing of property list. Now the bitmap representation is retained not the characterset itself. This did cause undeterministic problems when reading in the Info.plist. 2001-04-28 Richard Frith-Macdonald * Source/NSLog.m: Use RETAIN/RELEASE * Source/GSLocale.m: Set up NSDecimalSeparator and NSThousandsSeparator from locale if possible. Fix bug dereferencing nil pointer. * Source/GSFormat.m: Hack to rewrite output from sprintf of floats and doubles to use the value in NSDecimalSeparator. 2001-04-27 Nicola Pero * Source/NSString.m: Minor optimization for parsing property lists: cache the bitmap representation of hexdigit, quotable and whitespace character sets, and use it directly to determine whether a character is member or not of these sets. 2001-04-26 Richard Frith-Macdonald * Source/NSString.m: ([+initialize]) protect with flag so it is safe to call this method more than once. * Source/externs.m: GSBuildStrings() call +initialize method for NSString to ensure that the class is properly initialised even if this function has been called from NSObjects +initialize, which was in turn called in preparation for NSString initialisation! 2001-04-25 Adam Fedor * configure.in: Much simplified NeXT checks. Just use LIBRARY_COMBO to check runtime. * Source/o_vscanf.c: Remove objc-gnu2next.h 2001-04-25 Richard Frith-Macdonald * Headers/Foundation/GSXML.h: Many changes to restore encapsulation of libxml previously broken by someone... Partly as a matter of good OO programming practice, partly so that the library can be used effectively from Java (via JIGS). Moved libxml header includes out of this file. Removed typedefs for libxml constants and changed 'type' methods to return 'int'. Added class methods for mapping between integer type values and constant string type values. Added a typeDescription method to GSXMLAttribute for consistency. * Source/GSXML.m: include required headers and update to implement changes in API. Also fixed bug in implementation of typeDescription method for GSXMLNamespace. * Documentation/gsdoc/GSXMLNode.gsdoc: Updated to reflect current API * Documentation/gsdoc/GSXMLNamespace.gsdoc: ditto * Documentation/gsdoc/GSXMLAttribute.gsdoc: ditto 2001-04-25 Nicola Pero * base.make.in: (GNUSTEP_BASE_VERSION), (GNUSTEP_BASE_MAJOR_VERSION), (GNUSTEP_BASE_MINOR_VERSION), (GNUSTEP_BASE_SUBMINOR_VERSION): New variables providing the gnustep-base version. 2001-04-24 Adam Fedor * Headers/gnustep/base/objc-gnu2next.h: Remove TypedStream defs 2001-04-24 Richard Frith-Macdonald * Source/NSObject.m: Fixes for string capitalisation in key-value methods. 2001-04-23 Adam Fedor * configure.in: Simplify NeXT checks. * Headers/gnustep/base/NSLock.h: Fix NeXT_RUNTIME typo. * Headers/gnustep/base/objc-gnu2next.h: Change *_EXPORT to extern * Source/o_vscanf.c: include objc-gnu2next.h * Source/NSConnection.m: Fix test for NeXT_RUNTIME define. * Source/NSDistantObject.m: Likewise. * Source/callframe.m: Likewise. * Source/cifframe.m: Likewise. * Source/mframe.m: Likewise. 2001-04-24 Nicola Pero * Testing/benchmark.m (bench_object): Use a choice of the 10 more used classes when benchmarking class method invocation, rather than always using `NSObject'. Added bench for NSClassFromString. 2001-04-23 Nicola Pero * Source/GSValue.m ([-getValue:]): Fixed typo - was raising exception on non-NULL buffer rather than NULL. 2001-04-23 Nicola Pero * Source/NSBundle.m ([+initialize]): Fixed segmentation fault when NSSearchPathForDirectoriesInDomains returns an empty array. This used to appear when GNUSTEP_SYSTEM_ROOT was unset. * Source/NSUser.m (NSSearchPathForDirectoriesInDomains): Read GNUSTEP_SYSTEM_ROOT, GNUSTEP_LOCAL_ROOT, GNUSTEP_NETWORK_ROOT and GNUSTEP_USER_ROOT only once, then cache them. Do not crash if some of them are nil. If GNUSTEP_SYSTEM_ROOT is nil, fprintf a log message, and try using /usr/GNUstep/System. Use new ADD_PATH macro to simplify code. Autorelease returned array which was previously leaked. 2001-04-22 Georg Fleischmann * Source/GSAttributedString.m: ([replaceCharactersInRange:withString:]) recalculate effective range after removing attributes. 2001-04-23 Richard Frith-Macdonald * Source/GSLocale.m: Only call setlocale() in GSSetLocaleC() * Source/NSObject.m: ([+initialize]) call GSSetLocaleC() after other initialisation, to try to ensure that locale stuff is set up early before any attempt is made to use locale dependent code. * Source/NSString.m: ([-stringByExpandingTildeInPath:]) fix suggested by David Wetzel. * Source/GSValue.m: Fix abort when initialising value with illegal type. Also fix all other uses of objc_sizeof_type(), add some checks to conform to documentation, and some optimisations. 2001-04-22 Nicola Pero * Testing/benchmark.m: Modified messages to give a better idea of the order of magnitudes involved; added benchmarks for retain/release, autorelease/retain and locking/unlocking. 2001-04-21 Nicola Pero * Source/NSString.m ([-fileSystemRepresentation]): Cache the default file manager. 2001-04-21 Richard Frith-Macdonald * config/config.proccmd.c: New test for behavior of /proc cmdline * acconfig.h: New CMDLINE_TERMINATED constant * configure.in: Use test to set CMDLINE_TERMINATED * configure: regenerated * Headers/Foundation/config.h.in: regenerated * Source/NSProcessInfo.m : ([+load]) modified to use CMDLINE_TERMINATED to decide how to use /proc/$$/cmdline when determining process args. Should now work 100% on all linux versions I hope. 2001-04-20 Richard Frith-Macdonald * Source/NSData.m ([NSMutableDataMalloc -replaceBytesInRange:withBytes:]): Check length, not capacity! Conform to documentation, and avoid possibility of 'hole' in data. * Source/NSInvocation.m: _get_arg() indirection fix suggested by Michael Scheibler. 2001-04-20 Nicola Pero * Source/NSFileManager.m (NSDirectoryEnumerator): Rewritten to be faster. ([NSFileManager -directoryContentsAtPath:]), ([NSFileManager -subpathsAtPath:]): Use the new init method for NSDirectoryEnumerator. ([NSFileManager -contentsEqualAtPath:andPath:]): Spare some method calls. ([NSFileManager -fileSystemRepresentationWithPath:]): Cleaned preprocessor directives. * Headers/gnustep/base/NSFileManager.h (NSDirectoryEnumerator): Changed ivars in sync. 2001-04-19 Nicola Pero * Documentation/gsdoc/NSFunctions.gsdoc: Documented GSDebugAllocation* functions. * Documentation/gsdoc/NSRecursiveLock.gsdoc: Fixed syntax error. * Documentation/gsdoc/*.html: Regenerated. 2001-04-19 Nicola Pero To help with debugging memory leaks, you can now ask to the library to track all allocated instances of a certain class. * Source/NSDebug.m (table_entry): Added fields to allow recording the list of allocated instances if required. (GSDebugAllocationActiveRecordingObjects): New function. (GSDebugAllocationAdd): Modified to take an additional argument - the object being allocated -, and to record it in the list of instances for the class if recording instances of that class has been activated. (GSDebugAllocationRemote): Add a similar additional argument; remove the object from the list of instances if recording instances is activated. (GSDebugAllocationListRecordedObjects): New function. * Source/NSObject.m: Updated all occurrences of GSDebugAllocationAdd and GSDebugAllocationRemove to pass the allocated/removed object as well. * Headers/gnustep/base/NSDebug.h: Updated. 2001-04-19 Nicola Pero * Source/GSTcpPort.m ([GSTcpPort -dealloc]): Fixed memory leak: release address string. 2001-04-19 Richard Frith-Macdonald * Source/NSTask.m: Tidied code a little, added safety checks for usePseudoTerminal method. * Source/NSData.m: ([writeToFile:atomically:]) create new files with permission 0644 modified by umask. Init tmppath for MINGW. * Tools/gsdoc.m: Use memory management macros and attempt to get back to something like conformance with coding standards. * Documentation/gsdoc/NSTask.gsdoc: documentation fleshed out. 2001-04-16 Adam Fedor * aclocal.m4: Detect the xm2-config script. 2001-04-14 Mirko Viviani * configure.in: fixed fake main for 'new' FreeBSD targets. 2001-04-13 Adam Fedor * Source/GSFFCallInvocation.m (GSInvocationCallback): Generate an exception for an invalid selector. 2001-04-12 Adam Fedor * Headers/gnustep/base/NSObjCRuntime: Revert to using class_pointer. * Headers/gnustep/base/objc-gnu2next.h: Redefine class_pointer. 2001-04-12 Richard Frith-Macdonald * Source/NSProcessInfo.m ([load]): Fixed single line change somehow missed from last patch. 2001-04-12 Adam Fedor * Headers/gnustep/base/NSLock.h: Include thrmach.h if NeXT_RUNTIME. * Headers/gnustep/base/NSThread.h: Likewise. * Headers/gnustep/base/NSObjCRuntime: Include objc-gnu2next.h if NeXT_RUNTIME, use common objc functions for compatibility. * Headers/gnustep/base/objc-gnu2next.h: Update, simplify. * Headers/gnustep/base/thr-mach.h: New file * Source/thr-mach.m: New file * Source/GNUmakefile: Update to conditionally compile NeXT files * Documentation/gsdoc/NSRecursiveLock.gsdoc: Update. 2001-04-12 Richard Frith-Macdonald * Source/NSString.m: For efficiency, use _DefaultStringEncoding throughout, rather than calling +defaultCStringEncoding. This is safe since the documentation explicitly states that the encoding cannot be changed programmatically ... so we don't have to worry about someone adding a category to change that. When converting data to/from strings, optimise to simple cString stuff if the specified encoding is the defautl encoding. Tidied some stuff to conform better to coding standards. * Source/Unicode.m GetDefEncoding(): prohibit UTF8 from being the default cString encoding ... the default cString encoding must consist of 7 or 8 bit characters, and must contain ASCII as a subset. We really should think of a generalised test for that. Use GetDefEncoding() throughout rather than defaultCStringEncoding. * Source/GSString.m: Use GetDefEncoding() to get c string encoding. 2001-04-11 Nicola Pero * Source/NSString.m ([-initWithData:encoding:]): When working with a generic but non-unicode encoding, do not treat a single character string with no null terminator as an empty string. This should fix passing single character strings over DO. * Source/NSThread.m ([+registerCurrentThread]), ([+unregisterCurrentThread]): Removed. 2001-04-11 Richard Frith-Macdonald * Source/GSFFCallInvocation.m: bugfix encoding ... pass correct method type information so that the other end knows whether this is a oneway message or not. Corrects major memory leak. * Source/NSConnection.m: bugfix to handle situations where the other end sends a response and we are not expecting it. Also added various bits of debugging and ensured that all NSPortCoder objects are cached. 2001-04-10 Adam Fedor * Headers/gnustep/base/preface.h.in: Correct NeXT_RUNTIME name * Documentation/gsdoc/NSLock.h: Documented. 2001-04-10 Richard Frith-Macdonald * Source/NSTask.m: Bugfix to send out task termination notification and clean up correctly when a task is killed by a signal rather than exiting cleanly. 2001-04-09 Adam Fedor * 1.0 branch merged into main. 2001-04-06 Nicola Pero * Source/NSString.m (pathSepMember): Made trivial and inlined. ([-stringsByAppendingPaths:]): Count the array only once, not for any loop in the cycle. 2001-04-05 Richard Frith-Macdonald * Source/NSUser.m: NSTemporaryDirectory() rewrite for improved security and reliability. Expect MINGW update soon. 2001-04-02 Richard Frith-Macdonald * Source/NSUser.m: Tidied some stuff to conform to coding standards. Added FIXME where unsure of code. Tidied code to get name of user. * configure.in: Added checks for a few functions needed to get user. 2001-03-37 Jonathan Gapen * Source/NSString.m: New private function to compute the scalar value of a high-low surrogate pair. New surrogate range class variables. Optimize ([-hasPrefix]) and ([-hasSuffix]) by using NSAnchoredSearch. Add UTF-8 code to ([-dataUsingEncoding:allowLossyConversion:]). 2001-03-26 Jonathan Gapen * Source/Makefile.preamble: No need to define HAVE_LIBXML here. * Source/NSBundle.m: ([+initialize]) and ([+pathForGNUstepResource: ofType:inDirectory:]) now use NSSearchPathForDirectoriesInDomains() to find directories, rather than use env vars directly. * Source/NSCharacterSet.m: Ditto for ([_-bitmapForSet:]). * Source/NSDictionary.m: Make NSLog() include the filename in ([-initWithContentsOfFile:]). * Source/NSUser.m: Re-implement NSStandardApplicationPaths() and NSStandardLibraryPaths() with NSSearchPathsForDirectoriesInDomains(). In latter function, support $GNUSTEP_SYSTEM_ROOT/Developer/Demos. 2001-03-21 Jonathan Gapen * config/nextcc.m4, config/objc-con-autoload.m4, config/procfs.m4, config/objc-sys-dynamic.m4, config/procfs-exe-link.m4: Autoconf macros used by configure.in. 2001-04-08 Adam Fedor * Version: 1.0.0 * NEWS: Regenerated. * Source/NSLock.m (-tryLock): Return NO if our thread has already has the lock (like OpenStep). (-lockBeforeDate:): block until date if our thread already has the lock (like OpenStep). * Source/NSData.m ([NSMutableDataMalloc -replaceBytesInRange:withBytes:]): Check capacity, not length. 2001-04-04 Adam Fedor * config.guess: Update to latest version * config.sub: Likewise. 2001-04-01 2001 Nicola Pero * Source/GSValue.m ([-description]): Bug fix - was crashing upon using %@ instead of %s for a char *. 2001-03-31 Adam Fedor * Documentation/announce.texi: Update. * Documentation/install.texi: Likewise. * Testing/Makefile.preamble: Set BUNDLE_LIBS on mingw and cygwin. * Testing/nsbundle.m: add NSProcessInfo's initializeWithArguments:... 2001-03-28 Richard Frith-Macdonald * Source/NSProcessInfo.m: ([+load]) Fix in parsing of command line arguments from /proc filesystem. On newer kernels the command line arguments are terminated by a nul, on older systems they are separated by a nul. The old code would add an extra (empty) argument to all processes on newer kernels. The new code will lose a trailing empty argument on older kernels :-( I view it as the lesser of two evils since the extra empty arg confuses/breaks a lot of tools. 2001-03-27 Richard Frith-Macdonald * Source/NSFileManager.m: Fix file copying for MINGW by using windows native copy function - fix by Michael Scheibler. Also tidied to conform to coding standards, and fixed to use O_BINARY where the system defines it. 2001-03-26 Richard Frith-Macdonald * Headers/Foundation/NSObject.h: GS_EXPORT updates for MINGW * Headers/Foundation/NSObCRuntime.h: ditto * Headers/Foundation/NSRange.h: ditto * Source/NSRange.m: ditto Fixes suggested by Michael Scheibler 2001-03-24 Richard Frith-Macdonald * Source/NSData.m: ([-replaceBytesInRange:withBytes:]) bugfix ... revert to check using '>' rather than '>=' to conform to documentation and to be consistent with use of ranges in general. * Documentation/gsdoc/NSMutableData.gsdoc: documented primitive methods. * Documentation/gsdoc/NSFunctions.gsdoc: Some documentation for NSRange added. 2001-03-23 Adam Fedor * Source/NSData.m: ([-replaceBytesInRange:withBytes:]) Check location >= size. 2001-03-23 Richard Frith-Macdonald * Source/NSData.m: ([-replaceBytesInRange:withBytes:]) bugfix ... extend data if range has location in data, but extent beyond data. 2001-03-23 Adam Fedor * Source/NSSerializer.m (serializeToInfo): Use memcpy to serialize strings on machines that need word alignment. * Source/NSTimeZone.m (decode): For decoding, likewise. * Testing/thread-except.m: Use autorelease pools. 2001-03-23 Richard Frith-Macdonald * Source/NSFileManager.m: MINGW fixes by Michael Scheibler. ([_attributesAtPath:traverseLink:forCopy:]) fix 'cos windows lacks symbolic links. ([-changeFileAttributes:atPath:]) workaround for windows directories not having modification times. ([-fileSystemAttributesAtPath:]) fix for large volumes (matching change for unix too ... use unsigned long long). 2001-03-23 Richard Frith-Macdonald * Source/NSObject.m: ([-methodSignatureForSelector:]) try to get a valid method signature any way we can ... check for a valid method first, use selector types next. Avoid crash when given nul selector as an argument. * Source/NSMethodSignature.m: ([+signatureWithObjCTypes:]) don't crash when given nul pointer as argument. 2001-03-19 Jonathan Gapen * Source/NSString.m: Implement ([-localizedStringWithFormat:]). Fix ([-localizedCompare:]) and ([-localizedCaseInsensitiveCompare:]). (They will work when ([-compare:options:range:locale:]) works.) Fix ([-initWithContentsOfFile:]) and ([-initWithContentsOfURL:]) so that they deal with 1 byte of data, and clarify Unicode BOM test with new class variables byteOrderMark and byteOrderMarkSwapped. In ([-initWithData:encoding:]) and ([-initWithCoder:]), don't treat the default C string encoding the same as ASCII. GCC 3.0 supports UTF-8 as a C string encoding, so this behavior is undesirable. 2001-03-19 Jonathan Gapen * Source/NSAutoreleasePool.m, Source/NSCharacterSet.m, Source/NSHashTable.m, Source/NSMapTable.m, Source/NSZone.m: Update from %s/([-cString]) to %@ for format strings. * Source/NSDecimal.m: In GSDecimalFromString(), use ([-lossyCString]) instead of ([-cString]) which should (in the future) always return ASCII-range decimal digits in place of digits from other languages. 2001-03-19 Nicola Pero * Source/NSThread.m: registerCurrentThread and unregisterCurrentThread turned into functions - called GSRegisterCurrentThread and GSUnregisterCurrentThread. * Headers/gnustep/base/NSThread.h: Updated for change. * Source/NSThread.m (GSRegisterCurrentThread): Call objc_thread_add before creating the NSThread object using a method call. (GSUnregisterCurrentThread): Post the NSThreadWillExit notification. 2001-03-19 Jonathan Gapen * Source/NSString.m: In ([-rangeOfComposedCharacterSequenceAtIndex:]), use the NSCharacterSet non-base character set to identify non-base characters. In ([-cStringLength]), do not allow lossy string conversion. In ([+localizedNameOfStringEncoding:]), use NSBundle's ([-gnustepBundle]) rather than looking in root path. 2001-03-17 Richard Frith-Macdonald * Headers/Foundation/NSThread.h: Remove unused ivar. * Source/NSThread.m: Revise scheme for deallocation of thread dictionary ... keep it operating to avoid problems with stuff trying to use it while deing deallocated. Log memory leaks. * Source/NSRunLoop.m: ([+currentRunLoop]) return nil if there is no thread dictionary available (shouldn't happen). * Source/NSString.m: MINGW path handling fixes by Michael Scheibler stringByAppendingPath, isAbsolurtePath, and stringByStandardizingPath. 2001-03-16 Nicola Pero * Source/Makefile.postamble (after-install): Removed old code for creating /etc/services.add when packaging. * Makefile.postamble ($(INSTALL_ROOT_DIR)$(GNUSTEP_MAKEFILES)/Additional): New target; create the directory. (before-install): Don't create the directory, but depend on the new target. * Resources/GNUmakefile.postamble: Idem for $(languagedir). * NSCharacterSets/Makefile.postamble: Idem for $(charsetdir). * NSTimeZones/Makefile.postamble: Idem for $(timezonedir). 2001-03-16 Manuel Guesdon * Tools/pl*.m: added #include to avoid GNUSTEP Internal Error 2001-03-14 Adam Fedor * Source/libgnustep-base.def: Remove some classes that aren't used on MinGW32. 2001-03-13 Adam Fedor * configure.in: Check and set EXEEXT needed by some tests. * aclocal.m4: Fixes for constructor test. 2001-03-12 Jonathan Gapen * Headers/gnustep/base/NSString.h: Change NSCyrillicStringEncoding to NSISOCyrillicStringEncoding, and likewise for Greek, Arabic, and Hebrew, to avoid ambiguity. Add enum values for all remaining ISO-8859 character sets, plus UTF-7. * Source/GSXML.m: Update pursuant to above changes. * Source/NSString.m: Ditto. * Source/Unicode.m: Ditto. 2001-03-11 Adam Fedor * Source/NSThread.m: Remove runtime.h include since this isn't normally installed by objc, add back in extern variables. 2001-03-10 Adam Fedor * Version 0.9.2 * Makefile.postamble (before-install): Remove extra '/' before GNUSTEP_MAKEFILES * configure.in: Check for objc_thread_add in runtime. * Source/NSThread.m (objc_thread_add): Define only if not in runtime (objc_thread_remove): Likewise. 2001-03-10 Manuel Guesdon * GSXML.m/.h: added errer, warning and fatal error methods with line and col parameters in GSSAXHandler. 2001-03-08 Richard Frith-Macdonald * Headers/gnustep/base/NSCalendarDate.h: * Headers/gnustep/base/NSTimeZone.h: New files for MacOS-X compatibility * Headers/gnustep/base/Foundation.h: Add NSCalendarDate and NSTimeZone * Headers/gnustep/base/NSDate.h: Remove info in new files. * Source/GNUmakefile: Add new NSCalendarDate and NSTimeZone files. * Source/NSCalendarDate.m: Update for header changes. * Source/NSDate.m: ditto * Source/NSDateFormatter.m: ditto * Source/NSLog.m: ditto * Source/NSString.m: ditto * Source/NSTimeZone.m: ditto 2001-03-07 Adam Fedor * Source/NSInvocation.m (-initWithTarget:selector:): Correct copying of unhandled argument types. 2001-03-07 Richard Frith-Macdonald * Source/NSObject.m: ([methodSignatureForSelector:]) reliability fix suggested by Manuel Guesdon 2001-03-06 Adam Fedor * Source/libgnustep-base.def: Regenerate. 2001-03-05 Richard Frith-Macdonald * Source/NSUserDefaults.m: Changed ([+setUserLanguages:]) to use NSLanguages. * Documentation/gsdoc/NSUserDefaults.gsdoc: documented the ([+setUserlanguages:]) method. 2001-03-04 Jonathan Gapen * Documentation/gsdoc/NSCharacterSet.gsdoc: Documented some methods. * Headers/gnustep/unicode/caseconv.h: Updated case-mapping tables. * Source/NSBitmapCharSet.m: Added sanity check to initWithBitmap: * Source/Unicode.m: Changed uni_toupper() and uni_tolower() to use direct lookup in two-level tables, rather than a linear search. 2001-03-03 Richard Frith-Macdonald * Source/NSBundle.m: Corrected ([-_bundleResourcePathsWithRootPath:subPath:]) to use ([NSUserDefaults +userLanguages]) to get language array again. * Documentation/gsdoc/NSUserDefaults.gsdoc: Updated and added information about +userLanguages 2001-03-03 Adam Fedor * Source/NSInvocation.m: Add missing static inline to __get_arg (patch from David Relson ). 2001-03-03 Richard Frith-Macdonald * Source/NSSerializer.m: * Source/NSURLHandle.m: * Source/NSUnarchiver.m: * Source/GSFormat.m: * Source/GSHTTPURLHandle.m: * Source/GSMime.m: * Source/GSString.m: * Source/NSDictionary.m: * Source/NSPortNameServer.m: Various minor changes to avoid compiler warnings. * Source/NSFileManager.m: ([-fileSystemRepresentationWithPath:]) Use CYGWIN_HOME as suggested by Michael Scheibler * Source/NSUser.m: NSHomeDirectoryForUser() fix for home path on NT by Michael Scheibler. 2001-03-01 Jonathan Gapen * NSCharacterSets/whitespaceCharSet.dat, NSCharacterSets/whitespaceAndNlCharSet.dat: Add tab character. 2001-03-01 Nicola Pero * aclocal.m4 (AC_SYS_PROCFS): Reverted last change in code to detect the /proc filesystem as it didn't work on my gnu-linux: /proc/0 does not exist, but the /proc filesystem works perfectly. * configure.in (GS_FAKE_MAIN): Fixed typo in last change which caused fake main definition to take place even when both +load and /proc worked. * configure: Regenerated. 2001-02-28 Jonathan Gapen * configure.in: Begin autoconf clean-up; replace tests for NeXT compiler, /proc, and exe link with external macros; add support for FreeBSD /proc/curproc/file link. * acconfig.h: Remove definition now handled by macro. * aclocal.m4, configure, Headers/gnustep/base/config.h.in: Regen. * Source/NSBundle.m: Take exe link from PROCFS_EXE_LINK define. * Source/NSProcessInfo.m: HAVE_PROC_FS -> HAVE_PROCFS 2001-02-28 Adam Fedor * Source/win32-load.h (__objc_dynamic_get_symbol_path): New function. * Source/GSHTTPURLHandle.m ([GSHTTPURLHandle -loadInBackground]): Use GSUnixSSLHandle only if not __MINGW__ 2001-02-27 Jonathan Gapen * NSCharacterSets/README.CharSet: Update notes. * NSCharacterSets/*.dat: Regenerate with v3.0.1 of UnicodeData.txt (ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt) 2001-02-27 Adam Fedor * configure.in: Fix openssl config so it defines HAVE_OPENSSL only if all headers and libs available. * configure, acconfig.h, Headers/gnustep/base/config.h.in: Regen. * Source/UnixFileHandle.m: Use HAVE_OPENSSL. 2001-02-27 Nicola Pero * Source/NSLock.m: Commented out extra token after #endif directive. * Headers/gnustep/base/GSXML.h: Idem. 2001-02-27 Nicola Pero * configure.in (Version): source it as ./Version rather than Version (suggested by Juliusz Chroboczek ). * configure: Regenerated. 2001-02-26 Mirko Viviani * Source/NSConcreteNumber.m (NumberTemplate): added precision to float and double TYPE_FORMAT. 2001-02-25 Adam Fedor * configure.in (cppflags_temp): Corrected to save CPPFLAGS not CFLAGS> 2001-02-25 Richard Frith-Macdonald * Source/GSLocale.m: Removed YESSTR and NOSTR support for simplicity. 2001-02-24 Nicola Pero * Resources/Languages/French: New file (contributed by Frederic De Jaeger). * Resources/GNUmakefile (LANGUAGES): Added French. 2001-02-23 Richard Frith-Macdonald * Tools/gdomap.c: Fixed bug in handling '-a' option and enhanced to support multicast probing of networks specified in '-a' file. 2001-02-22 Nicola Pero * Headers/gnustep/base/NSBundle.h: Added three new localization macros: _(), __() and NSLocalizedStaticString (). 2001-02-22 Nicola Pero * Resources/Languages/Italian: New file. * Resources/GNUmakefile (LANGUAGES): Added Italian. 2001-02-22 Richard Frith-Macdonald * Source/NSUserDefaults.m: Fixes to prevent problems obtaining languages array due to attempts to use partially constructed standard user defaults object. 2001-02-21 Adam Fedor * Documenation/install.texi: Update. * Documenation/news.texi: Likewise. * INSTALL, NEWS: Regen. 2001-02-21 Richard Frith-Macdonald * Source/NSString.m: Fix memory leak reported by thoran@free.fr parsePlItem() 2001-02-17 Nicola Pero * Source/GNUmakefile (PACKAGE_NAME): Fixed typo - was gnutep-base rather than gnustep-base. 2001-02-20 Mirko Viviani * Source/GSXML.m|.h ([GSXMLAttribute -ns]): get attribute namespace. 2001-02-19 Richard Frith-Macdonald * Source/GSLocale.m: Tidy, defined __USE_GNU to get YESSTR and NOSTR on later versions of glibc. * Source/NSString.m: Log more info when parsing a property list fails. 2001-02-13 Adam Fedor * Version: 0.9.1 * configure.in: Fix test for stdint.h 2001-02-11 Manuel Guesdon * GSXML.m: testing lib!=NULL and string!=NULL before doing something in -GSXMLNode content -GSXMLNode name -GSXMLNode ns -GSXMLNode nsDef * NSString.m: handle NULL bytes in -initWithUTF8String: (Treat it as zero length string and NSDebugMLog a warning). 2001-02-09 Jonathan Gapen More FreeBSD build fixes: * acconfig.h: Add recent definitions. * configure.in: Add test for wchar.h header. * configure: Regenerate. * Headers/gnustep/base/config.h.in: Regenerate. * Source/GSFormat.m: Typedef wint_t if wchar.h not available. * Source/NSTask.m: Change #if TIOCNOTTY to #ifdef TIOCNOTTY. 2001-02-08 Nicola Pero * INSTALL: Updated installation instructions. 2001-02-08 Richard Frith-Macdonald Fixes reported by David Wetzel ... * Source/GSFormat.h: Add header for wchar * Source/NSCoder.m: Remove spurious semicolon * Source/dynamic-load.h: correct argument to dlsym() 2001-02-08 Richard Frith-Macdonald * Source/GSString.m: permit nil string when replacing characters in range. Treat as an empty string rather than raising exception. 2001-02-07 Jonathan Gapen * Source/NSFileManager.m: Make disk space report work on FreeBSD. On all Unix platforms, report disk space available to non-root users. 2001-02-07 Richard Frith-Macdonald * Source/GSFormat.m: merged in some more fixes by Kai. 2001-02-07 Richard Frith-Macdonald * Source/GSFormat.m: Fixed error in PAD() macro - it was failing to decrement a counter - and looping forever. Fixed error in formatted output of string arguments ... was crashing with range exception. 2001-02-04 Richard Frith-Macdonald * Source/NSTask.m: Added gnustep specific feature to run task in pseudo terminal. 2001-02-02 Richard Frith-Macdonald Integrated patch for unicode support for ([-initWithFormat:]) by Kai Henningsen. Modified to support efficient append with format to a unicode string. * configure.in: Test for data type used by GSFormat * Headers/gnustep/base/GSFormat.h: file declaring GSFormat info. * Source/GSFormat.m: Source for format support. * Source/NSString.m: Use GSFormat() to implement ([-initWithFormat:]) * Source/GSString.m: use GSFormat() to implement ([-appendFormat:]) 2001-01-31 Richard Frith-Macdonald * Source/NSDate.m: pass dates over DO bycopy unless explicitly byref. * Source/NSTimeZone.m: pass time zones over DO bycopy unless explicitly byref. Use placeholder class for newly created objects - to improve eficiency of selection of classes in cluster. Updated to use MacOS-X initialisation methods. 2001-01-30 Michael Hanni * Source/.cvsignore: tweaked to cover a few more items. * Makefile.postamble: distclean removes created file: base.make. * configure.in: patched to fix bug in libxml detection macro (reviewed by: Nicola Pero ) * configure: Regenerated. 2001-01-30 Nicola Pero * gnustep-base.script.spec.in: Fixed, tidied. * configure.in (CPPFLAGS): Added -I$GNUSTEP_HDIR so that custom libobjc headers are used - this should fix ffcall detection. * configure: Regenerated. 2001-01-30 Richard Frith-Macdonald * Headers/Foundation/NSDate.h: Partial support added for MacOS-X * Source/NSTimeZone.m: Updates to encode all time zones as the abstract class, and added MacOS-X methods. * Source/NSCalendarDate.m: Use NSTimeZone rather than NSTimeZoneDetail throughout ... provide MacOS-X compatibility. * Source/NSDate.m: Fix milliseconds error creating date on MINGW 2001-01-29 Adam Fedor * configure.in: Remove check for alternate libobjc and Headers include. Fix typo in setting cppflags_temp in GMP test. * Source/Makefile.preamble (ADDITIONAL_INSTALL_DIRS): Don't make .../gnustep/Foundation * Source/Makefile.postamble (after-install): Don't install headers in .../gnustep/Foundation 2001-01-29 Nicola Pero * GNUmakefile: Include local base.make. * Admin/GNUmakefile: Idem. * Documentation/GNUmakefile: Idem. * Documentation/gsdoc/GNUmakefile: Idem. * Examples/GNUmakefile: Idem. * NSCharacterSets/GNUmakefile: Idem. * NSTimeZones/GNUmakefile: Idem. * Testing/GNUmakefile: Idem. * Tools/GNUmakefile: Idem. * Resources/GNUmakefile: Idem. * Source/GNUmakefile: Idem. * configure.in (tests for ffi): set CONFIG_SYSTEM_LIBS too (test for iconv): test taken from the make package. (AC_OUTPUT): Generate base.make. * configure: Regenerated. * base.make.in: New file. * Makefile.postamble (before-install): Install base.make. 2001-01-29 Nicola Pero * NSTimeZones/NSTimeZones.tar: Updated. 2001-01-28 Jonathan Gapen * Source/NSUser.m: In NSSearchPathForDirectoriesInDomains(), added support for NSDeveloperDirectory, NSAdminDirectory, and the new GSLibrariesDirectory. * Headers/gnustep/base/NSPathUtilities.h: Added new enum value GSLibrariesDirectory, to support GNUstep's Libraries dir. 2001-01-26 Adam Fedor * gnustep-base.script.spec.in: New file, rpm script for installing gdomap, updating ld.conf, etc. 2001-01-26 Richard Frith-Macdonald * Source/NSArray.m: Fix failure to assign result of init to self (similar fixes in various other files). * Tools/gsdoc.m: Fix error in parsing items containing mixed elements. * Documentation/gsdoc/NSTimeZone.gsdoc: Fix erro in markup. 2001-01-25 Richard Frith-Macdonald * configure.in: Add check for rexcent versions of gmp 2001-01-25 Richard Frith-Macdonald * Source/NSException.m: Modify default handler to permit simple exit as well as abort. * Documentation/gsdoc/Base.gsdoc: documented environmnet variable CRASH_ON_ABORT 2001-01-21 Richard Frith-Macdonald * Source/NSString.m: Fixes for OPENSTEP compatibility in string path operations - patch provided by Pierre-Yves Rivaille, plus another fix by me. 2001-01-19 Nicola Pero * gnustep-base.spec.in: Updated copyright and attempt at improving description. 2001-01-19 Nicola Pero * config/config.loadtest.m: Added dummy NXConstStr implementation for libobjc which do not include it. * configure.in: Simplified check for thread flags. gnustep-make already gets them - simply get them from config.make here. * configure: Regenerated. * config/config_thread.m: Removed. 2001-01-17 Adam Fedor * Version: Prerelease version 0.9.0 * configure.in: Change check for installed libobjc to match gstep-make 2001-01-18 Nicola Pero * Source/GNUmakefile: Simplified name to gnustep-base. * gnustep-base.spec.in: Changed Group to Development/Libraries. * gnustep-base-debug.spec.in: Idem. * NSTimeZones/NSTimeZones.tar: Removed hard links to avoid rpm problems with hard links. 2001-01-18 Richard Frith-Macdonald * Source/NSHost.m: New method ([-_addName:]) to add a name to a host. Use it to add the local hostname to the 127.0.0.1 host if there is no IP address set up for the local machine. * Source/NSRunLoop.m: ([-acceptInputForMode:beforeDate:]) improve handling of available descriptors - each descriptor may be available for more than one type of event. 2001-01-17 Mirko Viviani * Source/GSXML.m|.h ([GSXMLDocument -stringValue]): dump document in a string. Wed Jan 17 16:46:09 2001 Nicola Pero * GNUmakefile: Added PACKAGE_NEEDS_CONFIGURE and RPM_DISABLE_RELOCATABLE. * GNUmakefile: Simplified name to gnustep-base. * gnustep-base.spec.in: New file. * gnustep-base-debug.spec.in: Idem. * gnustep-base.spec: Move to gnustep-base.spec.old. 2001-01-13 Richard Frith-Macdonald * Source/GSMime.m: ([-decodeData:fromrange:intoData:withContext:]) Added destination data cpacity information to context so that correct positioning can be maintained over a sequence of calls using a chunked http context. * Source/GSAttributedString.m: Fixed bug initialising from an empty attributed string, and fixed bug replacing characters in range, when an attribute range location is the same s the location of the replaced characters. 2001-01-12 Richard Frith-Macdonald * Source/GSXML.m: ([-GSXMLDocument setRoot:]) set root node to be owned by libxml, so we don't free it's memory ourselves. * Headers/gnustep/base/NSValue.h: Added range methods. * Source/GNUmakefile: Rename value files to GS prefix and remove concrete value header. * Source/Makefile.postamble: Build GS value files. rather than NS * Source/NSValue.m: Added range methods and updated for change to naming conventions. Added abstract placeholder class. Fixed encoding to store the abstract class in the archive. * Testing/values.m: Added range check * Source/GSTemplateValue.m: Renamed for consistency. Adapted encoding/decoding for storing abstract class in archive. * Source/GSValue.m: ditto * Headers/gnustep/base/NSConcreteValue.h: private info removed * Source/NSCTemplateValue.m: Renamed for consistency * Source/NSConcreteValue.m: ditto 2001-01-10 Nicola Pero * Source/GSAttributedString.m ([GSAttributedString -length]), ([GSMutableAttributedString -length]): Added for speed. 2001-01-10 Richard Frith-Macdonald * Source/Unicode.m: Fix bug in checking possible default string encodings . reported by Stefan Urbanek 2001-01-10 Richard Frith-Macdonald Tidyup by removing 'NonCore' categories. 2001-01-09 Richard Frith-Macdonald General tidyups to simplify code and to make class names consistent with the other libraries. * Headers/Foundation/NSGAttributedString.h: removed * Source/NSGAttributedString.m: renamed to GSAttributedString.m concrete classes renamed for consistency with other gstep libs. * Source/NSGDictionary.m: renamed to GSDictionary.m concrete classes renamed for consistency with other gstep libs. * Source/NSAttributedString.m: classes renamed * Source/NSDictionary.m: classes renamed * Source/GNUmakefile: replace NSGAttrinbutedString with and NSGDictionary with GS prefixed classes. Don't try to install old header. * Source/NSString.m: updates for class renaming. * Source/NSSerializer.m: ditto 2001-01-08 Adam Fedor * configure.in: Enable ffcall by default (unless the libraries don't exist). 2001-01-08 Richard Frith-Macdonald * Headers/Foundation/NSGArray.h: removed * Headers/Foundation/NSArray.h: merge core/non-core classes. * Source/GNUmakefile: replace NSGArray with GSArray. * Source/NSGArray.m: converted to GSArray.m * Source/NSArray.m: simplified by merging core/non-core classes. Use placeholder class when allocating constant arrays. * Source/GSArray.m: simplified version of GSArray.m Added GSPlaceholderArray. * Source/NSSerializer.m: use GSInlineArray where possible. * Source/GSSet.m: Provide decoding of NSGSet for backward compatibility. * Source/NSException.m: Avoid recursion in exception handler. 2001-01-04 Richard Frith-Macdonald * Tools/gsdoc.gsdoc: Tidied and fixed a few typos/spelling errors. 2001-01-04 Jonathan Gapen * configure.in, aclocal.m4, acconfig.h: Replace libxml detection with autoconf macro from libxml 2.2.10 installation. * configure, Headers/gnustep/base/config.h.in: Regenerate. * Headers/gnustep/base/GSXML.h, base/Source/GSXML.m, base/Tools/gsdoc.m: Use proper libxml #includes. 2001-01-03 Adam Fedor * configure.in: Change test for objc forwarding hook to match gcc patch. * Source/GSFFCallInvocation.m: Use new forwarding hook. 2001-01-03 Richard Frith-Macdonald * Source/NSBundle.m: fix for checking windows executable file extensions - reported by michael.scheibler@onevision.de 2001-01-03 Mirko Viviani * Source/NSObjCRuntime.m (GSInstanceVariableInfo): fixes. * Source/NSObject.m ([NSObject -handleQueryWithUnboundKey:]): raise an exception. ([NSObject -handleTakeValue:forUnboundKey:]): changed exception. ([NSObject -unableToSetNilForKey:]): likewise. ([NSObject -storedValueForKey:]), ([NSObject -valueForKey:]): check for null selector before calling respondsToSelector: ([NSObject -takeStoredValue:forKey:]), ([NSObject -takeValue:forKey:]): likewise. Call GSSetValue with correct values. (GSSetValue): fixed ivar implementation. (GSGetValue): likewise. ([NSObject -methodSignatureForSelector:]): FreeBSD fix. * Source/NSEnumerator.m|.h ([NSEnumerator -allObjects]): implemented. * Source/Unicode.m (GetDefEncoding): do not emit the warning for NSISOLatin1StringEncoding. 2000-12-26 Adam Fedor * configure.in: Look for libxml2 (patch from Kim Shrier ). * acconfig.h: Define LIBXML2 * Headers/gnustep/base/config.h.in: Regenerate * Headers/gnustep/base/GSXML.h: Include libxml2.h if found. * Source/GSXML.m: Likewise. * Tools/gsdoc.m: Likewise. (patches from Kim Shrier ). 2000-12-22 Adam Fedor * Source/GSFFCallInvocation.m: Remove powerpc specific defs 2000-12-21 Richard Frith-Macdonald * Source/NSDistantObject.m: Modified DO_FORWARD_INVOCATION() macro and its uses so that they actually do what was intended :-) Also, modified implementation of methodSignatureForSelector: for ffcall library to prevent recursion. 2000-12-21 Richard Frith-Macdonald * Headers/Foundation/GSIMap.h: On initialisation set number of nodes to exactly equal capacity, for improved memory efficiency. * Source/Makefile.postamble: correct dependencies for GSIMap. * Source/GSCountedSet.m: Use map enumerator rather than messing with the internals of a GSIMap directly. * Source/GSSet.m: ditto * Source/NSConnection.m: ditto * Source/NSGDictionary.m: ditto * Source/NSNotificationCenter.m: ditto * Source/NSString.m: property list memory leak fixed. 2000-12-18 Richard Frith-Macdonald * Source/NSGAttributedString.m: Fix logic errors setting attributes. 2000-12-18 Adam Fedor * Source/Makefile.postamble (libgnustep.def): Rebuild manually rather than automatically. 2000-12-14 Richard Frith-Macdonald * Source/Unicode.m: Tidied to conform to coding standards and changed to use ISOLatin1 as the default cString encoding. * Source/GSString.m: Fixed bug getting cString from unicode string - raise exception when it should. * Source/NSString.m: ditto. Also use lossyCString in various places rather than cString. 2000-12-13 Nicola Pero * Headers/gnustep/base/NSRange.h, Source/NSRange.m: Inlined NSMakeRange. 2000-12-12 Nicola Pero * Source/NSDebug.m (table_entry): Added peak field. (GSDebugAllocationAdd): Set peak counter if needed. (GSDebugAllocationClassList), (GSDebugAllocationTotal), (GSDebugAllocationPeak): New functions. * Headers/gnustep/base/NSDebug.h: Added corresponding declarations. 2000-12-08 Adam Fedor * Set up DO and NSInvocation to use foreign-function interface library. * configure.in: Add check for --enable-ffcall * Documentation/gnustep-base.texi: Update * Documentation/install.texi: Likewise. * Documentation/readme.texi: Likewise. * Documentation/gsdoc/NSTimeZone.gsdoc: Update. * Headers/gnustep/base/NSConnection.h: New forward method. * Headers/gnustep/base/NSInvocation.h: New frame ivar. * Source/GNUmakefile: Conditionally compile in FFI classes if enabled. * Source/NSConnection.m (-forwardInvocation:forProxy:): New method. (_service_forwardForProxy:): For FFCALL don't autorelease memory, call proper forwarding function. * Source/NSDistantObject.m (forwardInvocation:): Implement. (methodSignatureForSelector:): For FFCALL, forward through invocation. (conformsToProtocol:): Likewise. (respondsToSelector:): Likewise. * Source/NSInvocation.m: Convert to abstract class with subclasses based on FFI interface. (_get_arg, _set_arg, _arg_addr): New functions based on FFI interface. (+allocWithZone:): Alloc proper concrete class. (+initialize): Set proper concrete class. (-initWithCoder:): Replace self with proper concrete class. (initWithArgframe:selector:): Make subclassResponsibility. (initWithMethodSignature:): Likewise. (returnFrame:): Likewise. Implement GSFrameInvocation * Source/GSFFCallInvocation: New file. * Source/GSFFIInvocation: Likewise. * Source/cifframe.[hm]: Likewise. * Source/callframe.[hm]: Likewise. 2000-12-07 Richard Frith-Macdonald * Source/NSGSet.m: renamed to GSSet.m for consistency, tidied. * Source/NSGCountedSet.m: renamed to GSCountedSet.m for consistency. * Headers/Foundation/NSGSet.h: removed - obsolete. * Headers/Foundation/NSSet.h: si9mplified back to single class * Source/NSSet.m: Updated and tidied. Fixed coding class for mutable sets. Removed non-core classes. 2000-12-05 Richard Frith-Macdonald * Source/NSURLHandle.m: minor mods to background loading. * Source/GNUmakefile: * Source/Makefile.postamble: * Source/Makefile.preamble: * Tools/Makefile.preamble: Updated for flattened directory structure. 2000-12-02 Richard Frith-Macdonald * Source/NSDate.m: GSTime() added millisecond info. * Source/NSCalendarDate.m: GSTime() added millisecond info. * Headers/Foundation/NSDate.h: GSTime() added millisecond info. * Source/NSObject.m: key-value-coding restructured and implemented for non-object values. 2000-11-30 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([-initWithString:calendarFormat:locale:]) Bugfixes to fill in missing information using current date/time and to implement missing format codes. 2000-11-27 Richard Frith-Macdonald * Source/NSClassDescription.m: New MacOS-X class added. * Headers/Foundation/NSClassDescription.m: New MacOS-X class added. * Headers/Foundation/NSKeyvalueCoding.m: New MacOS-X protocol added. * Source/NSObject.m: New MacOS-X key value coding methods added. Only objects currently supported - needs work to support scalar types too! 2000-11-23 Mirko Viviani * Source/NSBundle.m ([NSBundle +_addFrameworkFromClass:]): fixed an autorelease problem. (reported by Gerald Siebke ) 2000-11-22 Richard Frith-Macdonald * Source/GSTcpPort.m: ([-connectToPort:beforeDate:]) added locking to prevent possible problems with two threads trying to get root object of a new connection at the same time. * Documentation/gsdoc/NSURLHandle.gsdoc: Added subclass information. 2000-11-22 Richard Frith-Macdonald * Headers/gnustep/base/NSAutoreleasePool.h: Changed proivate method for cleanup at end of thread. * Headers/gnustep/base/NSThead.h: New ivar to mark when we are deallocating. * Source/NSAutoreleasePool.m: Added parameter to _endThread so we can safely end a thread without it being the current one. * Source/NSThread.m: Now clean up autorelease pools *after* everything elese, while deallocating the thread. This is to cope with objects that try to access the thread dictionary while autoreleasing. -threadDictionary modified to return nil during deallocation rather than creating a new ductionary. 2000-11-21 Richard Frith-Macdonald * Source/externs.m: Removed obsolete http body key. * Source/GSHTTPURLHandle.m: Removed obsolete http body key. * Headers/Foundation/NSURLHandle.h: Removed obsolete http body key. 2000-11-20 Nicola Pero * Source/NSConnection.m: ([NSConnection -invalidate]) Fixed typo in multi-thread support. 2000-11-18 Richard Frith-Macdonald * Source/NSURLHandle.m: Implemented setting and gettign of properties for file handles using NSFileManager. * Source/GSHTTPURLHandle.m: Implemented ([-writeData:]). Rewrote posting mechanism using new implementation. Modified so that old method of writing bodyn properties still works for the moment. * configure.in: Added tests for GMP library - needed in future. * Headers/Foundation/NSDecimal.h: include GSConfig.h for HAVE_GMP * Source/NSDecimal.m: test for truth value of HAVE_GMP * Headers/Foundation/GSConfig.h.in: add HAVE_GMP support, but override to '0' until GMP support is fully implemented. 2000-11-17 Richard Frith-Macdonald * Headers/Foundation/GSMime.h: Added GSMimeEncodingContext etc * Headers/Foundation/NSURLHandle.h: Added some more property keys. * Source/GSMime.m: Update to add method for general decoding of different transfer encoding types including chunked (for http1.1). Recognise end of data in chunked encoding or by content length. * Source/GSHTTPURLHandle.m: Added new class for http and https support. * Source/NSURLHandle.m: Register class for http and https support. * Source/externs.m: Added property keys for URL handles. * Documentation/gsdoc/GSMime.gsdoc: updated * Documentation/gsdoc/GSMimeDocument.gsdoc: updated * Documentation/gsdoc/GSMimeParser.gsdoc: updated 2000-11-16 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([-userLanguages]) updated to ensure we don't get empty strings in the language list. * Headers/Foundation/GSMime.h: Revised API * Source/GSMime.m: Revised API to make more sense * Documentation/gsdoc/GSMime.gsdoc: ditto * Documentation/gsdoc/GSMimeDocument.gsdoc: ditto * Documentation/gsdoc/GSMimeParser.gsdoc: ditto 2000-11-16 Richard Frith-Macdonald * Source/NSURL.m: ([-explode]) bugfix for parsing username/password provided by mark@brainstorm.co.uk 2000-11-16 Richard Frith-Macdonald * Source/GSTcpPort.m: Altered all GSTcpHandle debug output to include current thread. Added locking for read/write operations on handle. Hopefully all thread-safe now :-) 2000-11-15 Richard Frith-Macdonald * Source/NSConnection.m: ([-_getReplyRmc:]) added semi-busy wait for when the connection is being used from multiple threads. 2000-11-15 Richard Frith-Macdonald * configure.in: Added checks for OpenSSL * Headers/gnustep/base/NSFileHandle.h: Added info for SSL handles. * Source/UnixFileHandle.m: Added GSUnixSSLHandle class based on code by 2000-11-15 Richard Frith-Macdonald * Source/NSBundle.m: Minor tidying to avoid compiler warnings. * Source/NSFileManager.m: ditto Tue Nov 14 23:44:14 2000 Adam Fedor * Source/GSString.m: Add limits.h (for Solaris) 2000-11-14 Adam Fedor * Source/GSLocale.m: Put LANGINFO_H ifdefs around include of langinfo.h. 2000-11-14 Richard Frith-Macdonald * Source/GSTcpPort.m: ([GSTcpHandle -receivedEvent:type:extra:forMode:]) added locks around write operations for multi-threaded operation. newDataWithEncodedPort() modified to encode local host as an empty string, and other hosts by name rather than address. decodePort() added new parameter so that an empty string can be decoded as the host to which the GSTcpHandle is talking. Modified in various places to keep a record of the IP address of the remote end of the connection, so we can pass this to decodePort() ([-getFds:count:]) fixed error in determining set of file descriptors to listen to - resulted in two threads listening to the same descriptor at the same time! 2000-11-13 Richard Frith-Macdonald * Source/NSGAttributedString.m: partial rewrite to cache/unique dictionaries and to coalesce adjacent regions of string with the same attributes when setting attributes. 2000-11-12 Fred Kiefer * Source/NSArray.m: Corrected [NSMutableArray arrayWithObject:] to return obj instead of self. Fri Nov 10 12:30:27 2000 Nicola Pero Added some GNUstep extensions to NSThread to allow JIGS to transparently map java threads to gnustep threads (and vice versa): * Headers/gnustep/base/NSThread.h, Source/externs.m: (NSThreadDidStartNotification): New notification. * Source/NSThread.m ([NSThread -_sendThreadMethod]): Post the NSThreadDidStartNotification. * Source/NSThread.m, Headers/gnustep/base/NSThread.h ([+registerCurrentThread]), ([+unregisterCurrentThread]): New methods. 2000-11-10 Mirko Viviani * Source/NSBundle.m ([NSBundle +_addFrameworkFromClass:]): avoid crash when called with Nil class. 2000-11-10 Richard Frith-Macdonald * Source/GSTcpPort.m: Added some locking tweaks for writing data. * Source/GSString.m: Fix for decoding obsolete string classes. 2000-11-09 Richard Frith-Macdonald * Source/NSPort.m: ([-setDelegate:]) corrected assertion to allow delegate to be set to nil. Bug reported by cornils@mail.desy.de 2000-11-08 Richard Frith-Macdonald * Source/GSString.m: ([GSMutableString substringWithRange:]) fix to initialize inline string classes correctly. 2000-11-06 Adam Fedor * Documentation: Move tmpl.texi files to texi and update GNUmakefile Mon Nov 6 16:55:26 2000 Nicola Pero * Documentation/GNUmakefile: Install ANNOUNCE, NEWS, INSTALL, BUGS, README, STATUS into Documentation/Developer/Base/ReleaseNotes/$(VERSION); install CODING-STANDARDS and coding-standards into Documentation/Developer/CodingStandards; install gnustep-base into Documentation/Developer/Base/Manual. * Documentation/gsdoc/GNUmakefile (Base_DOCUMENTATION_INSTALL_DIR): Install gsdoc reference in Documentation/Developer/Base/Reference. 2000-11-06 Richard Frith-Macdonald * Source/NSString.m: handle_printf_atsign() - use lossyCString to get string to print. This is a temporary *HACK* - we need a proper unicode supporting initWithFormat: * Source/GSString.m: ([GSMutableString substringWithRange:]) fix to allocate inline string classes for substrings. 2000-11-04 Richard Frith-Macdonald * Source/NSCalendarDate.m ([NSCalendarDate -initWithString: calendarFormat:locale:]): try getting timezone by name before attempting by abbreviation - thus preserving exact name isf possible. 2000-11-03 Mirko Viviani * Source/NSCalendarDate.m ([NSCalendarDate -initWithString: calendarFormat:locale:]): assign calendar format. 2000-11-03 Richard Frith-Macdonald * Source/NSString.m: Update for placeholder class. * Source/GSString.m: Updates for optimisations using placeholder class. 2000-11-01 Richard Frith-Macdonald * Source/GSXML.m: External entity loader revisions completed. * Documentation/gsdoc/GSXML.gsdoc: changes to api * Documentation/gsdoc/GSXMLParser.gsdoc: ditto * Documentation/gsdoc/GSSAXHandler.gsdoc: ditto 2000-11-01 Manuel Guesdon * Headers/Foundation/GSXML.h: added GSXMLNode propertiesAsDictionaryWithKeyTransformationSel: * Source/GSXML.m: added GSXMLNode propertiesAsDictionaryWithKeyTransformationSel: 2000-11-01 Richard Frith-Macdonald * Source/NSUserDefaults.m: Fixed uninitialised variable bug. * Source/NSString.m: Fixed error in xml property list parsing * Source/GSXML.m: Various SAX things to use default implementation. 2000-10-31 Richard Frith-Macdonald * Source/NSString.m: Implemented ([-initWithCharactersNoCopy:length:freeWhenDone:]) and ([-initWithCStringNoCopy:length:freeWhenDone:]) for NSMutableString. ([-initWithCStringNoCopy:length:freeWhenDone:]) for NSString. 2000-10-31 Richard Frith-Macdonald Loads of files modified, fast.x removed. Found it unexpectedly easy to tidy up so that all functions for accessing the runtime are now in NSObjCRuntime.h. Now all :-) we need are Apple runtime implementations, configuration auto-detect for the apple runtime, and loads of updating of any bits of code that call the runtime directly. 2000-10-31 Richard Frith-Macdonald * Headers/gnustep/base/NSGString.h: * Headers/gnustep/base/NSGCString.h: * Source/NSGString.m: * Source/NSGCString.m: Removed classes - no longer used. * Headers/gnustep/base/NSObjCRuntime.h: * Headers/gnustep/base/fast.x: * Source/GSString.m: * Source/Makefile.postamble: * Source/NSArchiver.m: * Source/NSCTemplateValue.m: * Source/NSConcreteValue.m: * Source/NSCountedSet.m: * Source/NSDate.m: * Source/NSDictionary.m: * Source/NSDistantObject.m: * Source/NSGSet.m: * Source/NSNumber.m: * Source/NSObject.m: * Source/NSScanner.m: * Source/NSSerializer.m: * Source/NSSet.m: * Source/NSUnarchiver.m: Changed calls to 'fastClass()' to use 'GSObjCClassOfObject()' and added that to NSObjCRuntime.h. Removed central class and implementation caching from NSObject.m and fast.x since it was not being effectively used. New intention to do removal of fast.x and add similar functionality to NSObjCRuntime.h - intention being to combine functionality of fast access to the runtime, and hiding both GNU and Apple runtime behind a single interface. 2000-10-30 Richard Frith-Macdonald * Source/NSURLHandle.m: Wrap all locking with exception handlers to ensure that locks are released. * Headers/gnustep/base/NSInvocation.h: Removed non-standard macros * Headers/gnustep/base/behavior.h: Removed unused macro CALL_METHOD_IN_CLASS() * Source/GSString.m: * Source/GSXML.m: * Source/NSArchiver.m: * Source/NSArray.m: * Source/NSAttributedString.m: * Source/NSData.m: * Source/NSDictionary.m: * Source/NSGArray.m: * Source/NSGAttributedString.m: * Source/NSGCString.m: * Source/NSGDictionary.m: * Source/NSGeometry.m: * Source/NSObject.m: * Source/NSPortCoder.m: * Source/NSProcessInfo.m: * Source/NSRange.m: * Source/NSRunLoop.m: * Source/NSScanner.m: * Source/NSSerializer.m: * Source/NSString.m: * Source/NSUnarchiver.m: * Source/NSUserDefaults.m: Updated to move static SEL variable initialisation to +initialize methods so that it should (I think) work with the Apple runtime. 2000-10-29 Adam Fedor * configure.in: Check for langinfo. * Source/GSLocale.m (GSDomainFromDefaultLocale): Return nil dict if langinfo info not available. * acconfig.h: Add HAVE_DLADDR * Headers/gnustep/base/config.h.in: Regenerate. * Source/simple-load.h (__objc_dynamic_get_symbol_path): Return nil if not HAVE_DLADDR. 2000-10-29 Richard Frith-Macdonald * Source/GSString.m: New inline string classes added to avoid calls to malloc in some cases. Changed all deallocation methods to call NSDeallocateObject() directy for efficiency. * Source/NSString.m: Use new inline string classes for creation of strings where we know the length of the data in advaance. 2000-10-28 Mirko Viviani * Headers/gnustep/base/NSBundle.h: added ivar. * Source/NSBundle.m ([NSBundle +_addFrameworkFromClass:]): new private method to parse NSFramework_* classes. (_bundle_load_callback): added framework support. Wrap classes in a NSValue to avoid implicit initialization. ([NSBundle +allBundles]): added framework support. ([NSBundle +allFrameworks]): implemented. ([NSBundle +bundleForClass:]): get classes from NSValue object. ([NSBundle -classNamed:]): likewise. * Headers/gnustep/base/objc-load.h (LINKER_GETSYMBOL): new define. * Source/objc-load.m (objc_get_symbol_path): get lib path of a Class or Category. * Source/simple-load.h (__objc_dynamic_get_symbol_path): indentifies lib path of a symbol. * Source/dld-load.h (__objc_dynamic_get_symbol_path): not supported. * Source/hpux-load.h (__objc_dynamic_get_symbol_path): not implemented. * Source/mframe/mframe.foot (mframe_get_arg): typ declaration fix. (mframe_set_arg): idem * Headers/gnustep/base/config.h.in: added HAVE_DLADDR * aclocal.m4 (OBJC_SYS_DYNAMIC_LINKER): test for dladdr() * configure.in: added --with-libxml-include and --with-libxml-library, added -I/usr/local/include and -L/usr/local/lib for FreeBSD. 2000-10-27 Richard Frith-Macdonald * Source/NSObject.m: Reverted last change - +new has to do alloc, init or break classes that expect to use their own allocation mechanisms. Similarly, +alloc must call the ([+allocWithZone:]) method. We can't make optimisations that break with the OpenStep spec and MacOS documentation - they would break production code. Of course, private classes can do this. 2000-10-27 Lyndon Tremblay * Source/NSObject.m ([NSObject +new]): No longer sends 2 messages, uses NSAllocateObject(). ([NSObject +alloc]): Likewise, no message sending within the method. 2000-10-27 Richard Frith-Macdonald * Source/NSURLHandle.m: Make class registration thread safe. Tidy initialisation to use designated initialiser. 2000-10-27 Adam Fedor * Added localization support * configure.in: Look for locale.h * Resources: New directory, files for languages. * Headers/gnustep/base/NSUserDefaults.h: Add missing localization keys. * Source/GSLocale.m: New functions for dealing with locales. * Source/NSUserDefaults.m (-_unlocalizedDefaults): New method. (-sharedUserDefaults): Set up Language domain. (-userLanguages): Create our own defaults, if necessary, to avoid recursion with sharedUserDefaults. (__createStandardSearchList): Put NSGlobalDomain before Language domain to match MacOSX docs (wasn't specified in OpenStep docs). * Documentation/gsdoc/NSUserDefaults.m: Updated. * Tools/locale_alias.m: New test-tool mostly for maintainance use. 2000-10-26 Richard Frith-Macdonald * Source/NSData.m: When deserialising selectors, register new selectors if they don't already exist - so we can unarchive a selector into a program where no objects implements it (we might still want to use it over DO or to store in another archive). Change suggested by N.Pero. * Source/GSMime.m: Mime parser classes partially written. * Headers/Foundation/GSMime.h: mime class headers * Documentation/gsdoc/GSMime.gsdoc: documentation * Documentation/gsdoc/GSMimeDocument.gsdoc: documentation * Documentation/gsdoc/GSMimeParser.gsdoc: documentation Various files partially implemented to add MIME parsing support. Intended to aid implementation of HTTP version of NSURLHandle. 2000-10-24 Adam Fedor * Source/NSCalendarDate.m (-initWithString:calendarFormat:locale:): Set format if nil. (-addYear:month:day:hour:minute:second:): Use signed ints. 2000-10-24 Richard Frith-Macdonald * Source/GSString.m: Implement ([-substringWithRange:]) and ([-substringFromRange:]) equally. The 'from' method is the 'official OpenStep' one, the 'with' method is a MacOS-X compatibility addition. * Source/NSAttributedString.m: Added ([-attributedSubstringWithRange:]) in the expectation that Apple will rename the method and remove ([-attributedSubstringFromRange:]) * Source/NSScanner.m: Use substringWithRange. * Source/NSProxy.m: Implement ([-forward::]) to use ([-forwardInvocation:]). Implement ([-conformsToProtocol:]) to raise exception, Implement ([-respondsToSelector:]) to raise exception. * Source/NSDistantObject.m: Implement ([-conformsToProtocol:]) to forward to remote. Implement ([-respondsToSelector:]) to forward. 2000-10-24 Fred Kiefer * Source/NSAttributedString.m: Added begin/endEditing to all complex methods on NSMutableAttributedString as necessary for NSTextStorage. * Source/GSString.m: Changed all substringFromRange: to substringWithRange: as this is the basic method. 2000-10-23 Richard Frith-Macdonald * Source/NSString.m: ([-fastestEncoding]), ([-smallestEncoding]) implemented to return NSUnicodeStringEncoding. Use new string classes more effectively - let GSString turn itsself into either GSCString or GSUstring when initialised. Merged in code from propList.h * Source/GSString.m: ([-dataUsingEncoding:allowLossyConversion:]) bugfixes for cString reported by Freed Kiefer Removed 'ascii' flag - more trouble than a minor optimisation is worth. Fixed transmute() to be careful about freeing old string. * Source/Unicode.m: encode_ustrtostr_strict() return 0 on failure. 2000-10-21 Richard Frith-Macdonald * Headers/Foundation/NSNull.h: New placeholder class. * Source/NSNull.m: New placeholder class. * Source/GNUmakefile: Build NSNull and install header. * Documentation/gsdoc/GNUmakefile: Build NSNull documentation * Documentation/gsdoc/NSNull.gsdoc: NSNull documentation 2000-10-20 Richard Frith-Macdonald * Source/NSString.m: ([-initWithCharacters:length:]) use ([-initWithCStringNoCopy:length:freeWhenDone:]) if possible. * Source/GSString.m: Much tidying up. Added two new concrete classes for substrings. * Source/NSCalendarDate.m: ([-initWithString:calendarFormat:locale:]) avoid any attempt to read beyond the supplied string. 2000-10-16 Richard Frith-Macdonald Attempts to make sure that when members of a class cluster are encoded (either for archiving or for sending over DO), they are encoded as the abstract class hiding the other classes in the cluster - this should mean that (in future) changes in the private concrete classes used should not effect existing archives and running DO applications. * Source/NSDate.m: Implement -classForCoder to encode as the abstract class. Implement ([-encodeWithCoder:]) and ([-initWithCoder:]) in abstract class. * Source/NSDictionary.m: Implement -classForCoder to encode as the abstract class. Implement ([-encodeWithCoder:]) and ([-initWithCoder:]) in abstract class. * Source/NSArray.m: Implement -classForCoder to encode as the abstract class. * Source/NSAttributedString.m: Implement -classForCoder to encode as the abstract class. Implement ([-encodeWithCoder:]) and ([-initWithCoder:]) in abstract class. * Source/NSGAttributedString.m: Remove coding/encoding stuff - now done in abstract class. * Source/NSNumber.m: Implement -classForCoder to encode numbers as the abstract class. Modified ([-encodeWithCoder:]) and ([-initWithCoder:]) to encode objc type when encoding as abstract class. * Source/NSConcreteNumber.m: Modified encoding method to mirror abstract class method. Old ([-initWithCoder:]) method retained to decode old format records from archives. 2000-10-11 Adam Fedor * Source/NSObject.m (+initialize): Initialize Window sockets on MINGW. * Source/libgnustep-base-entry.m (gnustep_base_socket_init): New function. 2000-10-10 Richard Frith-Macdonald * Source/GSString.m: fillHole() fixed error in copying bytes. 2000-10-09 Richard Frith-Macdonald * Source/NSGAttributedString.m: ([-setAttributes:range:]) Fixed obscure bug - use ASSIGNCOPY rather than ASSIGN to prevent mutable dictionaries being placed in attributed string. 2000-10-09 Richard Frith-Macdonald Major rewrite of NSString. There was a fundamental architectural problem in the old implementation ... if you had an NSGMutableCString object, and used any method that appends (or replaces) characters in that string, there was a problem in that the characters being added may not be representable in the default character set. This means that we needed the concrete mutable strring class to be able to mutate itsself from an 8-bit string to a 16-bit string when necessary (we can't just allocate a new object, because we have no way of returning it to the caller). We could not handle this simply by changing the class pointer in the instance (and reallocating and modifying the memory actually storing the characters of course). The problem with this is that the method implementations of the object may have been cached in the user code (quite likely if you want high performance from a mutable string) - and subsequent use of those cached implementations would still try to treat the contents of the string as 8-bit characters. The solution adopted was to make the standard mutable string class contain a flag to adjust its behavior so that each method treats the char data as either 8 or 16 bit. This makes for ugly code, partially tidied by use of inline functions. For most of the methods implemented for the constant strings (rather than being inherited from the abstract class) we now have two inline functions for 8-bit and 16-bit implementations. The GSUString and GSCString objects have method implementations that simply called the appropriate function. The GSMString implementation of each method tests the flag and calls the appropriate inline function. * Headers/gnustep/base/NSString.h: Remove NSGCString, NSGString, NSGMutableCStrng and NSGMutableString. Add GSString interface and new version of NXConstantString interface. * Headers/gnustep/base/fast.x: Remove string caching information. * Source/GNUmakefile: Don't build old concrete strings or install their headers. Do build new concrete string (GSString.m) * Source/GSCompatibility.m: Don't use private concrete strings. * Source/GSeq.h: Various modifications for new string classes. * Source/NSArray.m: Don't use private concrete strings. * Source/NSData.m: Don't use private concrete strings. * Source/NSDictionary.m: Don't use private concrete strings. * Source/NSGAttributedString.m: Don't use private concrete strings. * Source/NSGCString.m: No longer used. * Source/NSGDictionary.m: Don't use private concrete strings. * Source/NSGString.m: No longer used. * Source/NSNotificationCenter.m: Don't use private concrete strings. * Source/NSObjCRuntime.m: Don't use private concrete strings. * Source/NSObject.m: Don't cache string information. * Source/NSScanner.m: Modified to use new concrete strings. * Source/NSSerializer.m: Modified to use new concrete strings. * Source/NSString.m: Modified to use new concrete strings. Rewrote various methods to work in terms of the primitive string methods. Implemented encoding and decoding at this level so we don't encode concrete string classes in archives. * Source/externs.m: Modified to use new concrete strings. * Source/propList.h: Modified to use new concrete strings. * Source/GSString.m: New string classes, plus decoding for old ones. 2000-10-05 Richard Frith-Macdonald * Source/Makefile.preamble (ADDITIONAL_CPPFLAGS): Replace DEFS (lost in last change) to set default paths for NSBundle etc. * Source/NSString.m: Minor range fixes. * Source/NSGString.m: initialisation fixes. 2000-10-04 Adam Fedor * Source/Makefile.preamble (ADDITIONAL_CPPFLAGS): Add CONFIG_SYSTEM_DEFS. 2000-10-05 Fred Kiefer * Source/Unicode.m: Changed available encodings if HAVE_ICONV is defined. This is still a static definition. 2000-10-02 Adam Fedor * configure.in: Update required libxml version to 2.2.3 2000-09-30 Mirko Viviani * Source/NSDistantObject.m ([GSDistantObjectPlaceHolder +respondsToSelector:]): implemented. * Source/NSProcessInfo.m ([NSProcessInfo +load]): bug fix for FreeBSD. * configure.in: enable_fake_main not enabled by default for FreeBSD-elf 2000-09-30 Fred Kiefer * Headers/gnustep/base/Unicode.h: Merged in GetDefEncoding.h New function GetAvailableEncodings. * Source/Unicode.m: Merged in GetDefEncoding.m New function GetAvailableEncodings. Updated the encoding arrays. * Headers/gnustep/base/GetDefEncoding.h: * Source/GetDefEncoding.m: This are now obsolete and therfore removed. * Source/NSString.m: Use GetAvailableEncodings in [availableStringEncodings] 2000-09-30 Richard Frith-Macdonald * Source/NSString.m: ([-initWithUTFString:length:]), ([-initWithData:encoding]) create UTF strings as 8-bit strings if they actually only contain ascii characters. * Source/GSXML.m: Create strings from UTF8 data throughout. * Headers/gnustep/base/NSObject.h: (CREATE_AUTORELEASE_POOL) use +new to avoid a message despatch overhead (combine allocWithZone and init). 2000-09-29 Richard Frith-Macdonald * Source/GSCompatibility.m: Fix stupid error in last modification - missed part of method name. * Source/GNUmakefile: Fix to get headers installed in $(GNUSTEP_SYSTEM_ROOT)/Headers/Foundation again. * Source/Makefile.postamble: Add code to install headers in $(GNUSTEP_SYSTEM_ROOT)/Headers/gnustep/Foundation as well - is this really necessary? * Headers/Foundation/GSXML.h: Removed new methods used for HTML parser * Source/GSXML.m: Renamed internal methods for xml/html parser differentiation and declared in private interface. Tidied to conform to coding standards. Added casts to prevent compiler warnings. * Documentation/gsdoc/GSXML.gsdoc: added html parser info 2000-09-29 Manuel Guesdon -- You'll need libxml2 v >= 2.2.3 to compile GSXML -- * Headers/Foundation/GSXML.h: added GSHTMLParser and GSHTMLSAXHandler * Source/GSXML.m: added GSHTMLParser and GSHTMLSAXHandler use of _private member of parser context instead of user_data which is not a freely useable user_data in libxml 2000-09-27 Richard Frith-Macdonald * Source/GSCompatibility.m: Use OpenStep standard string initialisation. * Source/NSSerializer.m: Use OpenStep stanrd initializers. * Source/NSUnarchiver.m: ditto * Source/NSData.m: Simplify by removing memory management extensions. * Source/NSGCString.m: ditto * Source/NSGString.m: ditto * Source/NSObject.m: ditto * Source/NSString.m: ditto * Source/externs.m: Removed unused NXConstantString assignments. * Source/GSXML.m: ([-propertiesAsDictionary]) bugfix adding nil object to dictionary. ([-externalSubset:externalID:systemID:]) method added. Fixes suggested by mguesdon@oxymium.net 2000-09-26 Lyndon Tremblay * Headers/Foundation/NSObject.h (CREATE_AUTORELEASE_POOL): Saves 1 message call. (RECREATE_AUTORELEASE_POOL): Added to reuse existing variables. 2000-09-25 Richard Frith-Macdonald * Source/NSURLHandle.m: ([-addClient:]) ensure that clients are only recorded once. * Documentation/gsdoc/NSURLHandle.gsdoc: flesh out descriptions and add type and protocol information. 2000-09-24 Adam Fedor * configure.in: Check for rint in math library... 2000-09-22 Richard Frith-Macdonald * Headers/gnustep/base/NSData.h: Added URL methods. * Headers/gnustep/base/GSXML.h: Reorganized init methods in line with Manuels ideas but with naming consistent with other classes. * Source/NSData.m: Added URL methods. * Source/NSURL.m: First attempt (untested) at code to load data. tolerate URLs where the network part is missing and the '//' left out. * Source/GSXML.m: Reorganized init methods in line with Manuels ideas but with naming consistent with other classes. Correct methods for setting parser behavior for the object concerned rather than default behavior for all parsers. Support NSURL parsing. * Source/propList.h: Update for change in GSXMLParser API. * Documentation/gsdoc/GSXMLParser.gsdoc: update for new initialisation methods. * Source/NSArray.m: Put code in place to generate XML proplists * Source/NSDictionary.m: Put code in place to generate XML proplists * Source/GSCompatibility.m: Put code in place to generate XML proplists but disable it until working entity replacement is done. 2000-09-21 Adam Fedor * configure.in: Check for rint. * Source/GSCompatibility.m: Define rint if not available. * Source/NSData.m (readContentsOfFile): Remove incorrectly used variable (MINGW). * Source/NSFileManager.m (-removeFileAtPath:handler:): Use more direct check if path is a dir. (directoryContentsAtPath): Likewise. (isExecutableFileAtPath): On MINGW, Return YES if a directory. (fileSystemRepresentationWithPath:): On MINGW, fix up paths that might come from Unix-like shells, like Cygwin bash, so they can be used with Windows functions. * Source/NSRunLoop.m (-acceptInputForMode:beforeDate:): On MINGW, check for errno==0 and continue as if there was no error. * Source/NSString.m (fileSystemRepresentation): Use NSFileManager's implementation. (getFileSystemRepresentation:): Likewise. (isAbsolutePath): Check fileSystemRepresentation. * Source/NSTask.m: Use fileSystemRepresentation instead of cString. * Source/NSUser.m (NSHomeDirectoryForUser): On MINGW, return nil if no home found. * Source/NSUser.m (pathForUser): Use GNUSTEP_ROOT if no user home found. * Testing/nsconnection_client.m: Use impl of getopt for MINGW. * Testing/nsconnection_server.m: Likewise. * Testing/nsscanner.m: Likewise. * Testing/nstask.m: Launch an appropriate Windows task. * Testing/nsstring.m: Catch exception during inappropriate string replacement. 2000-09-21 Richard Frith-Macdonald * Headers/gnustep/base/NSURLHandle.h: tidy up. * Source/NSURLHandle.m: Implement class and add simple implementation of a concrete subclass for handling file URLs. 2000-09-20 Richard Frith-Macdonald * Headers/gnustep/base/GSXML.h: Added ([-parser:]) and removed redundant 'length' info from callbacks. * Source/GSXML.m: Added ([-parser:]), tidied ([-parser]), fixed scope of functions, and removed redundant 'length' info from callbacks. * Documenttion/gsdoc/GSXMLParser.gsdoc: document ([-parser:]) * Documentation/gsdoc/GSSAXHandler.gsdoc: update for removal of redundant 'length' info on some callbacks. * Source/externs.m: Initialise strings using NSGCString because the NSString class +initialize method may not have completed when this is done - so NSString won't have cached its cocrete and abstract classes. * Source/GSCompatibility.m: Partial write of code to generate MacOS-X compatible (XML) property-list text. * Tools/gsdoc.m: Major (3 hours) effort to get code back to something vaguely like conformance with coding standards! Hope nothing got broken. 2000-09-19 Richard Frith-Macdonald * Headers/gnustep/base/GSXML.h: * Source/GSXML.m: Revert to earlier version to remove formatting/coding-standards errors, broken GSSAXHandler class, and complexity adding api additions. Continued integration of Michael Pakhantsovs code. Added Manuels +xmlEncodingStringForStringEncoding with tidying. Added Manuels -typeDescription with rewrite for performance. * Documenttion/gsdoc/GSXMLParser.gsdoc: added xmlEncodingStringForStringEncoding * Documenttion/gsdoc/GSXMLNode.gsdoc: added -typeDescription * Documentation/gsdoc/GSSAXHandler.gsdoc: added -parser method. 2000-09-19 Manuel Guesdon You'll need libxml2 v >= 2.2.3 to compile GSXML * Source/GSXML.m & Headers/Foundation/GSXML.h: corrected bugs, added added non guessing construction methods in GSXMLParser added -typeDescription in GSXMLNode added +xmlEncodingStringForStringEncoding: in GSXMLParser added inParserContext:(void*)parserContext parameter for GSSAXHandler 2000-09-19 Richard Frith-Macdonald * Source/NSURLHandle.m: Implemented subclass registry. 2000-09-19 Fred Kiefer * Headers/gnustep/base/Unicode.h: New functions encode_ustrtostr_strict() and encode_unitochar_strict() * Source/NSString.m: Impelemented [initWithUTF8String:] * Source/NSGCString.m: * Source/NSGString.m: Implemented method [dataUsingEncoding:allowLossyConversion:] * Source/Unicode.m: New strict methods for string conversion. 2000-09-15 Adam Fedor * configure.in: Turn off enable_fake_main if on MinGW. * Source/WindowsFileHandle.m: New class. * Source/NSFileHandle.m: Use it on MinGW * Source/NSTask.m: Break into concrete subclasses for Unix and Windows. * Source/NSProcessInfo.m: on MinGW, don't try to redefine __argv, __argc, etc. * Source/libgnustep_base_entry.m: Renamed from win32-entry.m * Tools/gdnc.m: Don't fork on MinGW * Tools/gdomap.c: Define MINGW ifdef MINGW32. 2000-09-15 Richard Frith-Macdonald * Source/GSXML.m: made method names more consistent. * Headers/gnustep/base/GSXML.h: made method names more consistent. * Documentation/gsdoc/GNUmakefile: Added GSXML files * Documentation/gsdoc/base.gsdoc: Added link to GSXML * Documentation/gsdoc/GSXML.gsdoc: Overview of XML parsing. * Documentation/gsdoc/GSSAXHandler.gsdoc: event parsing handler class. * Documentation/gsdoc/GSXMLAttribute.gsdoc: xml attribute wrapper. * Documentation/gsdoc/GSXMLDocument.gsdoc: xml document wrapper. * Documentation/gsdoc/GSXMLNamespace.gsdoc: xml namespace wrapper. * Documentation/gsdoc/GSXMLNode.gsdoc: xml node wrapper. * Documentation/gsdoc/GSXMLParser.gsdoc: xml parser wrapper. 2000-09-15 Richard Frith-Macdonald * Source/UnixFileHandle.m: conform to GCFinalization protocol. 2000-09-14 Adam Fedor * configure.in: Check for windows.h 2000-09-14 Richard Frith-Macdonald * Headers/gnustep/base/NSLock.h: conform to GCFinalization protocol. * Source/NSLock.m: deallocate mutex in gcFinalize. Don't raise an exception if mutex deallocation fails. 2000-09-13 Adam Fedor * Remove dependance on Source/Foundation link, additional MINGW ports. * Makefile.postamble (header-links): Remove Source/Foundation link. * Source/Makefile.preamble (HEADER_DIR): New variable. (ADDITIONAL_INCLUDE_DIRS): Include ../Headers. * Source/GNUmakefile (GENERATED_HEADERS): Change Foundation to $(HEADER_DIR). * Source/Makefile.postamble: Likewise. * Source/GSTcpPost.m: Update to handle MINGW (mostly copied from gdomap.c). * Source/NSFileManager.m (-findNextFile): Check if lstat, geteuid implemented. * Source/NSHost.m: Change includes for MINGW. * Source/NSPortNameServer.m: Likewise. * Source/NSPipe.m (init): Port to MINGW. * configure.in: Do preface.h substitutions here. * Source/Makefile.postamble (preface.h): Remove target. 2000-09-12 Richard Frith-Macdonald * Source/GSCompatibility.m: new file for MacOSX compatibility flags * Source/GNUmakefile: add GSCompatibility.m * Source/NSGeometry.m: Use GSMacOSXCompatibleGeometry() function to decide whether to produce MacOS-X format strings. * Source/propList.h: Parse MacOS-X format property lists as well as OpenStep format ones. 2000-09-12 Adam Fedor * configure.in: Check for symlin, readlink. * Source/GNUmakefile: Don't compile UnixFileHandle.m on mingw. (Will create WindowsFileHandle later...). * Source/NSFileManager.m (-createDirectoryAtPath:attributes:]): Create subpaths on mingw. (isDeletableFileAtPath:): Implement for mingw. (createSymbolicLinkAtPath): Implement only if HAVE_SYMLINK (pathContentOfSymbolicLinkAtPath): Implement only if HAVE_READLINK 2000-09-13 Fred Kiefer * Headers/gnustep/base/Unicode.h: Make function encode_ustrtostr public * Headers/gnustep/base/NSString.h: Added extra encodings. Added missing methods * Source/NSString.m: Added basic implementation for missing methods [stringWithUTF8String:], [initWithUTF8String:], [UTF8String], [stringWithContentsOfURL:], [initWithContentsOfURL:], [writeToURL:atomically:], [localizedCaseInsensitiveCompare:], [localizedCompare:], [compare:options:range:locale:] * Source/NSGCString.m: [getCharacters:] and [getCharacters:range:] use higher level methods for conversion. * Source/Unicode.m: Added conversion with iconv, this needs HAVE_ICONV. Made normal conversions faster by unrolling the case switch. 2000-09-12 Richard Frith-Macdonald * Makefile.postamble (header-links): Restore functionality on unix lost in last change, also (for MINGW) copy header files to the Source/Foundation directory in addition to Headers/Foundation. * Source/NSConnection.m: Address problems reported by georg@ist.org ... ([-connectionWithRegisteredName:host:usingNameServer:]) avoid returning local server connection - create new connection to it if necessary. ([-rootProxy]) return root object if sent to server connection. Also added some more debug statements. * Source/NSDistantObject.m: ([-methodForSelector:]) implemented to (hopefully) fix problem in pasteboard stuff. 2000-09-11 Adam Fedor * Mingw fixes. * Makefile.postamble (header-links): if MINGW, copy header files to Foundation (Mingw's gcc can't handle links). * Source/mframe/configure.in: Check target, not host. * Source/NSDate.m (GSTimeNow): Fix typo. * Source/NSData.m (readContentsOfFile): Fix up vars for MINGW. (-writeToFile:atomically:): Likewise. 2000-09-11 Richard Frith-Macdonald * Headers/gnustep/base/GSXML.h: new classes for parsing XML * Source/GSXML.m: new classes for parsing XML * Source/Makefile.preamble: Define HAVE_LIBXML if appropriate. * Source/GNUMakefile: Build new classes if appropriate. * Tools/Makefile.preamble: Removed libxml stuff - now done globally. 2000-09-10 Richard Frith-Macdonald * Source/NSCalendarDate: ([-initWithString:calendarFormat:locale:]) modify parsing to be more tolerant of numeric fields that are smaller than the expected size, but warn about unexpected format. 2000-09-08 Richard Frith-Macdonald * Source/NSAttributedString.m: Make -description produce output in same format as MacOS-X * Source/NSDistributedNotificationCenter.m: update method return types for macOS-X complience. * Headers/gnustep/base/NSDistributedNotificationCenter.h: ditto. 2000-09-08 Richard Frith-Macdonald * Source/NSGString.m: Removed obsolete methods and added range checks. * Source/NSGCString.m: ditto. * Source/NSAttributedString.m: Fix fencepost error in -description. 2000-09-08 Richard Frith-Macdonald * Source/NSRunLoop.m: ([-_checkPerformers:]) When a loop executes the method to deal with a ([-performSelector:target:argument:order:modes]), we cancel the request rather than leaving it to be actioned again next time round the loop. 2000-09-07 Richard Frith-Macdonald * Source/NSGeometry.m: Add code to parse MacOS-X format strings. Also produce MacOS-X format strings if the GSMacOSXCompatibleGeometry or GSMacOSXCompatible default is YES (the former overrides the latter). * Source/NSException.m: ([-name]) and ([-reason]) modifide to ensure that a nil is never returned. 2000-09-01 Fred Kiefer * Headers/gnustep/base/NSString.h: Added new encodings from specification * Headers/gnustep/base/NSNumberFormatter.h: * Source/NSNumberFormatter.m: Added skeleton for this class *Source/GNUmakefile: Added NSNumberFormatter.[hm] 2000-08-27 Manuel Guesdon * Tools/gsdoc-0_6_6.dtd: added elements for gnustep-db doc generator * Tools/gsdoc.m: handle gnustep-db doc generator 2000-08-24 Manuel Guesdon * Tools/gsdoc-0_6_6.dtd: added prjref element which enable explicit links between projects * Tools/gsdoc.m: handle prjref remove extensions from files in gsdocrefs (one day we'll generate other formats :-) 2000-08-23 Fred Kiefer * Headers/gnustep/base/NSDecimal.h: Use signed char for exponent, as char may be unsigned on some machines * Source/NSDecimal.m: Corrected some bugs and added a basic implementation based on GMP (Still not complete) 2000-08-23 Adam Fedor * Source/NSDebug.m (NSFrameAddress): New function (NSReturnAddress): Likewise. (NSCountFrames): Likewise. (impementation from alex@orderfusion.com). 2000-08-16 Manuel Guesdon * Tools/gsdoc-0_6_6.dtd: added conform for category * Tools/gsdoc.m: correct bugs and added inter/intra-projects link generations * Tools/AutoDocTemplate.gsdoc: correct problems * Tools/indextemplate.gsdoc: correct problems 2000-08-16 Richard Frith-Macdonald * Source/NSDebug.m: Fix memory leak when adding new class to array of those being recorded - report by Frederic.De.Jaeger 2000-08-13 Manuel Guesdon * Tools/gsdoc.gsdoc: added examples on how to use AutoDoc and GSDoc. 2000-08-13 Manuel Guesdon * Tools/GNUmakefile: added DocTemplates * Tools/Makefile.postamble: added DocTemplates * Tools/indextemplate.gsdoc: New file. Use it as template for gsdoc index generation * Tools/AutoDocTemplate.gsdoc: New File: Use it as template for AutoDoc source-to-documentation generation. 2000-08-13 Manuel Guesdon * Tools/gsdoc-0_6_6.dtd: added ivariable, constant and stylesheet * Tools/gsdoc.m: added ivariable, constant and stylesheet support added index generation * Tools/gsdoc.gsdoc: added parameters documentation 2000-08-13 Richard Frith-Macdonald * Documentation/gsdoc/NSString.gsdoc: add documentation for replacing strings within the reciever. * Documentation/gsdoc/NSMutableString.gsdoc: ditto 2000-08-08 Richard Frith-Macdonald * Headers/gnustep/base/all.h: Moved to Old as obsolete file. * Headers/gnustep/base/Arch: dittoiver.m * Headers/gnustep/base/Archiver.h: ditto * Headers/gnustep/base/Array.h: ditto * Headers/gnustep/base/ArrayPrivate.h: ditto * Headers/gnustep/base/Bag.h: ditto * Headers/gnustep/base/BinaryCStream.h: ditto * Headers/gnustep/base/BinaryTree.h: ditto * Headers/gnustep/base/BinaryTreeNode.h: ditto * Headers/gnustep/base/CircularArray.h: ditto * Headers/gnustep/base/CircularArrayPrivate.h: ditto * Headers/gnustep/base/Coder.h: ditto * Headers/gnustep/base/CoderPrivate.h: ditto * Headers/gnustep/base/Coding.h: ditto * Headers/gnustep/base/Collecting.h: ditto * Headers/gnustep/base/Collection.h: ditto * Headers/gnustep/base/CollectionPrivate.h: ditto * Headers/gnustep/base/CStream.h: ditto * Headers/gnustep/base/CStreaming.h: ditto * Headers/gnustep/base/DelegatePool.h: ditto * Headers/gnustep/base/Dictionary.h: ditto * Headers/gnustep/base/Enumerating.h: ditto * Headers/gnustep/base/GapArray.h: ditto * Headers/gnustep/base/GapArrayPrivate.h: ditto * Headers/gnustep/base/Heap.h: ditto * Headers/gnustep/base/IndexedCollecting.h: ditto * Headers/gnustep/base/IndexedCollection.h: ditto * Headers/gnustep/base/IndexedCollectionPrivate.h: ditto * Headers/gnustep/base/InvalidationListening.h: ditto * Headers/gnustep/base/Invocation.h: ditto * Headers/gnustep/base/Invoking.h: ditto * Headers/gnustep/base/KeyedCollecting.h: ditto * Headers/gnustep/base/KeyedCollection.h: ditto * Headers/gnustep/base/LinkedList.h: ditto * Headers/gnustep/base/LinkedListNode.h: ditto * Headers/gnustep/base/Locking.h: ditto * Headers/gnustep/base/Mach: dittoPort.m * Headers/gnustep/base/MachPort.h: ditto * Headers/gnustep/base/Magnitude.h: ditto * Headers/gnustep/base/MappedCollector.h: ditto * Headers/gnustep/base/MemoryStream.h: ditto * Headers/gnustep/base/NotificationDispatch: dittoer.m * Headers/gnustep/base/NotificationDispatcher.h: ditto * Headers/gnustep/base/OldNSConnection.h: ditto * Headers/gnustep/base/OldNSPortCoder.h: ditto * Headers/gnustep/base/OrderedCollecting.h: ditto * Headers/gnustep/base/OrderedCollection.h: ditto * Headers/gnustep/base/Ordering.h: ditto * Headers/gnustep/base/Port.h: ditto * Headers/gnustep/base/Queue.h: ditto * Headers/gnustep/base/RandomGenerating.h: ditto * Headers/gnustep/base/Random.h: ditto * Headers/gnustep/base/RawCStream.h: ditto * Headers/gnustep/base/RBTree.h: ditto * Headers/gnustep/base/RBTreeNode.h: ditto * Headers/gnustep/base/Retaining.h: ditto * Headers/gnustep/base/RNGAdditiveCongruential.h: ditto * Headers/gnustep/base/RNGBerkeley.h: ditto * Headers/gnustep/base/RunLoop.h: ditto * Headers/gnustep/base/Set.h: ditto * Headers/gnustep/base/SplayTree.h: ditto * Headers/gnustep/base/Stack.h: ditto * Headers/gnustep/base/StdioStream.h: ditto * Headers/gnustep/base/Stream.h: ditto * Headers/gnustep/base/Streaming.h: ditto * Headers/gnustep/base/TcpPort.h: ditto * Headers/gnustep/base/TextCStream.h: ditto * Headers/gnustep/base/Time.h: ditto * Headers/gnustep/base/UdpPort.h: ditto * Headers/gnustep/base/ValueHolding.h: ditto * Source/Array.m: ditto * Source/Bag.m: ditto * Source/BinaryCStream.m: ditto * Source/BinaryTree.m: ditto * Source/BinaryTreeNode.m: ditto * Source/CircularArray.m: ditto * Source/Coder.m: ditto * Source/Collection.m: ditto * Source/CStream.m: ditto * Source/Decoder.m: ditto * Source/DelegatePool.m: ditto * Source/Dictionary.m: ditto * Source/Encoder.m: ditto * Source/GapArray.m: ditto * Source/Heap.m: ditto * Source/IndexedCollection.m: ditto * Source/Invocation.m: ditto * Source/KeyedCollection.m: ditto * Source/LinkedList.m: ditto * Source/LinkedListNode.m: ditto * Source/Magnitude.m: ditto * Source/MappedCollector.m: ditto * Source/MemoryStream.m: ditto * Source/OldNSConnection.m: ditto * Source/OldNSPortCoder.m: ditto * Source/OrderedCollection.m: ditto * Source/Port.m: ditto * Source/Queue.m: ditto * Source/Random.m: ditto * Source/RawCStream.m: ditto * Source/RBTree.m: ditto * Source/RBTreeNode.m: ditto * Source/RNGAdditiveCongruential.m: ditto * Source/RNGBerkeley.m: ditto * Source/Set.m: ditto * Source/SplayTree.m: ditto * Source/Stack.m: ditto * Source/StdioStream.m: ditto * Source/Stream.m: ditto * Source/TcpPort.m: ditto * Source/TextCStream.m: ditto * Source/UdpPort.m: ditto * Testing/cstream.m: ditto * Testing/invocation_char.m: ditto * Testing/invocation_int.m: ditto * Testing/invocation_long.m: ditto * Testing/invocation.m: ditto * Testing/invocation_short.m: ditto * Testing/ostream.h: ditto * Testing/ostream.m: ditto * Testing/pipes.m: ditto 2000-08-07 Adam Fedor * Merge 0.6.6 branch into main. 2000-07-24 Richard Frith-Macdonald * Tools/gdomap.c: Permit dumping of internal table of known peer nameservers when sent SIGUSR1 2000-07-20 Richard Frith-Macdonald * Tools/gdomap.c: Bugfix for GDO_NAMES (patch provided by Bjoern) 2000-07-18 Richard Frith-Macdonald * Tools/gdomap.h: Add new GDO_NAMES command. * Tools/gdomap.c: Incorporate MINGW port by Bjoern.Giesler@gmx.de after modifications to conform to coding standards. Add GDO_NAMES support to list all registered names. 2000-07-16 Fred Kiefer * Headers/gnustep/base/NSDecimal.h: * Headers/gnustep/base/NSDecimalNumber.h: Included missing functions and changed type definition. * Source/NSDecimal.m: Basic implementation of NSDecimal. An implementation using GMP will follow. * Source/NSDecimalNumber.m: Use the NSDecimal functions for this class * Source/GNUMakefile: Add NSDecimal and NSDecimalNumber 2000-08-06 Adam Fedor * Version 0.6.6 released. * Source/NSTimer.m (-compare:): Add return to quiet warning. 2000-08-04 Richard Frith-Macdonald * Source/NSPortNameServer.m: include netinet/in.h as needed on FreeBSD to define values used in arpa/inet.h 2000-08-03 Richard Frith-Macdonald * Source/NSHost: ([_initWithHostEntry:key:]) workaround for buggy host entries with missing h_aliases 2000-08-03 Richard Frith-Macdonald * NSTimeZones/NSTimeZones.tar: Updated to latest (July 31st) info 2000-08-02 Adam Fedor * Version: Update version number * Documentation/announce.tmpl.texi: Update * Documentation/readme.tmpl.texi: Likewise. * Documentation/news.tmpl.texi: Likewise. * Documentation/todo.tmpl.texi: Likewise. * ANNOUNCE, BUGS, NEWS, README: Regenerate 2000-08-02 Adam Fedor * Testing/nsconnection_client.m: Rewrite, organize. * Testing/nsconnection_server.m: Likewise. 2000-08-02 Richard Frith-Macdonald * Source/GSTcpPort.m: ([-removeHandle:]) corrected logic for releasing self when port was created and retained by an incoming connection. 2000-08-01 Adam Fedor * Source/NSConcreteNumber.m (-compare:): Add return at end to quiet compiler warning. * Source/NSFileHandle.m: Change +fileHandle... methods to use abstracts class's allocWithZone. * Source/libgnustep-base.def: Update for new/removed classes. 2000-08-01 Richard Frith-Macdonald * Source/NSCalendarDate.m: Correct order of args to lastDayOfGregorianMonth() * Source/NSPortCoder.m: Handle classes encoded as objects specially. * Source/NSArchiver.m: ditto. * Source/NNSUnarchiver.m: ditto. 2000-07-31 Richard Frith-Macdonald * Source/Foundation/NSDebug.h: removed GS_IMPORT * Source/Foundation/NSObjCRuntime.h: ditto * Source/Foundation/GSConfig.h.in: ditto 2000-07-31 Richard Frith-Macdonald * Source/NSString.m: implement -cStringLength correctly in terms of other methods of the abstract class, rather than making the subclass do it. Cache [-characterAtIndex:] implementation for speed throughout. * Source/Unicode.m: Remove uslen() function - unused and unsafe. Tidied code and optimised a little. * Source/Foundation/Unicode.h: Remove uslen() * Source/NSNumber.m: Check for nul argument to [-compare:] * Source/NSDate.m: ditto * Source/NSObject.m: ditto * Source/NSConcreteNumber.m: ditto * Source/NSTimer.m: ditto 2000-07-30 Richard Frith-Macdonald * Tools/nconnection.m: Trivial test of basic inter-thread use of DO taken from example code in Applde documentation. 2000-07-29 Richard Frith-Macdonald Varous cluster classes - Bugfix to let allocWithZone work for new concrete subclasses in the cluster. * Source/NSPortCoder.m: Accept classes when asked to decode object. * Source/NSUnarchiver.m: ditto. 2000-07-28 Richard Frith-Macdonald * Source/NSConnection.m: Don't create/use locks until the app goes multi-threaded. * Source/GSTcpPort.m: ditto. 2000-07-27 Richard Frith-Macdonald * Source/GSTcpPort.m: Fix stupid error in last bugfix * Source/Foundation/GSConfig.h.in: define GS_SIZEOF_VOIDP * configure.in: provide GS_SIZEOF_VOIDP 2000-07-27 Richard Frith-Macdonald * Source/NSThread.m: clarify code for getting current thread. 2000-07-27 Richard Frith-Macdonald * Source/Foundation/NSDebug.h: Bugfix reported by Frederic.De.Jaeger to prevent incorrect processor handling of cases where logging format string has no arguments. 2000-07-26 Richard Frith-Macdonald * Source/GSTcpPort.m: When given bad data on a socket, log a message and invalidate the socket handle rather than raising an exception and crashing. Should make system more robust in the face of attacks. 2000-07-24 Adam Fedor * Source/GSTcpPort.m (-sendBeforeDate:msgid:components:from:reserved:]): Correct typo. 2000-07-24 Richard Frith-Macdonald Testing directory tidied to reflect removal of old classes. * Source/NSTimer.m: Tidied a little. 2000-07-23 Richard Frith-Macdonald Old DO code removed along with associated libObjects classes that it required - library slimmed down. 2000-07-21 Richard Frith-Macdonald * Source/NSGCString.m: implement methods to get numeric values. * Source/NSGString.m: implement methods to get numeric values. 2000-07-19 Adam Fedor * Documentation/news.tmpl.texi: Update. * Documentation/todo.tmpl.texi: Update. 2000-07-18 Richard Frith-Macdonald * Tools/Makefile.postamble: Improve warning messages for gdomap install * Source/NSProcessInfo.m: Change __MINGW32__ to __MINGW__ * Source/GSTcpPort.m: improve encoding of local port for send over wire 2000-07-17 Adam Fedor * Source/NSZone.m: Remove duplicate function definitions (when GS_WITH_GC is 1) already defined in NSZone.h. 2000-07-17 Richard Frith-Macdonald * Source/externs.m: Some evil casts to avoid compiler warnings about assigning to constant variables when we initiallise them. * Source/NSGSet.m: implemented [-anyObject] and [-allObjects] * Source/NSSet.m: Fix to encode subclasses as abstract class. Remove unused methods for set/get concrete class * Source/NSCountedSet.m: ditto * Source/NSNumber.m: Use explicitly signed types for portability - particularly for systems (eg PPC) where char is not signed by default. * Source/NSConcrete.m: ditto. * Source/NSConcreteNumber.m: ditto. * Source/Foundation/NSValue.h: ditto * Source/Foundation/NSConcreteNumber.h: ditto * Source/NSArray.m: Remove unused methods for set/get concrete class * Source/NSDictionary.m: ditto. * Source/NSString.m: ditto. * Source/NSAttributedString.m: ditto. * Source/NSHost.m: store names and addresses in sets for improved performance (comparisons). Encode host as an address other than loopback if possible. Add code for a new '+localHost' method to try to get ALL names/addresses of current host. * Source/NSPortNameServer.m: Use new localHost method. * Source/GSTcpPort.m: Use new localHost method. 2000-07-16 Adam Fedor * Tools/GNUmakefile (gdomap): Make as a C-tool rather than an Objective-C program (no need for libobjc). 2000-07-07 Jonathan Gapen * Source/NSString.m: (-initWithFormat:), (-initWithFormat:locale:), (-initWithFormat:arguments:) now implemented by calling (-initWithFormat:locale:arguments:) * Source/externs.m: Add strings defined in MacOS X documentation, and useful strings from OPENSTEP 4.2. 2000-07-07 Richard Frith-Macdonald * Source/GSTcpPort.m: set size for return buffer of getsockbyname() 2000-07-07 Richard Frith-Macdonald * Source/NSRunLoop.m: Minor optimisation in select(), also update servicing oorder of inputs to provide fairer allocation of processing. 2000-07-06 Richard Frith-Macdonald * Source/NSConnection.m: Some thread safety improvements. 2000-07-06 Richard Frith-Macdonald * Source/GSTcpPort.m: Add code to cope with machines requiring word alignment for memory references. 2000-07-05 Richard Frith-Macdonald * Tools/Makefile.postabmle: Create directory for DTDs if needed 2000-07-05 Richard Frith-Macdonald * Source/GSTcpHandle.m: fix error resetting size of data to be read - could cause occasional crashes! 2000-07-05 Richard Frith-Macdonald * Source/NSConnection.m: Update to use GSIMap rather than NSMap in order to regain performance lost by adding code to ensure that reply packets cannot be leaked. Fixed error in old connection code - due to a typing error a line had got deleted that was removing the connection from the global table on deallocation. * Source/NSPortNameServer.m: Fix to avoid errors when given bad nameserver IP address info. 2000-07-04 Richard Frith-Macdonald * Makefile.preamble: define GS_NEW_DO to specify whether the new or the old DO code is to be used. Change the define and rebuild the library if you need the old DO code. Advantages of new code - MacOS-X compatibly Should work between different processor architectures and word sizes Might work for inter-thread communication Approx 25% faster Permit packet authentication/encryption Disadvantages - not well tested - development version removed many old methods. * Headers/gnustep/base/GSConnection.h: removed - merged into NSConnection.h * Headers/gnustep/base/GSPortCoder.h: removed - merged into NSPortCoder.h * Source/GSConnection.m: removed - merged into NSConnection.m * Source/GSPortCoder.m: removed - merged into NSPortCoder.m * Source/NSPortNameServer.m: Use GS_NEW_DO define to determine default port class * Documentation/gsdoc/NSConnection.gsdoc: Added descriptions of all the methods in the new implementation. The class is perilously close to being fully documented! * Documentation/gsdoc/...: updated all files to use new dtd. 2000-07-04 Richard Frith-Macdonald * Source/GSConnection.m: Improved coder caching and added code for multiple thread support. * Source/GSPortCoder.m: Improved performance of class version lookup and tidied. * Source/GSTcpPort.m: Ensure we don't remain in the run loop any longer than necessary. * Source/NSArchiver.m: minor tidyup * Source/NSDistantObject.m: minor performance tweak * Source/NSUnarchiver.m: minor tidyup. * Source/NSPortNameServer.m: Update for MacOS-X 2000-07-03 Richard Frith-Macdonald * Source/GSConnection.m: Cache coders fro performance. * Source/GSPortCoder.m: support re-use. * Source/GSTcpPort.m: tidy locking. * Source/NSData.m: optimize +new * Source/NSGCString.m: optimize -hash * Source/NSGDictionary.m: optimize string hashing * SourceNSObject.m: Call GSBuildStrings() for global constants. * Source/NSPort.m: Create GSTcpPort by default. * Source/externs.m: GSBuildStrings() now used to make string constants that support cached hash values * Testing/client.m: Added simple benchmarking. * Testing/server.m: Added method for simple benchmarking. * Testing/server.h: Added method for simple benchmarking. * Tools/gdnc.m: String OPENSTEP use of DO 2000-07-02 Richard Frith-Macdonald * Source/GSConnection.m: Implementation almost complete * Source/GSPortCoder.m: Completed * Source/GSTcpPort.m: tidied for MacOS-X compatibility * Source/NSArchiver.m: Bugfix encoding structures containing arrays * Source/NSData.m: minor tidy * Source/NSDistantObject.m: update for new implementation * Source/NSInvocation.m: bugfix decoding * Source/NSPort.m: update for MacOS-X complience * Source/NSPortNameServer.m: tidied * Testing/client.m: Update * Testing/server.m: update 2000-06-30 Adam Fedor libgstep-base now compiles (and links) into a DLL on Cygwin. * configure.in: Typo in checking for cygwin. * Headers/gnustep/base/NSHashTable.h: GS_EXPORT functions. * Headers/gnustep/base/NSMapTable.h: Likewise. * Source/Makefile.postamble (libgnustep-base.def) Target to generate def file. * Source/libgnustep-base.def: Updated. * Source/NSProcessInfo.m: Error message if GS_PASS_ARGUMENTS. Don't define main if GS_PASS_ARGUMENTS. 2000-06-30 Richard Frith-Macdonald * Headers/gnustep/base/NSDate.h: Added GSTime() function * Source/NSDate.m: More efficient MINGW date creation * Source/NSCalendarDate.m: optimised date creation from yymmddhhmmss * Source/NSData.m: MINGW file read and write operations added (untested) * Source/NSFileManager.m: MINGW file operations updated. 2000-06-30 Richard Frith-Macdonald Coding/decoding modifications to make system more in line with OPENSTEP/MacOS-X. Tidyup of global string constants. Advanced development of DO rewrite. * Headers/gnustep/base/DistributedObjects.h: removed obsolete info * Headers/gnustep/base/GSConnection.h: improved and tidied * Headers/gnustep/base/GSPortCoder.h: private method for connection * Headers/gnustep/base/NSArchiver.h: remove libobjects compatibility * Headers/gnustep/base/NSCoder.h: added libobjects compatibility * Headers/gnustep/base/NSException.h: tidied * Headers/gnustep/base/NSPortMessage.h: private method for connections * Headers/gnustep/base/NSRunLoop.h: tidied string constants. * Headers/gnustep/unicode/decomp.h: tidied to avoid compiler warning. * Source/GSConnection.m: largely implemented (untested) * Source/GSPortCoder.m: more efficient data coding * Source/NSArchiver.m: moved global constants to externs.m * Source/NSAttributedString.m: don't call super coding methods. * Source/NSCoder.m: add libobjects compatibility * Source/NSConnection.m: tidied a few bugs * Source/NSDistantObject.m: don't call super coding methods. * Source/NSGAttributedString.m: don't call super coding methods. * Source/NSHost.m: don't call super coding methods. * Source/NSNotification.m: don't call super coding methods. * Source/NSObject.m: tidied a little * Source/NSPort.m: moved global constants to externs.m * Source/NSPortMessage.m: new access method for connections. * Source/NSRunLoop.m: moved global constants to externs.m * Source/NSTimeZone.m: don't call super coding methods. * Source/NSURL.m: don't call super coding methods. * Source/NSUnarchiver.m: tidied. * Source/externs.m: Tdied and added new global constants. 2000-06-28 Adam Fedor Extension to force process args to be forwarded by the user. * configure.in (enable-pass-arguments): New switch that forces user to call NSProcessInfo initialization with process arguments. * Headers/gnustep/base/GSConfig.h.in (GS_PASS_ARGUMENTS): New define. * Source/NSProcessInfo.m (+initializeWithArguments:count:environment:): New method. * Tools/defaults.m (main): Update to call method if GS_PASS_ARGUMENTS. * Tools/gdnc.m: Likewise. * Tools/gsdoc.m: Likewise. * Tools/pldes.m: Likewise. * Tools/plmerge.m: Likewise. * Tools/plparse.m: Likewise. * Tools/plser.m: Likewise. * Tools/sfparse.m: Likewise. * Source/behavior.m: Define __objc_uninstalled_dtable if not available from runtime. 2000-06-28 Richard Frith-Macdonald Various minor tidyups for distributed objects - and included development code for NSConnection rewrite. * Headers/gnustep/base/DistributedObjects.h: removed obsolete methods * Headers/gnustep/base/GSConnection.h: temporary (development) class * Headers/gnustep/base/GSPortCoder.h: private method for GSConnection * Headers/gnustep/base/NSConnection.h: tidied * Source/GSConnection.m: temporary (development) class * Source/GSPortCoder.m: private method for GSConnection * Source/NSConnection.m: tidied a little - retain/release fixes * Source/NSDistantObject.m: tidied a little - use OPENSTEP method for creating new connection. * Source/NSPortCoder.m: tidied to work without GNU specific code. 2000-06-27 Adam Fedor * Fixes on solaris/gcc 2.8.0 * configure.in: Check for whoami location. * Source/Makefile.postamble: Use it. * Tools/Makefile.postamble: Use it. * Tools/gsdoc.m: Make sure exit status is 0 when no libxml * Makefile.postamble: Don't make documentation on install. Can't guarentee that library path is setup correctly yet. * Source/NSData.m: Correct sense of NEEDS_WORD_ALIGN test. 2000-06-27 Richard Frith-Macdonald * Source/NSPort.m: Add default support for coding using the encodePortObject and decodePortObject methods. * Source/NSData.m: Use encodeDataObject and decodeDataObject 2000-06-26 Adam Fedor * Source/NSTimer.m (-invalidate): Remove assertion. 2000-06-26 Richard Frith-Macdonald * Source/GSPortCoder.m: Rewrite of NSPortCoder - under development. * Headers/gnustep/base/GSPortCoder.h: ditto * Source/GNUmakefile: Build GSPortCoder 2000-06-26 Richard Frith-Macdonald * Source/NSCoder.m: Use AUTORELEASE and tidy up. * Source/NSArchiver.m: Fix bug in ([-replaceObject:withObject:]) * Source/NSObject.m: Optimise default replacementObjectForPortCoder 2000-06-23 Richard Frith-Macdonald * Source/NSFileHandle.m: Use AUTORELEASE and tidy up. 2000-06-21 Adam Fedor * Shared library (DLL) fixes on Windows * configure.in: Check for alternate objc (DLL) libraries. Look for objc_get_uninstalled_dtable. * Source/behavior.m (behavior_class_add_methods): Don't look for uninstalled_dtable if no objc_get_uninstalled_dtable. (check_class_methods): Remove unused. * Source/objc-load.m: Likewise. * Headers/gnustep/base/NSObjCRuntime.h: Define GS_EXPORT * Headers/gnustep/base/NSZone.h: Define functions either static or extern depending on whether NSZone.m is being compiled. * Source/NSZone.m: Remove duplicate functions. * Source/Makefile.preamble (LIBRARIES_DEPEND_UPON): Add -lobjc if on windows. * Source/UdpPort.m: Use NSMutableArray. 2000-06-19 Adam Fedor * Source/NSBundle.m (_bundle_name_first_match): Work even when filename has a directory component. (patch from Julian van Greunen ). 2000-06-21 Richard Frith-Macdonald * Source/NSScanner.m: ([-scanHexInt:]) fixed to permit leading 0x or 0X * Documentation/gsdoc/NSScanner.gsdoc: fleshed out * Tools/Makefile.postamble: Added documentation target - build before install * Tools/gsdoc-0_6_6.dtd: New dtd under development - add java support, permit multiple indices at end of document, permit
element. * Tools/gsdoc.m: Update to work with current dtd * Tools/gsdoc.gsdoc: Add a little more text on document body structure. 2000-06-20 Richard Frith-Macdonald * configure.in: Added check for recent libxml * config.mak.in: Added defeine for HAVE_LIBXML * Tools/gsdoc.m: Added from GSDoc and modified for standard libxml 2.0 installation * Tools/gsdoc-0_6_5.dtd: Added from GSDoc * Tools/gsdoc.gsdoc: Added from GSDoc * Tools/gnustep.gsdoc: Added from GSDoc * GSDoc: all removed * Examples: removed obsolete code. 2000-06-19 Richard Frith-Macdonald * Source/NSDate.m: Remove obsolete classForConnectedCoder method * Source/NSPort.m: ditto * Source/NSTcpPort.m: ditto * Source/NSUdpPort.m: ditto * Source/GNUmakefile: remove ConnectedCoder * Source/ConnectedCoder.m: removed * Headers/gnustep/base/ConnectedCoder.h: removed 2000-06-16 Richard Frith-Macdonald Removal of non-OpenStep unused classes. * Headers/gnustep/base/Archiver.h: removed * Headers/gnustep/base/Array.h: removed * Headers/gnustep/base/ArrayPrivate.h: removed * Headers/gnustep/base/Bag.h: removed * Headers/gnustep/base/BinaryTree.h: removed * Headers/gnustep/base/BinaryTreeNode.h: removed * Headers/gnustep/base/CircularArray.h: removed * Headers/gnustep/base/CircularArrayPrivate.h: removed * Headers/gnustep/base/Collecting.h: removed * Headers/gnustep/base/Collection.h: removed * Headers/gnustep/base/CollectionPrivate.h: removed * Headers/gnustep/base/DelegatePool.h: removed * Headers/gnustep/base/Dictionary.h: removed * Headers/gnustep/base/GapArray.h: removed * Headers/gnustep/base/GapArrayPrivate.h: removed * Headers/gnustep/base/Heap.h: removed * Headers/gnustep/base/IndexedCollecting.h: removed * Headers/gnustep/base/IndexedCollection.h: removed * Headers/gnustep/base/IndexedCollectionPrivate.h: removed * Headers/gnustep/base/InvalidationListening.h: removed * Headers/gnustep/base/Invocation.h: removed * Headers/gnustep/base/Invoking.h: removed * Headers/gnustep/base/KeyedCollecting.h: removed * Headers/gnustep/base/KeyedCollection.h: removed * Headers/gnustep/base/LinkedList.h: removed * Headers/gnustep/base/LinkedListNode.h: removed * Headers/gnustep/base/Magnitude.h: removed * Headers/gnustep/base/MappedCollector.h: removed * Headers/gnustep/base/NotificationDispatcher.h: removed * Headers/gnustep/base/OrderedCollecting.h: removed * Headers/gnustep/base/OrderedCollection.h: removed * Headers/gnustep/base/Queue.h: removed * Headers/gnustep/base/RBTree.h: removed * Headers/gnustep/base/RBTreeNode.h: removed * Headers/gnustep/base/RNGAdditiveCongruential.h: removed * Headers/gnustep/base/RNGBerkeley.h: removed * Headers/gnustep/base/Random.h: removed * Headers/gnustep/base/RandomGenerating.h: removed * Headers/gnustep/base/RunLoop.h: removed * Headers/gnustep/base/Set.h: removed * Headers/gnustep/base/SplayTree.h: removed * Headers/gnustep/base/Stack.h: removed * Headers/gnustep/base/Time.h: removed * Headers/gnustep/base/all.h: removed * Source/Archiver.m: removed * Source/Array.m: removed * Source/Bag.m: removed * Source/BinaryTree.m: removed * Source/BinaryTreeNode.m: removed * Source/CircularArray.m: removed * Source/Collection.m: removed * Source/DelegatePool.m: removed * Source/Dictionary.m: removed * Source/GapArray.m: removed * Source/Heap.m: removed * Source/IndexedCollection.m: removed * Source/Invocation.m: removed * Source/KeyedCollection.m: removed * Source/LinkedList.m: removed * Source/LinkedListNode.m: removed * Source/Magnitude.m: removed * Source/MappedCollector.m: removed * Source/NotificationDispatcher.m: removed * Source/OrderedCollection.m: removed * Source/Queue.m: removed * Source/RBTree.m: removed * Source/RBTreeNode.m: removed * Source/RNGAdditiveCongruential.m: removed * Source/RNGBerkeley.m: removed * Source/Random.m: removed * Source/Set.m: removed * Source/SplayTree.m: removed * Source/Stack.m: removed * Source/GNUmakefile: remove referenced to reomved classes 2000-06-16 Richard Frith-Macdonald * Headers/gnustep/base/NSGArchiver.h: removed obsolete file. * Source/NSGArchiver.m: removed obsolete file. * configure.in: Check for existence of NSArray.m to find source * Headers/gnustep/base/NSDictionary.h: Remove unused headers. * Headers/gnustep/base/Port.h: ditto * Headers/gnustep/base/NSConnection.h: ditto * Headers/gnustep/base/TcpPort.h: ditto * Headers/gnustep/base/NSGArray.h: ditto * Headers/gnustep/base/NSSet.h: ditto * Headers/gnustep/base/NSGSet.h: ditto * Headers/gnustep/base/NSRange.h: ditto * Source/Coder.m: Removed dependencies on some old classes * Source/Decoder.m: ditto * Source/Port.m: ditto * Source/TcpPort.m: ditto * Source/UdpPort.m: ditto * Source/NSGCString.m: ditto * Source/NSGString.m: ditto * Source/NSObject.m: ditto * Source/NSString.m: ditto 2000-06-15 Adam Fedor * Headers/gnustep/base/NSObject.h: Add base/preface include 2000-06-13 Adam Fedor * configure.in: Look for getopt.h * Source/NSBundle.m (+_absolutePathOfExecutable:): Add '.' if not already in path. * Source/NSPage.m: Use malloc if no valloc. * Testing/GNUmakefile: Remove non-OpenStep tests. * Tools/gdomap.c: Change WIN32 to MINGW. Check if IFF_POINTOPOINT is defined. * Headers/gnustep/base/*h: Remove preface include from headers. Change extern function and var definitions to GS_EXPORT for better handling of DLLs * Headers/gnustep/base/NSObjCRuntime.h: Set definition of GS_EXPORT based on using or compiling DLL 2000-06-11 Adam Fedor * Headers/gnustep/base/preface.h.in: Define MINGW if MINW32. * Headers/gnustep/base/TcpPort.h: Change WIN32 to MINGW since CYGWIN has unix-like services. * Headers/gnustep/base/UdpPort.h: Likewise. * Source/GSTcpPort.m, Source/NSData.m, Source/NSDate.m, Source/NSFileManager.m, Source/NSHost.m, Source/NSLog.m, Source/NSPage.m, Source/NSProcessInfo.m, Source/NSString.m, Source/NSThread.m, Source/NSUser.m, Source/UdpPort.m, Source/UnixFileHandle.m, : Likewise. * Source/Makefile.postamble: touch generated h files so they aren'y re-copied every compile. * Source/NSBundle.m (_absolutePathOfExecutable:): New method. (mainBundle): Use it. * Source/NSTask.m (launch): Likewise. * Source/find_exec.m: Removed. 2000-06-09 Richard Frith-Macdonald * Source/GSeq.h: Reverted bogus change. 2000-06-06 Adam Fedor * Code cleanup to help with Windows port. * configure.in: Check for some extra headers. Remove obsolete stuff. * Source/BinaryCStream.m: Fix includes for WIN32 * Source/NSCalandarDate.m: Likewise. * Source/NSDate.m: Likewise. * Source/NSLog.m: Likewise. * Source/NSPipe.m: Likewise. * Source/NSProcessInfo.m: Likewise. * Source/NSRunLoop.m: Likewise. * Source/NSUserDefaults.m: Likewise. * Source/StdioStream.m: Likewise. * Source/UdpPort.m: Likewise. * Tools/gdomap.c: Likewise. * Source/NSBinaryCStream: Use NSByteOrder functions. * Source/UdpPort.m: Likewise. * Source/Invocation.m (initWithTarget:selector:): Use proper cast. * Source/NSFileManager.m (-isExecutableFileAtPath): Typo. * Source/NSPage.m (getpagesize): New function for WIN32 * Source/NSString.m (-indexOfString): New method. * Source/NSBundle.m (bundle_directory_readable, bundle_file_readable, _bundle_name_first_match): New functions use NSFileManager instead of unix dir functions. (-initWithPath:) Use them. (-pathForResource:...): Likewise. (-pathsForResource:...): Likewise. 2000-06-02 Richard Frith-Macdonald * Headers/gnustep/base/NSConnection.h: Changed reply_depth ivar to be called request_depth instead. * Source/NSConnection.m: Changed reply_depth ivar to request_depth and modified code to make independent conversation queueing effective on the basis of incoming requests being handled rather than outgoing replies. This should make it work for oneway methods. Tue May 30 19:54:25 2000 Nicola Pero * Source/NSProcessInfo.m ([NSProcessInfo +load]): If environ == NULL, abort with an informative message rather than crashing without explanations. 2000-05-27 Richard Frith-Macdonald * Source/NSBundle.m: Protect all use of map tables of bundles using lock - should make class thread-safe. 2000-05-25 Adam Fedor * Headers/gnustep/base/GSIArray.h: remove config.h * Headers/gnustep/base/GSIMap.h: Likewise. 2000-05-24 Richard Frith-Macdonald * Source/NSFileManager.m: ([-directoryContentsAtPath:]) Don't follow symbolic links 2000-05-23 Adam Fedor * Source/NSBundle.m (+initialize): Check if /proc/self/exe returns a real link, otherwise get path from NSProcessInfo. * NSData: Correct #ifdef NEEDS_WORD_ALIGN to #if 2000-05-22 Richard Frith-Macdonald * Source/GSeq.h: comparison with zero length range is always NSOrderdSame 2000-05-21 Richard Frith-Macdonald * Source/NSDistantObject.m: ([-methodSignatureForSelector:]) Re-fix attempting to handle creation of local method signature rather than returning a proxy to a remote one. Dumb error in first attempt. 2000-05-10 Adam Fedor * NSBundle.m (-classNamed:): Hacks for getting classes from _gnustep_bundle. (-principalClass): Likewise. (-load): Don't try to call load bundle if we are _gnustep_bundle. 2000-05-09 Richard Frith-Macdonald * Source/NSDistantObject.m: ([-methodSignatureForSelector:]) Fix attempting to handle creation of local method signature rather than returning a proxy to a remote one. 2000-05-07 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([-descriptionWithCalendarFormat:locale:]) fix '%y' format for any year - bug reported by David Relson 2000-05-06 James Dessart * Documentation/gsdoc/NSString.gsdoc : * Documentation/gsdoc/NSString.html : Added some basic doc 2000-05-04 Richard Frith-Macdonald * Source/NSUser.m: NSHomeDirectoryForUser() protect with locks for thread safety. 2000-05-02 Adam Fedor * configure.in: Add check for word alignment. Also don't define HAVE_SYS_PROC_EXE on systems that need fake main. * Headers/gnustep/base/config.h.in: Add define if word-align needed. * Source/NSData.m: ([NSDataStatic -deserializeTypeTag:andCrossRef:atCursor:]): Use memcpy if word alignment needed. ([NSMutableDataMalloc -serializeTypeTag:andCrossRef:]): Likewise. 2000-04-28 Richard Frith-Macdonald * Source/NSConnection.m: ([+defaultConnection]) create receive port. 2000-04-26 Richard Frith-Macdonald * Source/NSHost.m: Improve logging of host/net configuration errors * Source/GSTcpPort.m: ditto * Source/TcpPort.m: ditto 2000-04-25 Adam Fedor * Source/NSBundle.m (+initialize): retain _executable_path. 2000-04-25 Richard Frith-Macdonald * Source/NSAttributedString.m: Optimised - cache method implementations wherever possible in order to avoid objc runtime overheads. 2000-04-23 Richard Frith-Macdonald * Source/NSAttributedString.m: Corrected code of ([-attribute:atIndex:longestEffectiveRange:inRange:]) so that it compares attributes correctly. 2000-04-20 Jonathan Gapen * Tools/plmerge.m: New tool to merge property lists. * Tools/plser.m: Fix error message. (deserialize => serialize) * Tools/GNUmakefile: Add plmerge. 2000-04-20 Richard Frith-Macdonald * Tools/gdomap.c: Don't do chdir/chroot on sysv - it screws up their streams so we can't handle incoming connections. 2000-04-20 Richard Frith-Macdonald * Source/NSCalendarDate.m: Fix memory leak when initialising from string. 2000-04-20 Richard Frith-Macdonald * Source/GSTcpPort.m: define INADDR_NONE to be -1 on systems where it is not defined. 2000-04-19 Richard Frith-Macdonald * Source/NSThread.m: rewrite * Source/NSCountedSet.m: minor fix in new unique method * Source/NSGCountedSet.m: ditto 2000-04-18 Adam Fedor * base/configure.in: add a test to see whether a symlink '/proc/self/exe' exists * base/Headers/gnustep/base/config.h.in: Add a definition for the test result * base/Source/NSBundle.m: Move the discovery of the process' executable file to +initialize; add code to discover it from /proc, if possible (patches from Jonathan Gapen ) 2000-04-18 Richard Frith-Macdonald * Documentation/gsdoc/NSCountedSet.gsdoc: Method descriptions fleshed out, including GNUstep additional methods and related functions. * Documentation/gsdoc/NSDeserializer.gsdoc: GNUstep specific extension method documented. * GSDoc/gnustep.gsdoc: Fixed use of 'standards' element. * Headers/NSSerialization.h: Removed some extensions. * Headers/NSSet.h: Added some extensions for uniquing. * Source/NSCountedSet.m: Added uniquing methods and functions. * Source/NSGCountedSet.m: Added optimised uniquing methods. * Source/NSSerializer.m: Simplified uniquing code using stuff from NSCountedSet. * Testing/benchmark.m: included uniquing serialization/deserialization. 2000-04-14 Richard Frith-Macdonald * Source/mframe.m: Update to handle '-' in stack position information in type encodings. * Source/Invocation.m: ditto * Source/objc-gnu2next.m: ditto * Source/mframe/*/generic: ditto 2000-04-08 Adam Fedor * Source/NSString.m: Include NSISOLatin2StringEncoding coding. * Source/Unicode.m (encode_chartouni): Implement latin2 encoding. (encode_unitochar): Likewise. (patches from Stefan Urbanek ). 2000-04-05 Richard Frith-Macdonald * Source/NSCalendarDate.m: Bugfix intialising from string. 2000-04-05 Richard Frith-Macdonald * Headers/gnustep/base/NSException.h: remove 'volatile' from function and method declarations - no longer supported in gcc. * Source/NSException.m: ditto 2000-04-05 Richard Frith-Macdonald * Tools/gdomap.c: init_probe() fix bug placing incorrect responder address in broadcast probe. 2000-04-02 Richard Frith-Macdonald * Source/NSAttributedString.m: Infinite loop fix by Fred Kiefer to ([replaceCharactersInRange:withAttributedString:]) 2000-03-29 Richard Frith-Macdonald * Source/NSUserDefaults.m: typo reported by karl@nfox.com fixed. 2000-03-28 Richard Frith-Macdonald * Source/NSDictionary.m: Fix to avoid crash on being asked to init with contents of a nil dictionary. 2000-03-28 Richard Frith-Macdonald * Headers/gnustep/base/NSRunLoop.h: Added event type for exceptional conditions on a file descriptor and removed obsolete methods. * Source/NSRunLoop.m: Added support for monitoring for exceptional conditions on a file descriptor and removed obsolete methods for handling file descriptors. 2000-03-26 Richard Frith-Macdonald * NSTimeZones/NSTimeZones.tar: Updated to latest information available from elsie.nci.nih.gov 2000-03-25 Jonathan Gapen * Source/NSUser.m: Added new MacOS X function, NSSearchPathForDirectoriesInDomains() * Headers/gnustep/base/NSPathUtilities.h: Added prototype and argument definitions for the above function. 2000-03-23 Adam Fedor * Source/....m: include config.h * Tools/*.m: Likewise. * Headers/gnustep/base/preface.h.in: Implement VASPRINTF_LENGTH when vasprintf does not return length. 2000-03-23 Mirko Viviani * Source/NSString.m: ([-initWithFormat:arguments:]) added implementation using vasprintf() to avoid stack problems. * Headers/gnustep/base/preface.h.in: added VASPRINT_* definitions. 2000-03-23 Richard Frith-Macdonald NSNumber - more extensive rewrite/optimisation ... * Headers/gnustep/base/NSValue.h: simplified * Source/NSNumber.m: Implemented efficient abstract methods and improved caching. * Source/NSConcreteNumber.m: More efficient implementations including some previously missing methods. 2000-03-23 Adam Fedor * configure.in: Check for vasprintf function * config/config.vasprintf.c: New file. 2000-03-22 Richard Frith-Macdonald NSNumber optimisation ... * Headers/gnustep/base/NSValue.h: Added a couple of GNUstep specific functions for obtaining cached information about methods of NSNumber subclasses and hashes of small integer values. * Source/NSNumber.m: Added caches for small integer numbers and for booleans. Also added caching mechamism for methods and order info for NSNumber concrete subclasses. * Source/NSConcreteNumber.m: Added support for much more efficient compare and fast hash for small integers. 2000-03-19 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([-description]) implemented. * Source/NSArray.m: ([-descriptionWithLocale:indent:]) put space after comma even when doing unformatted description. * Source/NSDictionary.m: ([-descriptionWithLocale:indent:]) put space after semicolon and around equals even when doing unformatted description. Don't sort array items in unformatted description. 2000-03-19 Richard Frith-Macdonald * Source/NSGAttributedString.m: ([setAttributes:range:]) make sure attributes are set when old range starts at start of new range. 2000-03-18 Richard Frith-Macdonald * Tools/gdomap.c: Become an unpriveliged user after binding to port 538 (for which we need to be root). This should relieve some security considerations. 2000-03-18 Richard Frith-Macdonald * Source/NSNumber.m: Added private methods from concrete class. 2000-03-17 Adam Fedor * Documentation/coding-standards.tmpl.texi: Update 2000-03-17 Richard Frith-Macdonald Changed so that property lists are output in a compact form when no locale is supplied. * Documentation/gsdoc/NSObject.gsdoc: Added documentation of the various description methods. * GSDoc/gsdoc.m: Bugfixes for text in descriptions. * Headers/gnustep/base/NSObject.h: Updated description methods * Source/NSArray.m: Updated to be closer to MacOS description. * Source/NSDictionary.m: ditto. * Source/NSGCString.m: ditto. * Source/NSGString.m: ditto. * Source/NSObject.m: added more description methods. * Tools/defaults.m: updated to use locale. * Tools/dread.m: ditto. * Tools/pldes.m: ditto. Fri Mar 17 07:47:00 2000 Richard Frith-Macdonald * Source/NSGString.m: Add checks to safely (and more efficiently) handle deletion and insertion of zero-length ranges. * Source/NSGCString.m: ditto. Thu Mar 16 11:37:00 2000 Richard Frith-Macdonald * Source/NSRange.m: NSRangeFromString() bugfix by karl@nfox.com * Source/NSData.m: ([-hash]) new implementation by karl Sat Mar 11 21:04:00 2000 Richard Frith-Macdonald * GSDoc/gsdoc.m: Updated for recent version of xml library. Fri Mar 10 10:45:00 2000 Richard Frith-Macdonald * GSDoc/gsdoc-0_6_5.dtd: Altered to add standard conformance to individual methods and to make standards rigorous. * GSDoc/gsdoc.m: Updated for changes to dtd. Thu Mar 09 18:07:00 2000 Richard Frith-Macdonald * Source/NSAttributedString.m: Varius bugfixes. * Source/NSGAttributedString.m: ditto. 2000-03-07 Adam Fedor * configure.in: Remove obsolete header checks for Time class. Wed Mar 08 07:40:00 2000 Richard Frith-Macdonald * Source/NSAttributedString.m: Bugfix by fred Kiefer for extending attributes. Related bugfixes by me, plus tidying up. 2000-03-06 Adam Fedor * config.guess: Better guess of NetBSD systems. Sat mar 04 10:08:00 2000 Richard Frith-Macdonald * Tools/Makefile.postamble: improved messages about gdomap installation. Mon Feb 28 15:27:00 2000 Richard Frith-Macdonald * GSDoc: Added GSDoc subdirectory to contain tool for converting gsdoc documentation to HTML format. * Documentation/gsdoc: Added skeleton documentation for the OpenStep/MacOS-X foundation classes in the gsdoc subdirectory. Sun Feb 27 08:37:00 2000 Richard Frith-Macdonald * Headers/gnustep/base/NSPortMessage.m: use separate ivars for ports. * Source/NSPortMessage.m: modified to use separate ivars for send and receive ports so that we can easily pass mutable array for send. Fri Feb 25 12:56:00 2000 Richard Frith-Macdonald * Source/NSPort.m: provide default implementations for methods dealing with adding connections to run loop. * Source/NSRunLoop.m: Check to see if ports have been invalidated and remove them from run loop if they have. Thu Feb 24 21:05:00 2000 Richard Frith-Macdonald * Source/NSBundle.m: ([-initWithPath:]) added code suggested by jagapen@whitewater.chem.wisc.edu to handle relative paths. * Source/NSObject.m: Added catagory of 'Object' so that containers can safely hold non-NSObject descended objects. Thu Feb 24 15:55:00 2000 Richard Frith-Macdonald * Source/TcpPort.m: Removed some unused code. * Source/GSTcpPort.m: Added new port implementation - non-functional as yet, but it represents quite a bit of work so I thought I'd put it somewhare safe from my hard disk crashing. Thu Feb 24 08:30:00 2000 Richard Frith-Macdonald * Source/NSUser.m: NSOpenStepRootDirectory() use GNUSTEP_ROOT Tue Feb 22 15:03:46 2000 Nicola Pero * Headers/Foundation/NSPort.h: Fixed typo: changed `@class NSArray` to `@class NSMutableArray` to make it compile. Tue Feb 22 07:31:00 2000 Richard Frith-Macdonald * Tools/gdomap.c: Reinstated '-p' flag to disable probes and added code to do probes by broadcast to the local network rather than by probing machines individually if possible. 2000-02-20 Matthias Klose * Tools/gdomap.c (main): Add -I option to write the pid to. Mon Feb 21 13:44:00 2000 Richard Frith-Macdonald * Source/NSRunLoop.m: Use sel_eq() for selector comparison so that we are guaranteed to match correctly when removing actions from the runloop. Fri Feb 6 14:54:00 2000 Manuel Guesdon * Source/NSCalendarDate.m: handle nil and empry string in -initWithString:calendarFormat:locale: * ChangeLog: Replace 1999 by 2000 for last modifications :-) Fri Feb 4 17:20:00 2000 Richard Frith-Macdonald * Source/NSPortNameServer.m: New methods for use by NSConnection * Foundation/NSPortNameServer.h: ditto * Source/NSConnection.m: Tidied a little and added ([-registerName:]) * Source/NSConnection.h: ditto 2000-02-17 Adam Fedor * Version: 0.6.5 released. 2000-02-16 Adam Fedor * gnustep-base.spec: Newfile Wed Feb 16 06:28:00 2000 Richard Frith-Macdonald * Source/NSAssertionHandler.m: Applied patch by David relson to change output format for function assertions, fixed error in format string, and made similar changes for method assertions. 2000-02-14 Adam Fedor * Version: Update version number * Documentation/announce.tmpl.texi: Update * Documentation/readme.tmpl.texi: Likewise. * Documentation/news.tmpl.texi: Likewise. * Documentation/todo.tmpl.texi: Likewise. * ANNOUNCE, BUGS, NEWS, README: Regenerate Fri Feb 11 06:27:00 2000 Richard Frith-Macdonald * Source/NSZone.m: Tidied indentation etc to GNU style. Thu Feb 10 23:01:00 2000 Richard Frith-Macdonald * Source/NSDebug.m: Patch by David Relson to change memory allocation report and add thread-safety. Modified by me to automatically use locking if necessary, to tidy up, and to fix a couple of bugs in lock/unlock sequencing. All new stuff - but since the previous version was completely unusable in a multithreaded environment I don't think we are running any risk by adding this here. Thu Feb 10 15:00:00 2000 Richard Frith-Macdonald Changes to fix possible crashes where task completion notifications are sent at inappropriate times due to SIGCHLD. * Source/NSTask.m: Move signal handler code to GSChecktasks() and have the signal handler simply set a flag to say work needs doing. * Source/NSRunLoop.m: Add calls to GSCheckTasks() so that we notice the death of a child. Thu Feb 10 14:13:00 2000 Richard Frith-Macdonald * Source/UnixFileHandle.m: ([-receivedEvent:type:extra: forMode:]) fix so that incoming connections are closed when their file handle is deallocated. Thu Feb 10 9:34:00 2000 Richard Frith-Macdonald * Headers/gnustep/base/preface.h.in: Added tests to see if _C_LNG_LNG and _C_ULNG_LNG are defined in the objc compiler headers and, if not, define them. Long long support was added in gcc 2.8 (minimum compiler version recommended for GNUstep), but the defines were missing from the headers :-( * Source/NSArchiver.m: Remove conditional compile for long long stuff. * Source/NSData.m: ditto * Source/NSUnarchiver.m: ditto * Source/mframe.m: ditto 2000-02-09 Adam Fedor * Documentation/gnustep-base.tmpl.texi: Update. * Documentation/news.tmpl.texi: Likewise. * Documentation/readme.tmpl.texi:Likewise. * Headers/gnustep/base/NSObjCRuntime.h: Include preface for stdargs. Wed Feb 9 17:44:00 2000 Richard Frith-Macdonald * Headers/gnustep/base/NSObjCRuntime.h: fix for header dependencies. * Headers/gnustep/base/Unicode.h: ditto * Source/NSDebug.m: ditto Tue Feb 8 23:00:00 2000 Richard Frith-Macdonald * Source/NSRunLoop.m: ([acceptInputForMode:beforeDate:]) fix handling of notifications in idle queue. 2000-02-08 Adam Fedor * config.guess: New version * config.sub: Likewise. Tue Feb 8 23:00:00 2000 Richard Frith-Macdonald * Source/NSArray.m: Move ([writeToFile:atomically:]) from mutable array to array code. Tue Feb 8 12:44:00 2000 Richard Frith-Macdonald * Source/Foundation/HSConfig.h.in: Added some GC macros * Source/NSData.m: Attempt to remove temporary file if an atomic write attempt fails. Sat Feb 5 8:47:00 2000 Richard Frith-Macdonald * Source/Foundation/NSDebug.h: Add missing function prototype - Patch by David Relson 2000-01-27 Adam Fedor * Tools/gdomap.c (init_iface): Check to see if an interface is up (using SIOCGIFFLAGS), and then get the address information before checking whether the address is in the AF_INET family (patch from Jonathan Gapen ). Sun Jan 16 9:10:00 1999 Richard Frith-Macdonald Moved objc-load.c to objc-load.m and filnd-exec.c to find-exec.m Added logging functions to objc-load.m so that logging can be enabled at runtime using --GNU-Debug=NSBundle Sun Jan 9 15:20:00 2000 Richard Frith-Macdonald * Source/NSGAttributedString.m: ([-attributesAtIndex:effectiveRange:]) fixed illegal parameter - reported by jagapen@whitewater.chem.wisc.edu Wed Jan 5 16:22:00 2000 Richard Frith-Macdonald * Source/NSData.m: when serializing selectors, cope with untyped selectors instead of crashing. Wed Jan 5 14:37:00 2000 Richard Frith-Macdonald * Source/NSTimeZone.m: Changed order of lookup to determine the local timezone: 1. User defaults with key 'Local Time Zone' 2. GNUSTEP_TZ environment variable 3. $GNUSTEP_SYSTEM_ROOT/Libraries/Resources/NSTimeZones/localtime 4. TZ environment variable 5. Use UTC This means that the TZ environment variable can now safely be used for non-GNUstep timezones as long as GNUSTEP_TZ is defined (or a localtime) file exists. Wed Jan 5 10:00:00 2000 Richard Frith-Macdonald * NSTimeZones/NSTimeZones.tar: Made a revised set of timezones with timezone names offset from GMT corresponding to common usage (as in OPENSTEP) rather than strict Posix interpretation. Also added detailed instructions to the README file and added a small makefile to build the abbreviations/regions tools. Tue Jan 4 22:40:00 2000 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([-yearOfCommonEra]) fix rounding error. Tue Dec 21 13:27:00 1999 Richard Frith-Macdonald Fixes suggested by karl@nfox.com * Source/propList.h: Bugfix parsing larger lists. * Source/NSProcessInfo.m: Avoid use of freopen() * Source/GSeq.h: for ranges not found, return NSNotFound as the location rather than 0 - for compatibility with Apple. * NSDeserializer.m: Return nil if given nil data or an object that is not a data object. 1999-12-19 David Lazaro * configure.in (objc_thread_lib): Added support for FreeBSD native POSIX threads (from the reentrant C library, libc_r). Made this the first option to test as this is the best working one. * configure: New build to support the above mentioned. Fri Dec 17 17:55:00 1999 Richard Frith-Macdonald Fix error in last change. Fri Dec 17 7:03:00 1999 Richard Frith-Macdonald * Source/NSGAttributedString.m: Patch (slightly modified) by Adam Fedor to permit setting attributes on an empty string (as a no-op). Wed Dec 15 18:50:00 1999 Richard Frith-Macdonald * Source/NSHost.m: Update again - record current host name for duration of process and cache hosts keyed on the name under which they were created. This can result in multiple cache entries for the same host, but this seems to be necessary as DNS name <--> address mappings can be asymmetric. Thanks to dan@services.iiruc.ro for pointing this out. Wed Dec 15 17:30:00 1999 Richard Frith-Macdonald * Source/Foundation/NSObject.h: dealloc notification stuff for Helge * Source/NSObject.m: dealloc notification stuff for Helge Wed Dec 15 2:18:00 1999 Richard Frith-Macdonald * Source/UnixFileHandle.m: Chck to see if we are given a bad address. * Source/NSHost.m: major rewrite Tue Dec 14 8:40:00 1999 Richard Frith-Macdonald * Source/NSTimeZone.m: ([+getTimeZoneFile:]) Removed misleading comment and hack. ([+timeZoneWithName:]) Fixed bug in loading timezone data file (unusual formats could cause a crash). * Source/NSScanner.m: ([-initWithString:]) fix to handle being passed a nil string (use an empty string and log an error). * NSTimeZones/NSTimeZones.tar: updated to latest info and made sure files are in the correct place. Mon Dec 13 13:31:00 1999 Chris Ball * Source/NSTimeZone.m: Replaced the original, correct comment and removed Richard's replacement incorrect comment. Fri Dec 9 17:00:00 1999 Chris Ball Sorry, I did a commit one directory to deep. * Source/NSArray.m: NSMutableArray's compared against a garbage pointer on removal. This causes real problems on SMP machines. * Source/NSGarray.m * Source/NSCalendarDate.m: DateByAddingYears lost timeZone info. InitWithString didn't deal with adjacent format specifiers. * Source/NSDate.m: addTimeInterval messed up timeZone if used with calendarDate * Source/NSLock.m: Trylock was broken and lockBeforeDate was unimplemented * Source/NSObject.m: The release code was broken for SMP machine use. * Source/NSTimeZone.m: The GMT+-** files are in the root directory on OpenStep and are in Etc/ on GNUstep so check both. Mon Dec 13 12:20:00 1999 Richard Frith-Macdonald Fixes for cball's changes (who is cball?, and why didn't s/he produce a ChangeLog entry or conform to GNU indentation? It took me hours to tidy this up). * Source/NSDate.m: ([NSGDate -addTimeInterval:]) removed bogus implementation of method (inherits from NSDate). * Source/NSCalendarDate.m: Added implementation of ([-addTimeInterval:]) with specific code for NSCalendarDate. Reformatted code to GNUstep style. * Source/NSGArray.m: ([-removeObjectIdenticalTo:]) and ([-removeObjectIdenticalTo:inRange:]) reverted to correct code. ([-removeObject:]) and ([-removeObjectIdenticalTo:inRange:]) removed changes and added fixes so that methods are safe where multiple objects equal to the object to be removed are present in the array. * Source/NSArray.m: Similar fixes for object removal. * Source/NSObject.m: Rewritten mutex code so that mutexes are not used for retain/release unless the app is multi-threaded. Wed Dec 1 19:36:00 1999 Richard Frith-Macdonald * Source/NSArray.m: When sorting, treat illegal return values from the comparator the same way as OPENSTEP does, but log a warning. * Source/NSGArray.m: ditto * Source/NSDictionary.m ditto Fri Nov 26 19:46:00 1999 Richard Frith-Macdonald * Headers/Foundation/NSString.h: Tidied and fixed return types for for a few methods. * Source/NSString.m: ditto. * Headers/NSRange.h: Added NSRangeFromString() * Source/NSRange.m: Implemented NSRangeFromString() Sun Nov 21 6:35:00 1999 Richard Frith-Macdonald * Source/NSNotificationQueue.m: Applied patch by Dan Pascu to fix bug in removal of notificatiosn from queues. Also tidied indentation etc to conform to GNU standards. * Source/UnixFileHandle.m: ([-availableData]) fixed to block when no data is availabvle on a comms channel - as per spec. This bug was also reported by Dan * Source/NSHost.m: Use inet_aton() if available. 1999-11-18 Adam Fedor * Source/GNUmakefile: Install unicode headers. * Source/Makefile.postamble: Script for doing unicode installation. (patches from Christopher Seawood ). Thu Nov 18 15:23:00 1999 Richard Frith-Macdonald * Headers/Foundation/NSPage.h: removed * Headers/Foundation/NSZone.h: incorporated NSPage.h * Source/GNUmakefile: Remove reference to NSPage.h * Source/NSZone.m: Remove reference to NSPage.h Sun Nov 7 14:04:00 1999 Richard Frith-Macdonald * Source/o_vscanf.c Reverted to earlier version - the last fix was causing distributed objects to fail! I don't know why, but DO seems more important than the bugfix - so, pending a rewrite of DO encoding/decoding to remove the dependency on the old stream code, we need to leave this as it is. 1999-11-09 Adam Fedor * Source/o_vscanf.c (o_vscanf): Don't count '\n' as whitespace. Sun Nov 7 14:04:00 1999 Richard Frith-Macdonald * Source/Foundation/NSDebug.h: Added NSWarnLog(), NSWarnFLog() and NSWarnMLog() macros to log warnings about potential programming errors. * Source/NSArray.m: Change to use NSWarnMLog() for warnings. * Source/NSGArray.m: ditto * Source/NSGCountedSet.m: ditto * Source/NSGDictionary.m: ditto * Source/NSGSet.m: ditto Thu Nov 4 1999 Michael Hanni * Source/NSObject.m: added FreeBSD specific code in initialization so that the FPU is intialized with the correct exception flag. This allows NSConnection to work on FreeBSD (gdnc, gdomap, gpbs.) Thu Nov 4 10:52:00 1999 Richard Frith-Macdonald * Source/NSArray.m: use NSLog() to warn about attempts to remove nil. * Source/NSGArray.m: ditto * Source/NSGCountedSet.m: ditto * Source/NSGDictionary.m: ditto * Source/NSGSet.m: ditto Fri Oct 29 10:08:00 1999 Richard Frith-Macdonald * Source/NSInvocation.m: ([-initWithTarget:selector:]) possible fix for structure arguments grabbed from varargs. Tue Oct 19 11:28:00 1999 Richard Frith-Macdonald * Source/NSScanner.m: skipToNextField() - cope with a nil set of characters to be skipped. Fri Oct 15 01:28:16 1999 Lyndon Tremblay * Source/NSURL.m: (-[scheme]) removed a hopefully accidentally placed space character in a call to (-[NSString rangeOfString]). Tue Sep 12 14:00:00 1999 Richard Frith-Macdonald * Source/NSConnection.m: Removed pointer cross-reference support as it provided little performance improvement and was responsible for a few bugs I've never been able to track down, and major problems if the maps at either end of the link get out of sync (which is unavoidable in some rare circumstances). * Headers/Foundation/NSConnection.h: Removed cross-reference maps * Source/ConnectedCoder.m: Removed pointer cross-reference support * Source/NSPortCoder.m: Removed pointer cross-reference support Fri Sep 8 12:05:00 1999 Richard Frith-Macdonald * configure.in: Correct path to include file for checking thread support (bug reported by kai@cats.ms). Tue Sep 5 11:21:00 1999 Richard Frith-Macdonald * Source/NSUserDefaults.m: Fix for crash when reading corrupt file. Also -added code to create ~/GNUstep directory if needed. Mon Sep 4 11:06:00 1999 Richard Frith-Macdonald * Tools/gdomap.c: better debug output (hopefully) Wed Sep 29 21:34:00 1999 Richard Frith-Macdonald * Source/NSData.m: More GC updates (atomic data buffer) * Source/NSGString.m: ditto * Source/NSGCString.m: ditto * Source/NSObject.m: More GC updates * Source/NSZone.m: ditto * Source/mframe.m: ditto * Source/objc-gnu2next.m: ditto * Headers/Foundation/GSIMap.h: ditto Tue Sep 28 20:54:00 1999 Richard Frith-Macdonald * Source/NSArray.m: Tidy for GC stuff * Source/NSAttributedString.m: ditto * Source/NSCallBacks.m: ditto * Source/NSConnection.m: ditto * Source/NSData.m: ditto * Source/NSDateFormatter.m: ditto * Source/NSFileManager.m: ditto * Source/NSGArray.m: ditto * Source/NSGCountedSet.m: ditto * Source/NSGDictionary.m: ditto * Source/NSGSet.m: ditto * Source/NSInvocation.m: ditto * Source/NSNotificationCenter.m: ditto * Source/NSObject.m: ditto * Source/NSPortNameServer.m: ditto * Source/NSProcessInfo.m: ditto * Source/NSRunLoop.m: ditto * Source/NSScanner.m: ditto * Source/NSString.m: ditto * Source/NSTimeZone.m: ditto * Source/NSUnarchiver.m: ditto * Source/NSUndoManager.m: ditto * Source/NSUserDefaults.m: ditto * Source/TcpPort.m: ditto * Source/propList.h: ditto Tue Sep 28 11:45:00 1999 Richard Frith-Macdonald * Source/NSArray.m: ([+allocWithZone:]) tiny optimisation. * Source/NSCountedSet.m: Some optimisation. * Source/NSTask.m: implement ([-interrupt]) to send SIGINT. * Source/NSUserDefaults.m: ([-searchList]) return constant array. Various tidying up and optimisations. ([-persistentDomainForName:]) fixed memory leak. ([-volatileDomainForName:]) return constant dictionary. ([-setPersistentDomain:forName:]) make mutable copy. ([-setVolatileDomain:forName:]) ditto * Source/NSObject.m: GC tweaks * Source/NSZone.m: added zone for atomic GC * Headers/Foundation/NSZone.h: added zone GSAtomicMallocZone() * Headers/Foundation/GSIArray.h: Remove special case for zero zone * Headers/Foundation/GSIMap.h: ditto. Tue Sep 28 5:54:00 1999 Richard Frith-Macdonald * Source/NSTask.m: ([_collectChiled]) bugfix suggested by karl@nfox.com Mon Sep 27 21:15:00 1999 Richard Frith-Macdonald * Source/NSScanner.m: Fix error introduced into skipToNextField() macro my my last rewrite - sorry. Thanks to N. Pero for narrowing down the problem to a level where I could locate it. * Source/NSGeometry.m: optimised. 1999-09-24 Adam Fedor * configure.in: Add check for Objective-C headers. Thu Sep 23 20:09:00 1999 Richard Frith-Macdonald * Source/Invocation.m: VARARGS fix by ani joshi Tue Sep 21 20:26:00 1999 Richard Frith-Macdonald * Headers/Foundation/NSPortNameServer.h: Tidied and removed a few ivars. * Source/NSPortNameServer.m: Rewritten to be a bit clearer and to permit parallel lookup on multiple hosts. Sun Sep 19 6:07:00 1999 Richard Frith-Macdonald * NSString.m: Fix bug in ([+stringByStandardizingPath]) with trailing slash. Thu Sep 16 19:20:00 1999 Richard Frith-Macdonald Change request from Helge * Source/externs.m: added NSNonRetainedObjectMapValueCallBacks * Headers/Foundation/NSMapTable.h: ditto. Thu Sep 16 8:40:00 1999 Richard Frith-Macdonald Changes to minimise naming conflicts by making sure that all ivars of public classes are prefixed with a underscore. * Headers/Foundation/NSArchiver.h: prefix ivars with underscore and tidy * Headers/Foundation/NSArray.h: ditto * Headers/Foundation/NSAttributedString.h: ditto * Headers/Foundation/NSAutoreleasePool.h: ditto * Headers/Foundation/NSBitmapCharSet.h: ditto * Headers/Foundation/NSBundle.h: ditto * Headers/Foundation/NSCharacterSet.h: ditto * Headers/Foundation/NSCoder.h: ditto * Headers/Foundation/NSData.h: ditto * Headers/Foundation/NSDate.h: ditto * Headers/Foundation/NSDateFormatter.h: ditto * Headers/Foundation/NSDictionary.h: ditto * Headers/Foundation/NSDistantObject.h: ditto * Headers/Foundation/NSDistributedLock.h: ditto * Headers/Foundation/NSDistributedNotificationCenter.h: ditto * Headers/Foundation/NSException.h: ditto * Headers/Foundation/NSFileHandle.h: ditto * Headers/Foundation/NSFileManager.h: ditto * Headers/Foundation/NSGAttributedString.h: ditto * Headers/Foundation/NSHost.h: ditto * Headers/Foundation/NSInvocation.h: ditto * Headers/Foundation/NSLock.h: ditto * Headers/Foundation/NSMethodSignature.h: ditto * Headers/Foundation/NSNotification.h: ditto * Headers/Foundation/NSNotificationQueue.h: ditto * Headers/Foundation/NSPort.h: ditto * Headers/Foundation/NSPortMessage.h: ditto * Headers/Foundation/NSPortNameServer.h: ditto * Headers/Foundation/NSProtocolChecker.h: ditto * Headers/Foundation/NSScanner.h: ditto * Headers/Foundation/NSSet.h: ditto * Headers/Foundation/NSTask.h: ditto * Headers/Foundation/NSURL.h: ditto * Headers/Foundation/NSURLHandle.h: ditto * Headers/Foundation/NSUndoManager.h: ditto * Headers/Foundation/NSUserDefaults.h: ditto * Source/NSArchiver.m: ditto * Source/NSAutoreleasePool.m: ditto * Source/NSBitmapCharSet.m: ditto * Source/NSCalendarDate.m: ditto * Source/NSDate.m: ditto * Source/NSDateFormatter.m: ditto * Source/NSDistantObject.m: ditto * Source/NSDistributedLock.m: ditto * Source/NSDistributedNotificationCenter.m: ditto * Source/NSException.m: ditto * Source/NSFileManager.m: ditto * Source/NSGAttributedString.m: ditto * Source/NSGSet.m: ditto * Source/NSHost.m: ditto * Source/NSInvocation.m: ditto * Source/NSLock.m: ditto * Source/NSMethodSignature.m: ditto * Source/NSNotificationCenter.m: ditto * Source/NSNotificationQueue.m: ditto * Source/NSPort.m: ditto * Source/NSPortMessage.m: ditto * Source/NSPortNameServer.m: ditto * Source/NSProtocolChecker.m: ditto * Source/NSScanner.m: ditto * Source/NSTask.m: ditto * Source/NSURL.m: ditto * Source/NSURLHandle.m: ditto * Source/NSUndoManager.m: ditto * Source/NSUserDefaults.m: ditto * Source/Port.m: ditto * Source/TcpPort.m: ditto * Source/UdpPort.m: ditto Tue Sep 14 20:44:00 1999 Richard Frith-Macdonald * Source/NSArray.m: Huge amounts of optimisation. Memory leak fixed in ([-initWithFile:]). * Source/NSGArray.m: Optimisations of less-used methods, including implementation of fast enumerators. Tue Sep 14 15:11:00 1999 Richard Frith-Macdonald * Source/NSTimer.m: minor optimisations * Headers/NSRunLoop.h: modification for optimisation of performers * Source/NSRunLoop.m: minor optimisations, plus bugfix for performers (was removing performers after they had been fired - shouldn't). Mon Sep 13 6:45:00 1999 Richard Frith-Macdonald Miscellaneous minor bugfixes plus, * Source/NSDate.m: Year 2001 bug fixed - had silly assertion in generation of time interval since reference date for current time. * Source/NSScanner.m: optimised (well, mostly). * Headers/Foundation/NSScanner.h: update for optimisatio). Sun Sep 12 20:22:00 1999 Richard Frith-Macdonald * Source/NSDictionary.m: optimise by avoiding objc method lookup overheads wherever possible. * Source/NSGDictionary.m: likewise. Fri Sep 3 11:57:00 1999 Richard Frith-Macdonald * Source/NSString.m: speed up path handling a bit by caching method for testing for path separators - also fixed appending of path extensions and components to be according to spec. Sat Aug 21 6:26:00 1999 Richard Frith-Macdonald * Tools/gdomap.c: Fix for probing for other gdomap processes on the net. 1999-08-19 Michael Hanni * Source/NSObjCRuntime.m: patch from Tim Bissell to help in debugging. (show which non-existant ivar you wanted.) 1999-09-07 Adam Fedor * Version: 0.6.0 * configure.in: Add test for solaris libraries, freebsd threads. * Source/mframe/config.guess: Update to latest version * Source/mframe/config.sub: Likewise. Sun Sep 5 9:00:00 1999 Richard Frith-Macdonald * config/config_thread.m: new file * configure.in: Update to check to see if obc runtime uses threads so that we can include the thread library if necessary - and later onbjc tests won't all fail on threaded systems. Also - force use of fake-main stuff on bsd systems. * Source/NSProcessInfo.m: Remove bsd workaround - didn't work. 1999-08-29 Michael Hanni * Source/NSObjCRuntime.m: added a patch from Tim Bissell . Adds better debugging information for non-existent ivars. Sat Sep 4 6:20:00 1999 Richard Frith-Macdonald Various process-info related bugfixes. * Source/NSBundle.m: Use arguments list for argv[0] for full path. * Source/NSLog.m: use processName directly in log. * Source/NSProcessInfo.m: Fix process name to be last path component of argv[0], and add workaround for buggy /proc filesystems that append a newline to arguments. * Source/NSUserDefaults.m: use processName directly for domain name. Thu Sep 2 9:03:00 1999 Richard Frith-Macdonald * Source/NSTask.m: exec process with argv[0] set to full path of the executable rather than just the program name. Tue Aug 31 15:47:00 1999 Richard Frith-Macdonald * Source/NSTimer.m: Set minimum timeout to 0.01s rather than 1.0s. This seems a more reasonable value - a 1 second delay is too big. 1999-08-29 Adam Fedor * Source/NSLog.m (_NSLog_standard_printf_handler): Use cStringLength. Wed Aug 25 15:28:00 1999 Richard Frith-Macdonald Fixes for memory leaks in parsing property lists. * Source/propList.h: release new strings asap * Source/NSString.m: autorelease value returned by parsing plists. * Source/NSGString.m: ditto. * Source/NSGCString.m: ditto. Wed Aug 25 11:37:00 1999 Richard Frith-Macdonald * Source/Makefile.postamble: Added rules to build some files without optimisation, to avoid optimiser breaking them. 1999-08-23 Pedro Ivo Andrade Tavares * Headers/gnustep/base/NSByteOrder.h: changed the NSByteStore struct to comply to Mac OS X documentation. 1999-08-22 Adam Fedor * Documentation/gnustep-base.tmpl.texi: New with GNUstep specific documentation. * Documentation/news.tmpl.texi: update Fri Aug 20 16:17:00 1999 Richard Frith-Macdonald * NSNotificationQueue.m: notifyIdle() fix to send ASAP notifications even when no idle notifications are waiting. Thu Aug 19 16:20:00 1999 Richard Frith-Macdonald * Source/NSCalendarDate.m: Various memory-leak fixes. * Source/NSTimeZone.m: Various memory leak fixes. Sat Aug 7 17:30:00 1999 Richard Frith-Macdonald * Testing/tcpport-server.m: fixes to work with NSNotificationCenter. 1999-08-10 Adam Fedor * configure.in: Move objc_conditioned_wait test so it gets proper LIBS setup * Source/mframe/configure: Regenerate using autoconf 2.13 1999-08-08 Adam Fedor * Source/NSPort.m (-sendBeforeDate:): Change return type to BOOL as per the spec. * Source/NSPortMessage.m: Likewise. (patch from Pedro Ivo Andrade Tavares ). * configure.in: Rewrite +load method test. 1999-08-08 Manuel Guesdon * Source/NSGString.m (stringIncrementCountAndMakeHoleAt and stringDecrementCountAndFillHoleAt): Added a test for null length/size. Added NSCAssert on index/size/count/capacity 1999-08-05 Adam Fedor * Source/NSLock.m ([NSConditionLock -lockWhenCondition:beforeDate:]): Implement (Patch from Patrick Stein ). * configure.in: Check for objc_condition_timewait. * Source/NSString.m (-initWithFormat:arguments:): Don't advance vsprintf arguments on powerpc. * Source/mframe/powerpc/linux-gnu (MFRAME_ARG_ENCODING): Fix alignment of small structures. * many files: Changed FSF mailing address Fri Aug 6 13:25:00 1999 Richard Frith-Macdonald Portability fixes for compilers that don't leave enough space in an NXConstantString object for the _hash ivar of NSGCString. * Source/NSGCString.m: don't use _hash ivar of NXConstantString. * Source/NSGString.m: don't use _hash ivar of NXConstantString. * Source/Foundation/NSString.h: Add warning comment about the ivar layout for NXConstantString. Thu Aug 5 10:20:00 1999 Richard Frith-Macdonald * Tools/gdomap.c: prb_add() maintain server info in date order. prb_del() removed, bugfixes to notice when a server dies. Tue Aug 3 12:36:54 1999 Adam Fedor * Source/NSInvocation.m (-initWithTarget:selector:): Hack for sparc and ppc machines to align structs on word boundaries. * mframe/sparc/solaris2.6: New file with fix for putting small structures at correct offset. Mon Aug 2 8:10:00 1999 Richard Frith-Macdonald * Source/propList.h: parseQuotedString() fix for parsing octal escape sequences - hope it's right now. Sun Aug 1 7:25:00 1999 Richard Frith-Macdonald * Source/NSBundle.m: ([+localizedStringForKey:value:table:]) Fixed so that debugging behavior only takes place when NSShowNonLocalizedStrings default is 'YES'. 1999-07-29 Adam Fedor * config.guess: Updated from latest version + fix for Netwinder. * config.sub: Likewise. * Headers/gnustep/base/Foundation.h: Include NSPage.h * Headers/gnustep/base/NSPortCoder.h: Remove ref to Port.h Wed Jul 28 15:53:00 1999 Richard Frith-Macdonald * Source/NSObject.m: ([+isKindOfClass:]) Fixed to return NO except when both the argument and the receiver are NSObject - as specified in the MacOS-X documentation. Thanks to Helge for pointing this out. Mon Jul 26 21:22:00 1999 Richard Frith-Macdonald Fix cStrings to use unsigned char throughout - to avoid problems with character sets other than ascii. Suggested by Kai Henningsen. * Headers/Foundation/NSGCString.h: Use unsigned chars. * Source/NSGCString.m: Use unsigned chars. * Source/GSeq.h: Use unsigned chars. * Source/propList.h: Use unsigned chars. Fri Jul 23 22:20:00 1999 Richard Frith-Macdonald * Source/UnixFileHandle.m: Tidy a little and make sure that non-blocking mode is reset when a descriptor is closed. * Source/NSPortNameServer.mL Fixed error in lookup when host name is specified. Thu Jul 22 13:55:00 1999 Richard Frith-Macdonald * Source/NSTimeZone.m: ([-initWithOffset:]) bugfix by Kai Henningsen * acconfig.h: Removed old libc method of getting NSProcessInfo stuff. * aclocal.m4: Removed old libc method of getting NSProcessInfo stuff. * configure.in: Added new '/proc' method of getting NSProcessInfo stuff by Nico Pero, with modifications and --enable-fake-main * Headers/GSConfig.h.in: New NSProcessInfo stuff * Headers/NSObject.h: Remove fake-main include - use GSConfig.h * Headers/config.h.in: Remove fake-main include - use GSConfig.h * Headers/preface.h.in: Remove fake-main include - use GSConfig.h * Source/GNUmakefile: Remove fake-main.h * Source/Makefile.postamble: NSProcessInfo.o depends on GSConfig.h * Source/NSLog.m: Bugfix - set up pointer to log function. * Source/NSProcessInfo.m: Remove old hack for getting process info and add new '/proc' method, along with improvements to the fake-main mechanism. Tue Jul 20 15:45:00 1999 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([initWithString:calendarFormat:locale:]) updated to get default format and locale info. Tue Jul 20 10:12:00 1999 Richard Frith-Macdonald * Source/NSString.m: Update code for standardising paths - now conforms to MacOS-X spec (more or less). Thu Jul 15 6:26:00 1999 Richard Frith-Macdonald * Headers/Foundation/NSURL.h: Tidied * Headers/Foundation/NSURLHandle.h: Tidied * Headers/Foundation/Foundation.h: inlcude NSURL.h and NSURLHandle.h Wed Jul 14 20:19:00 1999 Richard Frith-Macdonald * Source/NSThread.m: Make sure that a thread retains the target object and argument of the method with which it is detached. * Testing/diningPhilosophers.m: Fixed bug - was passing non NSObject argument. Wed Jul 14 16:58:00 1999 Richard Frith-Macdonald * Source/NSAttributedString.m: Fixed ([allocWithZone:]) so that subclasses should work correctly. Wed Jul 14 10:32:17 1999 Adam Fedor * Testing/Makefile.preamble: Fix include path the headers. Other testing fixes Tue Jul 13 17:08:00 1999 Richard Frith-Macdonald * Source/NSUser.m: Implemented NSStandardApplicationPaths(), NSStandardLibraryPaths(), and GSStandardPathPrefixes(). Mon Jul 12 5:00:00 1999 Richard Frith-Macdonald * Source/NSString.m: Bugfixes in ([stringByStandardizingPath:]) as suggested by Pascal Bourguignon. Also fix to do substitutions throughout path, also use realpath() for resolving links if possible. * configure.in: Check for realpath() Sat Jul 10 13:52:20 1999 Adam Fedor * Makefile.postamble: Create Foundation link in Source directory * Source/Makefile.postamble: Remove link to Foundation (work around bug in make?) Thu Jul 8 22:21:54 1999 Adam Fedor * Changes for new directory layout. * Makefile.postamble: Link Foundation from gnustep/base * configure.in: Change location of generated include files. * Source/mframe/configure.in: Change mframe.h location. * Tools/Makefile.preamble: Change base header locations. * Source/Makefirl.postamble: Likewise. Sat Jul 3 21:05:00 1999 Richard Frith-Macdonald * Source/NSCallBacks.m: Changes for garbage collection. * Source/NSDateFormatter.m: ditto. * Source/NSDictionary.m: ditto. * Source/NSDistributedLock.m: ditto. * Source/NSDistributedNotificationCenter.m: ditto. * Source/NSGArray.m: ditto. * Source/NSGCString.m: ditto. * Source/NSGCountedSet.m: ditto. * Source/NSGDictionary.m: ditto. * Source/NSGSet.m: ditto. * Source/NSHost.m: ditto. * Source/NSInvocation.m: ditto. * Source/NSNotification.m: ditto. * Source/NSProtocolChecker.m: ditto. * Source/NSScanner.m: ditto. * Source/NSSerializer.m: ditto. * Source/NSSet.m: ditto. * Source/NSData.m: ditto. * Source/NSPortNameServer.m: ditto. * Source/NSUndoManager.m: ditto. * Source/NSURL.m: ditto. Fri Jul 2 14:20:00 1999 Richard Frith-Macdonald * Source/GSeq.h: Fix boundary error when searching for string in string. * Source/NSString.m: Don't allocate contents for string with 0 length. * Source/NSGString.m: ditto * Source/NSGCString.m: ditto Fri Jul 2 8:45:00 1999 Richard Frith-Macdonald * Source/NSUnarchiver.m: In designated initialiser, catch exceptions and deallocate self before re-throwing in order to prevent memory leak. Thu Jul 1 14:00:00 1999 Richard Frith-Macdonald Patch by Kai Henningsen to improve debug slightly. * Source/NSObject.m: improved exception messages. Wed Jun 30 22:30:00 1999 Richard Frith-Macdonald * Source/NSArray.m: Tidied for garbage collection. * Source/PropList.h: Tidied for garbage collection. * Source/include/Unicode.h: Added missing prototyp. Tue Jun 29 17:50:00 1999 Richard Frith-Macdonald Patches by Hai Henningsen * Source/NSString.m: Fix for stringByAppendingPathExtension * Source/Unicode.m: Several bugfixes in AND logic. Mon Jun 28 11:48:00 1999 Richard Frith-Macdonald * Source/include/NSConnection.h: Fixed spelling error reported by Olivier.Saut@dptmaths.ens-cachan.fr * Source/NSConnection.m: ditto Sat Jun 26 7:40:00 1999 Richard Frith-Macdonald * Source/NSRunLoop.m: Fix error in last mod. * Source/NSTask.m: Allow for bsd setpgrp() * Souyrce/configure.in: Allow for bsd setpgrp() Fri Jun 25 11:30:00 1999 Richard Frith-Macdonald * Source/NSRunLoop.m: Use autorelease pools in ([limitDateForMode:]) and ([acceptInputForMode:beforeDate:]) Thu Jun 24 20:30:00 1999 Richard Frith-Macdonald * Source/include/GSIMap.h: Tweaks to avoid compiler warnings. * Source/include/NSNotification.h: ditto. * Source/propList.h: ditto. * Source/Collection.m: ditto. * Source/TcpPort.m: ditto. * Source/UnixFileHandle.m: ditto. * Source/NSArchiver.m: ditto. * Source/NSArchiver.m: ditto. * Source/NSCalendarDate.m: ditto. * Source/NSCoder.m: ditto. * Source/NSConcreteValue.m: ditto. * Source/NSConnection.m: ditto. * Source/NSData.m: ditto. * Source/NSDate.m: ditto. * Source/NSDictionary.m: ditto. * Source/NSDistributedNotificationCenter.m: ditto. * Source/NSGAttributedString.m: ditto. * Source/NSGCountedSet.m: ditto. * Source/NSGCString.m: ditto. * Source/NSGDictionary.m: ditto. * Source/NSHost.m: ditto. * Source/NSLock.m: ditto. * Source/NSNotificationCenter.m: ditto. * Source/NSNotificationQueue.m: ditto. * Source/NSNumber.m: ditto. * Source/NSObjCRuntime.m: ditto. * Source/NSObject.m: ditto. * Source/NSPage.m: ditto. * Source/NSPortNameServer.m: ditto. * Source/NSScanner.m: ditto. * Source/NSSerializer.m: ditto. * Source/NSString.m: ditto. * Source/NSTask.m: ditto. * Source/NSTimeZone.m: ditto. * Source/NSThread.m: ditto. * Source/NSUnarchiver.m: ditto. * Source/NSURL.m: ditto. * Source/NSURLHandle.m: ditto. * Source/NSUserDefaults.m: ditto. * Source/NSZone.m: ditto. * Tools/gdomap.c: ditto. * Tools/gdnc.m: ditto. * Tools/plparse.m: ditto. * Tools/sfparse.m: ditto. * Tools/pldes.m: ditto. * Tools/plser.m: ditto. 1999-06-24 Adam Fedor * Source/include/GSIArray.h (GSIArrayRemoveLastItem): New function. (GSIArrayLastItem): Likewise. (GSIArrayCopyWithZone): Likewise. Tue Jun 22 16:15:00 1999 Richard Frith-Macdonald * Source/NSThread.m: Various changes to tidy up notification handling to avoid warning messages and to ensure that observers get notified before the application becomes multi-threaded. Mon Jun 21 20:55:00 1999 Richard Frith-Macdonald * Source/NSFileManager.m: Fixed error recursing into directory. * Source/include/NSFileManager.h: tidied. Mon Jun 21 9:45:00 1999 Richard Frith-Macdonald Mostly updates of range checking code and change of FastArray and FastMap to use the prefix GSI (GnuStepInline) rather than Fast - less likely to conflict with other names. * Source/include/NSRange.h: Added GS_RANGE_CHECK() macro for consistent range checking. * Source/include/FastArray.x: Renamed to GSIArray.h * Source/include/FastMap.x: Renamed to GSIMap.h * Source/include/NSArchiver.h: Changed Fast to GSI * Source/NSString.m: Use GS_RANGE_CHECK() * Source/NSGString.m: ditto * Source/NSGCString.m: ditto * Source/NSAttributedString.m: ditto * Source/NSGAttributedString.m: ditto * Source/NSData.m: ditto * Source/NSArray.m: ditto * Source/NSGArray.m: ditto * Source/GNUmakefile: Renamed Fast... to GSI... * Source/Makefile.postamble: Renamed Fast... to GSI... * Source/NSArchiver.m: ditto * Source/NSGCountedSet.m: ditto * Source/NSGDictionary.m: ditto * Source/NSGSet.m: ditto * Source/NSNotificationCenter.m: ditto * Source/NSRunLoop.m: ditto * Source/NSSerializer.m: ditto * Source/NSUnarchiver.m: ditto Fri Jun 18 8:36:00 1999 Richard Frith-Macdonald * Source/NSFileManager.m: Fix lookup of fileGroupOwnerAccountName Fix test for symbolic links, add diagnostic info, fix copy to produce files owned by current user. * Source/include/NSFileManager.h: tidyup * Source/include/NSObject.h: fixup for ASSIGN macro - should work for all objects. Thu Jun 17 14:30:00 1999 Richard Frith-Macdonald * Source/include/NSNotification.h: Update to MacOS-X specs. * Source/NSNotification.m: Tidied * Source/NSNotificationCenter.m: Complete rewrite for performance (order of magnitude improvement) and GC. Thu Jun 17 12:00:00 1999 Richard Frith-Macdonald * Tools/gdnc.m: Only use OpenStep NSNotificationCenter methods. * Source/NSConnection.m: ditto * Source/NSDistributedNotificationCenter.m: ditto * Source/NSPort.m: ditto * Source/NSPortNameServer.m: ditto * Source/NSSerializer.m: ditto * Source/Port.m: ditto * Source/TcpPort.m: ditto Mon Jun 14 10:20:00 1999 Richard Frith-Macdonald * Source/NSConcreteValue.m: Update for MacOS-X and for GC * Source/NSCTemplateValue.m: Update for MacOS-X and for GC * Source/NSNumber.m: Update for MacOS-X and for GC, optimised * Source/NSConcreteNumber.m: Update for MacOS-X and for GCC, optimised * Source/NSValue.m: Update for MacOS-X and for GC * Source/include/NSValue.h: Update for MacOS-X and for GC Sat Jun 12 15:50:00 1999 Richard Frith-Macdonald * Source/NSConcreteValue.m: Implemented [hash and isEqualToValue * Source/include/NSConcreteValue.h: Change NSString ivar to char* for performance reasons. * Source/NSCTemplateValue.m: Implemented hash and optimised. Thu Jun 4 13:55:00 1999 Richard Frith-Macdonald * Source/NSCharacterSet.m: prepare for GC * Source/NSString.m: prepare for GC * Source/NSTimer.m: tidied and added timeInterval method * Source/include/NSTimer.h: tidied and added timeInterval method * Source/NSArchiver.m: Fixed memory leak in ([-init]) Tue Jun 2 10:50:00 1999 Richard Frith-Macdonald * Source/NSSerializer.m: Added uniquing for deserialized strings. * Source/include/NSSerialization.h: likewise. Tue Jun 2 5:45:00 1999 Richard Frith-Macdonald * Source/TcpPort.m: Fixed to compile cleanly under cygwin. * Source/UnixFileHandle.m: ditto * Source/NSHost.m: ditto * Source/NSProcessInfo.m: ditto * Source/NSRunLoop.m: ditto Fri May 28 14:30:00 1999 Richard Frith-Macdonald * Source/NSString.m: Fixed error on growing mutable strings - could cause unreasonable growth when generating property lists. Thu May 27 11:00:00 1999 Richard Frith-Macdonald * Source/NSArchiver.m: Fix memory leak reported by frederic.chauvin@lemel.fr and ready for garbage collection. * Source/NSUnarchiver.m: Ready for garbage collection. * Source/NSTimeZone.m: Fix memory leak reported by frederic.chauvin@lemel.fr. Ready for garbage collection. * Source/NSCalendarDate.m: Fix bug in decrementing date past start of month. Ready for garbage collection. Wed May 26 18:35:00 1999 Richard Frith-Macdonald * Source/include/NSSerialization.h: include NSObject.h * Source/NSSerializer.m: Deserialization optimisation (15%) * Source/NSArray.m: write descriptions to cstrings. * Source/NSDictionary.m: write descriptions to cstrings. * Source/NSGCString.m: description optimisation (15%). Wed May 26 12:25:00 1999 Richard Frith-Macdonald * Source/NSUnarchiver.m: Fixed libobjects compatibility methods to use decodeObject to get the name from the archive. Sun May 23 20:38:00 1999 Richard Frith-Macdonald * Source/TcpPort.m: Fixed retain/release loop causing ports occasionally to be kept in existence when they should disappear. Fri May 21 19:35:00 1999 Richard Frith-Macdonald * Source/include/NSObject.h: Added NSExtraRefCount() * Source/NSObject.m: Added NSExtraRefCount() Fri May 21 16:50:00 1999 Richard Frith-Macdonald * Source/include/NSThread.h: Update notification names to MacOS-X with defines for OpenStep compatibility. * Source/NSThread.m: Update notification names to MacOS-X * Source/externs.m: Update thread notification names to MacOS-X Fri May 21 16:40:00 1999 Richard Frith-Macdonald * Source/include/NSZone.h: Added NSZoneMallocAtomic() for Helge and in anticipation of adding garbage collection support some day. Fri May 21 9:56:00 1999 Richard Frith-Macdonald * Source/include/NSObject.h: Bracket macro definitions with #ifndef in case they are already defined. Thu May 20 20:30:00 1999 Richard Frith-Macdonald * Source/NSUserDefaults.m: Don't load defaults unless we need to. * Source/include/NSUserDefaults.h: Keep modification timestamp. Thu May 20 10:50:00 1999 Richard Frith-Macdonald * Source/GSeq.h: Add support for comparison and search. * Source/NSString.m: Use comparison and search functions from GSeq.h * Source/NSGString.m: Use comparison and search functions from GSeq.h * Source/NSGCString.m: Use comparison and search functions from GSeq.h * Source/Makefile.postamble: Make all string files depend on GSeq.h * Source/NSRunLoop.m: Don't retain receiver of runloop watcher. Wed May 19 21:25:00 1999 Richard Frith-Macdonald * Source/GSeq.h: New file to replace NSGSequence stuff * Source/NSString.m: Rewrite all methods using sequences. * Source/NSGString.m: Remove reference to NSGSequence. * Source/include/NSString.h: Remove unused method (_normalize). * Source/NSGSequence.m: Removed * Source/include/NSGSequence.h: Removed Tue May 18 9:00:00 1999 Richard Frith-Macdonald * Source/NSRunLoop.m: ([-acceptInputForMode:beforeDate:]) check that run loop watcher objects exist in map before trying to use them. Fri May 14 20:00:00 1999 Richard Frith-Macdonald * Tools/pldes.m: new tool to deserialise serialised property lists. * Tools/plser.m: new tool to serialise text property lists. * Tools/GNUmakefile: add pldes and plser Mon May 11 15:00:00 1999 Manuel Guesdon * Source/NSArray.m: getObjects: (id*)aBuffer range: (NSRange)aRange corrected bug in for: replace c by e Tue May 11 10:40:00 1999 Richard Frith-Macdonald * Source/include/preface.h: Attempt to standardise win32 conditional compilation by using __WIN32__ throughout. * NSDate.m: Standardize win32 stuff using __WIN32__ Open files with "rb" or "wb" only for winw3. * NSFileManager.m: Standardize win32 stuff using __WIN32__ * NSHost.m: Standardize win32 stuff using __WIN32__ * NSLog.m: Standardize win32 stuff using __WIN32__ * NSProcessInfo.m: Standardize win32 stuff using __WIN32__ * NSString.m: Standardize win32 stuff using __WIN32__ * NSTask.m: Standardize win32 stuff using __WIN32__ * NSThread.m: Standardize win32 stuff using __WIN32__ * NSUser.m: Standardize win32 stuff using __WIN32__ * NSUserDefaults.m: Standardize win32 stuff using __WIN32__ * Time.m: Standardize win32 stuff using __WIN32__ * UnixFileHandle.m: Standardize win32 stuff using __WIN32__ * NSData.m: Standardize win32 stuff using __WIN32__ * NSTimeZone.m: Standardize win32 stuff using __WIN32__ Open files with "rb" or "wb" only for winw3. Mon May 10 8:00:00 1999 Richard Frith-Macdonald * Source/NSString.m: ([-rangeOfComposedCharacterSequenceAtIndex:]) optimised. * Source/NSGString.m: ([-rangeOfComposedCharacterSequenceAtIndex:]) implemented. * Source/NSGCString.m: ([-rangeOfComposedCharacterSequenceAtIndex:]) * Source/NSGSequence.m: various parts optimised. * Source/include/NSThread.h: add gcontext ivar. Fri May 7 15:12:00 1999 Richard Frith-Macdonald * Source/NSBundle.m: Modified ([-release]) to avoid unnecessary work and to refrain from caching bundles unless they have loaded code (or are the main bundle or the gnustep bundle). Thu May 6 21:00:00 1999 Richard Frith-Macdonald * Source/NSUnarchiver.m: Don't retain/release unless necessary. * Source/NSUserDefaults.m: ditto * Source/NSNotification.m: ditto * Source/NSFileManager.m: ditto * Source/NSBundle.m: ditto * Source/NSRunLoop.m: ditto * Source/NSAutoreleasePool.m: Bugfix in dealloc - would leave count of retained objects set high - caused deallocs of nil objects. Thu May 6 17:06:00 1999 Richard Frith-Macdonald * Source/NSString.m: Minor optimisations - use ([-allocWithZone:]) * Source/NSGCString.m: ditto * Source/NSGDictionary.m: ditto * Source/NSArray.m: ditto * Source/NSDictionary.m: ditto * Source/NSSet.m: ditto * Source/NSGCountedSet.m: ditto * Source/NSData.m: ditto Thu May 6 13:40:00 1999 Richard Frith-Macdonald * Source/propList.h: new file * Source/NSString.m: include propList.h for property-list parsing. * Source/NSGString.m: ditto * Source/NSGCString.m: ditto * Source/NSTask.m: Minor fixes for win32 * Source/NSLog.m: ditto * Source/NSProcessInfo.m: ditto * Source/NSFileManager.m: ditto 1999-04-28 Adam Fedor * Source/NSRunLoop.m (aSort): Redefine to take FastArrayItem as arguments. * Source/include/FastArray.x (FastArrayInsertionPosition): Fully specify sorter function for better type checking. (FastArrayCheckSort): Likewise. 1999-04-27 Adam Fedor * configure.in: Check for sys/mount.h for NSFileManager functions on FreeBSD Fri Apr 23 23:35:00 1999 Richard Frith-Macdonald * Source/NSCalendarDate.m: Applied bugfixes by Jeremy Bettis to better cope with month ends. Fri Apr 23 15:00:00 1999 Richard Frith-Macdonald * Source/NSBundle.m: Improved localisation - avoid possibility of recursion problems if an error occurs reading localisation info. * Source/NSDate.m: Added classes for distant past and distant future. 1999-04-22 Adam Fedor * configure.in: Don't abort if nested functions don't work. Not sure we even have any. * Source/NSBundle.m (-localizedStringForKey:value:table:): Log a message if no localized key found (per OpenStep specs). * Source/include/NSBundle.h (NSLocalizedStringFromTableInFramework): New GNUstep specific macro. * NSCharacterSets/GNUmakefile: Install in Resources rather than Resources/gnustep. * NSTimeZones/GNUmakefile: Likewise. * Source/NSCharacterSet.m: Look in new location. * Source/NSTimeZone.m: Likewise. Thu Apr 22 21:50:00 1999 Richard Frith-Macdonald * Source/NSBundle.m: Improved localisation - added stuff for internal use by the GNUstep system. * Source/NSBundle.h: ditto. * Source/FastArray.x: Removed assertions for performance. Thu Apr 22 11:35:00 1999 Richard Frith-Macdonald * Source/NSRunLoop.m: Optimisation and tidyup. * Source/NSTimer.m: Minor bugfixes. * Source/include/FastArray.x: Bugfix for array insertion. * Source/include/NSRunLoop.h: Remove limit ivar. * Source/include/NSTimer.h: Use NSDate again. Wed Apr 21 20:25:00 1999 Richard Frith-Macdonald * Source/NSAttributedString.m: Tidied. * Source/Source/NSAutoreleasePool.m: Thread exit code added * Source/NSCalendarDate.m: Tidied * Source/NSConnection.m: ditto * Source/NSException.m: Tidied and added description * Source/NSRunLoop.m: Optimisation, bugfixes, and removal of cruft. * Source/NSThread.m: Clean up autorelease pools on exit. * Source/NSTimer.m: Optimise use in runloop. * Source/include/FastArray.x: Bugfix for sorted array. * Source/include/NSAutoreleasePool.h: Mod for threads. * Source/include/NSObject.h: More retain/release macros. * Source/include/NSRunLoop.h: Optimise limit date. * Source/include/NSTimer.h: Optimise use with run loop. Tue Apr 20 16:50:00 1999 Richard Frith-Macdonald * Source/Makefile.postamble: NSRunLoop.m uses FastArray.x * Source/NSConnection.m: Tiny performance optimisation. * Source/NSDate.m: Minor fixes to class cluster. * Source/NSGDictionary.m: fixed typo. * Source/NSNotificationQueue.m: Optimised runloop interaction. * Source/NSRunLoop.m: Optimisaed notification queue interaction. * Source/NSTimer.m: Optimisation for run loop. * Source/NSUnarchiver.m: Fixed typo. * Source/include/FastArray.x: Support sorted insertion. * Source/include/NSDate.h: Tidied. * Source/include/NSNotificationQueue.h: Change runloop interface. * Source/include/NSTimer.h: Change runloop interface. Mon Apr 19 14:40:00 1999 Richard Frith-Macdonald * Source/NSThread.m: Fast thread access (GSCurrentThread()) etc. * Source/NSAssertionHandler.m: Use fast thread access. * Source/NSConnection.m: Use fast thread access. * Source/NSException.m: Use fast thread access. * Source/NSNotificationQueue.m: Use fast thread access. * Source/NSRunLoop.m: Use fast thread access plus other optimisations. * Source/NSAutoreleasePool.m: Speed up thread access. * Source/NSDate.m: Rewrite as calss cluster - MacOS-X compatibility. * Source/NSCalendarDate.m: Modifications to work with NSDate. * Source/NSGDictionary.m: Minor tidyup. * Source/NSGSequence.m: Minor optimisation - really needs a rewrite. * Source/NSDebug.m: Added function to report all allocations. Fri Apr 16 20:16:00 1999 Richard Frith-Macdonald * Source/include/NSGeometry.h: Don't pollute macro name space with MAX and MIN. * Source/include/NSRange.h: ditto Thu Apr 15 10:50:00 1999 Richard Frith-Macdonald * Source/include/NSHost.h: Use #ifdefs to prevent multiple inclusion. Thu Apr 15 9:47:00 1999 Richard Frith-Macdonald * Source/UnixFileHandle.m: ([-fileDescriptor]) return a valid file descriptor (for /dev/null) for the null device. * Source/NSTask.m: ([-launch]) Add code to reset signals in subprocess and to close all file descriptors (except stdin, stdout and stderr). Wed Apr 14 14:32:00 1999 Richard Frith-Macdonald * Source/NSPortNameServer.m: Don't suspend thread while waiting for gdomap to start up. * Source/NSDistributedNotificationCenter.m: Don't suspend thread while waiting for gdnc to start up. Wed Apr 14 10:50:00 1999 Richard Frith-Macdonald * Source/NSBundle: ([+allBundles]) implemented (ignoring the frameworks issue). Extra internal GNUstep specific methods provided - ([+_gnustep_target_cpu]), ([+_gnustep_target_dir]) ([+_gnustep_target_os]), ([+_library_combo]) So that we can easily determine wrapper path information. * Source/NSTaks: Preparation for garbage collecting. Major work on launching - now makes intelligent use of launch path. Tries various GNUstep directories - if unable to find executable that way, resorts to using the unix PATH environment variable. * Source/NSPortNameServer.m: Removed a couple of unix specific calls. * Source/NSDistributedNotificationCenter.m: Removed a couple of unix specific calls. * Tools/Makefile.postamble: Install gdnc in non-library specific dir. Tue Apr 13 22:05:00 1999 Richard Frith-Macdonald * Source/NSBundle.m: Updated to use Info.plist if Info-gnustep.plist is not available. Also updated to look in alternative directories for the object file to load... If not in the machine/os/lib-combo subdirectory, tries the machine/os directory and then the top-level directory. Also updated to cope with the case where the NSExecutable entry of the Info.plist specifies a path rather than a simple file name. * Source/NSUser.m: Implemented NSFullUserName() Mon Apr 12 13:15:00 1999 Richard Frith-Macdonald * Source/NSCountedSet.m: Make copying behavior be same as OPENSTEP * Source/NSSet.m: Fix memory scribbling bug in ([-initWithSet:]) * Source/NSGSet.m: Tidied types in fast map. * Source/NSGArray.m: Minor optimisationin copy etc. * Source/NSGDictionary.m: Tidied types in fast map. * Source/NSSerializer.m: Tidied types in fast map and array. * Source/NSArchiver.m: Tidied types in fast map and array. * Source/NSUnarchiver.m: Tidied types in fast map and array. * Source/FastArray.x: Tidied, fixed init bug, movied to include * Source/FastMap.x: Tidied, moved to include * Source/NSZone.m: Dummy zone for use with GC. * Source/include/NSZone.h: Dummy zone for use with GC. * Source/include/GSUnion.h: Unions for use with Fast... * Source/include/FastArray.x: New from Source * Source/include/FastMap.x: New from Source * Source/GNUmakefile: Added FastArray.x, FastMap.x, GSUnion.h * Source/Makefile.postamble: Added FastArray.x FastMap.x GSUnion.h. * NSCharacterSets/GNUmakefile: List all new character set names. Fri Apr 9 22:04:00 1999 Richard Frith-Macdonald * Source/NSGAttributedString.m: Final optimisation - remove almost all objc runtime overhead. Combined changes should result in a factor of 2 to 10 speedup (depending on operation) over original code. Fri Apr 9 16:22:00 1999 Richard Frith-Macdonald * Source/NSAttributedString.m: Implement tracking of changes to string returned by [-mutableString] method. Simplified initialisation. * Source/include/NSAttributedString.h: Updated. * Source/NSGAttributedString.m: Rewrite to get rid of all known problems and to boost performance hugely. * Source/include/NSGAttributedString.h: Updated. * Source/NSString.m: ([-_baseCount]) optimised. * Source/NSGString.m: ([-_baseCount]) optimised. 1999-04-09 Adam Fedor * NSCharacterSets: Updated sets to Version 2.1.8 * Souce/NSCharacterSet.m: Updated to reflect new names of character sets. 1999-04-08 Adam Fedor * configure.in: Remove test for libobjc.a Thu Apr 8 12:40:00 1999 Richard Frith-Macdonald * Source/NSArray.m: Make copying behavior consistent with OPENSTEP. * Source/NSDictionary.m: Make copying behavior consistent with OPENSTEP. * Source/NSSet.m: Make copying behavior consistent with OPENSTEP. Wed Apr 7 12:22:00 1999 Richard Frith-Macdonald * Source/NSCharacterSet.m: Use punctuationCharSet.dat 1999-04-06 Adam Fedor * NSCharacterSets/punctuationCharSet.dat: New file Mon 5 7:33:00 1999 Richard Frith-Macdonald * Source/NSRange.m: Moved most functions into header file, while including header to generate linkable versions. * Source/include/NSGeometry.h: Define MIN and MAX if required. * Source/include/NSRange.h: Define MIN and MAX if required and make most range functions a efficiency. Thu Mar 11 10:30:00 1999 Richard Frith-Macdonald * Source/NSDebug.m: Added two new functions for logging messags. * Source/include/NSDebug.h: Added four new logging macros. * Source/NSBundle.m: Updated to use new NSDebugMLLog() macro. Wed Mar 10 09:54:00 1999 Richard Frith-Macdonald * Source/FastMap.x: FastMapNodeForKey() - special case for empty map return 0 immediately. Fast for empty maps, marginally slower othrwise. * Source/NSProcessInfo.m: Removed [-debugArray], Added [-debugSet], Added GSDebugSet() function for rapid debug level testing. * Source/include/NSProcessInfo.h: Remove [-debugArray], Add [-debugSet] * Source/include/NSDebug.h: Rewrite NSDebugLog() and NSDebugLLog() to be much more efficient - now minimal performance impact. 1999-03-09 Adam Fedor * Source/include/NSObjCRuntime.h: Define some OpenStep cpp vars. * Source/include/NSException.h (NS_VALUERETURN): Fix. Tue Mar 9 5:16:00 1999 Richard Frith-Macdonald * configure.in: Added tests for syslog * Source/include/config.h.in: Added definitions for syslog * Source/NSLog.m: Added locking for multi-thread serialisation and added syslog support when write to stderr fails. 1999-03-08 Adam Fedor * Merged dawn branch to main. Wed Mar 3 5:32:00 1999 Richard Frith-Macdonald * Source/NSUser.m: Fixed a typo reported by twhite@rogers.wave.ca * Source/TcpPort.m: Fixed typos. Tue Mar 2 15:07:00 1999 Richard Frith-Macdonald * Source/TcpPort.m: If the host has no IP address, try finding the address of 'localhost' and, if that fails, use 127.0.0.1 Tue Mar 2 11:25:00 1999 Richard Frith-Macdonald * NSTimeZones/Makefile.postamble: Updated to preserve old localtime * NSTimeZones.tar: Updated to use the latest available zone info. Tue Mar 2 08:04:00 1999 Richard Frith-Macdonald * Merge in 'dawn' CVS branch. Tue Feb 23 12:03:00 1999 Richard Frith-Macdonald * Source/include/NSObject.h: Fixed bugin in ASSIGNCOPY() macro and added CREATE_AUTORELEASE_POOL() macro for libFoundation compatibility. * Source/include/NSRunLoop.h: Added GCFinalization protocol. * Source/NSRunLoop.m: Tidied a little, added GC macro use, fixed minor bug, and added slight performance improvement. Mon Feb 22 5:40:00 1999 Richard Frith-Macdonald Merged in alterations from main cvs branch made to wrong place 'cos dawn branch was already created :-( * Source/NSData.m: preserve file attributes when writing atomically * Source/NSUser.m: Bugfixes for consistent naming of current user. * Source/NSUserDefaults.m: Bugfixes so that running apps as root doesn't mess up defaults database. * Source/NSFileManager.m: Create files with correct ownership when process is setuid to root - and provide facility for NSData to do same. * Source/NSArray.m: Merged enumerator bugfix - missing @end Sun Feb 21 19:30:00 1999 Richard Frith-Macdonald * Source/NSFileManager.m: Attempt to fix problems with directory enumeration. Sat Feb 20 20:30:00 1999 Richard Frith-Macdonald * Source/NSUser.m: Added GSSetUserName() and rewrote NSUserName() to work consistently - use the LOGNAME environment variable as first choice of username. * Source/include/NSPathUtilities.h: Added GSSetUserName() * Source/NSUserDefaults.m: Added GNUstep specific method - ([+resetUserDefaults]) to reset the standard defaults in the event of a change os username. Also changed to create defaults withe correct ownership, and to create a defaults file containing a valid (empty) dictionary. * Source/include/NSUserDefaults.h: Added ([+resetUserDefaults]) * Source/NSData.m: Try to preserve file ownership etc with ([-writeToFile:atomically:]) * Source/NSFileManager.m: ([-changeFileAttributes:atPath:]) added code to handle owner and group names if owner and group IDs are not supplied. Also added code to ensure that programs running setuid to root create new files and directories with the ownership of their actual login user by default. 1999-02-19 Michael Hanni * Version 0.5.5 Released. Tue Mar 2 17:04:51 1999 Adam Fedor * Source/TcpPort.m ([GSTcpPort +portWithNumber:onHost:beforeDate:]): Fix typo in variable. Change include to (Needed on solaris). 1999-03-01 Adam Fedor * Update documentation. 1999-02-28 Adam Fedor * Source/Makefile.postamble: Don't install services if not root. (patches submitted by Christopher Seawood ). Tue Feb 23 12:03:00 1999 Richard Frith-Macdonald * Source/include/NSObject.h: Fixed bugin in ASSIGNCOPY() macro and added CREATE_AUTORELEASE_POOL() macro for libFoundation compatibility. * Source/include/NSRunLoop.h: Added GCFinalization protocol. * Source/NSRunLoop.m: Tidied a little, added GC macro use, fixed minor bug, and added slight performance improvement. 1999-02-22 Adam Fedor * Version: update version. * Source/NSProcessInfo.m: Change missing main message. Mon Feb 22 5:40:00 1999 Richard Frith-Macdonald Merged in alterations from main cvs branch made to wrong place 'cos dawn branch was already created :-( * Source/NSData.m: preserve file attributes when writing atomically * Source/NSUser.m: Bugfixes for consistent naming of current user. * Source/NSUserDefaults.m: Bugfixes so that running apps as root doesn't mess up defaults database. * Source/NSFileManager.m: Create files with correct ownership when process is setuid to root - and provide facility for NSData to do same. * Source/NSArray.m: Merged enumerator bugfix - missing @end 1999-02-19 Adam Fedor * Source/NSHost.m ([NSHost +currentHost]): Check for host not found. ([NSHost +hostWithName:]): Check for nil arg. ([NSHost +hostWithAddress:]): Likewise. * Testing/release.m: Make array mutable. * Testing/fref.m: Switch to NSArchiver/NSUnarchiver Wed Feb 17 8:52:00 1999 Richard Frith-Macdonald * Source/NSProcessInfo.m: Include process name in arguments list as in the OPENSTEP implementation - suggested by dirk@object-factory.com * Source/NSUserDefaults.m: Adjust for change to NSProcessInfo * Source/Tools/defaults.m: ditto * Source/Tools/dread.m: ditto. * Source/Tools/dwrite.m: ditto. * Source/Tools/dremove.m: ditto. * Source/Tools/plparse.m: ditto. * Source/Tools/sfparse.m: ditto. Tue Feb 16 15:35:00 1999 Richard Frith-Macdonald * Source/NSArray.m: ([-removeObjectsFromIndices:]) rewrite to work according to spec. * Testing/nsarray.m: Fixed check on joining strings. Mon Feb 15 06:14:00 1999 Richard Frith-Macdonald * Source/include/NSDebug.h: Declare strerror() if not known to system * Source/NSTask.m: Include NSDebug.h and don't declare errno. Thu Feb 12 00:57:00 1999 Manuel Guesdon * Source/include/NSString.h: declaration of categories: NSString (GSString) NSString(GSTrimming) NSMutableString (GSString) NSMutableString (GSTrimming) * Source/NSString.m: implementation of these categories * Source/include/NSObject.h: added ASSIGNCOPY Same as ASSIGN but copy the value * Source/include/NSURL.h: New class * Source/include/NSURLHandle.h: New class * Source/NSURL.m: New class [see the note in the file] * Source/NSURLHandle.m: New class [see the note in the file] * GNUMakefile: added NSURL.m and NSURLHandle.m Fri Feb 12 16:20:00 1999 Richard Frith-Macdonald * Source/NSGeometry.m: Removed most functions - into header * Source/include/NSGeometry.h: Made most functions inline for speed. * Makefile.postamble: NSGeometry.o depends on NSGeometry.h Thu Feb 11 19:25:00 1999 Manuel Guesdon * Source/NSObjCRuntime.m: Fixed error in GSGetInstanceVariable name: GSGetIinstanceVariable transformed to GSGetInstanceVariable Thu Feb 11 9:51:00 1999 Richard Frith-Macdonald * Source/NSString.m: Fixed error in property-list parsing - was not taking into account octal and hexadecimal escape sequences. Thu Feb 11 9:51:00 1999 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([-dealloc]) invalidate timer so we can't get sent a timeout message after d4eallocation - fixes occasional crashes when the defaults database has been unreadable. Thu Feb 11 7:27:00 1999 Richard Frith-Macdonald * Source/NSConnection.m: Tidy up with bugfixes and better distributed retain/release for triangle connections. * Source/NSDistantObject.m: ditto * Source/TcpPort.m: ditto * Source/include/DistributedObjects.h: ditto * Source/include/NSConnection.h: ditto * Source/include/NSDistantObject.h: ditto 1999-02-09 Adam Fedor * Source/HashTable.m: Moved to extensions. * Source/List.m, Source/NXStringTable*, Source/Storage.m, Source/objc/HashTable.h, Source/objc/List.h, Source/objc/NXStringTable.h, Source/objc/Storage.h: Likewise. Tue Feb 9 14:08:00 1999 Richard Frith-Macdonald * Source/NSProcessInfo.m: Fixed login in #if construct so things will link again. 1999-02-08 Adam Fedor * Source/include/fake-main.h: Leave off __ELF__, only use autoload of init method if SYS_AUTOLOAD. * Source/NSProcessInfo.m: Likewise. Mon Feb 8 10:05:00 1999 Richard Frith-Macdonald * Source/include/NSByteOrder.h: Implemented a full set of byte-swapping inline functions for integers with known sizes. * Source/NSData.m: Corrected serialization/deserialization routines to do byte-swapping using new functions. * Source/UnixFileHandle.m: Use new byte-swapping functions rather than htonl(), htons(), ntohl(), ntohs(). * Source/NSUnarchiver.m: Use new byte-swapping functions. 1999-02-04 Adam Fedor * config/config.printf.c: New file. * configure.in: Test for broken register_printf function. * Source/NSLog.m (_NSLog_standard_printf_handler): Use fputs to avoid possible double expansion of format chars. 1999-02-04 Matthias Klose * Source/include/NSObject.h: eval value in ASSIGN macro only once. Thu Feb 4 13:10:00 1999 Richard Frith-Macdonald * Source/NSString.m: ([-dataUsingEncoding:allowLossyConversion:]) Removed spurious trailing nul and other spurious code having no effect - formatted to be readable. Thu Feb 4 13:10:00 1999 Richard Frith-Macdonald Deleted all the old property-list and strings-file parsing stuff. * Source/NSBitmapCharSet.m: ([-formUnionWithCharacterSet]) corrected to use bitwise or rather than logical or. ([-formIntersectionWithCharacterSet:]) corrected to use bitwise and rather than logical and. * Source/NSString.m: Implemented handwritten parser code for ([-propertyList]) and ([-propertyListFromStringsFileFormat]) which supports unicode strings, is 64-bit clean, and raises exceptions as it should when given a badly formatted string to parse. This replaces the old lex/bison code (which did none of these things) and runs just as fast! Just hope that if there are any bugs they show up in time to fix for the 0.6 release. * Tools/GNUmakefile: Added plparse and sfparse. * Tools/plparse.m: New tool to parse a property-list and report errors. * Tools/sfparse.m: New tool to parse a strings-file and report errors. Wed Feb 3 12:45:00 1999 Richard Frith-Macdonald * Source/FastArray.x: Don't use value returned by RETAIN macro. * Source/FastMap.x: Don't use value returned by RETAIN macros. * Source/NSGDictionary.m: Fix to assign values in RETAIN macros as suggested by mguesdon@sbuilders.com Tue Feb 2 15:35:00 1999 Richard Frith-Macdonald * Source/NSZone.m: nrecycle() bugfix - was persisting after memory had actually been returned to system malloc. Tue Feb 2 11:20:00 1999 Richard Frith-Macdonald * Source/mframe/alpha/linux-gnu: First 'real' port to alpha. * Source/mframe/alpha/generic: ditto 1999-02-01 Adam Fedor * Source/UnixFileHandle.m: Switch include of netinet/in.h. * Source/NSObject.m: Undef ALIGN before define'ing. * Source/NSZone.m: Likewise. * Source/mframe/configure.in: Recognize any version of freebsd or openbsd. * Source/mframe/i386/freebsd: New file, copy of generic. * Source/mframe/i386/openbsd: Likewise. (Bug reports from Michael Hanni ). Mon Feb 1 11:25:00 1999 Richard Frith-Macdonald Patch supplied by eric@skatter.usask.ca * Testing/nsscanner.m: Explicitly include NSString.h. Cleaned up autorelease pool handling. Fixed some printf arguments that didn't match their formats. Added tests for scanHexInt:. * Source/include/NSScanner.h: Add declarations for scanInt: and scanHexInt: methods. * Source/NSScanner.m Added scanHexInt: method. Cleaned up some comments. Added conditional compile to let scanDouble: accept numbers like 1.234eFoo (as 1.234). For now, numbers like this are rejected. Mon Feb 1 11:25:00 1999 Richard Frith-Macdonald * src/NSArray.m: ([-initWithContentsOfFile:]) Fixed memory leak. * src/NSDictionary.m: ([-initWithContentsOfFile:]) Fixed memory leak. * src/NSData.m: Tidied indentation and 64-bit clean serialization of strings, classes, and selectors. Sat Jan 30 5:55:00 1999 Richard Frith-Macdonald Tidying up brain-damaged changes I made while ill. * src/NSConnection.m: Tidied proxy handling a bit * src/NSDistantObject.m: Tidied - made closer to OpenStep spec. Fri Jan 29 11:00:00 1999 Richard Frith-Macdonald * src/NSArchiver.m: Implemented ([-encodeDataObject:]) * src/NSUnarchiver.m: Implemented ([-decodeDataObject]) 1999-01-28 Adam Fedor * GNUmakefile (SUBPROJECTS): Change directory names * configure.in: Update for new directories. Thu Jan 28 16:45:00 1999 Richard Frith-Macdonald * src/include/NSObject.h: Preliminaries for addition of GC * src/include/NSZone.h: ditto * src/NSObject.m: ditto * src/NSZone.m: ditto Thu Jan 28 11:40:00 1999 Richard Frith-Macdonald * src/include/GSConfig.h.in: Added gsaddr type - integer with same size as a pointer. * configure.in: Added gsaddr type and fixed a coiuple of typos. * src/NSUnarchiver.m: include NSByteOrder.h Thu Jan 28 9:20:00 1999 Richard Frith-Macdonald * src/Makefile.postamble: Tidied distclean stuff - suggested by jagapen@whitewater.chem.wisc.edu Wed Jan 27 12:00:00 1999 Richard Frith-Macdonald * configure.n: More type-size stuff * src/include/GSConfig.h.in: More type-size stuff * src/include/NSData.h: Changed GNUstep extensions and added constants for coder support. * src/include/NSArchiver.h: Changes for handling systems with differing type sizes. * src/include/NSByteOrder.h: Changes and additions for handling systems with differing type sizes. * src/NSData.m: Changed GNUstep extensions for coder support in order to make handling of type-size information easier. * src/NSArchiver.m: Encode type-size info and write more efficiently. * src/NSUnarchiver.m: Decode type-size info. * src/UnixFileHanlde.m: Use localhost if given no host for connect. Tue Jan 26 15:45:00 1999 Richard Frith-Macdonald * configure.in: More stuff for type-size info * src/include/GSConfig.h.in: More stuff for type-size info. * src/FastArray.x: Allow types with fixed sizes in array. * src/FastMap.x: Allow types with fixed sizes in map. Tue Jan 26 8:15:00 1999 Richard Frith-Macdonald * src/NSThread.m: ([-sleepUntilDate:]) cast argument of usleep() to be integer rather than float - suggested by stark@easynet.fr Sun Jan 24 8:50:00 1999 Richard Frith-Macdonald * src/NSConnection.m: Preliminary work for handling DO between machines wiuth different pointer sizes. * src/NSDistantObject.m: ditto * src/include/NSConnection.h: ditto * src/include/NSDistantObject.h: ditto * src/include/DistributedObjects.h: ditto Tue Jan 19 12:20:00 1999 Richard Frith-Macdonald * src/NSUserDefaults.m: Fixed to update periodically from disk and to post notifications if the on-disk copy has changed. * src/include/NSUserDefaults.m: Changed vtimer info for update. Fri Jan 15 10:45:00 1999 Richard Frith-Macdonald * src/NSObjCRuntime.m: Added GSGetInstanceVariable() and GSSetInstanceVariable() methods - extensions to gnustep. * src/NSObjCRuntime.h: ditto Tue Jan 12 4:10:00 1999 Richard Frith-Macdonald * src/NSProcessInfo.m: Fix for GNU/Linux-powerpc (__PPC__) to get class initialised with argument info. * src/include/fake-main.h: ditto Mon Jan 11 16:45:00 1999 Richard Frith-Macdonald Fixes for bugs reported by Benhur-de-Oliveira.Stein@imag.fr * src/NSDictionary.m: ([-initWithObjectsAndKeys:]) fixed test for nil. * src/NSSet.m: Added makeObjectsPerformSelector methods. * src/NSString.m: ([-rangeOfComposedCharacterSequenceAtIndex:]) find range from before the index if necessary. * Tidied allocation methods in NSArray.m NSDictionary.m Sat Jan 8 6:00:00 1999 Richard Frith-Macdonald * src/NSPortNameServer.m: Raise exception on failure to register name. Fri Jan 8 9:20:00 1999 Richard Frith-Macdonald * src/NSObject.m: Cache a few more classes. * src/include/fast.x: Add a few more classes to cache. * checks/benchmark.m: Benchmark classname lookup overhead. * src/Makefile.postamble: Improve dependencies. Wed Jan 6 22:05:00 1999 Richard Frith-Macdonald * src/UnixFileHandle.m: Fixed error in last change to ([-closeFile]) which could fail to remove descriptors from runloop properly. Wed Jan 6 10:30:00 1999 Richard Frith-Macdonald * mframe/alpha/linux-gnu: First rough attempt at making a config file for the DEC alpha. * mframe/alpha/gneric: ditto. Tue Jan 5 20:30:00 1999 Richard Frith-Macdonald * configure.in: New stuff for making byte-order and type-size information available in GSConfig.h * src/NSTask.m: Set process group for child process and preliminary code for keeping track of active child tasks and handlign sigchld. * src/UnixFileHandle.m: Modified ([-closeFile]) to send notifications if there are any asynchronous operations in progress. * src/include/Foundation.h: include GSConfig.h * src/include/NSObject.h: include GSConfig.h * src/include/NSByteOrder.h: Use GS_WORDS_BIGENDIAN from GSConfig.h * src/include/GSConfig.h.in: Add typedefs for types with known size. * src/include/config.h.in: Added HAVE_SETPGID and HAVE_SETPGRP Tue Jan 5 9:45:00 1999 Richard Frith-Macdonald * src/NSTask.m: Workaround for bug in linux waitpid(), general tidying, clean up descriptors in child process. * src/NSString.m: ([-dataUsingEncoding:]) fixed memory leak. Mon Jan 4 15:35:00 1999 Richard Frith-Macdonald * src/NSInvocation.m: Fix for machines that pass structures by ref. * mframe/powerpc/linux-gnu: Machine definition added for powerpc. Mon Jan 4 9:05:00 1999 Richard Frith-Macdonald * src/o_vscanf.c: Don't make local copy of va_list parameter by assignment - doesn't work on machines where a va_list is an array. Sat Jan 2 12:48:51 1999 Adam Fedor * configure.in: Configure subdir src/mframe properly using AC_CONFIG_SUBDIRS Sat Dec 26 8:20:00 1998 Richard Frith-Macdonald * src/NSString.m: Make compare with range of length zero always return NSOrderedSame Sat Dec 19 01:26:06 1998 Matthias Klose * NSCharacterSets/Makefile.postamble: Use macro MKDIRS. * NSTimeZones/Makefile.postamble: likewise * src/Makefile.postamble: likewise Sat Dec 19 10:45:58 1998 Adam Fedor * src/mframe/configure.in: Test for empty subdir (patch from Matthias Klose ). Fri Dec 18 14:39:46 1998 Matthias Klose * */*: include instead of . * src/Makefile.postamble: reflect this change in srcdir-include. Fri Dec 18 18:15:00 1998 Richard Frith-Macdonald Foundation.h: Added NSPathUtilities.h NSObject.h: Added GNUstep specific methods for describing a property-list to a stream. NSDate.h: Moved natural language methods to right place. NSObject.m: Added GNUstep specific extensions for describing a property-list to a stream, updated -description to spec. NSProxy.m: Tidied format and description method. NSArray.m: Added GNUstep specific extensions for describing a property-list to a stream. NSDictionary.m: ditto NSAttributedString.m: Tidied ([-replacementObjectForPortCoder:]) NSGAttributedString.m: ditto NSGCString.m: ditto NSGString.m: ditto NSString.m: ditto NSConcreteNumber.m: Added ([-replacementObjectForPortCoder:]) NSCoder.m: Cope nicely with encode/decode of nil property-list. Thu Dec 17 16:12:18 1998 Matthias Klose * {,*}/GNUmakefile: Include Version and GNUmakefile.local where missing. * configure: Add links to GNUmakefile.local Thu Dec 17 14:30:00 1998 Richard Frith-Macdonald NSCoder.m: ([-decodePropertyList:]) bugfix - use NSDeserializer Thu Dec 17 9:30:00 1998 Richard Frith-Macdonald NSCalendarDate.m: Try to cope gracefully when locale info is not available and we want to display a date. Use numeric month and week designations and hard-code am/pm NSUser.m: include NSProcessInfo.h Wed Dec 16 20:30:00 1998 Richard Frith-Macdonald Various modifications suggested by and . All untested. src/include/Port.h: ([+newForReceivingFromRegisteredName:fromPort:]) Additional method for DO through firewalls. src/include/NSConnection.h: Addittional method for DO through firewall ([+newRegisteringAtName:atPort:withRootObject:]) Additional method for DO through firewalls. src/NSTask.h: Updated to MacOS-X spec - accepts NSPipes. src/TcpPort.m: ([+newForReceivingFromRegisteredName:fromPort:]) Additional method for DO through firewalls. Removed obsolete name server code. src/NSConnection.m: Addittional method for DO through firewall ([+newRegisteringAtName:atPort:withRootObject:]) src/NSTask.m: Updated to MacOS-X spec - accepts NSPipes. Tue Dec 15 13:25:10 1998 Adam Fedor * src/NSUser.m (NSFullUserName): New function (not implemented). (NSStandardApplicationPaths): Likewise. (NSStandardLibraryPaths): Likewise. (NSTemporaryDirectory): New function (implemented). (NSOpenStepRootDirectory): Likewise. * src/include/NSPathUtilities.h: Defined new functions. * src/include/NSUserDefaults.h: Removed duplicate definitions. Mon Dec 14 6:30:00 1998 Richard Frith-Macdonald * src/GNUmakefile: Put mframe.h in a machine/os specific directory. * src/Makefile.postamble: Install mframe.h in machine/os specific dir * src/NSConnection.m: include mframe.h form new location. * src/NSInvocation.m: ditto * src/NSMethodSignature.m: ditto * src/NSObjCRuntime.m: ditto * src/NSSerializer.m: ditto * src/mframe.m: ditto Sat Dec 12 21:10:00 1998 Richard Frith-Macdonald src/NSUserDefaults.m: ([+standardUserDefaults]) set flag to avoid infinite recursion on initialisation. Error reported by Matthias Klose Sat Dec 12 17:40:00 1998 Richard Frith-Macdonald * src/include/GSConfig.h.in: Added new file for machine/os specific info that is relevent to things outside the base library. * configure.in: Build GSConfig.h * configure: Build GSConfig.h * src/GNUmakefile: Move GSConfig.h into place * src/Makefile.postamble: Install GSConfig.h * src/include/NSByteOrder.h: include GSConfig.h Sat Dec 12 15:40:00 1998 Richard Frith-Macdonald * Tools/Makefile.postamble: Added check that you are installing gdomap as root and output warnign if not. Mon Dec 7 10:00:34 1998 Adam Fedor * src/NSConcreteNumber.m ([NumberTemplate -descriptionWithLocale:]): Print BOOL value as a special case. * src/NSProcessInfo.m: Use fake-main if FreeBSD. * src/include/fake-main.h: Likewise. Sun Dec 6 20:30:00 1998 Richard Frith-Macdonald * src/NSDate.m: removed +initialize - moved default locale info to NSUserDefaults. * src/NSUserDefaults.m: Added code to set up default locale info. Thu Dec 3 16:30:00 1998 Richard Frith-Macdonald * src/NSDictionary.m: Removed filesystem methods - conflict with versions in NSFileManger. * src/include/NSDictionary.h: Ditto * src/NSFileManager.m: Updated dictionary access methods to MacOS spec * src/include/NSFileManager.h: Ditto. * src/include/NSUserDefaults.h: Made constant strings 'const'. * src/include/externs.m: Made constant strings 'const'. Thu Dec 3 11:00:46 1998 Adam Fedor * aclocal.m4: Add OBJC_CON_AUTOLOAD and OBJC_SYS_AUTOLOAD requirements to OBJC_SYS_DYNAMIC_LINKER test. Wed Dec 2 16:11:05 1998 Adam Fedor * src/NSDictionary.m (-fileGroupOwnerAccountName): New method. (-fileModificationDate): Likewise. (fileOwnerAccountName): Likewise. (filePosixPermissions): Likewise. (fileSize): Likewise. (fileSystemFileNumber): Likewise. (fileSystemNumber): Likewise. (fileType): Likewise. * src/include/NSDictionary.h: New methods. Contributed by Camile TROILLARD . Wed Dec 2 20:30:00 1998 Richard Frith-Macdonald * src/GNUmakefile: Added NSDateFormatter * src/Makefile.postamle: Bugfix in installation - was adding service entries when not needed. * src/NSDate.m: Added natural language support. * src/NSDateFormatter.m: Implemented this class. * src/externs.m: Added natural language support. * src/include/Foundation.h: Added missing headers. * src/include/NSDate.h: Added natural language stuff. * src/include/NSDateFormatter.h: Contributed by Camile TROILLARD and updated to match implementation. * src/include/NSDecimalNumber.h: Added header (contributed by Camile) - no implementation yet. * src/include/NSDecimal.h: Added header - no implementation yet. * src/include/NSUserDefaults.h: Added natural language stuff. Tue Dec 1 09:31:59 1998 Adam Fedor * src/Makefile.postamble: new variable INSTALL_ROOT_DIR, such that /etc/services can be installed somewhere (need this for building Debian binary packages). Patch from Matthias Klose . Mon Nov 30 10:20:00 1998 Richard Frith-Macdonald * src/NSTask: Minor bugfix -ignore SIGCHLD * src/NSUserDefaults: bugfix in registerDefaults: was replacing rather than addning defaults. Also changed to cache dictionaryRepresaentation. * src/include/NSUserDefaults.h: Added ivar to cache dictionary representation. * src/include/NSDate.h: Updated header for a couple of fixes. * src/NSDate.m: Initialise locale stuff. * src/NSCalendarDate.m: Use locale stuff. Fri Nov 27 21:30:00 1998 Richard Frith-Macdonald * src/NSPortNameServer.m: ([_open]) changed to stop attempts to restart the name server when a connect to ANOTHER host fails. Also improved log messages to identify the host we failed to connect to. Also added support for overriding the default port fo the name server. * Tools/gdomap.h: updated comments to talk about NSPortNameServer.m Fri Nov 27 13:45:00 1998 Richard Frith-Macdonald * src/NSObjCRuntime.m: minor performance improvment. * src/NSUnarchiver.m: more performance improvements. * src/NSObject.m: Fix error introduced in last mod. Thu Nov 26 13:35:00 1998 Richard Frith-Macdonald * src/NSObject.m: ([+instanceRespondToSelector:]) and ([-respondsToSelector:]) changed to use __objc_responds_to() for an order of magnitude performance boost. Thu Nov 26 11:00:00 1998 Richard Frith-Macdonald * src/NSRunLoop.m: Bugfix in ([-addEvent:type:watcher:forMode:]) to get the count of numbers of time a watcher has added a descriptor correct. Wed Nov 25 16:27:52 1998 Adam Fedor * src/include/fast.x: Add #ifndef/#define around file. Wed Nov 25 20:45:00 1998 Richard Frith-Macdonald * src/NSPortNameServer.m: Made more tolerant of badly set up systems. * src/Makefile.postamble: Modified to make rule for placing gdomap in /etc/services more portable. Tue Nov 24 4:10:00 1998 Richard Frith-Macdonald * src/Tools/GNUmakefile: removed make_services * src/Tools/make_services.m: Removed - moved to gui library. * src/NSBundle.m: Changed Info.plist to Info-gnustep.plist since that's what GNUstep uses instead. Fri Nov 20 20:10:00 1998 Richard Frith-Macdonald * src/Makefile.postamble: Added dependencies for FastArray.x and added simple stuff to append gdomap port entries to /etc/services after install (if not already present). Fri Nov 20 14:30:00 1998 Richard Frith-Macdonald * 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 * 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 * 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 * src/NSData.m: ([-encodeWithCoder:]) bugfix for case where data object is of length zero. Wed Nov 18 9:20:00 1998 Richard Frith-Macdonald * 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 * 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 ). * src/include/fast.x: Fix /* in comment. Thu Nov 12 17:30:00 1998 Richard Frith-Macdonald 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 * 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 * 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 * 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 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 * 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 * 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 * 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 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/NSString.m ([NSString -completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:]): Implement. Thu Oct 15 06:15:00 1998 Richard Frith-Macdonald * 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 * src/NSString.m ([NSString -stringByResolvingSymlinksInPath]): Implement. Wed Oct 14 10:27:47 1998 Masatake Yamato * 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 * src/include/NSNotification.h: Addd placeholder in NSNotificationCenter for size of NotificationDispatcher. The Oct 8 15:15:00 1998 Richard Frith-Macdonald * 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 * 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 * 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 * 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 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 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 * 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 * 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 * src/include/Foundation.h: Added some missing files. * src/NSDistantObject.m: Fixed ([-methodSignatureForSelector:)] Mon Sep 28 17:02:33 1998 Adam Fedor * 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 * src/include/preface.h.in (MIN, MAX): Rewrite macros (suggestion from Tom Hageman . Thu Sep 10 06:05:00 1998 Richard Frith-Macdonald * 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 * 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 * src/NSBundle.m (+mainBundle:): Remove *_obj directory to find main bundle path. Wed Sep 02 14:15:00 1998 Richard Frith-Macdonald * 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 * 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 * doc/gnustep-base.tmpl.texi: Fix up doc problems. * doc/todo.tmpl.texi: Likewise. Thu Aug 20 11:50:23 1998 Adam Fedor * src/mframe.m (mframe_next_arg): Fixes from Richard Frith-Macdonald . Tud Aug 13 21:15:00 1998 Richard Frith-Macdonald 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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:])