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:])