2004-12-30 Adam Fedor * Headers/Foundation/NSGeometry.h (NSContainsRect): Change behavior to match Cocoa (sides of rects CAN touch). 2004-12-26 Adam Fedor * Add support for systems that support unichar file paths (e.g. Windows). * Headers/Foundation/NSFileManager.h (-localFromOpenStepPath:, _openStepPathFromLocal:): New methods. (NSDirectoryEnumerator): Updated ivars. * Source/NSFileManager.m: Idem. (-changeCurrentDirectoryPath, changeFileAttributes:, currentDirectoryPath, etc): Update for Windows unichar paths. * Headers/Foundation/NSString.h: (-unicharString, -localFromOpenStepPath:, _openStepPathFromLocal:): New methods. * Source/NSString.m: Idem. * Source/GSFileHandle.m (-initForReadingAtPath:, -initForWritingAtPath, -initForUpdatingAtPath:): Update for Windows unichar paths. * Source/NSData.m (readContentsOfFile, -writeToFile:, initWithContentsOfMappedFile:): Idem. * Source/NSTask.m (NSConcreteWindowsTask): Update for Windows unichar paths. (Patch from Roland Schwingle ) 2004-12-28 Richard Frith-Macdonald * Tools/gdnc.m: Change name of dummy class to avoid Darwin linker problems. * Testing/nsundomanager.m: Trivial test added 2004-12-21 Adam Fedor * Source/NSTimeZone (NSInternalAbbrevDict): Remove class (+abbreviationDictionary): Implement from new one-to-one plist. * NStimeZones/NSTimeZone.tar: Added abbreviations.plist. Regenerated. * Testing/nstimezone.m: New tests. * Source/Additions/GNUmakefile: Remove duplicate Unicode.m. 2004-12-21 David Wetzel * Source/Additions/GNUmakefile: Added Additions_OBJC_FILES += Unicode.m on apple 2004-12-18 David Wetzel * Source/Additions/GSCategories.m ([NSMutableString -replaceString:withString:]): Rewrite to work again. [tmp replaceString:@"&" withString:@"&"]; Did NOT work. 2004-12-12 Adam Fedor * Changes so additions compiles on older Mac OS X 10.1.5 * Source/Additions/GCArray.m (-copyWithZone:): Use more standard array initialization method. (mutableCopyWithZone:, [GCMutableArray -copyWithZone:], [GCMutableArray -mutableCopyWithZone:]): Idem. * Source/Additions/GSCategories.m ([NSData -hexadecimalRepresentation]): Use identically functioning, but older, standard data initialization. * Source/Additions/GSCategories.m ([NSMutableString -replaceString:withString:]): Rewrite to use older, standard methods. * Tools/AGSHtml.m ([AGSHtml -outputNode:to:]): Use GNUstep addition method to replace string. * Tools/autogsdoc.m (main): Idem. (Patch from Markus Hitter). 2004-12-12 Adam Fedor * configure.ac: Avoid improper use of -fXXX-runtime. Add -x objective-c when testing Objective-C programs (Followup for bug #11188). 2004-12-09 Matt Rice * Source/NSUndoManager.m ([-forwardInvocation,-registerUndoWithTarget:selector:object:): Don't clear the redo stack if redoing. 2004-12-07 Adam Fedor * configure.ac: Test for objc forwarding by compiling a program. * config/config.forward.m: New file. (Fixes bug #11188). * Source/GSFormat.m (GSFormat): Assign wchar via var args from an int (Fixes bug #10950). * Testing/string.m: Tests for standardizing path. 2004-12-01 Richard Frith-Macdonald * Source/NSCalendarDate.m: Fix off-by-one bug resulting in printout for december being numeric with '%b' format. Reported by Ludovic 2004-11-30 Adam Fedor * Source/GSFileHandle.m (-setNonBlocking:): Set the isNonBlocking ivar on MingW. Fixes bug #10742. 2004-11-30 Matt Rice * Source/NSBundle.m (-principalClass): If the class specified in NSPrincipalClass key is not found return the first class found. * Headers/Foundation/NSBundle.h (-principalClass): Document the above. 2004-11-29 Adam Fedor * configure.ac: Check for libffi or callback/avcall libs (Patch from Matt Rice). Fixes bug #11134. 2004-11-25 Richard Frith-Macdonald * Tools/gdomap.c: make respond to --help as to -H * Source/NSConnection.m: ([_threadWillExit:]) change to be a class method rather then instance method. Implement removeal of runloop of exiting thread unconditionally from all threads... the code in [removeRunLoop:] is safely lock protected. Use GSRunLoopForThread() for performance throughout. 2004-11-24 15:08 Patrick McFarland * configure.ac: Change "doesn't" to "does not" in an error message to avoid autoconf/m4 quoting issues. * configure: Regenerate. 2004-11-23 David Wetzel * Headers/Additions/GNUstepBase/Unicode.h: added missing #include "GSObjCRuntime.h" 2004-11-23 Richard Frith-Macdonald * Source/NSProcessInfo.m: * Source/NSUserDefaults.m: Improve documentation of --GNU-Debug=... 2004-11-22 Richard Frith-Macdonald * Source/NSPropertyList.m: Initialise harmless uninitialised variable to avoid compiler warning in ([propertyListFromData:mutabilityOption:format:errorDescription:]) fixing bug report #11093 * Source/NSMessagePort.m: ifndef toi fix harmless compiler warning reported as bug #11092 * NSNotificationCenter.[hm]: Remove non-functional setImmutableInPost method to fix bug report #11080 2004-11-20 Richard Frith-Macdonald * Source/NSBundle.m: Fix to ensure that a main bundle exists. Fix to get -executablePath for the main bundle to return the path to the executable. * Tools/gdnc.m: In order to avoid problems on BSD when using the pth library to do threading, we need to fork, close descriptors, and then exec the program again, since closing descriptors messes up the threading library. 2004-11-19 Richard Frith-Macdonald * Tools/pl.m: Make code conform to gnu coding standards. * Source/NSRunLoop.m: ([runMode:beforeDate:]) add autorelease pool to retain old behavior where anything inside a runloop is automatically in the scope of an autorelease pool, and will not be leaked by autoreleasing. Fixes obscure problems with the last limitDateForMode changes. 2004-11-18 Gregory John Casamento * Tools/pl.m: Added a tool I wrote a while back which is an implementation of the pl command (as it is on Mac OS X and OPENSTEP). 2004-11-11 Adam Fedor * Headers/Foundation/NSBundle.h (builtInPlugInsPath): New method. * Source/NSBundle (builtInPlugInsPath): Imeplement (based on patch #3483). 2004-11-10 Richard Frith-Macdonald * Source/NSThread.m: Retain the notification center we use. * Source/NSNotificationCenter.m: Raise exception if anything tries to destroy the default center. 2004-11-04 Adrian Robert * Source/NSRunLoop.m (limitDateForMode:) Correction to housekeeper timer logic so event polling times out within reasonable time. Patch by Alexander Malmberg . 2004-11-04 Georg Fleischmann * Headers/Foundation/NSTimeZone.h, Source/NSTimeZone.m (+knownTimeZoneNames:): New method. 2004-11-03 Richard Frith-Macdonald * Source/NSThread.m: Revert change from september to fix memory leak ... Enrico says it broke some of his GSWorkspace code. Will have to find a better fix ... ensure we don't leak autorelease pools by repeatedly initalising thread autorelease variables. 2004-11-01 Richard Frith-Macdonald * Source/GSFormat.h: Moved around includes somewhat so that the order matches those in the autoconf test for HANDLE_LONG_LONG_MAX and we should therefore get LONG_LONG_MAX defined consistently. 2004-10-31 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([setObject:forKey:]) when given a nil value to set, remove any existing object for the key. Fix for MacOS-X compatibility (bug #10743). * Source/Additions/GSXML.m: Tweaks for 64-bit processors where sizeof int is not sizeof void* Minor optimisaion ... improve hash values. 2004-10-29 Matt Rice * Source/Additions/GSObjCRuntime.m (GSObjCAllSubclassesOfClass, GSObjCDirectSubclassesOfClass): skip meta classes. 2004-10-28 Adam Fedor * Version 1.10.1 * Source/Makefile.postamble (Info-gnustep.plist): Add some compatibility keys. 2004-10-26 Adam Fedor * configure.ac: Standardize order of flags and libs Check for proper defs in tzfile.h. Add sub-configure options so they are listed in help. Add generic include/lib flags option. * config.mak.in: Add load flags variable * base.make.in: Idem. * SSL/configure.ac: Add generic include/lib flags option. * Version: Add numeric value for runtime versioning. * Souce/GNUmakeifle: Add resource set install * Source/Makefile.postamble (Info-gnustep.plist): New target. * Testing/nsbundle.m: Additional tests. * Source/NSTimeZone.m: Check for proper tzfile defs (Fixes #10724). 2004-10-24 Richard Frith-Macdonald * Source/NSDistributedNotificationCenter.m: Changed to explicitly use a socket port name server for network wide notifications. * Source/Additions/GSXML.m: Added ([-abortParser]) * Source/NSXMLParser.m: Use new abort method. 2004-10-21 Fred Kiefer * Source/NSPropertyList.m (GSBinaryPLParser objectAtIndex:): Changed integer handling to unsigned long long to support bigger numbers. 2004-10-20 Richard Frith-Macdonald * Headers/Foundation/Foundation.h: include NSXMLParser * Headers/Foundation/NSXMLParser.h: MacOS compatibility class * Source/DocMakefile: Add NSXMLParser * Source/GNUmakefile: Add NSXMLParser * Source/NSXMLParser.m: Wrap some GSXML functionality for compatibility. * Testing/GNUmakefile: Add nsxmlparser * Testing/nsxmlparser.m: Trivial/basic test for parser Committed the work I did back in May as there have been several expressions of interest. I haven't had time to do work on this and consider the code pre-alpha. Reaching full MacOS-X compatibility may require minor extension to GSXML. 2004-10-17 Matt Rice * Source/GSHTTPURLHandle.m: Don't expect a body where status is 204 or 304 2004-10-13 Adam Fedor * Source/NSBundle.m (_bundle_name_first_match): Remove path extension when comparing name (fixes #10611) 2004-10-13 Richard Frith-Macdonald * Source/Additions/GSXML.m: Fix bug escaping XML special chartacters. 2004-10-11 Richard Frith-Macdonald * Tools/defaults.m: fix for domains and default names contaning spaces. 2004-10-10 Adam Fedor * configure.ac: Check for tzfile.h * Source/NSTimeZone.m: Include system tzfile.h if found. (abbreviationMap): Add abbreviation from systemTimeZone if not already there. (systemTimeZone): Update the search list to look for time zone in TZ, then system location, then tznam. (getTimeZoneFile:): Look for file in system directory first. * Source/nstzfile.h: Renamed from tzfile.h 2004-10-09 Fred Kiefer * Source/NSPropertyList.m: Corrected implementation of class GSBinaryPLParser to support more features of binary property lists. Based on information by Gerriet M. Denkmann . * Source/NSAttributedString.m (-initWithCoder:): * Source/NSNumberFormatter.m (-initWithCoder:): Implemented keyed decoding. 2004-10-05 Adam Fedor * Source/Makefile.postamble (libgnustep-base.def): Search for both T and R symbols to work with multiple mingw/cygwin flavors. 2004-10-05 Richard Frith-Macdonald * Source/Additions/GSGategories.m: make whitespace test safe for unicode characters. 2004-10-04 Richard Frith-Macdonald * Source/GSHTTPURLHandle.m: Fix premature end of read where no content length is specified. 2004-10-03 Richard Frith-Macdonald * Source/Additions/GSXML.m: Add methods for converting XML escape sequences in NSStrings. * NSTimeZones/NSTimeZones.tar: updated 2004-10-02 Richard Frith-Macdonald * Headers/Additions/GNUstepBase/unicode/gsm0338.h: Add mapping for lossy conversion of right-single0quotation-mark to apostrophe. 2004-10-01 Adam Fedor * Documentation/HtmlNav/docs-web.html, Documentation/HtmlNav/index.html: Update pointers. * Source/DocMakefile (before-clean, after-clean): Move obj out of the way so it isn't removed when cleaning docs. * Tools/DocMakefile: Idem. 2004-09-29 Richard Frith-Macdonald * Source/NSNotificationCenter.m: ([_postAndRelease:]) lock table while emptying array of observers to prevent another thread from changing things at the same time. 2004-09-27 23:26 Alexander Malmberg * Source/NSDistantObject.m: Make proxyLocation an enum tag, not a variable. * Source/NSFileManager.m (custom_strdup, append_file_to_path): Make static. * Source/NSString.m (-isEqual:): Clarify documentation. * Source/NSUnarchiver.m (mapClassObject, mapClassName): Make static. * Source/Additions/Unicode.m (GetDefEncoding): Add missing void in the prototype. * Tools/make_strings/make_strings.m (ParseFile): Remove spurious static on the nested function add_arg_ch. 2004-09-27 15:51 Alexander Malmberg * configure.ac: Change SO_REUSADDR to SO_REUSEADDR in the checking message. Reported by Alex Perez. * configure: Regenerate. 2004-09-27 Richard Frith-Macdonald * Source/NSDebug.m: Remove checks for existence of lock ... it always exists, so the checks are useless. * Source/NSThread.m: Refrain from creating thread dictionary in an inactive thread ... we don't want to create new objects in a thread which is in the process of exiting. Also, improve documentation. 2004-09-24 Richard Frith-Macdonald * Source/GSArray.m: Make perform methods enumerate forwards. * Source/Additions/GSXML.m: ([nodeAtIndex:]) fix memory leak. * Source/GSHTTPURLHandle.m: Re-instate change to try to provide better support for connections kept alive. 2004-09-22 Richard Frith-Macdonald * Source/NSHost.m: Use isEqualToString rather than == to test for the special local host name. Fix check for nil hostname in ([_initWithHostEntry:key:]) 2004-09-21 Richard Frith-Macdonald * Source/NSConnection.m: ([_getReplyRmc:]) improve timeout code. 2004-09-20 Richard Frith-Macdonald * Source/NSProxy.m: minor hash optimisation 2004-09-19 Adrian Robert * Headers/Foundation/NSCoder.h * Headers/Foundation/NSFileHandle.h * Headers/Foundation/NSKeyValueCoding.h * Headers/Foundation/NSObject.h * Headers/Foundation/NSSet.h * Source/NSKeyValueCoding.m * Source/NSSet.m: Comment cleanups to improve documentation output and cross-referencing. * Documentation/manual/GSDoc.texi: Add more complete description of cross-referencing. 2004-09-19 Adrian Robert * Headers/Foundation/NSBundle.h * Headers/Foundation/NSConnection.h * Headers/Foundation/NSDistributedNotificationCenter.h * Headers/Foundation/NSPort.h * Headers/Foundation/NSTask.h * Headers/Foundation/NSThread.h * Headers/Foundation/NSURL.h * Headers/Foundation/NSUndoManager.h * Source/NSDistributedNotificationCenter.m * Source/NSTask.m * Source/NSURL.m * Source/NSUndoManager.m * Source/externs.m: Declare constant strings as constant, and move values from source files into externs.m . 2004-09-19 Adrian Robert * Tools/AGSOutput.h (informalProtocols): New array to accumulate informal protocols discovered during processing. * Tools/AGSOutput.h (outputUnit:to:): Accumulate informal protocols found here. * Tools/AGSIndex.h (addInformalProtocols:): New method to copy informal protocol refs. * Tools/AGSIndex.m (addInformalProtocols:): New method. (unitRef:type:unit:): Return unit including category for category methods. * Tools/AGSHtml.h: Add declaration of existing outputIndex.. method. * Tools/AGSHtml.m (makeLink:ofType:inUnit:isRef:) (outputIndex:scope:title:style:target:to:): Make proper references for informal protocols. * Tools/autogsdoc.m: Send informal protocols found by AGSOutput to AGSIndex. 2004-09-16 Richard Frith-Macdonald * Source/NSArray.m: Make objects perform selector in same order as MacOS-X 2004-09-16 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h: Define encoding macros for the NeXT runtime. * Source/Additions/GSObjCRuntime.m (GSAppendMethodToList): Copy type information. (GSRemoveMethodFromList): Add comment about potential minor leak. 2004-09-14 Richard Frith-Macdonald * Source/NSDateFormatter.m: * Source/NSNumberFormatter.m: Tolerate being given null pointers to return values in. * Tools/gdomap.c: Try both short and long forms of local host name. Report host name used when gethostbyname() fails. 2004-09-13 Adrian Robert * Tools/gsdoc-1_0_1.rnc: Added usage information. * Tools/GNUMakefile: Install it. * Tools/gdomap.8: Refer user to HTML documentation for more info. * Tools/autogsdoc.m: Be willing to parse .c files. * Tools/autogsdoc.1: Document that. * Tools/gdomap.c: Add comment to main so autogsdoc picks up as tool. * Tools/gdomap/gsdoc: New file - docs for gsdoc are actually here, taken from gdomap.h (not readily usable there by gsdoc). * Tools/DocMakefile: Include gdomap in docbuild. * Tools/BaseTools.gsdoc: Add gdomap to main TOC. 2004-09-10 David Ayers * Source/NSArray.m: Consistently terminate macros with semicolons. (arrayByAddingObjectsFromArray) (removeObjectsFromIndices:numIndices:): Insure all declarations precede statements. * Source/NSDictionary.m: Consistently terminate macros with semicolons. * Source/NSSet.m (initWithCoder:): Insure all declarations precede statements. 2004-09-09 Richard Frith-Macdonald * Source/GSString.m: Implement init for GSPlaceHolderString to return an empty inline unicode string. 2004-09-07 Adam Fedor * Documentation/HtmlNav/docs-web.html: Update to work with current web structure. 2004-09-07 Richard Frith-Macdonald * Source/NSSet.m: Fix possible stack overflows. * Source/GSSet.m: ([allObjects]) Fix stack overflow for large sets. * Source/NSTask.m: Fix error testing for task which has been lost. * Source/NSArray.m: Fix possible stack overflows * Source/NSTimer.m: Log uncaught exceptions when timer fires. Thanks to Andre Levey for reporting these. 2004-09-07 Richard Frith-Macdonald * Source/NSArray.m: * Source/NSDictionary.m: * Source/NSSet.m: * Source/NSString.m: Changes to designated initiailiser stuff for MacOS-X compatibility. Call -init to maintain the chain from subclasses to superclasses, but document the 'designated initialisers' as being the richer methods which may be used in GNUstep to make all the other initialisers work. 2004-09-04 Adam Fedor * Version 1.10.0 * Source/GNUmakefile: Define INTERFACE_VERSON explicitly. 2004-09-02 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h (GS_ATTRIB_DEPRECATED): New macro to use for deprecation attribute which can be deactivated for older compilers. 2004-09-03 19:08 Alexander Malmberg * Tools/gdnc.m (-addObserver:selector:name:object:suspensionBehavior:for:): Fix string reuse. (-postNotificationName:object:userInfo:deliverImmediately:for:): Make sure queued notifications are always released. Don't release obs. 2004-09-02 David Ayers * Source/GSFFCallInvocation.m * Source/GSFFIInvocation.m (gs_protocol_selector): Skip '-' for negative offsets to avoid issues with pre gcc 3.4 generated signatures. 2004-08-26 Adam Fedor * Source/NSProcessInfo.m ([NSProcessInfo +load]): Get environment variables via environ even #ifdef HAVE_KVM (fix/based on #10113). 2004-08-26 Richard Frith-Macdonald * Headers/Foundation/NSURLHandle.h: * Source/GSHTTPURLHandle.m: * Source/NSURLHandle.m: Fix property key names * Source/NSString.m: copy and autorelease potentially mutable strings before returning them. * Headers/Foundation/NSString.h: Document policy and warnings about lifetime and mutablity of strings returned from methods. 2004-08-25 Adrian Robert * Documentation/HtmlNav/index.html: * Documentation/HtmlNav/style.css: * Documentation/HtmlNav/gnustep-header.png: * Documentation/HtmlNav/gnustep-header14.jpg: * Documentation/HtmlNav/masthead-bg.jpg: Changed local HTML docs overview page to use same graphics as web site and a subset of its stylesheet. * Documentation/Makefile.postamble: Changed install accordingly. * Documentation/HtmlNav/docs-web.html: Added this file to be used as overview page for HTML docs when presented on gnustep.org web site. * Headers/Foundation/NSMethodSignature.h: Fixed unclosed tag typo in comment that was stopping docs from being generated. 2004-08-25 Richard Frith-Macdonald * Source/Additions/GSMime.m: Accept iso-10646-ucs-2 2004-08-25 Fred Kiefer * Tools/make_strings/GNUmakefile: Include config.mak to be consistent with the other base makefiles. Without this cross compliation failed for this subproject. 2004-08-24 David Ayers * Source/NSScanner.m: Define _GNU_SOURCE before including other headers. 2004-08-24 Richard Frith-Macdonald * Source/NSPropertyList.m: Always write date using GMT timezone for consistency. Make XML representation MacOS-X compatible. * Source/NSIndexSet.m: ([getIndexes:maxCount:inIndexRange:]) accept null pointer for index range. Consistent with undocumented MacOS-X feature (but we document it). * Headers/Additions/GNUstepBase/DistributedObjects.h: * Source/NSConnection.m: * Source/NSMessagePort.m: * Source/NSSocketPort.m: Use new ([-conversation:]) method to obtain handle for specific network link in use by a connection, and invalidate it when the connection is iunvaliodated. Fixes bug #9798 * Headers/Foundation/NSURLHandle.h: * Source/GSHTTPURLHandle.m: * Source/NSURLHandle.m: Add new property keys for setting certificate information for https. Stopgap until we can clone newer MacOS-X features. Add support for persistent connections for better performance when posting repeatedly to the same server. 2004-08-23 Richard Frith-Macdonald * Source/Additions/GSMime.m: Add content location methods. 2004-08-22 Richard Frith-Macdonald * Source/NSString.m: Various minor optimisations ... uppercaseString and lowercaseString no longer create a new object if no change is needed. Avoid unnecessary calls by using method variants with range arguments if we already know the length of the string. 2004-08-20 Richard Frith-Macdonald * Tools/AGSParser.m: Destory comments after skipping units ... we don't want them included as part of the documentation of the next thing after the unit. Recognize __attribute__((deprecated)) and add a comment. Fix scope of instance variables ... protected by default. 2004-08-20 David Ayers * Headers/Foundation/NSMethodSignature.h: (NSArgumentInfo): Document limitations of NSArgumentInfo's offset and registier information. Match size for NO_GNUSTEP. (NSMethodSignature): Match ivar name with runtime information. * Source/GSFFCallInvocation.m * Source/GSFFIInvocation.m * Source/NSInvocation.m (gs_method_for_receiver_and_selector) ([-invokeWithTarget:]): Use GSGetMethod instead of deprecated GSGetInstanceMethod and GSGetClassMethod. * Source/NSConnection.m ([-_service_typeForSelector]): Ditto. * Source/NSDistantObject.m ([+respondsToSelector]): Ditto. * Source/NSObject.m ([+instanceMethodSignatureForSelector:]) ([-methodSignatureForSelector:]) ([+descriptionForInstanceMethod], [-descriptionForMethod]): Ditto. * Source/NSProtocolChecker.m ([-methodSignatureForSelector]): Ditto. * Source/NSProxy.m ([+methodSignatureForSelector]) ([-methodSignatureForSelector]): Ditto. * Headers/Additions/GNUstepBase/GSObjCRuntime.h (GSFindInstanceVariable, GSGetVariable, GSSetVariable) (GSGetValue, GSSetValue, GSObjCName, GSObjCSelectorName) (GSObjCSelectorTypes, GSGetInstanceMethod, GSGetClassMethod) (GSGetInstanceMethodNotInherited, GSGetClassMethodNotInherited): Add deprecation markers. * Source/Additions/GSObjCRuntime.m (GSSelectorTypesMatch): Ignore structure names. * Testing/nsmethodsignature.m: Added test for nested structures. Reactivated test for signatures from older gcc versions. 2004-08-19 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h * Source/Additions/GSObjCRuntime.m (GSSelectorTypesMatch): New Function. (gs_skip_type_qualifier_and_layout_info): Ditto. * Source/callframe.m (callframe_do_call): Use GSSelectorTypesMatch instead of sel_types_match. * Source/cifframe.m (cifframe_do_call): Ditto. * Source/mframe.m (mframe_do_call): Ditto. * Source/GSFFCallInvocation.m (GSInvocationCallback): Use NSDebugFLog to NSWarnFLog. * Source/GSFFIInvocation.m (GSFFIInvocationCallback): Ditto. * Testing/nsmethodsignature.m: Use GSSelectorTypesMatch instead of sel_types_match. Test it. 2004-08-18 David Ayers * Testing/nsmethodsignature.m: Add more testing utilities. 2004-08-18 Richard Frith-Macdonald * Source/NSFileHandle.m: Add methods to get local socket info matching mthe existing methods which return remote address/port. * Source/GSFileHandle.m: ditto. 2004-08-17 David Ayers * Testing/GNUmakefile: Reactivate nsinvocation test. * Testing/nsmethodsignature.m (large/smallStruct_id:uchar:ushort:uint...): Correct name. (void_float:double:): New test. (void_double:float:): New test. 2004-08-17 Richard Frith-Macdonald * Source/NSPort.m, Source/NSPortNameServer.m: Fix port type selection for windows. 2004-08-11 Richard Frith-Macdonald * Source/NSPropertyList.m: don't escape single quotes unnecessarily. * Source/NSObject.m: (hash) tweak performance a little. 2004-08-07 Richard Frith-Macdonald * Source/NSPort.m (+initialize), Source/NSPortNameServer.m (systemDefaultPortNameServer): We should be using message ports when we are supposed to be MacOS-X compatible anyway, so check the runtime compatibility setting. Maybe we should be thinking about changing away from the OpenStep behavior as default, and put a warning into the next release? 2004-08-07 02:26 Alexander Malmberg * Source/NSPort.m (+initialize), Source/NSPortNameServer.m (systemDefaultPortNameServer): Check the NSPortIsMessagePort to get the default port class. * Tools/gdnc.m (-init): Comment on some dead code. 2004-05-30 Richard Frith-Macdonald * Source/GSMime.m: When using non-ascii default characterset ensure that the content type header has the appropriate charset parameter added during parsing, so unparsing will work correctly. 2004-08-05 01:59 Alexander Malmberg * Source/NSDistantObject.m (DO_FORWARD_INVOCATION): Warning if we can't do the forwarding. (-methodSignatureForSelector:): If a protocol has been set but doesn't contain info about the selector, forward the request to the other end of the connection. 2004-08-04 David Ayers * Testing/nsmethodsignature.m: New test. * Testing/GNUmakefile: Add new test. 2004-08-02 Adrian Robert * Headers/Foundation/*.h: Some fixes and cleanups to 2004-07-20 documentation changes recommended by Alexander Malmberg. * Tools/AGSHtml.m: Change default doc font to 'serif': it's simple and provides end viewers greater latitude for using their own preferred font. 2004-07-30 23:33 Alexander Malmberg * Source/NSPropertyList.m (parseQuotedString): Handle utf8 data properly. (GSPropertyListFromStringsFormat): Convert the string to utf8 data, not ascii. Set length from the data. (+propertyListFromData:mutabilityOption:format:errorDescription:): Fix a typo in an error message. Set format for normal plist with extensions to NSPropertyListGNUstepFormat. * Source/NSString.m (-propertyList): Convert the string to utf8 data, not ascii. 2004-07-20 Adrian Robert * Headers/Foundation/*.h: Completed documentation of functions, types, constants, and variables. * Source/*.m: Same. * Tools/gsdoc-1_0_1.rnc: New file. Relax-NG version of the GSdoc DTD. This can be used in conjunction with Emacs nxml-mode to edit GSdoc XML source with realtime validation and schema-guided completion. 2004-07-29 Matt Rice David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h * Source/Additions/GSObjCRuntime.m: Make ObjC++ safe. (GSObjCSuper, GSObjCIsKindOf, GSNameFromClass) (GSTypesFromSelector, GSGetMethod, GSFlushMethodCacheForClass) (GSCGetInstanceVariableDefinition) (GSObjCGetInstanceVariableDefinition) (GSMethodListForSelector, GSAddMethodList, GSRemoveMethodList) (GSObjCVersion, GSObjCName, GSObjCSelectorName) (GSObjCSelectorTypes, GSGetInstanceMethod, GSGetClassMethod) (GSGetInstanceMethodNotInherited, GSGetClassMethodNotInherited) (search_for_method_in_class, GSObjCAddMethods): Replace class and this with cls or sel. 2004-07-29 Richard Frith-Macdonald * Source/NSAutoreleasePool.m: ([emptyPool]) reset _released ivar suggested by Cristobal Castillo 2004-07-28 Willem Rein Oudshoorn * Source/GSFileHandle.m ([GSFileHandle -gcFinalize]): if __MINGW__ also close ordinary file descriptor, not only the socket. ([GSFileHandle -closeFile]): in __MINGW__ defined block: changed test of !isStandardFile to isSocket, and make sure that the ordinary file descriptor is also closed. 2004-07-22 Richard Frith-Macdonald * Source/NSPropertyList.m: don't escape tab,cr,lf in output of old style property lists. 2004-07-21 David Ayers * Source/Additions/GSObjCRuntime.m (gs_revert_selector_names_in_list): New function. (GSRemoveMethodList): Also revert selectors for first list. 2004-07-20 Adrian Robert * Tools/autogsdoc.m: Add 'Protocols' index to upper left index panel in HTML frames docs. 2004-07-15 Mateu Batle * Source/GSLocale.m: Patch to use locale when no langinfo available 2004-07-15 Richard Frith-Macdonald * NSTimeZones/NSTimeZones.tar: regenerated 2004-07-14 Adam Fedor * configure.ac: Use generic -with-ffi-{include,library} for finding ffi libraries. 2004-07-13 Andrew Ruder * Source/NSMessagePort.m, Source/NSSocketPort.m: Use memmove instead of memcpy for potentially overlapping moves. 2004-07-10 Richard Frith-Macdonald * Tools/cvtenc.m: Use uppercase 'U' rather than 'u' in unicode escape sequences. 2004-07-09 Adam Fedor * Source/NSFileManager.m ([GSAttrDictionary -fileGroupOwnerAccountName]): Remove Solaris warning - no longer necessary. 2004-07-06 Richard Frith-Macdonald * Tools/AGSHtml.h: Fix printf missing argument bug. 2004-07-05 Richard Frith-Macdonald * Source/Additions/Unicode.m: GSToUnicode() be strict about converting ASCII to unicode. (GetDefEncoding): Don't override default (latin1) encoding to be ascii if we only have the return value of nl_langinfo() to go on. 2004-07-04 Richard Frith-Macdonald * Source/NSString.m: Added two new methods from MacOS-X ([stringByAddingPercentEscapesUsingEncoding:]) and ([stringByReplacingPercentEscapesUsingEncoding:]) 2004-07-03 Richard Frith-Macdonald * Tools/plmerge.m: Portability ... was attempting to set values in a dictionary which may not be mutable. * Source/NSString.m: ([propertyList]) make decoded containers mutable for compatibility with current MacOS-X * Source/NSPropertlyList.m: Fix error generating unicode escapes. 2004-07-02 Richard Frith-Macdonald * Source/NSHost.m: Use UTF8String rather than cString throughout as cString is deprecated. * Source/NSPropertyList.m: Output property list unicode escapes as \U rather than \u for MacOS-X compatibility. Fix a few bugs in old style plists. * Source/GSCompatibility.m: Remove plist stuff which duplicated code in NSPropertyList.m, so we only have one version to worry about. * Source/NSString.m ditto. 2004-07-02 David Ayers * Headers/Foundation/NSMethodSignature.h * Source/NSMethodSignature.m * Source/GSFFCallInvocation.m * Source/GSFFIInvocation.m: Revert last mframe patch. 2004-07-02 Fred Kiefer * Source/NSTimeZone.m: Define structure ttinfo as packed to get it aligned correctly on ARM. Patch from bug report #9452. 2004-07-01 David Ayers * Headers/Foundation/NSMethodSignature.h (_internalMethodTypes): New instance variable. * Source/NSMethodSignature.m: ([+signatureWithObjCTypes]): Store the runtime signature separately from the mframe signature. Document. ([-dealloc]): Free new instance variable. ([-methodInfo]): Use _internalMethodTypes to build argument information. * Source/GSFFCallInvocation.m (GSInvocationCallback) * Source/GSFFIInvocation.m (GSInvocationCallback): Use the selector registered in the runtime for the receiver instead of the constructed selector from the stack to avoid mismatches in the runtime. 2004-06-29 Richard Frith-Macdonald * Source/NSUserDefaults.m: Added MacOS-X compatibility methods .. ([addSuiteNamed:]) and ([removeSuiteNamed:]) 2004-06-27 Richard Frith-Macdonald * Tools/plparse.m: Check for and report illegal (non-ascii) characters in property list. A property list should use \UXXXX escape sequences for non-ascii data. 2004-06-26 17:12 Alexander Malmberg * Source/NSUserDefaults.m (read_only): Remove. 2004-06-25 Richard Frith-Macdonald * Source/NSIndexSet.m: Rewrite range removal to fix bug reported by Fred Kiefer. Add optional sanity check for debugging * Testing/nsindexset.m: Add test for deletion of range which has partial overlap with two others. 2004-06-24 Richard Frith-Macdonald * Source/NSIndexSet.m: Remove some redundant code for clarity. ([containsIndexes:]) implemented. * Source/NSUser.m: NSSearchPathForDirectoriesInDomains() fix for user domain developer directory. * Source/Additions/GSXML.m: SAX2 fixes ... get element attributes from libxml2 properly. Make SAX2 element start/end methods call old methods for compatibility. Tidy somewhat, re-enable SAX2 support. 2004-06-22 Adrian Robert * Tools/AGSHtml.m: Change default font for HTML main content to "palatino linotype,times,serif" (now provides backups). * Tools/AGSOutput.m: Improve GSdoc comments. * Tools/AGSParser.m: Add GSdoc comments. * Tools/autogsdoc.m: Change instanceVarsAtEnd option to default to YES as stated in the documentation. * Tools/gsdoc.gsdoc: Small wording changes. * Tools/gdnc.m: Fix typo in GSdoc comments. 2004-06-22 Adrian Robert * Headers/Additions/GNUstepBase/GSObjCRuntime.h: Fix typos in GSdoc that were causing errors when autogsdoc is run. * Headers/Foundation/*.h * Source/*.m * Source/Additions/GSCategories.m * Source/Additions/Unicode.m: Add GSdoc comments to many files. When a class had no documentation at all, or existing documentation was in the header file, comments were added in the header file. When a class had all or most of its documentation in the source file, comments were added there. (Maybe a policy should be decided for this at some point?) * Source/DocMakefile: Add "NSIndexSet.h" to list to generate GSdoc for. 2004-06-22 Adrian Robert * Documentation/HtmlNav: Add top-level documentation HTML page, that goes in System/Library/Documentation. * Documentation/Makefile.postamble: Install this. * Documentation/Base.gsdoc * Documentation/BaseAdditions.gsdoc * Documentation/General/OpenStepCompliance.gsdoc * Documentation/General/Debugging.gsdoc: Use 1.0.1 DTD; also, minor updates/improvements. * Documentation/manual/*.texi: Major manual update to fill in missing portions. Still more to do, but the basics are complete now. In near term, need a class cluster example (maybe in appendix), and need to write the Java-Guile appendix (maybe this needs to cover StepTalk). * Documentation/manual/GNUmakefile: Update for above (some texi files added/removed). 2004-06-21 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([descriptionWithCalendarFormat:locale:]) Rewritten to support unicode and also to support some extra format specifiers like '%r' which might be used in native O/S locale strings but which are not part of OpenStep/Cocoa. 2004-06-21 Fred Kiefer * Source/NSIndexSet.m: (-indexGreaterThanOrEqualToIndex, -indexGreaterThanIndex:) removed incorrect special case handling. 2004-06-20 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([initForUser:]) carry on and initialise an instance even if the users defaults directory doesn't exist and can't be created. Created instance is read only and a warning is issued. 2004-06-18 Adam Fedor * Tools/gdomap.c (xgethostname): Add missing colon (patch from Tom Koelman). * Tools/Makefile.postamble: Fix missing space. * Souce/Makefile.postamble (before-uninstall): Change from after-uninstall. 2004-06-18 Manuel Guesdon * Source/NSKeyValueCoding.m: fix exception userInfo 2004-06-16 Willem Rein Oudshoorn * Tools/gdomap.c (map_add): Fix off by one bug that causes random crashes in gdomap. 2004-06-14 Adam Fedor * configure.ac: Fix kvm test. Define HAVE_KVM_ENV * Headers/Additions/GNUstepBase/config.h.in, configure: Regenerate * Source/NSProcessInfo: Use it. * Makefile.postamble (after-uninstall): Remove base.make * Source/CompatibilityHeaders.make (before-uninstall): Remove headers * Tools/Makefile.postamble (before-uninstall): Remove dtds, man files. 2004-06-14 Richard Frith-Macdonald * Source/NSDictionary.m: MacOS-X compatibility fix for keyed encoding of empty dictionary. 2004-06-10 Adam Fedor * Version 1.9.2 * Documentation/ReleaseNotes.gsdoc: New file * Documentation/GNUmakefile: Make and install it. * Source/NSRunLoop.m: If _POLL_EMUL_H is defined, use select instead of poll (e.g. Mac OS X). 2004-06-08 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h * Source/Additions/GSObjCRuntime.m (GSGetInstanceMethod, GSGetClassMethod) (GSGetInstanceMethodNotInherited, GSGetClassMethodNotInherited): Deprecate. (GSGetMethod): New function. 2004-06-06 David Ayers * Source/Additions/GSObjCRuntime.m (GSObjCMethodNames): Unify implementation for both runtimes. (GSGetClassMethodNotInherited): Fix typo. (GSObjCAddClassBehavior): Add call to GSFlushMethodCacheForClass after adding behavior. (BDBGPrintf): Add space before last comma in macro older compilers. 2004-06-05 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h * Source/Additions/GSObjCRuntime.m (GSMethodList): Define new type. (GSAllocMethodList, GSAppendMethodToList, GSRemoveMethodFromList) (GSMethodListForSelector, GSMethodFromList) (GSAddMethodList, GSRemoveMethodList): New functions. (GSObjCMethodNames, search_for_method_in_class, GSObjCAddMethods) (search_for_method_in_class, GSObjCAddClassBehavior): Use GSMethod and GSMethodList types instead of pointers to runtime structures. * Testing/GNUmakefile * Testing/gsbehavior.m: New tests. 2004-06-05 Richard Frith-Macdonald * Source/GSDictionary.m: Make exceptions a little more informative. * Source/NSString.m: initWithFormat... externalise result of GSFormat so it works when the default character encoding is not the same as the internal 8-bit encoding. * Source/GSString.m: New function to externalize a string. implementations of init with format for concrete classes. 2004-06-04 David Ayers * Source/Additions/GSObjCRuntime.m (BDBGPrintf) New macro. (GSObjCAddClassBehavior, GSObjCAddMethods): Use new macro. (OBJC_VERSION): Move define to where it is needed. (Runtime documenation references): Update links. * Source/GSSet.m (-[GSMutableSet unionSet:]): Remove redundant test. 2004-06-03 Adam Fedor * Source/cifframe.h: Move ffi.h include to fix compile problem on MinGW (Fixes #8267). 2004-06-03 Richard Frith-Macdonald * Source/NSZone.m: Fixed error in malloc of non-freeable zones (bug #9199) was failing to update top of block after allocation. 2004-06-02 Richard Frith-Macdonald * Source/NSUnarchiver.m: Decode class names directly so we can substitute one class name for another. Letting NSData decode classes only supported substitution if both the old and new classes existed in the executable, which is not what was intended. Thanks to Ludovic Marcotte for spotting this bug. * Source/GSHTTPURLHandle.m: Improve debug logging and add support for controlling http version in outgoing request. 2004-05-30 Richard Frith-Macdonald * Source/GSMime.m: Add support for setting default characterset for text elements ... needed for parsing multipart/form-data where the charset is not set in individual parts of the form. * Source/GSXML.h: tempoorarily disable sax2 support ... seem it doesn't work reliably. 2004-05-28 Adam Fedor * configure.ac: Check for kvm access and use it if available. * config/config.kvmopen.c: New file. * Documentation/Base.gsdoc: Fix broken link. * Documentation/coding-standards.texi: Add section. * Documentation/General/GNUmakefile: Include config.mak * Documentation/Tools/GNUmakefile: Idem. * Source/DocMakefile: Make documentation with frames. 2004-05-26 Richard Frith-Macdonald * Source/GSMime.m: When extraneous data is encountered in the input, ignore it (and log a warning) rather than adding it to the message body. Not sure this is right ... perhaps should raise an exception or extend the api toi return the extra data. Anyway, it's better than the previous behavior of adding the bad data to the parsed body. * configure.ac: Set some variables for presnece of stdint.h * Headers/Foundation/NSCoder.h: Remove defines of types in stdint.h * Headers/Additions/GNUstepBase/GSConfig.h.in: either include stdint.h or define alternatives for types used in new MacOS-X coding methods. 2004-05-25 Richard Frith-Macdonald * Source/NSIndexSet.m: ([addIndexesInRange:]) fix bug finding insertion point for new range. ([description]) check for uninitialised instance. 2004-05-24 Richard Frith-Macdonald * Source/NSDate.m: Implement -hash for abstract class and for the concrete subclasses as suggested by Marcus Muller. * Headers/Foundation/NSDebug.h: Add GSOnceFLog() and GSOnceMLog() to log messages the first time the code is executed ... typical usage is to log warnings about deprecated features. 2004-05-21 Adam Fedor * Tools/gdomap.c (xgethostnames): New function (nameServer, donames): Use it. (based on a patch from Matt Rice ). 2004-05-21 Roland Schwingel * Source/NSTimeZone.m: Fix errors in handling of windows registry. 2004-05-18 Richard Frith-Macdonald * configure.ac: Check for SAX2 * Headers/Additions/GNUstepBase/GSXML.h: Add SAX2 methods * Headers/Additions/GNUstepBase/config.h.in: Add SAX2 header * Source/Additions/GSXML.m: Add SAX2 methods and remove use of deprecated functionality if recent (SAX2) API is available to use instead. 2004-05-17 Richard Frith-Macdonald * Source/NSMessagePort.m: * Source/NSMessagePortNameServer.m: Fix based on emailed patch by Roland Schwingel ... ensure we have a thread registered in atexit functions. 2004-05-17 Richard Frith-Macdonald * Headers/Foundation/Foundation.h: Add NSError.h * Headers/Foundation/NSError.h: New MacOS-X compatibility header * Source/DocMakefile: Add NSError * Source/GNUmakefile: Add NSError * Source/NSError.m: new MacOS-X compatibility class. 2004-05-16 Richard Frith-Macdonald * Source/Additions/GSXML.m: Corrected value for cdata in sax-like interface to be an NSData rather than an NSString. * Headers/Additions/GNUstepBase/GSXML.h: ditto 2004-05-14 Richard Frith-Macdonald * Tools/autogsdoc.m: Create output directories if necessary. * Headers/Foundation/NSAutoreleasePool.h: Rationalised a little Moved documentation from source code. * Source/NSAutoreleasePool.m: Rationalised a little Moved documentation to headers. 2004-05-14 Richard Frith-Macdonald * Source/GSFormat.h: * Source/GSFormat.m: * Source/GSPrivate.h: * Source/GSString.m: * Source/GSeq.h: * Source/NSString.m: Updates to allow GSFormat to write directly into an existing string in either 16bit or 8bit format. Also tidyups and modifications to use temporary buffers on stack rather than malloc/free as long as the buffers are reasonably sized. * Testing/benchmark.m: Trivial string format benchmarks ... Performance improvement of 10% for initWithFormat and 90% for appendFormat operations. 2004-05-13 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([initWithString:calendarFormat:locale:]) Corrected to return nil when description does not match format. Also change NSLog to NSDebugMLog for reporting problems, and added a couple of logs. Also changed to accept nil/empty string values for format and description as MacOS-X does. Also changed default year to be current year for compatibility. 2004-05-12 Richard Frith-Macdonald * Source/NSURL.m: ([-loadResourceDataNotifyingClient:usingCache:]) used cached information if requested. Always load using a cached handle so that results will be available to later calls. Addresses bug #8901 2004-05-09 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h * Source/Additions//GSObjCRuntime.m (GSProtocolFromName): New function. (GSRegisterProtocol): Ditto. (gs_string_hash): New internal function. (gs_find_protocol_named_in_protocol_list): Ditto. (gs_find_protocol_named): Ditto. (gs_init_protocol_lock): Ditto. 2004-05-07 23:48 Alexander Malmberg * Resources/Languages/Hungarian: Add a missing ". 2004-05-06 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h: * Source/Additions//GSObjCRuntime.m (GSClassList): New function. 2004-05-07 Richard Frith-Macdonald * configure.ac: don't attempt to find xslt support if xml support was disabled or not found. 2004-05-06 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h * Source/Additions//GSObjCRuntime.m (GSAllocateMutexAt): New function. (_GSObjCRuntimeInitializer): Define local support class. * Headers/Additions/GNUstepBase/objc-gnu2next.h: Fixed minor whitespace issues. (objc_mutex_t, objc_mutex_allocate, objc_mutex_deallocate) (objc_mutex_lock, objc_mutex_unlock, objc_mutex_trylock): Declare for the NeXT runtime. * Source/Additions/GSNextRuntime.m (objc_mutex_allocate, objc_mutex_deallocate) (objc_mutex_lock, objc_mutex_unlock, objc_mutex_trylock): Implement for NeXT runtime. 2004-05-06 Mateu Batle * Tools/gdomap.c: mingw fixes. * Headers/Foundation/NSPort.h: ditto * Source/NSSocketPort.m: ditto 2004-05-03 22:12 Alexander Malmberg * Source/NSString.m (-hash), Source/GSString.m ([NSConstantString -hash]): Fix guard against returning a zero hash. 2004-04-29 23:00 Alexander Malmberg * configure.ac: Test for iconv support by compiling a program that includes the iconv header. * configure: Regenerate. 2004-04-27 Georg Fleischmann * Source/NSCalendarDate.m: (-initWithString:calendarFormat:locale:): avoid exception with time zone abbreviations. * Testing/nsdate.m: Add test for this. (). 2004-04-27 Adam Fedor * Source/GSHTTPURLHandle.m: Get debugFile path using NSTemporaryDirectory() (based on fix from Sheldon Gill). 2004-04-27 Richard Frith-Macdonald * Source/Additions/Unicode.m: Tidy indentation and line lengths. * Documentation/Base.gsdoc: Improve documentation on default charset. 2004-04-26 Richard Frith-Macdonald * Source/NSHashTable.m: End enumerations 'properly' ... no effect in current implementationm, but could be important in future. 2004-04-26 Willem Rein Oudshoorn * Source/libgnustep-base-entry.m (gnustep_base_socket_init): Added braces for if statement (DllMain): Removed old initialization code (gnustep_base_socket_handler): Removd this method plus declaration. * Source/GSFFCallInvocation.m (GSInvocationCallback): Try to find type information if not available, also changes wording of exception when no type information is found. (Fixes #8654) * Source/GSFFIInvocation.m (GSFFIInvocationCallback): Idem 2004-04-25 Richard Frith-Macdonald * Source/NSProtocolChecker.m: Major rewrite ... appeared almost totally non-functional. * Testing/nsconnectiion_server.m: Use NSProtocolChecker as a test. * Source/NSDistantObject.m: ([methodForSelector:]) moved to NSProxy.m * Source/NSProxy.m: ([methodForSelector:]) implemented. 2004-04-23 David Ayers * Source/Additions/GSLock.m ([GSLazyLock -init]) ([GSLazyRecursiveLock -init]): Always invoke supers init so dealloc does not fail on Cocoa. 2004-04-19 Richard Frith-Macdonald * Source/NSDistantObject.m: ([-conformsToProtocol:]) rewritten with various hacks to check locally set protocol (if present) or forward a request to the remote system to check a protocol by name. Works round the fact that the gnu runtime protocol code accesses the ivars of the other protocol directly and so can't work via a proxy. 2004-04-17 01:17 Alexander Malmberg * Headers/Foundation/NSObject.h, Source/NSObject.m, Source/NSMethodSignature.m: Rename 'GNU' categories to 'GNUstep'. Patch from Matt Rice. 'GNU' is a standard define on Hurd, so it can't be used as a name. 2004-04-15 Richard Frith-Macdonald * Source/NSUserDefaults.m: Restore use of flag to prevent infinite recursion logging errors in createing standard defaults ... was lost in last modification. 2004-04-15 15:10 Alexander Malmberg * Tools/Makefile.postamble: Remove attempt to create $(doctemplatesdir). 2004-04-15 14:39 Alexander Malmberg * Source/NSString.m (-stringByResolvingSymlinksInPath): Use -fileSystemRepresentation and -stringWithFileSystemRepresentation: instead of cstring methods. (-getCString:maxLength:range:remainingRange:): Document. (-getCString:, -getCString:maxLength:): Documentation fixes. 2004-04-14 18:20 Alexander Malmberg * Source/Additions/Unicode.m (GSToUnicode): In an utf8 sequence, check the the continuation bytes are valid continuation bytes. 2004-04-13 Richard Frith-Macdonald * Tools/GNUmakefile: * Tools/Makefile.postamble: Stop attempts to install templates removed in Adrian Robert's tidyup. 2004-04-12 Richard Frith-Macdonald * Source/NSUserDefaults.m: Invalidate userLanguages cache with every update to standard defaults, so setting it should work. Use lazy locking for improved performance when single threaded. Reorganise interaction between +standardUserDefaults and +userLanguages for improved startup performance and simplification (only load the database once on startup). Add large comments about the (still messy) interaction between the two methods. 2004-04-11 Richard Frith-Macdonald * Headers/Foundation/NSArchiver.h: New ivar in unarchiver. * Source/NSUnarchiver.m: Simpler scheme to ensure that objects persist until the end of unarchiving ... just store them in an array. * Source/NSNumber.m: Don't deallocate self in initialisers when replacing with cached object ... use release instead in case something else has retained us. 2004-04-09 Gregory John Casamento * Source/NSUnarchiver.m: Temporary rollback of previous fix. 2004-04-09 Richard Frith-Macdonald * Source/NSUnarchiver.m: Retain objects while they are being decoded. Fixes problem reported by Willem Rein Oudshoorn where an object used by more than one object being decoded could be released by one object before being used by the other. Fix -init to call the primary initialiser. 2004-04-09 Willem Rein Oudshoorn * Source/NSTask.m ([NSConcreteWindowsTask -launch]): Set stdin/stdout/stderr file to values provided by the user (Fix #8417) 2004-04-08 Adam Fedor * Tools/autogsdoc.m (main): Move var decl to begginning of block to avoid gcc < 3.0 compiler errors (Fix #8418). 2004-04-06 Richard Frith-Macdonald * Source/NSUserDefaults.m: Modified to operate on a read-only filesystem where the defaults database is missing. Application defaults and command line settings should still work. * Source/GSDictionary.m: fix for keyed archioving reported by Marc Ordinas i Llopis * Source/Additions/GSXML.m: Improve error logging ... add line number and column number to message, also avoid possible buffer overflow. 2004-04-02 Richard Frith-Macdonald * Tools/AGSParser.m: Fix error parsing sequence of protocol names separated by commas. 2004-03-31 Richard Frith-Macdonald * Source/NSKeyedArchiver.m: Encode archive version as a number rather than a string. * Source/NSString.m: ([-hash]) include full string length in the hash. * Source/GSString.m: ditto Disambiguates long strings with a common prefix. * Headers/Additions/GNUstepBase/GSIArray.h: add support for an array with statically allocated memory, which grows by using the heap. * Source/NSNotificationCenter.m: Rewrite posting so that we don't hold a lock on the center while actually posting ... should prevent possible deadlock in multithreaded programs. * Source/NSFileManager.m: ([-fileExistsAtPath:isDirectory:]) set the flag to NO if the path does not exist. (Fixes bug #7532) ([copyPath:toPath:handler:]) Don't copy to existing destination. ([movePath:toPath:handler:]) Don't move to existing destination. (Fixes bug #7525) 2004-03-30 Willem Rein Oudshoorn * Source/NSNotificationCenter.m ([-removeObserver:]): Do not raise an exception when removing nil observer, jusr return. This is WO4.5 and MacOSX behaviour. 2004-03-29 Adam Fedor * Headers/Foundation/NSCoder.h (uint8_t, int32_t, int64_t): Define only ifndef (sugg. from Peter Cooper ) Mon Mar 29 17:19:40 BST 2004 Nicola Pero * Tools/autogsdoc.m: Use @"..." @"..." for concatenated string constants, not @"..." "...". 2004-03-29 Richard Frith-Macdonald * Documentation/Base.gsdoc: * Documentation/BaseAdditions.gsdoc: * Documentation/Functions.gsdoc: * Documentation/TypesAndConstants.gsdoc: Update to latest gsdoc document version. * Documentation/Makefile.postamble: Build Tools documentation. contigure.ac: Add --enable-xslt option to require stylesheet support (in case we want to start uisng it to generate documentation) * Headers/Foundation/NSURLHandle.h: * Source/GSFileHandle.m: * Source/GSHTTPURLHandle.m: * Source/NSFileHandle.m: * Source/NSURLHandle.m: Support binding to specific local ip address for outgoing connections in gnustep extensions. * Source/GSMime.m: ([-setContent:]), ([-addContent:]) Check that content of a multipart document consists of GSMimeDocument objects. 2004-03-29 Adrian Robert * Tools/AGSHtml.h: * Tools/AGSHtml.m: * Tools/AGSIndex.m: * Tools/AGSOutput.m: * Tools/AGSParser.h: * Tools/AGSParser.m: * Tools/gsdoc.gsdoc: * Tools/autogsdoc.m: * Tools/GNUmakefile: Added support for building frames structured project documentation along with various other tidyups. * Tools/cvtenc.m: * Tools/defaults.m: * Tools/gdnc.1: * Tools/gdnc.m: * Tools/gdomap.h: * Tools/pldes.m: * Tools/plmerge.m: * Tools/plparse.m: * Tools/plser.m: * Tools/sfparse.m: * Tools/xmlparse.m: Added/improved documentaition. 2004-03-27 Richard Frith-Macdonald * Source/NSMessagePort.m: * Source/NSMessagePortNameServer.m: Use base library methods for file management rather than unix syscalls. * Headers/Foundation/NSRunLoop.h: * Source/NSRunLoop.m: * Source/NSString.m: * Source/NSTimeZone.m: Various minor documentation tweaks. 2004-03-27 Alexander Malmberg * NSUser.m: Plug some security loopholes in temporary directory 2004-03-27 Mark Allison * Headers/Additions/GNUstepBase/GSXML.h: * Source/Additions/GSXML.m: Add support for stylesheet processing using libxslt if it is available. * configure.ac: Check for presence of libxslt 2004-03-26 Fred Kiefer * Source/NSIndexSet.m: Check before each usage of _other if it is actually set. 2004-03-24 Adam Fedor * Resources/GNUmakefile: Add Languages/Hungarian. * Languages/Hungarian: New file (from Reuss Andras ). * configure.ac: Check for null ac_cv_lib_dl_dladdr. * Documentation/announce.texi: Update bug reporting URL. 2004-03-19 Adam Fedor * Source/NSFileManager.m (-createDirectoryAtPath:attributes:): Return NO if path is nil. (-createFileAtPath:contents:attributes:): Idem. * Source/NSUser.m (NSUserName): Set initial olduid to an invalid uid. 2004-03-16 Richard Frith-Macdonald * Source/NSDictionary.m: Don't use stack as temporary storage for large numbers of objects ... reduce chances of stack overflow. * Source/NSIndexSet.m: Added a few range checks, implemented many methods of mutable class. 2004-03-16 Willem Rein Oudshoorn * Source/NSNotificationCenter.m ([NSNotificationCenter -removeObserver:name:object:]): Just return if all arguments are nil instead of throwing exception. The new behaviour is compatible with MacOSX. 2004-03-15 Richard Frith-Macdonald * Source/GSCompatibility.m: * Source/GSDictionary.m: * Source/NSPropertyList.m: Check for proxies in a few places and avoid pointer code which won't work for them. Also avoid caching imps as a temporary workaround for a problem (not yet understood) with ffi forwarding using a cached imp. 2004-03-12 Richard Frith-Macdonald * Source/Additions/GSCategories.m: * Source/Additions/GSMime.m: New uuencode/uudecode moved from GSMime to a category of NSData and renamed. * Source/NSThread.m: Set flag to saay we are multithreaded before we send out the notifications. Fixes bug in lazy locking and is more compatible with macos-x Fri Mar 12 13:35:25 2004 Nicola Pero * SSL/GNUmakefile: Set GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES before including common.make so that the local base.make is read correctly. 2004-03-07 Adam Fedor * configure.ac: Add HAVE_DLADDR define * Source/simple-load.h (__objc_dynamic_get_symbol_path): Readd ifdefs for dladdr. * Tools/defaults.m: Exit with non-zero status when command is not successful. Sat Mar 6 13:54:28 2004 Nicola Pero * SSL/GNUmakefile: Include common.make before everything else so that the SSL bundle is built again. 2004-03-05 Wim Oudshoorn * Source/NSCalendarDate.m ([NSCalendarDate -descriptionWithCalendarFormat:locale:]): Fixed problem with repeated %b %B %b %B and the like. Fixed problem with missing characters after unrecognixed modifiers. Added support for %c %X and %x. 2004-03-02 Adam Fedor * Source/NSCalendarDate.m (dayOfCommonEra): Make non-static. 2004-03-01 Wim Oudshoorn * Headers/Additions/GNUstepBase/GSIMap.h: Added increment ivar to GSIMapTable struct for allocation size (GSIMapNewNode): When above a certain size only allocate "increment" number of nodes (GSIMapResize): Avoid hash table sizes that are odd (GSIMapInitWithZoneAndCapacity): Put default increment size to 300000 * Source/NSThread.m ([GSPerformHolder +initialize]): #ifdef'ed out code that does not work on MinGW. 2003-02-29 Sheldon Gill * Source/NSTimeZone.m: Added capability on Win32. NSTimeZone now has GSWindowsTimeZone concrete sub-class which uses data from the registry. Based on changes from Jeremy Bettis: 2003-02-29 Sheldon Gill * Source/NSTimeZone.m: Added documentation and clean up. [NSTimeZone initTimeZoneWithName:data:] now uses data. 2004-02-28 Adam Fedor * Version 1.9.1 * Documentation/install.texi, news.texi: Update * configure.ac: Define _GNU_SOURCE for LONG_LONG check * Source/GSFormat.m: Idem. * Source/NSScanner.m: Idem. * Source/simple-load.h: Define RTLD_DEFAULT if not defined. 2004-02-28 17:52 Alexander Malmberg * configure.ac, configure: Define GS_UINT64 properly if there is no 64-bit integer type. * Source/NSIndexSet.m: Don't use casts as lvalues. 2004-02-27 Wim Oudshoorn * Tools/gdomap.c: when using MinGW do not try to chdir to /tmp because it does not always exist. * Source/NSBundle.m ([NSBundle +mainBundle]): on WIN32 strip .exe extension from executable name when constructing mainBundle path. 2004-02-26 David Ayers * Headers/Additions/GNUstepBase/GSCategories.h ([NSLock gcFinalize]): Declare. ([NSRecursiveLock gcFinalize]): Ditto. 2004-02-25 David Ayers * Headers/Additions/GNUstepBase/GSCategories.h: * Source/Additions/GSCompatibility.m (GSCurrentThread) Implement and declare for non *-gnu-*. 2004-02-24 Fred Kiefer * Headers/Foundation/NSDictionary.h: * Source/NSDictionary.m: (-setValue:forKey:) Added MacOSX method with same implementation as takeValue:forKey: 2004-02-24 Richard Frith-Macdonald * Source/GSFormat.m: Fix buffer overrun by strlen() when printing c-strings without nul terminators using '%*.*s' format. * Source/Additions/GSMime.m: Fix cases of possible access beyond buffer and rare overflow writing decoded base64 data. * Headers/Foundation/NSKeyedArchiver.h: Remove stuff saying this is not implemented ... it is now. * Source/NSIndexSet.m: Partial implementation untested ... at least it's a skeleton for people to work on ... committed now because I'm away for a few weeks on holiday. * Headers/Foundation/NSIndexSet.h: Partial documentation. 2004-02-23 Adam Fedor * Source/NSUser.m (NSHomeDirectoryForUser): Allow whitespace in user directory (on Windows). 2004-02-21 Fred Kiefer * Source/NSPropertyList.m: (GSBinaryPLParser -initWithData:mutability:, -offsetForIndex:, -readObjectIndexAt:) Added support for binary pls with size == 3. 2004-02-19 Richard Frith-Macdonald * Source/Additions/GSMime.m: added a couple of uuencoding methods. Integrated (crudely) uuencoding/uudecoding support based on x-uuencode 2004-02-18 David Ayers * Source/Additions/Unicode.m (GetDefEncoding): Replace NSKoreanEUCEncoding with NSKoreanEUCStringEncoding. 2004-02-17 Bruno Haible * Source/Additions/Unicode.m (GetDefEncoding): Use the result of nl_langinfo(CODESET) before falling back on ISO-8859-1. * config/codeset.m4: New file, taken from GNU gettext. * configure.ac: Include it, and invoke AM_LANGINFO_CODESET. 2004-02-17 David Ayers * Headers/Foundation/NSLock.h: Make types of _mutex and _condition opaque to avoid including private thr-mach.h header. * Headers/Foundation/NSThread.h: Do not include private thr-mach.h header. * Source/thr-mach.h: Moved here from Headers/Additions/GNUstepBase/thr-mach.h. * Source/NSLock.m: Include private thr-mach.h header for apple-gnu-gnu. Added defines for typing opaic instance variables and use them in various methods. * Source/NSThread.m: Include private thr-mach.h header for apple-gnu-gnu. * Source/thr-mach.m: Include private thr-mach.h header from new location. * Source/thr-pthread.m: Ditto. * Source/GNUmakefile: Do not install private thr-mach.h header. 2004-02-11 17:47 Alexander Malmberg * Source/NSCountedSet.m (-initWithCoder:): Release objects outside the -addObject: loop to keep the retain count correct. 2004-02-11 Richard Frith-Macdonald * Source/GSHTTPURLHandle.m: Expect to read content data after headers if content-length is non-zero or if content-transfer-encoding is chunked or if server http version is less than 1 2004-02-09 Adam Fedor * configure.ac: Add ffcall dir to INCLUDE_FLAGS. 2004-02-08 Adam Fedor * Source/simple-load.h (__USE_GNU): Define for dlfcn. 2004-02-08 Richard Frith-Macdonald * Source/NSConection.m: Simplify code by using GSLazyLock and GSRecursiveLazylock. Removed unused include of float.h * Source/GSAttributedString.m: * Source/GSTcpPort.m: * Source/NSCharacterSet.m: * Source/NSCountedSet.m: * Source/NSDebug.m: * Source/NSMessagePort.m: * Source/NSSocketPort.m: * Source/NSTimeZone.m: Simplify by using lazy locking. 2004-02-07 Adam Fedor * Source/simple-load.h (__objc_dynamic_get_symbol_path): Remove ifdefs since dladdr is assured to be present. Set handle to default if not specified. 2004-02-04 Fred Kiefer * Source/NSPropertyList.m: (GSBinaryPLParser -objectAtIndex:) Corrected two small errors for the new binary parser. 2004-02-07 Richard Frith-Macdonald * Source/NSKeyedUnarchiver.m: Changes to fix memory leaks. Fix bug handling nil/NSnull reported by Fred. 2004-02-06 Richard Frith-Macdonald * Source/GSHTTPURLHandle.m: If there is no path in the URL, assume '/' 2004-02-04 Fred Kiefer * Source/NSPropertyList.m: Rewrote the object reference handling for new binary parser. 2004-02-02 Richard Frith-Macdonald * Source/NSPropertyList.m: Integrate new parser to NSPropertyListSerialisation. Assume 8bit strings are utf8. 2004-02-04 01:10 Alexander Malmberg * Headers/Foundation/NSObject.h (ASSIGNCOPY), Source/GSDictionary.m (GSI_MAP_RETAIN_KEY), Source/NSNotificationCenter.m (-init), Source/NSProtocolChecker.m (-forwardInvocation:), Source/Additions/GSXML.m (-initWithDocument:): Remove uses of the now deprecated "casts as lvalues" gcc extension. 2004-02-02 Richard Frith-Macdonald * Source/NSPropertyList.m: Added class by Fred Kiefer to decode MacOS-X binary property lists ... heavily modified to try to handle object references and dates (guessed) and to support mutability options. Current code does not get called by the deserialisation method as I need to figure out how to tell which format the property list is in, and for that I need to loook at example archives, which I haven't had time to do yet. Code comitted mainly so it's saved somewhere and so that Fred can have a look and see if I've messed stuff up. 2004-02-02 Roland Schwingel * Source/NSString.m: ([stringByAbbreviatingWithTildeInPath]) fix bug appending last path component. ([localizedNameOfStringEncoding:]) fix load of locliisation bundle. 2004-02-02 Richard Frith-Macdonald * Source/Headers/Foundation/NSPropertyList.h: Use GNUstep rather than GNUStep in property list format names as it seems to be the more common capitalisation. * Source/NSPropertyList.m: Add new methods exposed to java by jigs to avoid java errors with conflicting implementations of the NSPropertyListSerialisation class. 2004-02-01 Richard Frith-Macdonald * Source/Additions/GSMime.h: improve consistency of naming of methods with add/set methods for new headers. * Source/GSHTTPURLHandle.m: ([bgdRead:]) if the headers are complete and there is no content-length, don't expect to read body content. 2004-01-31 Manuel Guesdon * Source/NSNumber.m: Modified numberWithXX: methods to test against abstractClass. If class is not the abstract class, we alloc object of class instead of allocating NSXXNumber objects (cf [NSDecimalNumber numberWithDouble:x] thread) 2004-01-30 Richard Frith-Macdonald * Source/NSString.m: Added two new MacOS-X initialisers. * Headers/Foundation/NSString.h: ditto * Source/NSData.m: ([replaceBytesInRange:withBytes:length:) rewrite to fix crash when new data is smaller than orignal. * Source/NSNumber.m: ([numberWithBool:]) and ([initWithBool:]) returns yes value for any non-zero argument. ([boolValue]) returns either YES or NO. So we are tolerant in what we accept, strict in what we produce. 2004-01-28 Fred Kiefer * Source/NSString.m: Corrected keyed decoding and implemented keyed encoding. 2004-01-28 Richard Frith-Macdonald * Source/NSKeyedUnrchiver.m: Store objects in map while they are decoding themselves so they can be self referential. * Source/GSArray.m: * Source/NSArray.m: * Source/GSSet.m: * Source/NSSet.m: * Source/GSDictionary.m: * Source/NSDictionary.m: * Source/NSString.m: Made keyed decoding able to handle more variations. Added keyed encoding support. 2004-01-27 Fred Kiefer * Source/NSPropertyList.m (nodeToObject()): Fixed bug in handling of data elements. Was using [GSMimeDocument decodeBase64String:] instead of [GSMimeDocument decodeBase64:]. 2004-01-27 Fred Kiefer * Source/GSArray.m: * Source/NSArray.m: * Source/GSSet.m: * Source/NSSet.m: * Source/GSDictionary.m: * Source/NSDictionary.m: * Source/NSString.m: Implemented keyed decoding in [initWithCoder:]. 2004-01-27 Richard Frith-Macdonald * Headers/Foundation/NSKeyedArchiver.h: Expose internals a bit. * Source/NSKeyedArchiver.m: Fix decoding of geometry for locales where a comma is used as a decimal separator. 2004-01-26 Adam Fedor * Documentation/General/GNUmakefile: Update install location 2004-01-25 Adam Fedor * base.make.in: Move LIBXML variable outside gnu-foundation check. * Documentation/GNUmakefile (SUBPROJECTS): Add General * Documentation/General/GNUmakefile: New file. * Documentation/General/Degbugging.gsdoc: Moved to here. * Documentation/General/OpenStepCompliance.gsdoc: Idem. * Source/DocMakefile: Remove OpenStepCompliance.gsdoc 2004-01-25 Richard Frith-Macdonald * Source/NSPropertyList.m: Fix bug in encoding integers as xml. Fix to compile without xml if necessary. * Source/GSPrivate.h: Added internal class for handling old style arrays of items within keyed coding ... should this go elsewhere? * Source/NSCoder.m: Added internal class for keyed coding of arrays of items. * Source/NSKeyedArchiver.m: Added support for ([encodeArrayOfobjCType:count:at:]) and the private ([_encodeArrayOfObjects:forKey:]) method. This completes (afaik) the implementation for archiving ... and it's somewhat tested for xml coding. Time to start using and debugging. * Source/NSKeyedUnarchiver.m: All methods now implemented, but no proper type checking/coercion done, and minimal testing done. No attempt to handle OpenStep style property lists either, just xml! * configure.ac: Insist on libxml2 presence unless told not to. 2004-01-24 Richard Frith-Macdonald * Headers/Foundation/NSKeyedArchiver.h: * Source/NSKeyedArchiver.m: Add keyed version of geometry encoding methods as pointed out by Fred Kiefer. 2004-01-24 Richard Frith-Macdonald * Source/NSKeyedArchiver.m: * Source/NSKeyedUnarchiver.m: Added NSPoint, NSRect, and NSSize coding methods. implemented quick hack of ([decodeValueOfObCType:at:]) Set default property list format to xml ... The MacOS-X binary, format isn't supported yet (if ever), and I'm developing using the comon/portable XML format first anyway. * Source/NSMSoperamulti_test.m: Sort dictionary items in xml output 2004-01-23 Richard Frith-Macdonald * Source/NSSocketPort.m: * Source/NSMessagePort.m: Fixed return form method without unlocking a lock ... could cause a hang. Also, tidied up add/romve watchers in runloops. 2004-01-22 Richard Frith-Macdonald * Headers/Foundation/NSKeyedArchiver.h: Update ivars for unarchiver. * Source/NSKeyedUnarchiver.m: Partial implementation. 2004-01-21 Richard Frith-Macdonald * Headers/Foundation/NSPropertyList.h: serialisation/deserialisation. * Source/NSPropertyList.m: serialisation/deserialisation code partly implemented. * Headers/Foundation/NSCoder.h: Add keyed coding methods. * Source/NSCoder.m: ditto * Headers/Foundation/NSKeyedArchiver.h: new keyed archiver/unarchiver. * Source/NSKeyedArchiver.m: New MacOS-X compatible class implementation. * Source/NSKeyedUnarchiver.m: Stub for new class implementation. * Source/GNUmakefile: build new keyed archiving stuff. * Source/GSCompatibility.m: fix indentation error in xml output. improve output of numeric values in xml format. * Source/Additions/GSMime.m: ([-setContentType:) make argument more strongly typed. ([-encodeBase64:])tweak buffer size. 2004-01-18 Richard Frith-Macdonald * Source/NSDistantObject.m: All code conditional on USE_FFCALL should also be conditional on USE_LIBFFI so it works for both mechanisms. 2004-01-14 Adam Fedor * Source/Additions/GSObjCRuntime.m: Fix previous method def. * Source/Additions/GSXML.m: Idem. * Tools/GNUmakefile (TOOL_NAME): Add cvtenc plmerge sfparse xmlparse for add=yes. * Tools/cvtenc.m: Add includes for compiling with darwin. * Tools/plmerge.m, Tools/sfparse.m, Tools/xmlparse.m: Idem. Suggestions and patches from Stephane Corthesy. 2004-01-13 Richard Frith-Macdonald * Source/NSURLHandle.m: ([-availableResourceData]) remove condition that returns nil while resource is loading. Fix typo in method description. Return copy a of internal variable rather than the actual mutable data object. 2004-01-12 Adam Fedor * SSL/GNUmakefile: Include ../config.mak 2004-01-12 Adam Fedor * Source/Makefile.preamble: Add library depends for baseadd * Source/Additions/GSLock.m: Include GSCategories. * Source/Additions/GSObjCRuntime.m: Define -methodForSelector: since Apple doesn't. * Source/Additions/GSXML.m: Idem as well as GSXPathObject method. Change warnings variable to NSHashTable*. * Tools/AGSHtml.m ([AGSHtml -outputNode:to:]): Change name of block variable to avoid clash * Tools/AGSOutput.m ([AGSOutput -split:]): Initialize local vars. Changes suggested by Stephane Corthesy. 2003-12-20 Sheldon Gill * Source/NSProcessInfo.m (+load): Fix coding standard violations. 2004-01-10 Bruno Haible * Locale.aliases: Add many new locales. Fix typo for EcuadorSpanish. 2004-01-10 Richard Frith-Macdonald * Source/GSCompatiblity.m: PString() fix erroneous use of unichar pointer as if it was a char pointer. 2004-01-08 Alexander Malmberg * Source/Additions/GSMiume.m: Fix bad use of NSString as C-string 2004-01-07 Richard Frith-Macdonald * Source/NSArray.m: minor cleanups to use gnucoding conventions for whitespace and little performance tweak (cache NSNull instance). 2004-01-08 01:48 Alexander Malmberg * Headers/Additions/GNUstepBase/GSCategories.h (GSCurrentThreadDictionary, NSStandardLibraryPaths): Fix the prototypes (add explicit void:s). * Source/GSAttributedString.m (_setAttributesFrom): Initialize range in the aRange.length==0 case. (Found by Andrew Ruder using valgrind.) 2004-01-06 Adam Fedor * Documentation/Base: New directory * Documentation/Base/Debugging.gsdoc: New. 2004-01-06 Manuel Guesdon * Headers/Foundation/NSArray.h/.m: added -setValue:forKey: and -valueForKey: to comply to Mac OS X v10.3 and later documentation. 2004-01-05 Richard Frith-Macdonald * Headers/Additions/GNUstepBase/GSMime.h: add content deletion method * Source/Additions/GSMime.m: add content deletion method ([-deleteContent:]) as counterpart for addition of content, for consistency. 2003-12-30 Fred Kiefer * Headers/Foundation/NSGeometry.h * Headers/Foundation/NSRange.h Added a few additonal Cocoa type definitions. 2003-12-25 Gregory John Casamento & * Source/NSBundle.m: Corrected spelling of "Warning" and "deprecated" in the pathForGNUstepResource:... method. 2003-12-25 Fred Kiefer * Tools/pl2link.m: Adopted to current OpenDesktop specification. 2003-12-23 23:33 Alexander Malmberg * Source/NSCharacterSet.m: Rename 'abstract' to 'abstractClass' and make it static. (+allocWithZone:): Allocate an instance of self if self isn't the abstract class. 2003-12-23 18:38 Alexander Malmberg * Source/NSThread.m: Don't use '\r\n' in printf strings (stdio/libc is responsible for converting it to local convention). (+detachNewThreadSelector:toTarget:withObject:): Don't set entered_multi_threaded_state to NO if the objc_thread_detach call fails. 2003-12-23 18:15 Alexander Malmberg * Documentation/news.texi, Headers/Foundation/NSDebug.h, Source/GSPrivate.h, Source/externs.m, Tools/plist-0_9.dtd: Fix spelling errors in comments. 2003-12-06 12:34 Alexander Malmberg * Headers/Foundation/NSGeometry.h (NSContainsRect): Return NO if bRect is empty. * Source/NSGeometry.m (NSIntegralRect): Calculate the new width and height correctly. 2003-12-01 Richard Frith-Macdonald * Source/NSObject.m: Fix error setting sigpipe handling where sigaction is available. 2003-11-30 Richard Frith-Macdonald * Source/NSNumber.m: Raise exception if user code incorrectly tries to deallocate a cached small number. * Source/NSUser.m: Use geteuid() to determine name of current user under unix. 2003-11-25 Richard Frith-Macdonald * Source/Additions/GSMime.m: fix for incremental parsing so that the parser insists on the crlf after the last boundary in a message (hold a flag to say we are still expecting the crlf). 2003-11-23 S.J.Chun * Headers/Additions/GNUstepBase/GSCategories.h: Change KoreanEUCEncoding to KoreanEUCStringEncoding. * Headers/Foundation/NSString.h, Source/Additions/Unicode.m: Idem. 2003-11-23 Adam Fedor * Version 1.9.0 2003-11-23 Richard Frith-Macdonald * Source/NSTask.m: ([-suspend]) send SIGSTOP as documented ... bug reported by Jim Fowler. 2003-11-22 Adam Fedor * configure.ac: Typo fix - add original CPPFLAGS back when updating netbsd CPPFLAGS. 2003-11-16 Richard Frith-Macdonald * Source/Additions/GSCompatibility.m: Add dummy gcFinalize implementations for NSLock and NSRecursiveLock so that the lazy locking classes can safely call them under MacOS-X 2003-11-10 Richard Frith-Macdonald * Tools/AGSHtml.m: Fix based on email by Chris Vetter to correct presentation of protocol names in index pages. 2003-11-10 David Ayers Based on patches by Philip Moetteli . * Headers/Additions/GNUstepBase/GSCategories.h: Added NSKoreanEUCEncoding. * Headers/Additions/GNUstepBase/GSLock.h * Headers/Additions/GNUstepBase/GSLocale.h: Guard includes for NeXT_Foundation_LIBRARY. * Source/Additions/GSLock.m: Include GNUstepBase/GNUstep.h. * Headers/Additions/GNUstepBase/GSCategories.h * Headers/Foundation/NSString.h: (+[NSString stringWithFormat:arguments:]): Move declaration to GSCategories. * Source/NSString.m * Source/Additions/GSCategories.m: (+[NSString stringWithFormat:arguments:]): Move implementation to Additions. * macosx/config.h: Define HAVE_WCHAR_H. * macosx/gnustep.pbproj/project.pbxproj: Added GSLock files. 2003-11-10 Richard Frith-Macdonald * Source/NSUserDefaults.m: Only obtain distributed lock for reading or writing defaults ... not needed just to check the modification date. Avoids unnecessary filesystem writes. 2003-11-09 Frederic De Jaeger * Source/GSFileHandle.m ([GSFileHandle -initAsClientInBackgroundAtAddress:service:protocol:forModes:]): the boolean 'beenHere' must be declared static. Fixing it. 2003-11-06 David Ayers * Source/GSPrivate.h (GS_REPLACE_CONSTANT_STRING): New macro. * Source/externs.m: Initialize constant strings statically. (GSBuildStrings): Replace static strings with dynamic versions. * Testing/benchmark.m: Added tests for NSString -hash and -copy. Aligned ouput. * Testing/externs.m: New test. * Testing/GNUmakefile: Added externs.m test. Activated ADDITIONAL_TOOLS tests excluding gstcpport tests. * Source/Additions/GSCategories.m: Adjust declared lock type. Added comment. 2003-11-05 18:26 Richard Frith-Macdonald * SSL/GSSSLHandle.m: Add support for server end handles. * Source/NSFileHandle.m: New -sslAccept method for servers. 2003-11-05 14:49 Alexander Malmberg * Source/NSSerializer.m (serializeToInfo): Only save a string as a cstring if it only contains ASCII characters. 2003-11-05 03:10 Alexander Malmberg * Source/GSString.m: Reorganize class heirarchy. Remove unused GSCEmptyString class. Add new concrete leaf classes GSCBufferString and GSCUnicodeString. Make GSString, GSCString, and GSUnicodeString abstract and move the real memory management code to the two new classes. Update the other concrete leaf classes. Update callers. * Source/GSPrivate.h: Update comment about the semantics of the free flag in GSString. * Source/NSSerializer.m: Clarify comments about the cached classes. Use GSCBufferString and GSUnicodeBufferString instead of GSCString and GSUnicodeString when creating string instances. Mon Nov 03 12:30:00 2003 Richard Frith-Macdonald * Source/NSNotificationCenter.m: Use locking at all times until problems with GNUMail threading and notifications are analysed/fixed. Mon Nov 03 08:35:00 2003 Richard Frith-Macdonald * Source/GSString.m: Remove unnecessary -copy implementations for simplicity, and add code to avoid creating substrings of strings which do not own their buffers ... stopgap until Alexander reorganises class hierarchy. 2003-11-02 01:53 Alexander Malmberg * Source/GSString.m ([GSCSubString -copy]): Add as a stopgap workaround for problems uncovered by the previous change. Sat Nov 01 11:10:00 2003 Richard Frith-Macdonald * Source/NSString.m: ([-copyWithZone:]) always do true copy * Source/GSString.m: Where the string data pointed to is not owned by the string instance, have copy operations create new instances rather than retaining the receiver. Sat Nov 01 07:05:00 2003 Richard Frith-Macdonald * Source/NSNotificationCenter.m: Simplify locking code as original code was hanging in GNUMail after Davids recent locking changes ... not sure what the actual problem was, so this change may have merely re-hidden a bug :-( * Source/Additions/Unicode.m: Simplify to use non-recursive lock. * Source/NSCharacterSet.m ([NSCharacterSet _bitmapForSet:number:]): Restore caching while retaining the intended behavior of the previous change (is that intended behavior correct?). Perhaps should maintain a separate cache for each subclass ... or should that be the responsibility of the subclass itsself? 2003-10-31 David Ayers * Source/NSCharacterSet.m ([NSCharacterSet _bitmapForSet:number:]): Insure only instances of NSCharacterSet a stored in the cache but return instances of the receivers class. 2003-10-30 David Ayers * Headers/Additions/GNUstepBase/GSLock.h: Added missing forward declaration. * Headers/Additions/GNUstepBase/GSCategories.h: Remove declaraion of gnustep_global_lock. (GS_INITIALIZED_LOCK): New macro. (+[NSLock newLockAt:]): New method. (+[NSRecursiveLock newLockAt:]): Ditto. * Headers/Foundation/NSLock.h: Ditto. * Source/Additions/GSCategories.m: Replace global lock with local lock. (_GSLockInitializer): New class to initialize local lock safely. (newLockAt): New static function shared by +newLockAt: implementations to safely intialize lock variables. (+[NSLock newLockAt:]): Implemented and documented. (+[NSRecursiveLock newLockAt:]): Ditto. * Source/Additions/GSCompatibility.m: Remove gnustep_global_lock. * Source/Additions/GSObjCRuntime.m: Remove superfluous locking. * Source/Additions/Unicode.m: Use new GS_INITIALIZED_LOCK macro and replace global lock with local lock. Moved out of the #ifdef as reported by Matt Rice (ratmice@yahoo.com). * Source/NSLock.m (-[NSConditionLock lockWhenCondition:beforeDate:]): Implemented. * Testing/gslock.m: New test case. * Testing/GNUmakefile: Add new test case. 2003-10-28 Adam Fedor * configure.ac: Simplify and clarify ffi errors. * macosx/gnustep.pbproj/project.pbxproj: Update for 10.3 (Xcode). * macosx/REAMDE: Add comment (Update from Philip Mötteli ). Tue Oct 28 10:12:00 2003 Richard Frith-Macdonald * Source/NSRunLoop.m: Modified (acceptInputForMode:beforeDate:) and (runMode:beforeDate:) to poll input sources when given a date in the past, rather than ignoring them entirely ... this seems more useful and appears to be consistent with MacOS-X. Updated method documentation. Mon Oct 27 13:37:00 2003 Richard Frith-Macdonald * Source/NSConnection.m: Rewrite/simplify methods dealing with DO retain/release and handling interaction with NSDistantObject. Attempts to make retain/release simpler and more reliable by (among other things) counting the nujmber of times an object is vended by reference. Much care taken to try to ensure that backward compatibility is not broken ... hope it is ok. * Source/NSDistantObject.m: Modified to use slightly simpler interaction with NSConnecxtion, to include count of times an object is vended by reference and to ensure thread safety. * Testing/nsconnection_client.m: Make the -d option produce detailed debug output. * Testing/nsconnection_server.m: ditto. Mon Oct 27 13:24:00 2003 Richard Frith-Macdonald * Source/GNUmakefile: build new lock classes * Source/DocMakefile: document new lock classes. Sun Oct 26 14:45:00 2003 Richard Frith-Macdonald * Source/Additions/GSLock.m: New lazy locking classes as discussed on the developer list. * Headers/Additions/GNUstepBase/GSLock.h: Declare new classes. Please try them out and provide feedback. Sat Oct 25 18:47:00 2003 Richard Frith-Macdonald * configure.ac: Judicious addition on spaces to fix test arguments. Sat Oct 25 06:54:00 2003 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([setCalendarFormat:]),([setTimeZone:]) make nil arguments set default values for MacOS-X compatibility. Document this. 2003-10-24 Adam Fedor * configure.ac: Try to use libffi if ffcall not found. 2003-10-24 David Ayers * Source/GSArray.m: (-[GSMutableArray _raiseRangeExceptionWithIndex:from:]): Declare private method obtained through behavior additions. (-[GSArray _raiseRangeExceptionWithIndex:from:]): Use 'unsigned' in favor of 'int' for index and count. Move private method to the top of implementation context to avoid warnings. (-[GSMutableArray insertObject:atIndex:]): Use 'unsigned' in favor of 'int' for index. (-[GSMutableArray replaceObjectAtIndex:withObject:]): Correct selector name and parameter of method call. (-[GSMutableArray sortUsingFunction:context:]): Correct prototype. Fri Oct 24 07:55:00 2003 Stefan Urbanek * Source/GSArray.m: make exception messages more informative. Thu Oct 23 17:45:00 2003 Richard Frith-Macdonald * Source/NSSocketPort.m: ([portWithNumber:onHost:forceAddress:listener:]) minor fix for bug reported by Bjorn Giesler ... was ignoring requested listening port. 2003-10-22 David Ayers * Source/NSConcreteNumber.h: Moved here from Headers/Foundation/NSConcreteNumber.h. * Source/GNUmakefile: Make NSConcreteNumber.h private. * Source/NSConcreteNumber.m: Include NSConcreteNumber.h from new location. * Source/NSNumber.m: Ditto. * Source/NSURL.m: Include NSValue.h in favor of private NSConcreteNumber.h. * Source/NSURLHandle.m: Do not include NSConcreteNumber.h. 2003-10-21 Adam Fedor * Source/Makefile.postamble (libgnustep-base.def): Generate at compile time using the proper dependencies. Tue Oct 21 18:00:00 2003 Richard Frith-Macdonald * Source/NSDistantObject.m: Retain local objects on creation, and release on deallocation ... don't depend on the connection to do it. * Source/NSConnection.m: Restructured handling of proxies ... remove global tables of local object references and just look in all connections and cache when a local object cannot be found in the current connection. Don't retain local objects ... depend on the NSDistantObject class to do that. Don't keep counters of the number of connections in which a local object reference is used ... it's not needed if we don't need to track whether to release the local object or not. Shorten timeout for deferred deallocation of local object references (temporary measure). * Headers/Foundation/NSDistantObject.h: new ivar for future use keeping track of number of times an object is vended. Tue Oct 21 15:25:00 2003 Richard Frith-Macdonald * Testing/nsconnection_client.m: Add -r option. * Testing/nsconnection_server.m: support registration/degeristration * Testing/server.h: New methods. Add a test (-r) to have the client repeated register/unregister with server, and have server do a callback to the registered object. Should cause a crash if the retain counts of proxies get out of sync. Mon Oct 20 16:50:00 2003 Richard Frith-Macdonald * Headers/Additions/GNUstepBase/GSMime.h: Fix missing copying method declararations. Sat Oct 18 07:10:00 2003 Richard Frith-Macdonald * Source/Additions/Unicode.m: Allow GNUSTEP_STRING_ENCODING to give any supported iconv name in additiuon to OpenStep names. Make check case insensitive. Documentation/Base.gsdoc: Remove obsolete comment that GNUSTEP_STRING_ENCODING may not specify a mu7ltibyte encoding. 2003-10-16 Bruno Haible * Source/NSString.m (initWithContentsOfFile:, initWithContentsOfURL:): Fix recognition of UTF-8 BOM. Fri Oct 17 14:28:49 2003 Nicola Pero * Source/GNUmakefile (LIBRARY_VAR): Unused variable removed. * Source/GNUmakefile (srcdir): Variable removed. * Source/Makefile.preamble: Removed references to srcdir. * Source/Makefile.postamble: Same changes. * Source/Makefile.preamble (ADDITIONAL_LIB_DIRS): Use $(GNUSTEP_OBJ_DIR), not ./$(GNUSTEP_OBJ_DIR). Fri Oct 17 14:15:33 2003 Nicola Pero * Makefile.postamble (.PHONY): Unused target removed. * Makefile.postamble: Use ECHO_NOTHING, ECHO_CREATING, END_ECHO. (after-distclean): Clean everything in a single command. Fri Oct 17 14:04:27 2003 Nicola Pero * Makefile.postamble (regenerate, stamp-regenerate): Do-nothing targets removed. * Tools/Makefile.postamble (after-install): Use ECHO_NOTHING, END_ECHO. * Tools/Makefile.preamble: Commented out unused line. Thu Oct 16 21:45:00 2003 Richard Frith-Macdonald * GSPrivate.h: Try to think of better macro names and documentation for stack/heap allocation. * NSArray.m: Use new macro names. Thu Oct 16 19:30:00 2003 Richard Frith-Macdonald * configure.ac: Check for sigaction() * configure: regenerate * Headers/Additions/GNUstepBase/config.h.in: Notice sigaction * Source/GSFileHandle.m: Remove SIGPIPE code * Source/GSTcpPort.m: ditto * Source/NSMessagePort.m: ditto * Source/NSSocketPort.m: ditto * Source/NSObject.m: New code to ignore SIGPIPE unless it's being explicitly handled. Use sigaction so we can test to see if there is a handler installed without temporarily unsetting it (as signal does) so that it is safe in a multi-threaded system. Thu Oct 16 16:45:00 2003 Richard Frith-Macdonald * Source/GSFileHandle.m: * Source/NSMessagePort.m: * Source/NSSocketPort.m: Only ignore SIGPIPE if there is no handler set up for it. If some other code has set up a handler before GNUstep code is used, we should not be overriding that handler as the external code may later depend on receiving the signal. Many thanks to Nicola for the investigative work leading up to this realisation. Thu Oct 16 15:57:39 2003 Nicola Pero * Source/NSObject.m: Do not include signal.h. Wed Oct 15 12:36:33 2003 Nicola Pero * SSL/Makefile.postamble: Removed regenerate, TAGS and FORCE rules. Removed rule that GSSSLHandle.o depends on GNUSTEP_TARGET_DIR/config.h - this dependency is automatically determined by gnustep-make. Wed Oct 15 12:17:24 2003 Nicola Pero * Source/Makefile.postamble: Removed regenerate, TAGS and FORCE rules. Wed Oct 15 12:14:32 2003 Nicola Pero * NSTimeZones/GNUmakefile: Removed DIST_FILES variable. * NSTimeZones/Makefile.postamble: Removed regenerate rule. Wed Oct 15 12:10:35 2003 Nicola Pero * Tools/GNUmakefile: Removed HEADERS, SOURCES, DIST_FILES variables. * Tools/Makefile.postamble: Removed regenerate, copy-dist and documentation rules. Wed Oct 15 11:48:42 2003 Nicola Pero * Testing/GNUmakefile: Removed HDRS, SRCS, DIST_FILES, DYNAMIC_HFILES, DYNAMIC_MFILES variables. Do not set GNUSTEP_INSTALLATION_DIR. Manually disable installation of LoadMe bundle. * Testing/Makefile.postamble: Removed regenerate and copy-dist rules. Wed Oct 15 11:36:49 2003 Nicola Pero * Examples/GNUmakefile: Removed HDRS, SRCS, DIST_FILES variables. Do not set GNUSTEP_INSTALLATION_DIR. * Examples/Makefile.postamble: Removed regenerate and copy-dist rules. Wed Oct 15 11:23:43 2003 Nicola Pero * Source/Makefile.postamble: Removed rules to rebuild object files depending on headers included. gnustep-make does it automatically without the need of keeping lists updated. 2003-10-14 Bruno Haible * Source/NSString.m (parseQuotedString): Fix interpretation of octal escape sequences. 2003-10-14 Richard Frith-Macdonald * GSPrivate.h: New macros to aid with appropriate use of stack or heap for allocating temporary storage. * NSArray.m: Use new OBUFBEGIN() and OBUFEND() macros. 2003-10-09 Adam Fedor * configure.ac: Add special check for sys/mount.h for NetBSD. * Testing/GNUmakefile: Only make CHECKABLE_TOOLS by default. 2003-10-09 Richard Frith-Macdonald * GSArray.m: memory leak decoding a placeholder fixed. Patch by 2003-10-08 Richard Frith-Macdonald * Tools/gdomap.c: Added some checks that getting/setting uid/gid worked as expected and moved getpwnam() call to where it works. * Source/Additions/GSMime.m: ([GSMimeDocument-rawMimeData:]) bugfix to remove mjime version header from inner documents. * Source/NSDebug.m: Additional functions for tracking memory problems. * Source/NSBundle.m: Fixup for windows. * Source/NSFileManager.m: Fixup for windows. * Source/NSString.m: Fixup for windows. Windows fixups adapted from patch by * Source/NSArray.m: Fix memory leak initialising from coder. * Source/NSCountedSet.m: ditto * Source/NSSet.m: ditto * Source/NSDebug.m: Hook to change allocation checking functions. Memory fixes adapted from patch by 2003-10-07 Richard Frith-Macdonald * Source/Additions/GSMime.m: ([GSMimeDocument-setContentType:]) New convenience method. 2003-10-05 Adam Fedor * Documentation/GNUmakefile: Make manual * Source/DocMakefile: Remove dependencies file when cleaning. * Version: Bump to 1.8.90 2003-10-03 Adam Fedor * configure.ac: Use -Wl for netbsd linker options. 2003-10-02 Richard Frith-Macdonald * Source/Additions/GSMime.m: ([GSMimeDocument-makeBoundary]) fixed memory leak. 2003-09-30 Adam Fedor * config/procfs.m4: Force disable /proc on Irix. Force enable on cygwin. 2003-09-30 Richard Frith-Macdonald * Source/NSThread.m: Protect the function handling notification of the process becoming multi-threaded with a recursive lock. This protection ensures that there is no race condition where two threads can start using GNUstep simultaneously and both end up sending out notifications etc. Not a problem in normal ObjC applications, but a possibility where other non-gnustep code starts multiple threads which want to access gnustep. 2003-09-30 Derek Zhou * Source/NSCharacterSet.m: patch to ensure lock is created as soon as the process goes multi-threaded, therefore avoiding a race condition causing a rare exception. 2003-09-26 Richard Frith-Macdonald * Source/NSString.m: Fix pathExtension bug reported by Roland Schwingel. Was failing to handle the case when a dot appears inside a path component properly. 2003-09-26 Adam Fedor * Version 1.8.0 on branch. 2003-09-25 Richard Frith-Macdonald * Source/NSConnection.m: Fix obscure bug releasing in-progress request information on connection deallocation. 2003-09-23 Adam Fedor * Source/Additions/Makefile.preamble: Add DLL build flag for cyginw * Testing/Makefile.postamble (check): Make CHECKABLE_TOOLS only * Tools/AGSHtml.m: Remove duplicate interface (on *-apple-*) * Tools/AGSIndex.m: Idem. 2003-09-23 Adam Fedor * Source/NSTimeZone.m (+systemTimeZone): Remove tzname extern decl. 2003-09-22 Adam Fedor * configure.ac: Check for getopt * Tools/gdomap.c: Use local getopt if no native getopt 2003-09-21 Adam Fedor * Tools/cvtenc.m (main): Write using local/set encoding when EscapeIn=YES. * Documentation/coding-standards.texi: Add section about object persistance. * configure.ac: Make it possible to override --enable-pass-arguments when on cygwin. * configure: Regenerate using 2.57 2003-09-20 yjchen * Resources/Languages/TraditionalChinese: Quote escaped strings. 2003-09-13 Richard Frith-Macdonald * Source/NSConnection.m: Add a couple of checks to raise exceptions when trying to use a connection from the wrong thread. Also, change the code for handling multithreaded connections so that they are removed from the runloops of exiting threads in response to the thread exit notification. 2003-09-13 David Ayers * Headers/Additions/GNUstepBase/GSCategories.h: Move declarations from Source/Additions/GSCompatibility.h to here. ([NSObject -compare:]): Deprecate. * Source/Additions/GSCompatibility.h: Move contents from here to Headers/Additions/GNUstepBase/GSCategories.h. * Source/Additions/GSCategories.m: ([NSObject -compare:]): Deprecate. * Headers/Foundation/NSObject.h ([NSObject -compare:]): Deprecate. * Source/Additions/GCDictionary.m: Include GNUstepBase/GSCategories.h rather than GSCompatibility.h. * Source/Additions/GCObject.m: Ditto. * Source/Additions/GSMime.m: Ditto. * Source/Additions/GSObjCRuntime.m: Ditto. * Source/Additions/GSXML.m: Ditto. * Source/Additions/Unicode.m: Ditto. * macosx/GNUstepBase/preface.h: Update include for new header structure. 2003-09-11 Adam Fedor * macosx/preface.h: Removed * macosx/GNUstepBase/preface.h: New * macosx/gnustep.pbproj/project.pbxproj: Update (from Philip Moetteli ). 2003-09-11 Philip Moetteli * Source/Additions/GSCompatibility.h * Source/Additions/GSCompatibility.m (NSDecimalFromComponents): Added compatibility function. 2003-09-11 Richard Frith-Macdonald * Source/Unicode.m: Fix minor errors in utf8 handling. Use endian version of UTF16 to avoid iconv inserting BOM where it is not wanted. 2003-09-10 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h (GSObjCSuper): Added test for uninitialized superclass reference. 2003-09-10 Richard Frith-Macdonald * Source/NSObject.m: Tidy use of GSObjCRuntime a little. 2003-09-10 Pete French * Source/Additions/Unicode.m: patch to use UTF16 rather than UCS2 internally. 2003-09-10 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([years:months:days:hours:minutes:seconds:sinceDate:]) fix to return all positive values for a difference from a date in the past. 2003-09-07 Adam Fedor * Source/NSBundle.m (+_addFrameworkFromClass:): Check _loadingBundle != bundle when removing classes. 2003-09-07 S.J.Chun * Source/Unicode.m: Added Korean encoding * Headers/Foundation/NSString.h: Added Korean encoding * Source/Additions/GSCompatibility.h: Idem. Sun Sep 7 13:35:15 2003 Nicola Pero * configure.ac: Fixed GNUSTEP_HDIR when not flattened. * configure: Regenerated. 2003-09-05 Adam Fedor * Headers/Additions/GNUstepBase/behavior.h: GS_EXPORT functions. 2003-09-04 18:41 Alexander Malmberg * Headers/Foundation/NSDistributedLock.h, Source/NSDistributedLock.m: Change return type of -initWithPath: to id. 2003-09-02 Adam Fedor * configure.ac: Check for tzset * Source/NSTimeZone.m (+systemTimeZone): Use it to find time zone (as a last resort). 2003-09-02 Adam Fedor * Tools/gdnc.m (main): Don't mess with file descriptors on MinGW. 2003-09-01 Adam Fedor * Tools/gdomap.c (main): Move getuid call inside #ifndef MINGW like the others. 2003-08-31 Adam Fedor * Tools/gdnc.m (main): Close any open file descriptors so we can be a proper daemon. Fixes #4938. 2003-08-29 Adam Fedor * config/procfs.m4: Disable procfs for solaris 2003-08-26 Adam Fedor * Source/NSMessagePort.m: For older OS comptibility, define some macros if they are not already defined. * Source/NSMessagePortNameServer.m: Idem. 2003-08-24 David Ayers * Headers/Additions/GNUstepBase/GSObjCRuntime.h (GSObjCClass): Allow nil values. (GSObjCIsInstance): Ditto. (GSObjCIsClass): New function. (GSClassNameFromObject): Ditto. (GSObjCIsKindOf): Use GSObjCSuper() in favor of class_get_super_class(). * Headers/Foundation/NSRange.h (GS_RANGE_CHECK), (CHECK_INDEX_RANGE_ERROR): Use GSNameFromSelector() in favor of sel_get_name(). * Source/GSFFCallInvocation.m (gs_method_for_receiver_and_selector), (gs_find_best_typed_sel), (-[GSFFCallInvocation invokeWithTarget:]), (GSInvocationCallback): Use GSObjCIsInstance() in favor of object_is_instance, GSObjCClass() in favor of object_get_class(), GSObjCIsClass() in favor of object_is_class(), GSNameFromSelector() in favor of sel_get_name(), GSObjCSuper() in favor of class_get_super_class() and GSClassNameFromObject() in favor of object_get_class_name(). * Source/GSFFIInvocation.m (gs_method_for_receiver_and_selector), (gs_find_best_typed_sel), (-[GSFFIInvocation invokeWithTarget:]), (GSFFIInvocationCallback): Use GSObjCIsInstance() in favor of object_is_instance, GSObjCClass() in favor of object_get_class(), GSObjCIsClass() in favor of object_is_class(), GSNameFromSelector() in favor of sel_get_name(), GSObjCSuper() in favor of class_get_super_class() and GSClassNameFromObject() in favor of object_get_class_name(). * Source/NSConnection.m (-[NSConnection forwardForProxy:selector:argFrame:]), (-[NSConnection forwardInvocation:forProxy:]): Use GSNameFromSelector() in favor of sel_get_name(). * Source/NSDistantObject.m (class_is_kind_of): Use GSObjCSuper in favor of class_get_super_class(). (-[NSDistantObject forward::]): Use GSNameFromSelector() in favor of sel_get_name(). * Source/NSInvocation.m (-[NSInvocation invokeWithTarget:]) Use GSObjCSuper() in favor of class_get_super_class(), GSObjCIsInstance() in favor of object_is_instance() (-[NSInvocation description]): Use GSClassNameFromObject in favor of object_get_class_name(). Avoid buffer overflow by using snprintf() in favor of sprintf(). (-[NSInvocation initWithSelector:]): Use GSNameFromSelector() in favor of sel_get_name(). * Source/NSObject.m (GSDescriptionForInstanceMethod), (GSDescriptionForClassMethod), (+[NSObject superclass], (-[NSObject description]), (-[NSObject doesNotRecognizeSelector:]), (-[NSObject performSelector:]), (-[NSObject performSelector:withObject:]), (+[NSObject setVersion:], -[NSObject error:]), (-[NSObject doesNotRecognize:], -[NSObject isClass]), (-[Object description]): Use GSNameFromSelector() in favor of sel_get_name(), GSObjCSuper() in favor of class_get_super_class(), GSClassNameFromObject() in favor of object_get_class_name() and GSObjCIsClass() in favor of object_is_class(). * Source/NSProxy.m (+[NSProxy description]), (-[NSProxy description]), (+[NSProxy superclass]), (-[NSProxy forwardInvocation:]), (-[NSProxy init], (-[NSProxy notImplemented:]), (-[NSProxy performSelector:]), (-[NSProxy performSelector:withObject:]), (-[NSProxy performSelector:withObject:withObject:]): Use GSClassNameFromObject() in favor of object_get_class_name(), GSObjCSuper() in favor of class_get_super_class() and GSNameFromSelector() in favor of sel_get_name(). * Source/Additions/GSCategories.m (-[NSObject notImplemented:]), (-[NSObject shouldNotImplement:]), (-[NSObject subclassResponsibility:]): Use GSNameFromSelector() in favor of sel_get_name() and GSClassNameFromObject() in favor of object_get_class_name(). * Source/Additions/GSCompatibility.h (GS_RANGE_CHECK): Use GSNameFromSelector() in favor of sel_get_name(). * Source/Additions/GSCompatibility.m (+[NSObject notImplemented:]): Use GSNameFromSelector() in favor of sel_get_name() and GSClassNameFromObject() in favor of object_get_class_name(). * Source/Additions/GSObjCRuntime.m (GSObjCMethodNames), (GSObjCAddMethods): Use GSNameFromSelector() in favor of sel_get_name(). * Testing/nsbundle.m (main): Update to reflect filesystem change. Use GSClassNameFromObject() in favor of object_get_class_name(). * Testing/nsconnection_server.m Use GSNameFromSelector() in favor of sel_get_name(). * Testing/Makefile.postamble: Build before checking. 2003-08-23 Adam Fedor * Version 1.7.3 2003-08-23 Adam Fedor * configure.ac: Fix mistake in checking for ffi. * Tools/AGSIndex.m: Add NSString compatibility interface when compiling on apple-apple-apple. * Tools/AGSHtml.m: idem. 2003-08-15 Richard Frith-Macdonald * Source/NSObject.m: Trivial cast to avoid compiler warnings. 2003-08-20 13:59 Alexander Malmberg Clean up code to remove warnings issued by (what will become) gcc 3.4. * Source/GSString.m, Source/NSArchiver.m, Source/NSAttributedString.m, Source/NSRunLoop.m: Don't return values from methods returning void. 2003-08-19 Adam Fedor * configure.ac: Clarify ffi interface warnings and disable_do on apple-apple-apple. Fixes #4824 2003-08-15 Richard Frith-Macdonald * Source/NSObject.m: Move hacked methods for getting protocol method info into functions so we can use them without going through the ObjC runtime. * Source/NSDistantObject.m: When attempting to check protocols, use functions from NSObject.m if the protocol has not been properly initialised (its class pointer is 0x2) as is the case for all but very recent versions of the compiler. FIXME ... this code should be removed at some future date when all common systems have shipped with a working compiler for a while. 2003-08-13 David Ayers * Headers/Additions/GNUstepBase/preface.h: Remove generated file that should have been ignored by entry in .cvsignore. * Source/UnixFileHandle.m: Remove obsolete file. 2003-08-05 Martin Brecher * Tools/gdnc.1: Updated man pages, fixed typos, unified format and layout. Man pages are now installed unprocessed as it should be. * Tools/gdomap.8: ditto. 2003-08-12 Yen-Ju Chen * Source/Additions/Unicode.m (GetAvailableEncodings): Include last encoding. 2003-08-08 Richard Frith-Macdonald * Source/Additions/GSXML.m: save and restore libxml global settings before/after each parse operation. 2003-08-07 Richard Frith-Macdonald * Source/NSString.m: nodeToObject() fix error in handling escape sequences in strings ... only treat a backslash specially when it is immediately followed by 'U' or 'u' and four hexadecimal digits. ensure data ia deallocated promptly. * Source/GSCompatibility.m: match changes to property list escapes * Source/Additions/GSXML.m: change ownership policy so that nodes are owned by theri parents, never by siblings ... prevent stack overflow deallocating nodes in long documents. * Tools/plist-0_9.dtd: document unicode escapes. 2003-08-02 Adam Fedor * Source/NSProxy.m: Fix limit.h -> limits.h 2003-08-02 Yen-Ju Chen * Resources/Languages/TraditionalChinese, Resources/TraditionalChinese.lproj: New * Resources/GNUmakefile: Install them. 2003-08-01 Richard Frith-Macdonald * Source/NSProxy.m: Include limits.h for UINT_MAX * Source/NSProcessInfo.m: Avoid crash when given invalid argument list * Source/NSString.m: Minor cleanup for coding standards and remove pointer dereferencing of object which causes problems with new compiler Problems reported by Alexander and Roland 2003-07-31 David Ayers * Created tag 'pre-header-reorg-20030731'. * Headers/Additions/GNUstepBase: New directory. * Headers/Additions/GNUstepBase/unicode: Ditto. * Headers/Foundation: Ditto. * Headers/gnustep/base: Obsoleted. * Headers/gnustep/unicode: Ditto. * Headers/Additions/GNUstepBase/DistributedObjects.h: Moved here from Headers/gnustep/base. * Headers/Additions/GNUstepBase/GCObject.h: Ditto. * Headers/Additions/GNUstepBase/GNUstep.h: Ditto. * Headers/Additions/GNUstepBase/GSCategories.h: Ditto. * Headers/Additions/GNUstepBase/GSConfig.h.in: Ditto. * Headers/Additions/GNUstepBase/GSFileHandle.h: Ditto. * Headers/Additions/GNUstepBase/GSIArray.h: Ditto. * Headers/Additions/GNUstepBase/GSIMap.h: Ditto. * Headers/Additions/GNUstepBase/GSLocale.h: Ditto. * Headers/Additions/GNUstepBase/GSMime.h: Ditto. * Headers/Additions/GNUstepBase/GSObjCRuntime.h: Ditto. * Headers/Additions/GNUstepBase/GSUnion.h: Ditto. * Headers/Additions/GNUstepBase/GSXML.h: Ditto. * Headers/Additions/GNUstepBase/Unicode.h: Ditto. * Headers/Additions/GNUstepBase/behavior.h: Ditto. * Headers/Additions/GNUstepBase/config.h.in: Ditto. * Headers/Additions/GNUstepBase/objc-gnu2next.h: Ditto. * Headers/Additions/GNUstepBase/preface.h.in: Ditto. * Headers/Additions/GNUstepBase/thr-mach.h: Ditto. * Headers/Additions/GNUstepBase/.cvsignore: Ditto. * Headers/Additions/GNUstepBase/unicode/caseconv.h: Moved here from Headers/gnustep/unicode. * Headers/Additions/GNUstepBase/unicode/cop.h: Ditto. * Headers/Additions/GNUstepBase/unicode/cyrillic.h: Ditto. * Headers/Additions/GNUstepBase/unicode/decomp.h: Ditto. * Headers/Additions/GNUstepBase/unicode/gsm0338.h: Ditto. * Headers/Additions/GNUstepBase/unicode/latin2.h: Ditto. * Headers/Additions/GNUstepBase/unicode/latin9.h: Ditto. * Headers/Additions/GNUstepBase/unicode/nextstep.h: Ditto. * Headers/Additions/GNUstepBase/unicode/thai.h: Ditto. * Headers/Foundation/Foundation.h: Moved here from Headers/gnustep/base. * Headers/Foundation/NSArchiver.h: Ditto. * 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/NSByteOrder.h: Ditto. * Headers/Foundation/NSCalendarDate.h: Ditto. * Headers/Foundation/NSCharacterSet.h: Ditto. * Headers/Foundation/NSClassDescription.h: Ditto. * Headers/Foundation/NSCoder.h: Ditto. * Headers/Foundation/NSConcreteNumber.h: Ditto. * Headers/Foundation/NSConnection.h: Ditto. * Headers/Foundation/NSData.h: Ditto. * Headers/Foundation/NSDate.h: Ditto. * Headers/Foundation/NSDateFormatter.h: Ditto. * Headers/Foundation/NSDebug.h: Ditto. * Headers/Foundation/NSDecimal.h: Ditto. * Headers/Foundation/NSDecimalNumber.h: Ditto. * Headers/Foundation/NSDictionary.h: Ditto. * Headers/Foundation/NSDistantObject.h: Ditto. * Headers/Foundation/NSDistributedLock.h: Ditto. * Headers/Foundation/NSDistributedNotificationCenter.h: Ditto. * Headers/Foundation/NSEnumerator.h: Ditto. * Headers/Foundation/NSException.h: Ditto. * Headers/Foundation/NSFileHandle.h: Ditto. * Headers/Foundation/NSFileManager.h: Ditto. * Headers/Foundation/NSFormatter.h: Ditto. * Headers/Foundation/NSGeometry.h: Ditto. * Headers/Foundation/NSHashTable.h: Ditto. * Headers/Foundation/NSHost.h: Ditto. * Headers/Foundation/NSInvocation.h: Ditto. * Headers/Foundation/NSKeyValueCoding.h: Ditto. * Headers/Foundation/NSLock.h: Ditto. * Headers/Foundation/NSMapTable.h: Ditto. * Headers/Foundation/NSMethodSignature.h: Ditto. * Headers/Foundation/NSNotification.h: Ditto. * Headers/Foundation/NSNotificationQueue.h: Ditto. * Headers/Foundation/NSNull.h: Ditto. * Headers/Foundation/NSNumberFormatter.h: Ditto. * Headers/Foundation/NSObjCRuntime.h: Ditto. * Headers/Foundation/NSObject.h: Ditto. * Headers/Foundation/NSPathUtilities.h: Ditto. * Headers/Foundation/NSPort.h: Ditto. * Headers/Foundation/NSPortCoder.h: Ditto. * Headers/Foundation/NSPortMessage.h: Ditto. * Headers/Foundation/NSPortNameServer.h: Ditto. * Headers/Foundation/NSProcessInfo.h: Ditto. * Headers/Foundation/NSProtocolChecker.h: Ditto. * Headers/Foundation/NSProxy.h: Ditto. * Headers/Foundation/NSRange.h: Ditto. * Headers/Foundation/NSRunLoop.h: Ditto. * Headers/Foundation/NSScanner.h: Ditto. * Headers/Foundation/NSSerialization.h: Ditto. * Headers/Foundation/NSSet.h: Ditto. * Headers/Foundation/NSString.h: Ditto. * Headers/Foundation/NSTask.h: Ditto. * Headers/Foundation/NSThread.h: Ditto. * Headers/Foundation/NSTimeZone.h: Ditto. * Headers/Foundation/NSTimer.h: Ditto. * Headers/Foundation/NSURL.h: Ditto. * Headers/Foundation/NSURLHandle.h: Ditto. * Headers/Foundation/NSUndoManager.h: Ditto. * Headers/Foundation/NSUserDefaults.h: Ditto. * Headers/Foundation/NSUtilities.h: Ditto. * Headers/Foundation/NSValue.h: Ditto. * Headers/Foundation/NSZone.h: Ditto. * Soruce/GSFormat.h: Ditto. * Source/GSInvocation.h: Moved here from Headers/gnustep/base. * Source/objc-load.h: Ditto. * configure.ac: Update to new header structure. * configure: Regenerated. * Makefile.postamble: Remove handling of header-links and update to new header structure. * Source/GNUmakefile: Update to new header structure. Always install GSFileHandle.h, GSLocal.h, GSUnion.h, GSIArray.h, GSIMap.h, preface.h as public headers. Do not install DistributedObjects.h, objc-load.h and thr-mach.h. Install GSMime.h and GSXML.h in GNUstepBase instead of Foundation. Include CompatibilityHeaders.make makefile fragement. * Source/Makefile.preamble: Update to new header structure. Split HEADER_DIR into HEADER_DIR_BASE and HEADER_DIR_FND. * Source/Makefile.postamble: Update to new header structure. Do not install mframe.h. Update for HEADER_DIR split. * Source/CompatibilityHeaders.make: New file which installs dummy headers in the place of the old headers, warning about obsoleting the old location and includeing the header from its new location. * Source/Additions/Makefile.preamble: Update to new header structure. Only add -I../../Headers for *-gnu-*. * Source/*.[hm]: Update includes for new header structure. * Source/Additions/*.m: Ditto. * Source/mframe/mframe.head: Ditto. * Source/.cvsignore: Ignore config.h. * Testing/Makefile.preamble: Update to new header structure. Only add -I../../Headers for *-gnu-*. * Testing/*.[hm]: Update includes for new header structure. * Tools/Makefile.preamble: Update to new header structure. Only add -I../../Headers for *-gnu-*. * Tools/*.[hm]: Update includes for new header structure. * Tools/make_strings/GNUmakefile.preamble: Update to new header structure. Only add -I../../Headers for *-gnu-*. * Source/DocMakefile: Update to new header structure. * SSL/Makefile.preamble: Update to new header structure. * SSL/GSSSLHandle.m: Ditto. * Examples/Makefile.preamble: Use -I../Headers only with *-gnu-*. * Headers/gnustep/base/UnixFileHandle.h: Removed. * Headers/gnustep/base/WindowsFileHandle.h: Ditto. 2003-07-30 Richard Frith-Macdonald * Tools/gdomap.c: Some security fixes and tweaks. 2003-07-28 Richard Frith-Macdonald * Source/GSFFCALLInvocation.m: Make exception text more meaningful * Source/GSFFIInvocation.m: ditto * Source/Additions/GSXML.m: Add a couple of convenience methods to test node type. * Source/Additions/GSMime.m: Add convenience method for putting a new header in a document. * Source/NSCalendarDate.m: Tweak to avoid useless compiler warning. * Source/NSRunLoop.m: ditto * Source/NSURL.m: ditto * Source/Additions/GSMime.m: ditto * Source/Additions/Unicode.m: ditto 2003-07-27 Gregory John Casamento & Alexander Malmberg * Source/Additions/GSObjCRuntime.m: GSObjCMethodNames was not returning all methods for the object given. 2003-07-27 Richard Frith-Macdonald * Source/NSInvocation.m: implement methodSignatureForSelector for proxy. 2003-07-26 Richard Frith-Macdonald * Source/GSFFCALLInvocation.m: Add evil hack to cope with cases where type info was not available and we assumed a method returning an id but the actual method returned void. * config/procfs.m4: Test for procfs using 'mount' 2003-07-25 Richard Frith-Macdonald * Source/NSDistributedNotificationCenter.m: Partially reverted last change ... seemed to cause problems on some systems. * Tools/gdnc.m: ditto. * Source/NSDebug.m: Small thread safely fix. * Source/NSThread.m: Avoid multiple copies of housekeeping timer. * Source/NSConnection.m: Fix thread related memory leak leaving an NSRunLoop in a connection when the connection is no longer using it. * Source/NSURL.m: retain handle while doing background load. 2003-07-23 Richard Frith-Macdonald * Source/NSObject.m: Implement methodSignatureForSelector for zombies * Source/DocMakefile: Only remove directory with stamp for 'clean' 2003-07-22 Adam Fedor * Version 1.7.2 2003-07-22 Jeremy Bettis * Headers/gnustep/base/objc-gnu2next.h (class_nextMethodList): Fix macro to return the method list. 2003-07-22 Richard Frith-Macdonald * Tools/AGSHtml.m: Don't output authors heading if not needed. * Source/NSUser.m: Use HOMEPATH in preference to USERPROFILE for OPENSTEP compatibility and because USERPROFILE generally doesn't work due to the presence of spaces. * Headers/gnustep/base/NSDebug.h: Minor documentation fix. * Headers/gnustep/base/NSHashTable.h: ditto * Headers/gnustep/base/NSPort.h: ditto * Headers/gnustep/base/NSPortNameServer.h: ditto * Source/DocMakefile: Document serialization classes * Source/NSDebug.m: Fix broken cross reference * Source/NSLog.m: ditto * Source/NSMessagePortNameServer.m: Tidied * Source/NSPortNameServer.m: Tidied and documented. * Source/NSSocketPortNameServer.m: Documented and fixed methods to return NO on failure rather than raising exception. * Source/NSUndoManager.m: Fix documentation markup errors. 2003-07-21 Richard Frith-Macdonald * Source/Additions/Unicode.m (GROW): Fix shifting of pointers into local buffer for case where we are leaving room for a null terminator. This avoids moving pointer back before start of buffer. 2003-07-21 Roland Schwingel * Source/libgnustep-base-entry.m: Don't create unnecessary window. Mon Jul 21 11:03:48 2003 Nicola Pero * Tools/HTMLLinker.m: Removed. * Tools/HTMLLinker.html: Removed. * Tools/GNUmakefile: Do not compile it. 2003-07-20 Richard Frith-Macdonald * Source/NSProxy.m: Implement essential methods for a proxy to be vended over an NSConnection. 2003-07-20 17:27 Alexander Malmberg * Source/NSConnection.m (-invalidate): Don't kill the targetToCached timer when invalidating a connection. 2003-07-20 Richard Frith-Macdonald * Source/NSThread.m: Separate out sleeping into a more efficient function and improve use of nanosleep * Source/NSLock.m: Use new private sleeping function from NSThread.m and rewrite code to be more responsive, especially for cases where locks are heavily used for rapid interaction between threads. * Tools/thread.m: Test lockBeforeDate 2003-07-17 Richard Frith-Macdonald * Source/NSRunLoop.m: ([-acceptInputForMode:beforeDate:]) use the NSThread method to sleep rather than re-implementing it. * configure.ac: Check for nanosleep() * Headers/Foundation/config.h.in: Add entry for nanosleep * Source/NSThread.m: Use nanosleep if available. * Headers/Foundation/NSProcessInfo.h: Added new methods - ([-setDebugLoggingEnabled:]) and ([-debugLoggingEnabled]) * Source/NSProcessInfo.m: ditto 2003-07-16 David Ayers * config.make.in: Default to builing -baseadd on non *-gnu-* configurations. 2003-07-15 Richard Frith-Macdonald * Headers/gnustep/base/NSArray.h: Add methods for creating from URL * Headers/gnustep/base/NSDictionary.h: ditto * Source/NSArray.m: ditto * Source/NSDictionary.m: ditto 2003-07-15 David Ayers * Headers/gnustep/base/NSUndoManager.h: Add NSUndoCloseGroupingRunLoopOrdering enum. Replace instance variables _registeredUndo with _runLoopGroupingPending and _actionName with _unused1. * Source/NSUndoManager.m: Added documentation. Added actionName instance variable to PrivateUndoGroup. (-[PrivateUndoGroup actionName]): New method. (-[PrivateUndoGroup setActionName]): Ditto. (-[PrivateUndoGroup dealloc]): Release new instance variable. (-[PrivateUndoGroup initWithParent:]): Initialize actionName. (-[NSUndoManager forwardInvocation]): Implicitly call beginUndoGrouping if group has not been setup and we are grouping by events. Register _loop: invocation if none is already pending and if we are grouping by event. (-[NSUndoManager registerUndoWithTarget:selector:object]): Ditto. (-[NSUndoManager methodSignatureForSelector:]): Overriden to forward request to target supplied by -prepareWithInvocationTarget: if available. (-[NSUndoManager _loop:]): Set flag to determine pending _loop: processing. (-[NSUndoManager init]): Removed access to _actionName. Have receiver default to group by event. (-[NSUndoManager dealloc]): Ditto. (-[NSUndoManager enableUndoRegistration]): Remove access to _registeredUndo. (-[NSUndoManager redo]): Simplified implementation. (-[NSUndoManager redoActionName:]: Retrieve action name from first grouping of the redo stack. (-[NSUndoManager redoMenuTitleForUndoActionName:]): Add comment about localization. (-[NSUndoManager undoMenuTitleForUndoActionName:]): Ditto. (-[NSUndoManager setActionName:]): Forward call to current grouping. (-[NSUndoManager undoActionName:]: Retrieve action name from first grouping of the undo stack. (-[NSUndoManager setRunLoopModes:]): Use correct run loop ordering and set flag for pending _loop: invocation. (-[NSUndoManager undoNestedGroup]): Removed special case handling of _registeredUndo. Raise NSInternalInconsistencyException if grouping is still in progress. Simplified implementation. 2003-07-15 Alexander Malmberg * Source/NSConnection.m: When creating new connection with registered name on host, ensure that send and receive ports are of same class. * Source/NSMessagePort.m: New for private local connections. * Source/NSMessagePortNameServer.m: New for private local connections. * Source/NSPortNameServer.m: Made abstract * Source/NSSocketPortNameServer.m: Concrete version based on original. * Source/NSSocketPort.m: GSTcpPort.m renamed Alexanders modifications added by RFM and altered slightly to use NSSocketPort by default and to refrain from building new code under windows, so this *shouldn't* break any existing code I hope. 2003-07-15 Richard Frith-Macdonald * Source/NSDistributedNotificationCenter.m: Use loopback network interface for local center. * Tools/gdnc.m: ditto. 2003-07-11 David Ayers * Source/GNUmakefile: Make GNUstep.h public. * Source/Additions/GSXML.m: Use cached NSString class variable. * Source/Additions/GSObjCRuntime.m (GSCGetInstanceVariableDefinition): Make more robust. 2003-07-11 Richard Frith-Macdonald * Headers/Foundation/NSPort.h: Tweak for mingw and correct conditional compilation to only include NSSocketPort for MacOS-X * Source/GSFileHandle.m: Incorporate S.J.Chuns mingw fixes with huge simplification to avoid lots of conditional compilation. * Source/GSTcpPort.m: ditto. * Source/NSSocketPort.m: ditto. 2003-07-11 02:33 Alexander Malmberg * Source/NSAssertionHandler.m: Use the correct key to store the NSAssertionHandler in the thread dictionary, and document the storing and the key. 2003-07-09 15:54 Alexander Malmberg * Source/Additions/Unicode.m (GSToUnicode, GSFromUnicode): Make sure dst isn't set to NULL in GSToUnicode, too. Make sure it is set if an allocated buffer turns out not to need resizing. 2003-07-09 02:41 Alexander Malmberg * Source/GSString.m (getCString_u): Rewrite to correctly handle all encodings, the range argument, and the leftoverRange attribute. * Source/Additions/Unicode.m (GSToUnicode): Clarify the documentation (and fix a few typos in it). (GSFromUnicode): Clarify the documentation. Signal failure correctly from the utf8 encoder. Make sure dst isn't set to NULL if zone is NULL but *size is 0. 2003-07-08 Richard Frith-Macdonald * Source/NSString.m: Avoid using atof() in parsing plists ... we don't want libc localised handling of numbers. 2003-07-08 03:44 Alexander Malmberg * Source/Additions/Unicode.m (GSToUnicode, GSFromUnicode): In iconv case, only try to expand the buffer when we really need extra space. Correctly handle all output from flushing iconv. 2003-07-08 03:03 Alexander Malmberg * Source/NSConnection.m (-locateLocalTarget:): The targetToCached map contains CachedLocalObject:s, not GSLocalCounter:s. Extract the GSLocalCounter from the CachedLocalObject. Unlock the global_proxies_gate lock before calling -proxyWithLocal:connection:. 2003-07-07 David Ayers * Headers/gnustep/base/GSObjCRuntime.h: * Source/Additions/GSObjCRuntime.m: Added typedef for GSIVar. (GSCGetInstanceVariableDefinition): New function. (GSObjCGetInstanceVariableDefinition): Ditto. * Testing/nstimer.m ([TestDouble -sayCount]): Quit test after 20 invocations. 2003-07-07 Richard Frith-Macdonald * Source/Source/GSFFCallInvocation.m: gs_objc_msg_forward() trust the selector we are given. Rather than trying to find a better one. * Source/GSFFIInvocation.m: ditto * Source/NSScanner.m: Add a couple of internal utility functions. * Source/NSString.m: Fix floatValue and doubelValue to use non localised conversions. * Source/GSString.m: ditto. 2003-07-06 Adam Fedor * configure.ac: Add -R flags for netbsdelf 2003-07-06 Richard Frith-Macdonald * Tools/AGSHtml.m: Fix bug in linking to category methods from index. * Tools/AGSParser.m: Improve parsing of clock comments. 2003-07-05 Adam Fedor * configure.ac: Add flags for openbsd like freebsd. * Tools/gdnc.1, Tools/gdomap.8: Unzip * Tools/GNUmakefile (MAN1_PAGES): gzip man pages. 2003-07-04 Richard Frith-Macdonald * Source/NSDistributedNotificationCenter.m: Use -setProtocolForProxy: and implement dummy class to work around bug in old compilers. * Tools/gdnc.m: ditto * Source/NSDistantObject.m: Fix for calls to remote system where we can get no method signature. Documented. 2003-07-04 Richard Frith-Macdonald * Source/Source/GSFFCallInvocation.m: Modify to use local type information if it looks like it has come from a protocol ... as too much existing code is broken in that DO server objects which are supposed to conform to protocols in fact do not! * Source/GSFFIInvocation.m: ditto Fri Jul 4 11:09:37 2003 Nicola Pero * NSTimeZones/Makefile.postamble: Make the code more robust by adding rule to create the installation dirs. 2003-07-04 Richard Frith-Macdonald * Source/NSDistantObject.m: Avoid recursion fetching method signature. * Source/NSObject.m: ([methodSignatureForSelector:]) modified to take into account any protocols that the receiver conforms to, so the returned signature has the fullest possible type information. Category Protocol(Fixup) ... evil hack to work around runtime bug. * Source/GSFFCallInvocation.m: Fetch method signature from receiver in preference to using other info. Ensures we have correct info for the object we are sending the message to. * Source/GSFFIInvocation.m: ditto 2003-07-03 Richard Frith-Macdonald * Source/NSCalendarDate: ([-initWithString:calendarFormat:]) default year to 0001 s the gregorian calendar does not go earlier. ([-initWithYear:month:day:hour:minute:second:timeZone:]) don't override a previously set calendar format. 2003-07-01 David Ayers * Headers/gnustep/base/GSObjCRuntime.h/m (GSPrintf), * Headers/gnustep/base/NSObjCRuntime.h (GSPrintf), * Source/NSLog.m (GSPrintf): Moved implementation from NSLog.m to GSObjCRuntime.m and declaration from NSObjCRuntime.h to GSObjCRuntime.h. 2003-07-01 Richard Frith-Macdonald * Source/Additions/Unicode.m: Flush iconv buffer at end of conversion to handle obscure cases where it says it has converted all the input sequence, but hasn't written all the output. 2003-06-30 Richard Frith-Macdonald * Source/Additions/Unicode.m: Add 'UTF-7' so iconv can be used to handle utf7 if available. * Tools/AGSParser.m: Don't always strip asterisks from comments, Check first line of comment to see if it has one first. 2003-06-28 15:48 Alexander Malmberg * Tools/make_strings/StringsFile.h, Tools/make_strings/StringsFile.m, Tools/make_strings/make_strings.h, Tools/make_strings/make_strings.m: Clean up handling of key matching and ignoring. Add --aggressive-remove option. 2003-06-28 Richard Frith-Macdonald * Source/NSBundle.m: Don't NSLog when we can't find a localizable file ... log only when bundle debugging is turned on. 2003-06-27 Richard Frith-Macdonald * Source/NSPipe.m: Fix descriptor leak ... close on dealloc 2003-06-25 Adam Fedor * Tools/gdnc.1.gz: New file (from Martin Brecher). * Tools/GNUmakefile (MAN1_PAGES): Install it 2003-06-24 David Ayers * Source/GSFFCallInvocation.m (gs_method_for_receiver_and_selector): Replace usage of class_get_instance/class_method with GSGetInstance/ClassMethod and Method_t with GSMethod. (gs_find_by_receiver_best_typed_sel): Ditto. (GSInvocationCallback): Ditto. ([GSFFCallInvocation -invokeWithTarget:]): Ditto. * Source/GSFFIInvocation.m (gs_method_for_receiver_and_selector): Ditto. (gs_find_by_receiver_best_typed_sel): Ditto. (GSFFIInvocationCallback): Ditto. ([GSFFIInvocation -invokeWithTarget:]): Ditto. * Source/NSConnection.m ([NSConnection -_service_typeForSelector:]): Ditto. * Source/NSInvocation.m ([NSInvocation -invokeWithTarget:]): Ditto. * Source/NSObject.m ([NSObject +instanceMethodSignatureForSelector:]): Ditto. ([NDObject -methodSignatureForSelector:]): Ditto. ([NSObject +descriptionForInstanceMethod:]): Ditto. ([NSOnject -descriptionForMethod:]: Ditto. * Source/NSProxy.m ([NSProxy +methodSignatureForSelector:]): Ditto. ([NSProxy -methodSignatureForSelector:]): Ditto. * Source/NSDistantObject.m ([NSObject -selectorTypeForProxy:]): Ditto. ([NSDistantObject +respondsToSelector:]): Ditto. Corrected implementation to check class methods instead of instance methods. 2003-06-23 Adam Fedor * Testing/diningPhilosophers.m: Locking and output fixes (from Chris Beaham). * Testing/create-abbrevs, Testing/create-regions: Remove. 2003-06-23 Adam Fedor * Source/NSProcessInfo.m (+load): use the KVM library where available when procfs doesn't work (FreeBSD, others?) (patch from Pete French ). 2003-06-21 David Ayers * Headers/gnustep/base/objc-gnu2next.h: Remove simple mappings for class_get_class_method they cannot work due to different parameter expectations. Added mapping from NeXT->GNU runtime. The other way does not work. Added simple mapping for internal flush function __objc_update_dispatch_table_for_class and _objc_flush_caches. * Headers/gnustep/base/GSObjCRuntime.h/m: Added typedef for GSMethod. (GSGetInstanceMethod): New function. (GSGetClassMethod): Ditto. (GSGetInstanceMethodNotInherited): Ditto. (GSGetClassMethodNotInherited): Ditto. (GSFlushMethodCacheForClass): Ditto. (flush_method_cache_for_class): Removed function which is replaced by GSFlushMethodCacheForClass. (GSObjCGetMethod): Removed function which is replaced by GSGetInstanceMethod and GSGetClassMethod. (GSObjCReplaceMethod): Removed function. 2003-06-21 Adam Fedor * configure.ac: Check for libkvm. * configure, Headers/gnustep/base/config.h.in: Regen. 2003-06-20 Adam Fedor * Documentation/Makefile.postamble (after-clean): Remove Base and BaseAdditions 2003-06-20 Richard Frith-Macdonald * Source/GSString.m: Allow more length when converting unicode string to integer. * Source/NSObject.m: ([methodSignatureForSelector:]) return nil if the receiver does not implement it. 2003-06-20 Adam Fedor * Documentation/Makefile.postamble (after-clean): * Version 1.7.1 * Source/DocMakefile (after-all): Check if Base exists before removing it. 2003-06-19 Adam Fedor * GNUmakefile (SUBPROJECTS): Revert last change. 2003-06-19 Andrew Ruder * Source/Additions/Unicode.m: Increase size of table by one to avoid error if all possible character encodings were supported. Never happens ... but might conceivably do so one day. 2003-06-18 Kazunobu Kuriyama * configure.ac: Add --with--ffcall-include=PATH and --with-ffcall-library=PATH options 2003-06-18 Richard Frith-Macdonald * Source/Additions/GSXML.m: Implement -description for nodes. 2003-06-17 Adam Fedor * GNUmakefile (SUBPROJECTS): Add Documentation 2003-06-17 Chris Vetter * Tools/AGSHtml.m: Tidy up formatting of author output. 2003-06-16 13:36 Alexander Malmberg * Source/GSFormat.m (GSFormat()): Free malloc memory in all cases after handling %s, %S, %@ with strings longer than 8192 characters. 2003-06-15 Richard Frith-Macdonald * Source/NSAutoreleasePool.m: Documented. * Headers/gnustep/base/NSObject.h: Documented memory management macros for autogsdoc. 2003-06-14 Richard Frith-Macdonald * Source/Additions/GSMime.m: Better attempt to infer charset from string only when needed. Don't insert transer encoding header if not needed. 2003-06-11 Adam Fedor * Source/NSNumberFormatter.m (-getObjectValue:forString:errorDescription:): Simple implementation. 2003-06-08 Fred Kiefer * Source/NSString.m In [initWithContentsOfURL:] changed variable test to unichar* to keep the compiler quiet. * Source/Additions/Unicode.m In GSFromUnicode() removed type cast of *_conv_base as the gcc 3.3 compiler complained about it. 2003-06-07 David Ayers * Headers/gnustep/base/GSObjCRuntime.h * Source/Additions/GSObjCRuntime.m : White space patch to better conform with GNU coding standards and improve readability. Wrap deprecated API in NO_DEPRICATED macro. 2003-06-06 David Ayers * Source/GSArray.m: Change syntax of include <> to "" for local headers. Change base/ to gnustep/base/ in includes. Source/GSAttributedString.m, Source/GSCompatibility.m, Source/GSCountedSet.m, Source/GSDictionary.m, Source/GSFFCallInvocation.m, Source/GSFFIInvocation.m, Source/GSFTPURLHandle.m, Source/GSFileHandle.m, Source/GSFormat.m, Source/GSHTTPURLHandle.m, Source/GSLocale.m, Source/GSSet.m, Source/GSString.m, Source/GSTcpPort.m, Source/GSTemplateValue.m, Source/GSValue.m, Source/NSArchiver.m, Source/NSArray.m, Source/NSAssertionHandler.m, Source/NSAttributedString.m, Source/NSAutoreleasePool.m, Source/NSBitmapCharSet.m, Source/NSBundle.m, Source/NSCalendarDate.m, Source/NSCallBacks.h, Source/NSCallBacks.m, Source/NSCharacterSet.m, Source/NSClassDescription.m, Source/NSCoder.m, Source/NSConcreteNumber.m, Source/NSConnection.m, Source/NSCopyObject.m, Source/NSCountedSet.m, Source/NSData.m, Source/NSDate.m, Source/NSDateFormatter.m, Source/NSDebug.m, Source/NSDecimal.m, Source/NSDecimalNumber.m, Source/NSDictionary.m, Source/NSDistantObject.m, Source/NSDistributedLock.m, Source/NSDistributedNotificationCenter.m, Source/NSEnumerator.m, Source/NSException.m, Source/NSFileHandle.m, Source/NSFileManager.m, Source/NSFormatter.m, Source/NSGeometry.m, Source/NSHashTable.m, Source/NSHost.m, Source/NSInvocation.m, Source/NSKeyValueCoding.m, Source/NSLock.m, Source/NSLog.m, Source/NSMapTable.m, Source/NSMethodSignature.m, Source/NSNotification.m, Source/NSNotificationCenter.m, Source/NSNotificationQueue.m, Source/NSNull.m, Source/NSNumber.m, Source/NSNumberFormatter.m, Source/NSObjCRuntime.m, Source/NSObject.m, Source/NSPage.m, Source/NSPipe.m, Source/NSPort.m, Source/NSPortCoder.m, Source/NSPortMessage.m, Source/NSPortNameServer.m, Source/NSProcessInfo.m, Source/NSProtocolChecker.m, Source/NSProxy.m, Source/NSRange.m, Source/NSRunLoop.m, Source/NSScanner.m, Source/NSSerializer.m, Source/NSSet.m, Source/NSSocketPort.m, Source/NSString.m, Source/NSTask.m, Source/NSThread.m, Source/NSTimeZone.m, Source/NSTimer.m, Source/NSURL.m, Source/NSURLHandle.m, Source/NSUnarchiver.m, Source/NSUndoManager.m, Source/NSUser.m, Source/NSUserDefaults.m, Source/NSValue.m, Source/NSZone.m, Source/UnixFileHandle.m, Source/callframe.h, Source/callframe.m, Source/cifframe.h, Source/cifframe.m, Source/externs.m, Source/libgnustep-base-entry.m, Source/mframe.m, Source/objc-gnu2next.m, Source/objc-load.m, Source/preface.m, Source/thr-mach.m, Source/thr-pthread.m, Source/Additions/GCArray.m, Source/Additions/GCDictionary.m, Source/Additions/GCObject.m, Source/Additions/GSCategories.m, Source/Additions/GSCompatibility.h, Source/Additions/GSMime.m, Source/Additions/GSNextRuntime.m, Source/Additions/GSObjCRuntime.m, Source/Additions/GSXML.m, Source/Additions/Unicode.m, Source/Additions/behavior.m: Idem. 2003-06-03 Adam Fedor * Source/mframe/powerpc/darwin: New file. 2003-06-02 Richard Frith-Macdonald * Source/mframe.m: Allow for structure names in type specifications. 2003-05-29 Adam Fedor * configure.ac: Pass on original CPPFLAGS to config.mak. * config/objc-con-autoload.m4: Test for constructors directly. * config/objc-sys-dynamic.m4: Check for dl lib if we are using dladdr. * Source/objc-load.m (objc_get_uninstalled_dtable): Remove unused. * Source/Additions/GSXML.m (unparsedEntityDeclFunction): Add block around START so it will compile on GCC 2. * Testing/nsbundle.m: Errors to stdout. 2003-05-26 Adam Fedor * Testing/Makefile.postamble (check): Define to run all checkable tools (ones that exit in a finite amount of time). * Testing/README: New. 2003-05-23 Richard Frith-Macdonald * Source/Additions/GSXML.m: Some work towards making it possible to subclass GSTreeSAXHandler cleanly, so you can build a tree representation of a document but still handle data incrementally. 2003-05-22 Richard Frith-Macdonald * Source/Additions/GSXML.m: ([GSXPathContext-evaluateExpression:]) Test for NULL return from libxml and return nil rather than trying to dereference the null pointer. New features to record error and warning messages added. * Headers/Foundation/GSXML.h: ([GSXMLParser-messages]) returns saved messages. ([GSXMLParser-saveMessages:]) Says whether to save messages or write to stderr. * Source/Additions/GSObjCRuntime.m: Hack to fix type clash in declaration of __objc_exec_class() 2003-05-19 Adam Fedor * Version 1.7.0. * Documentation/news.texi: Updated. * NSObject: Revert last change 2003-05-20 David Ayers * Headers/gnustep/base/GSObjCRuntime.h (GSObjCGetMethod(), GSObjCReplaceMethod()): Removed declarations for release as these functions will be replaced by a more consistent approach. 2003-05-19 Adam Fedor * Source/NSObject (GSAtExit): New function. (+initialize): Use it with atexit. * Source/objc-load.m (objc_invalidate_dtable): Remove. (objc_load_callback): Don't call it. 2003-05-16 Richard Frith-Macdonald * Source/NSDate.m: Documented. 2003-05-14 Richard Frith-Macdonald * Source/Additions/GSMime.m: Fix occasional error unfolding headers. 2003-05-14 16:50 Alexander Malmberg * Source/NSUser.m, Headers/gnustep/base/NSPathUtilities.h: Add GSApplicationSupportDirectory constant for NSSearchPathForDirectoriesInDomains. 2003-05-14 David Ayers * Tools/Makefile.postamble: Added safe handling of empty MAN1_PAGES variable. * Tools/pl2link.m (main): Initialize variable to supress compiler warning. 2003-05-13 Richard Frith-Macdonald * Source/Tools/gdnc.m: Tidy termination code. * Source/Additions/GSMime.m: ([GSMimeDocument-copyWithZone:]) corrected implementation to do a real copy rather than just a retain. 2003-05-13 15:57 Alexander Malmberg * Tools/gdnc.m (ihandler): Declare variables. 2003-05-12 Richard Frith-Macdonald * Source/Additions/GSXML.m: New -escapedContent method to provide text with the five entities libxml automatically substitutes even when told not to. * Tools/AGSHtml.m: Use -escapedContent to get text suitable for output in html documents. 2003-05-11 Richard Frith-Macdonald * Tools/gdomap.8.gz: Added man page adapted from internal docs by martin@mb-itconsulting.com * Tools/GNUmakefile: Declare man pages to be installed * Tools/Makefile.postamble: Install man pages 2003-05-08 Richard Frith-Macdonald * Tools/xmlparse.m: new utility to parse/validate xml, for testing gsdoc and new style property lists etc. * Source/NSBundle.m: ([+allBundles]) Make sure the main bundle is present. Add some documentation. 2003-05-07 Richard Frith-Macdonald * Source/GSString.m: ([-initWithCStringNocopy:length:freeWhenDone:]) check encodings and convert to unicode if necessary. Thanks to Alaxander for pointing out bug. 2003-05-06 Richard Frith-Macdonald * Source/GSString.m: Fix call to GSFormat() to append to a mutable string whose contents should not be freed. Removed bogus TODO comments saying code broken when defEnc!=intEnc in routines which should never be called when defEnc!=intEnc anyway. * Source/NSData.m: Remove windows specific code for simplification as the standard code actually works as well or better according to * Tools/AGSParser.m: Ignore forward declarations of protocols. 2003-05-05 15:28 Alexander Malmberg * Source/Unicode.m (GSFromUnicode, GSToUnicode): Make sure the internal work buffer isn't returned to the caller. * Source/NSString.m: Clarify some comments, and mark code that is broken when defEnc!=intEnc. (fillHole, makeHole): Remove STABLE_MEMCPY. Use memmove. (transmute): Set the zone to the default zone when transmuting. Check the return value from GSToUnicode. (getCharacters_c): Check the return value from GSToUnicode. 2003-05-02 Richard Frith-Macdonald * Source/GSTcpPort.m: ([dispatch]) catch exceptions handling the port message, so as to ensure that locking won't get out of sync. Mon Apr 28 12:09:44 BST 2003 Nicola Pero * NSCharacterSets/GNUmakefile (base-resources_RESOURCE_FILES_INSTALL_DIR): Define using the full relative path. * Resources/GNUmakefile (base-resources_RESOURCE_FILES_INSTALL_DIR): Idem. 2003-04-27 Adam Fedor * Updates for filesystem change. * GNUmakefile (GNUSTEP_MAKEFILES): Remove * Documentation/GNUmakefile, Examples/GNUmakefile, NSTimeZones/GNUmakefile, SSL/GNUmakefile, SSL/configure.ac, Source/DocMakefile, Source/GNUmakefile, Source/Additions/GNUmakefile, Testing/GNUmakefile, Tools/GNUmakefile: Idem. * configure.ac: Replace $GNUSTEP_SYSTEM_ROOT/Makefiles with $GNUSTEP_MAKEFILES. Replace Libraries with Library/Libraries. Replace Headers with Library/Headers. * Source/mframe/configure.ac: Idem. * NSCharacterSets/GNUmakefile: Use resource-set.make. * Resources/GNUmakefile: Idem. * Resources/GNUmakefile.postamble: Remove before/after install cmds. * Source/NSBundle (+pathForLibraryResource:ofType:inDirectory:): New method. (+pathForGNUstepResource:...): Depreciate. * Source/Additions/GSXML.m: Use it to find DTDs. * Source/GSLocale.m (GSLanguageFromLocale): Use +bundleForLibrary to locate resources. * Source/NSCharacterSet.m (+_bitmapForSet:number:): Idem. * Source/NSUserDefaults.m (+standardUserDefaults): Idem. * Source/Additions/Unicode.m (GSEncodingFromLocale): Idem. * Source/NSTimeZone.m (_time_zone_path): New function. (+systemTimeZone, +getAbbreviationFile, +getRegionsFile, +getTimeZoneFile): Use it. * Source/NSUser.m (NSSearchPathForDirectoriesInDomains): Change libsDir to "Library/Libraries", docDir to "Library/Documentation". * Source/Additions/GSCompatibility.[hm]: Change +pathForGNUstepResource:... to +pathForLibraryResource:... 2003-04-27 Richard Frith-Macdonald * Source/NSUserDefaults.m: ([synchronize]) fix locking to permit recursive call to this method, ensuring the distributed lock is only obtained once. * Headers/gnustep/base/GSCategories.h: removed varargs helper macros * Headers/gnustep/base/GSObjCRuntime.h: and put them here. 2003-04-17 Richard Frith-Macdonald * Headers/gnustep/base/GSCategories.h: * Headers/gnustep/base/NSCalendarDate.h: * Headers/gnustep/base/NSData.h: * Headers/gnustep/base/NSObject.h: * Headers/gnustep/base/NSString.h: * Headers/gnustep/base/NSValue.h: * Headers/gnustep/base/Foundation.h: Tidied use of GSCategories. * Source/NSFileManager.m: ([linkPath:toPath:handler:]) implemented. 2003-04-16 Richard Frith-Macdonald * Headers/gnustep/base/NSUserDefaults.h: remove timer ivar, now unused. * Source/NSRunLoop.m: Support a housekeeping timer which is ignored for purposes of deciding whether the loop shoiuld terminate. * Source/NSThread.m: Set up housekeeping timer to trigger housekeeping notifications in the default mode of the runloop of the main thread. * Source/NSUserDefaults.m: Use housekeeping notifications to trigger synchronise rather than using timers ... avoid circular dependencies. Thanks to Derek Zhou for bug report. 2003-04-15 Richard Frith-Macdonald * Source/NSData.m: Experimantal disable ReadFile and WriteFile on MINGW 2003-04-14 Richard Frith-Macdonald * Source/NSObjCRuntime.m: NSClassFromString(), NSSelectorFromString() avoid doing an unnecessary autorelease. 2003-04-12 Richard Frith-Macdonald * Source/callframe.m: * Source/cifframe.m: Fix error in returning pointer to struct values. 2003-04-11 Richard Frith-Macdonald * Source/NSConnection.m: ([_service_forwardForProxy:]) don't free the decoded selector name ... the NSPortCoder now does it. ([typeForSelector:]) return autoreleased copy of the type string. 2003-04-10 Richard Frith-Macdonald * Source/callframe.m: * Source/cifframe.m: Fix error in returning data via pointer arguments ... was writing to wrong memory location. * Source/GSFFCallInvocation.m: minor tidy up. * Source/NSArchiver.m: Structure encoding/decoding fixes. * Source/NSData.m: Structure encoding/decoding fixes. * Source/NSPortCoder.m: Structure encoding/decoding fixes. Manage memory used by decoded pointers (including c-strings). * Source/NSUnarchiver.m: Structure encoding/decoding fixes. * Source/NSConnectiom.m: Don't try to autorelease decoded pointers. * Testing/server.h: Make large structure have tricky layout. * Testing/nsconnection_client.m: Add harder structure test. * Testing/nsconnection_server.m: Add harder structure test. 2003-04-09 Richard Frith-Macdonald * Source/GSTcpPort.m: * Source/NSData.m: * Source/NSSerializer.m: * Source/NSURL.m: Replace __alignof__() with calls to objc_alignof_type() so that if __alignof__() is broken we can hope that the objc runtime library has a workaround. 2003-04-08 Richard Frith-Macdonald * Headers/gnustep/base/Foundation.h: Include GNUstep extensions from GSCategories.h 2003-04-08 15:37 Alexander Malmberg * Source/NSCalendarDate.m (-initWithString:calendarFormat:locale:): Fix assignment of 'found' in %z handling. 2003-04-07 13:21 Alexander Malmberg * configure.ac: Link directly to the foreign function interfaces section in the build guide in the error message for missing ffi library. * configure: Regenerate. 2003-04-07 Richard Frith-Macdonald * Headers/gnustep/base/GSCategories.h (GS_USEIDLIST and GS_USEIDPAIRLIST): Complete implementation and testing. * Source/NSDictionary.m: Use macro. 2003-04-06 23:30 Alexander Malmberg * Headers/gnustep/base/GSCategories.h (GS_USEIDLIST): Make the implementation match the actual use in NSArray and NSSet. Clarify documentation. 2003-04-06 Richard Frith-Macdonald * Source/NSThread.m: (GSPerformHolder) execute perform operations in the same order in which they were submitted. * Headers/GNUstep/base/GSCategories.h: Added two new macros to agressively optimise the use of varargs when initialising arrays etc by avoiding multiple allocation/reallocation of memory to hold arrays of objects taken from the varargs list. * Source/NSArray.m: Use the new macros. 2003-04-04 Stephane Corthesy * macosx/config.h, macosx/preface.h: Update. * macosx/gnustep.pbproj/project/pbxproj: Use relative paths. 2003-04-04 Adam Fedor * Source/Additions/GSCompatibility.m ([NSString(GSCompatibility) -substringFromRange:]): Add. 2003-04-04 Richard Frith-Macdonald * Headers/Foundation/NSInvocation: Added NS_INVOCATION asnd NS_MESSAGE * Source/NSInvocation.m: Support the two new macros. Documented. * Testing/nsinvocation.m: Trivial tests added. * Documentation/OpenStepCompliance.gsdoc: Updated. * Source/NSConnection.m: ([-forwardInvocation:forProxy:]) set invocation target explicitly, in case this was called as a result of a manual setup of the invocation rather than real forwarding. 2003-04-03 Adam Fedor * Documentation/OpenStepCompliance.gsdoc: New file. * Documentation/Base.gsdoc: Reference it. * Source/DocMakefile: Update. 2003-04-02 Stephane Corthesy * Source/Additions/GSCompatibility.m: Fix up incorrectly applied patch. * Source/Additions/Unicode.m (GSEncodingName): Don't define if NeXT_Foundation_Library. 2003-04-02 Adam Fedor * Headers/gnustep/base/Foundation.h: Revert previous change 2003-04-02 Richard Frith-Macdonald * Source/Additions/GSXML.m: ([-content]) fix to produce string content of elements rather than just text nodes. * Source/GSMime.m: ([-rawMimeData]) ensure that the transfer encoding of a multipart document is 8bit if any of its constituent parts are 8bit or binary 22003-04-01 Richard Frith-Macdonald * Source/NSCalendarDate.m: ([initWithString:calendarFormat:locale:]) add support for %F millisecond initialisation. make trivial simplification of timezone handling. on failure to parse zone using %z, use local time zone. 2003-03-31 Stephane Corthesy * Source/Additions/GCArray.m: Replace retain/release by RETAIN/RELEASE macros. * Source/Additions/GCDictionary.m: Idem. * Source/Additions/GSCompatibility.h: Add NSBundle category. * Source/Additions/GSCompatibility.m (GSEncodingName): New. Add -[NSBundle pathForGNUstepResource:ofType:inDirectory:]. * Source/Additions/GSObjCRuntime.m: Include GNUstep.h. (GSObjCMethodNames): Cast method_name to const char *. 2003-03-31 Adam Fedor * Headers/gnustep/base/Foundation.h: Add GSCategories.h 2003-03-30 Adam Fedor * Headers/gnustep/base/NSString.h: (stringByTrimmingLeadSpaces, stringByTrimmingTailSpaces, stringByTrimmingSpaces, stringByReplacingString:withString:, replaceString:withString:, trimLeadSpaces, trimTailSpaces, trimSpaces): Move to GSCategories.h * Headers/gnustep/base/NSValue.h (valueFromString): Idem. * Source/NSNumber.m (valueFromString:): Move to GSCategories.m * Source/NSString.m: Idem as above. * Source/Additions/GSCategories.m: Methods moved here. * Source/Additions/GSCompatibility.h: Rearrange, add NSDistantObject, NSFileHandle category, GSCurrentThreadDictionary(). * Source/Additions/GSCompatibility.m: Add GSCurrentThreadDictionary NSDistantObject, and NSFileHandle methods. 2003-03-28 20:48 Alexander Malmberg * configure.ac: Fail the configure if neither ffcall nor ffi is available unless --disable-do is passed to configure. Add a message about why a user most likely does not want to build with ffcall and ffi, and with a link to the build guide. * configure: Regenerate. 2003-03-27 Adam Fedor * Source/NSBundle.m ([NSBundle -bundleIdentifier]): New. 2003-03-27 Stephane Corthesy * Tools/autogsdoc.m, AGSHtml.m, AGSIndex.m, AGSOutput.m: Add MacOSX compatibility headers. * Tools/AGSParser.m: Idem. (-log:arguments:): Replace strinWithFormat:arguments: with initWithFormat:arguments: 2003-03-26 David Ayers * Source/NSKeyValueCoding.m: Added documentation. * Source/NSKeyValueCoding.m ([NSObject -takeValue:forKey:]), ([NSObject -valueForKey:]): Corrected search order of instance variables. 2003-03-25 Stephane Corthesy * macosx: New directory holding MacOSX project for building Additions framework. 2003-03-25 Richard Frith-Macdonald * Source/NSURL.m: When loading a resource and attempting to notify a client, check that the client responds to the selectors before sending messages to it. Make ([-loadResourceDataNotifyingClient:usingCache:]) work in background (non-blocking). 2003-03-25 David Ayers * Headers/gnustep/base/GSObjCRuntime.h * Source/Additions/GSObjCRuntime.m (GSObjCGetMethod), (GSObjCReplaceMethod): Added new functions. * Source/Additions/GSObjCRuntime.m (search_for_method_in_class): Renamed static function for NeXT runtime to better reflect reality. (GSObjCAddMethods): Updated usage. (search_for_method_in_class): New static function for GNU runtime. (flush_method_cache_for_class): New static function. * Headers/gnustep/base/GSCategories.h: Included necessary headers. 2003-03-23 Richard Frith-Macdonald * Completed merge of changes from 1.6.0 branch. 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 Wim Oudshoorn * 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-03-23 Richard Frith-Macdonald * Start merged of changes from 1.6.0 branch. 2003-03-20 Richard Frith-Macdonald * Source/GSMime.m: (_unfoldHeader) Check that input pointer doesn't run past end of data. 2003-03-05 15:50 Alexander Malmberg * Source/NSBundle.m (+initialize) [PROCFS_EXE_LINK]: Make sure that the link is a path before using it. 2003-03-03 Richard Frith-Macdonald * Headers/gnustep/base/objc-gnu2next.h: Added some trivial reverse mappings to use gnu runtime from old next code. 2003-03-02 Richard Frith-Macdonald * Headers/gnustep/base/GSObjCRuntime.h: * Source/GSFFIInvocation.m: * Source/GSString.m: * Source/NSInvocation.m: * Source/NSObject.m: * Source/NSPortCoder.m: * Source/NSUnarchiver.m: * Source/Additions/GSObjCRuntime.m: * Source/Additions/Unicode.m: Rename _fastMallocBuffer() to GSAutoreleasedBuffer() for clarity and consistency. Moved implementation from NSObject.m to GSObjCRuntime.m so this is available for use withing the Additions library when built standalone. Add a couple of trivial functions to list ivars and methods. 2003-02-19 Mirko Viviani * Headers/gnustep/base/NSArray.h: fixed declarations. 2003-02-19 David Ayers * Source/NSArray.m (compare()), ([-sortedArrayUsingFunction:context:]), ([-sortedArrayUsingFunction:context:hint:]), ([-sortUsingFunction:context:]): Changed declarations and implementation to account for 64 bit architectures. * Headers/gnustep/base/NSArray.h: Ditto. * Source/NSKeyValueCoding.m ([-takeStoredValuesFromDictionary:]): Implemented. * Headers/gnustep/base/NSKeyValueCoding.h: Ditto. 2003-02-18 Richard Frith-Macdonald * NSObject.m: ([+instancesRespondToSelector:]),([-respondsToSelector]) Return NO when given a null selector unless in MacOS-X compatibility mode. rewritten from patch by Willem Rein Oudshoorn. 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 mismatch 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:]) Copyright @copyright{} 2005 Free Software Foundation Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.