Wed Mar  11 17:11:23 1998  Adam Fedor  <fedor@doc.com>

	* Version: Version 0.5.0;

Wed Mar 11 11:02:49 1998  Scott Christley  <scottc@net-community.com>

	* doc/gnustep-howto.tmpl.texi: Update.
	* GNUstep-HOWTO: Regenerate.

Tue Mar 10  9:40:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/gdomap.c: Changes to permit configuration of gdomap so that
	it probes a specific list of hosts rather than all hosts on the
	local net.  Also permit compile-time override of port number.
	
	* Tools/gdomap.h: Added comments about overriding port used by gdomap.

	* src/TcpPort.m: (nameServer()) modified for easy compile-time
	override of port number used.

Thu Mar  5 15:40:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/GNUmakefile: removed byte_order.h and added NSByteOrder.h
	
	* src/NSData.m: Changed all byte-ordering code to use new byte order
	functions described in the Rhapsody documentation.

	* src/NSSerializer.m: Removed unused include file.

	* src/include/NSByteOrder.h: Added this file containing all the
	byte-order management functions described in the Rhapsody docs.

Wed Mar  4 21:06:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSConnection.m: Changed some objects to be OpenStep rather than
	old libobjects types.  Using NSMutableArray rather than Queue for the
	message queues seems to fixes bug with queue corruption under heavy
	load.
	
	* src/NSHost.m: Added methods for archiving NSHost objects and
	sending them bycopy over DO at all times.

	* src/NSRunLoop.m: ([-runUntilDate:forMode:]) modified to exit
	promptly if there are no more input sources for the run loop.

Mon Mar  2 10:04:57 1998  Adam Fedor  <fedor@doc.com>

	* ANNOUNCE, NEWS, GNUstep-HOWTO: Update.
	* doc/faq.tmpl.texi, doc/gnustep-howto.tmpl.texi,
	doc/news.tmpl.texi: Likewise.
	* src/GNUmakefile (GENERATED_HAFILES): Add include/o_...

Thu Feb 26 12:49:10 1998  Adam Fedor  <fedor@doc.com>

	* configure.in: Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER.
	* src/include/config.h.in: Regenerate.

	* doc/GNUmakefile (HTML_FILES): Add fac_toc.html
	* doc/Makefile.postamble: (fac_toc.html): New target.
	
	* src/include/NSDictionary.h: Add NSMutableCopying protocol
	(suggested by David Fritzsche <david@dementia.wupper.de>).

Thu Feb 26  8:12:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/defaults.m: Removed autorelease debugging.
	* Tools/dread.m: Removed autorelease debugging.
	* Tools/dremove.m: Removed autorelease debugging.
	* Tools/dwrite.m: Removed autorelease debugging.
	
	* Tools/gdomap.m: Substantial rewrite with changes to the protocol
	for name servers to identify themselves to each other.
	Now handles subnet addressing within a class-c network.
	Now handles machines with multiple IP addresses more efficiently.
	Removes addresses from list of known servers after a period in
	which it fails to contect them.
	
	* Tools/gdomap.h: Changed comments to reflect protocol changes.

	* src/Coder.m: ([-initForReadingWithData:]) removed an inefficient
	hack for dealing with a problem that should never happen
	(init methid called on autoreleased object).

	* src/NSConnection.m: ([+newForInPort:outPort:cancestorConnection:),
	(-_handleRmc:) removed 'delay_dialog_interruptions' which could
	result in deadlock in three-way DO conversations.

	* src/NSPortCoder.m: ([-_doEncodeObject:]) changed so that a copy
	over-the-wire is a deep copy rather than a shallow one. I think
	this gives a more expected behaviour, though I don't know what
	OPENSTEP does.

	* src/include/NSConnection.h: Removed delay_dialog_interruptions.

Sat Feb 14 16:03:07 1998  Scott Christley  <scottc@stetson.net-community.com>

	* configure.in: Check for sys/statvfs.h header file.
	* configure: Regenerate.
	* std/include/config.h.in: Regenerate.
	* src/NSFileManager.m: Include header files only if available.

Sat Feb 14 15:50:40 1998  Adam Fedor  <fedor@ultra.doc.com>

	* src/NXStringTable_scan.c src/lex.pl.m src/lex.sf.m
	src/proplist.tab.h src/proplist.tab.m src/stringsfile.tab.h
	src/stringsfile.tab.m: Add regenerated files to repository.

Sat Feb 14 13:41:39 1998  Scott Christley  <scottc@net-community.com>

	* src/include/config.h.in: Create and add back into repository.

Thu Feb 12 13:31:00 1998  Adam Fedor  <fedor@doc.com>

	* src/NSDictionary.m ([-copy]): New method.

Mon Feb  9 13:08:27 1998  Adam Fedor  <fedor@doc.com>

	* AUTHORS, ANNOUNCE, README, INSTALL, STATUS, TODO: New files.
	* configure: Likewise.
	* +cronscript, +crontab, +patch.sh, Makefile.local, make-*,
	upload-dist: Removed non-dist files.
	* src/Makefile.local, src/Makefile.set.nt: Likewise.
	* GNUmakefile (DIST_FILES): Remove gcc diffs.
	* Makefile.postamble (regenerate): New target.
	(snapshot, dist): Update for cvs export.
	* NSCharacterSets/Makefile.postamble (regenerate): New target.
	* NSTimeZones/Makefile.postamble: Likewise
	* Tools/Makefile.postamble: Likewise.
	* admin/Makefile.postamble: Likewise
	* checks/Makefile.postamble: Likewise
	* doc/Makefile.postamble: Likewise
	* examples/Makefile.postamble: Likewise
	* src/Makefile.postamble: Likewise

	* src/NSUserDefaults ([-synchronize]): Check for defaultDatabase
	and create it it doesn't exist.
	* src/NSThread.m ([-currentThread]): Set thread data for new
	thread.
	* src/NSString.m ([-initWithContentsOfFile:]): Check for NULL
	data. Patches suggested by Ulrich Steinmetz <ulrich@mis.mpg.de>

	* src/NSHost.m: Remove arpa/inet.h
	* src/TcpPort.m: Likewise.
	* src/UnixFileHandle.m: Likewise.
	  patches from Paul Kunz <Paul_Kunz@slac.stanford.edu>
	
Thu Feb  5 10:12:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSConcreteNumber.m: Defined preprocessor values to handle
	'promotion' of numeric types and added private methods to support
	this.  Modified ([-compare:]) to promote numeric values so that
	comparisons work as expected.  Implemented ([-isEqualToNumber:]),
	Implemented ([-description]) and partially ([-descriptionWithLocale:])
	Implemented ([-hash]) so that numbers which compare the same also
	has the same (so we can use NSNumbers as dictionary keys).
	
	* src/NSData.m: Added non-openstep method ([-relinquishAllocatedBytes])
	to ask a data object to hand over it's malloced buffer.

	* src/NSNumber.m: Added initialisation methods specified in Rhapsody
	documentation.

	* src/NSString.m: ([-dataUsingEncoding:allowLossyConversion:]) made
	tiny change for efficiency - moving test outside loop - perhaps the
	compiler would have optimised it anyway.

	* src/Port.m: Modified initialisaers to test for failure to create
	NSData objects and return nil as appropriate.

	* src/TcpPort.m: ([+newForReceivingFromPortNumber:]) release newly
	created port before raising exceptions.
	In both ([-invalidate]) methods we remove the port from the various
	maps before doing anything else so that invalid ports can't be found
	by accident during the invalidation process.

	* src/UnixFileHandle.m: ([-readDataOfLength:]) fixed problem with
	data object causing read value to be overwritten with nuls.

	* src/include/NSData.h: Added ([-relinquishAllocatedBytes])

	* src/NSValue.h: Added initialisation methods for NSNumber and
	([-isEqualToNumber:]) method.

Thu Feb  5 10:48:35 1998  Adam Fedor  <fedor@ultra.doc.com>

	* GNUmakefile (GNUSTEP_MAKEFILES): New variable. Use it to
	include makefiles.
	* Likewise for all sub-directory GNUmakefile files.

Mon Feb  2 10:11:20 1998  Adam Fedor  <fedor@ultra.doc.com>

	* Version (GCC_VERSION): Change to 2.8.0
	* gcc-2.7.2-objc.diff: Remove.
	* gcc-2.7.2.1-objc.diff: Likewise.

	* NSTimeZones/Makefile.postamble (after-install): Remove
	directories before (re-)installing.

	* checks/GNUmakefile: Include bundle.make.
	* checks/invocation2.m: New file.

	* doc/gnustep-howto.tmpl.texi: Make gcc2.8.0 supported compiler.
	* doc/news.tmpl.texi: Add recent changes.

	* src/NSFileManager.m: Include sys/statvfs for mips-sgi-irix6.2
	* Tools/gdomap.c: Add IPPORT_USERRESERVED def for sgi.
	* src/TcpPort.m: Likewise.
	* src/UdpPort.m: Likewise.
	(patches from Mike Kienenberger <mkienen@arsc.edu>)

Fri Jan 30 20:38:56 1998  Masatake Yamato  <masata-y@is.aist-nara.ac.jp>

	* src/Invocation.m ([MethodInvocation
 	-initWithTarget:selector:,...]): Add _C_CLASS, a CASE_TYPE to the
 	switch-case labels.  Implement default: in the switch-case.  I
 	used typeof, a gcc extension.
	
	* src/NSMethodSignature.m ([NSMethodSignature -argumentInfoAtIndex:]): 
	Implemented.
	
	* src/include/NSInvocation.h (NS_INVOCATION, NS_MESSAGE): New macros.

Mon Feb  2 12:54:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/defaults.m: Modified to make sure that defaults are all
	written correctly when reading multile defaults settings from stdin.

	* src/NSArray.m: Modified or rewrote almost all methods to use
	unsigned ints rather than ints and to avoid retain/release
	sequences for the sake of efficiency.  Also rewrote property list
	and sorting methods for much greater efficieny.

	* src/NSData.m: (readContentsOfFile(NSString*, void**, unsigned*))
	fixed bug leaving file open and modified to use
	([NSString -fileSystemRepresentation]). Similarly modified
	([-writeToFile:atomically;]) and ([-initWithContentsOfMappedFile:]).

	* src/NSDictionary.m: Modified ([-descriptionInStringsFileFormat])
 	and ([-descriptionWithLocale:indent:]) for better performance.

	* src/NSGArray.m: Added implementations of ([-getObjects:]) and
	([-getObjects:range:]) so that it is possible to get high speed
	access to array contents.  Added implementation of
	([-sortUsingFunction:context:]) for faster sorting of array contents
	so that property descriptions are generated more quickly.

	* src/NSGCString.m: Modified various methods so that the _capacity
 	instance variable has the space available for characters in the
 	string without the terminator.  Added ([-getCharacters:]) and
 	([-getCharacters:range:]) implementations.

	* src/NSGString.m: Modified various methods so that unicode
 	strings are no longer nul terminated and the _capacity instance
 	variable has the number of character spaces available in the
 	string.  Added ([-getCharacters:]) and ([-getCharacters:range:])
 	implementations.  Added ([-replaceCharactersInRange:withString:])
 	implementation.

	* src/NSString.m: Fixed a few places where it was assumed that
 	string buffers include space for a nul terminator.  In
 	([-compare:options:range:]) made modifications so that literal
 	comparisons now work correctly for ranges other than the entire
 	string.  Made some changes to avoid use of malloc/free sequences
 	where not necessary.  Made efficiency improvements to append
 	methods.

	* src/NSUserDefaults.m: ([-initWithContentsOfFile:]) changed to take
	process name as being the last path component of the full process
	name. Also added code to retry a few times if the database is locked.

	* src/TcpPort.m: ([+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:])
	Vague attempt to make rapid shutdown/startup of DO more robust.

	* src/UnixFileHandle.m: (getAddr()) Fixed error in handling service
	names and permit nil service to mean 'any'.
	Also use ([NSString -fileSystemRepresentation]) as appropriate.

	* src/include/NSGArray.h: modified to contain same instance variables
	as the Array class so we can access them directly in NSGArray.m

Mon Jan 26 09:10:39 1998  Adam Fedor  <fedor@doc.com>

	* src/NSPage.m (NSRealMemoryAvailable): Add implementation for
	GNU/Linux (Patch from Matt Jenkins <mdj@arcadia.cs.rmit.EDU.AU>).

	* src/Invocation.m (-setArgument:atIndex:): Make argument const.
	* src/NSInvocation.m (-methodSignature): Make my_sel_type const.

Sat Jan 24 15:14:50 1998  Masatake Yamato  <masata-y@aist-nara.ac.jp>

	* src/include/NSMethodSignature.h(-methodType): 
	Declare new category NSMethodSignature(GNU).

	* src/Invocation.m ([MethodInvocation -setSelector:]): 
	Add code to handle a case that sel_pointer is pointing NULL 
	SEL value. This is far from perfect. Type checking is needed.

	* src/NSMethodSignature.m 
	Add cpp directives to use `strrchr'.
	(rtn_type_is_oneway): New function
	for [NSMethodSignature -isOneway].
	([NSMethodSignature +signatureWithObjCTypes:]): Fix length of 
	memory allocation for strings.
	Do not copy all the encoding string T to returnTypes. 
	([NSMethodSignature -isOneway]): Method implemented.
	([NSMethodSignature(GNU) -methodType]): New category and method.
	This is not part of OpenStep spec. This method is used in 
	NSInvocation.m.

	* src/NSInvocation.m ([NSInvocation +initialize]): Add
	MethodInvocation class instead of Invocation.
	([NSInvocation -methodSignature]): Method implemented.
	([NSInvocation +invocationWithMethodSignature:]): Invoke
	[NSMethodSignature -methodType] instead of 
	[NSMethodSignature -methodReturnType].
	
Wed Jan 21 17:37:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/defaults.m: Fixed bug in handling 'write' operations reading
	info from stdin - now puts all values into the database correctly.

	* src/TcpPort.m: ([+newForReceivingFromPortNumber:]) added code to
	perform retries if the kernel freaks out when asked to select the
	port to bind to - this has happened to me on linux!

Wed Jan 21 11:45:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/GetDefEncoding.m: Modified GetDefEncoding() to us the NSString
	method - ([+availableStringEncodings]) so we can make the
	_availableEncodings array local to NSString.m

	* src/NSString.m: Moved _availableEncodings here from NSString.h
	Added methods as specified in Rhapsody documentation -
	([+pathWithComponents:]), ([-isAbsolutePath]), ([-pathComponents]),
	([-stringsByAppendingPaths:])

	* src/include/NSString.h: Moved _availableEncodings from here to
	NSString.m and added declarations for new methods -
	([+pathWithComponents:]), ([-isAbsolutePath]), ([-pathComponents]),
	([-stringsByAppendingPaths:])

Wed Jan 21 09:41:46 1998  Adam Fedor  <fedor@spanky.doc.com>

	* src/Makefile.postamble: Change $(LEX) to $(FLEX) and $(YACC) to
	$(BISON). Add $(GNUSTEP_OBJC_DIR) to targets with ${OEXT}.

Tue Jan 20 19:05:00 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/GNUmakefile: Added defaults.m

	* Tools/defaults.m: New file defaults.m - command line tool like the
	OPENSTEP defaults command. Renders dread, dwrite and dremove obsolete.

	* Tools/dread.m: Added -u flag and made numerous bug fixes.

	* Tools/dremove.m: Added -u flag and made numerous bug fixes.

	* Tools/dwrite.m: Added -u flag and made numerous bug fixes.

	* checks/GNUmakefile (TEST_TOOL_NAME): Add nstask.
	* checks/nsdate.m: Added some year-2000 tests.
	* checks/nstask.m: New file.

	* src/Dictionary.m: Removed ([-descriptionWithIndent:]) and the
	([-description]) methods - no longer needed for property lists.

	* src/GNUmakefile: Added NSTask

	* src/GetDefEncoding.m: Fixed so that the encoding that is read from
	the environment is accepted.

	* src/Heap.m: Added implementation of ([-minObject]) to take
 	advantage of the known ordering of a heap - fixes performance
 	problem with large numbers of timers in NSRunLoop.

	* src/NSArray.m: Implemented many new methods for OPENSTEP -
	([+arrayWithArray:]), ([+arrayWithContentsOfFile:]),
	([+arrayWithObjects:count:]), ([-getObjects:]),
	([-getObjects:range:]), ([-indexOfObjectIdenticalto:inRange:]),
	([-indexOfObject:inRange:]), ([-makeObjectsPerformSelector:]),
	([-makeObjectsPerformSelector:withObject:]), ([-sortedArrayHint]),
	([-sortedArrayUsingFunction:context:hint:]),
	([-pathsMatchingExtensions:]), ([-descriptionWithLocale:]),
	([-descriptionWithLocale:indent:),
	([-replaceObjectsInRange:withObjectsFromArray:]),
	([-initWithContentsOfFile:]), ([-removeObject:inRange:]),
	([-removeObjectIdenticalTo:inRange:]), ([-removeObjectsInRange:])
	Modified ([-makeObjectsPerform:]) and
	([-makeObjectsPerform:wihtObject:]) to iterate through array in
	reverse as specified in OPENSTEP docs.
	Removed obsolete method - ([-descriptionWithIndent:])

	* src/NSArray.m: Implemented new methods for OPENSTEP -
	([+dataWithData:]), ([-setData:])
	Modified ([-description]) to give tidier output.

	* src/NSCalendarDate.m: Changed initialisation and creation methods to
	return type id as in the Rhapsody docs, also changed default format for
	description to use numeric timezone values as per Rhapsody docs.

	* src/NSData.m: Implemented new methods for OPENSTEP -
	([+dataWithData:]), ([-setData:])
	Modified ([-description]) to give tidier output.

	* NSDate.m: Changed initialisation and creation methods to return type
	id as in the Rhapsody docs.

	* src/NSDictionary.m: Implemented new methods for OPENSTEP -
	([-keysSortedByValueUsingSelector:]),
	([-objectsForKeys:notFoundMarker:]), ([-description]),
	([-descriptionInStringsFileFormat]), ([-descriptionWithLocale:]),
	([-descriptionWithLocale:indent:]), ([-setDictionary:]),

	* src/NSFileHandle.m: Added extensions for getting information
	about sockets used in file handles.

	* src/NSString.m: Removed ([-quotedCString]) and added new method
	([-descriptionForPropertyList]) to do things more neatly.
	Fixed ([-initWithContentsOfFile:]) to avoid crash when given a bad
	file name.

	* src/NSTask.m: Added this OPENSTEP/Rhapsody class.

	* src/TcpPort.m: Added check for bad data arriving on descriptor
	in ([-_tryToGetPacketFromReadableFD:])

	* src/UnixFileHandle.m: Added stuff for getting information
	about sockets used in file handles.

	* src/include/IndexedCollecting.h: Made 'IndexRange' a synonym for
	NSRange.

	* src/include/NSArray.h: Changes to reflect the changes in methods
	implemented in NSArray.m

	* src/include/NSData.h: Changes to reflect the changes in methods
	implemented in NSData.m

	* src/include/NSDate.h: Changed return tpes of initialisation methods
	to be (id) as in Rhapsody documentation.

	* src/include/NSDictionary.h: Changes to reflect the changes in methods
	implemented in NSData.m

	* src/include/NSFileHandle.h: Changes to reflect the changes in methods
	implemented in NSFileHandle.m

	* src/include/NSString.h: Changes to reflect the changes in methods
	implemented in NSString.m

	* src/NSTask.h: Added this OPENSTEP/Rhapsody class.

	* src/include/UnixFileHandle.h: Changes to reflect the changes in
	methods implemented in UnixFileHandle.m

	* src/proplist.y: Make parsing less strict - permit dictionaries
	with or without a semicolon after the last key-value pair.

	* src/stringsfile.y: Fixed bug in parser - it is legitimate to have
	a key-value pair without a value - in which case the '=' is omitted.

Fri Jan  9 10:04:09 1998  Adam Fedor  <fedor@doc.com>

	* Version: Release 0.4.0.

Thu Jan  8 09:42:39 1998  Adam Fedor  <fedor@doc.com>

	* doc/announce.tmpl.texi: Fixup variable definitions.
	* doc/news.tmpl.texi: Likewise.
	* doc/todo.tmpl.texi: Update.

Sun Jan 4 13:26:03 1997  Stevo Crvenkovski <stevo@btinternet.com>

	* doc/news.tmpl.texi: Replace my old e-mail.

	* src/GNUmakefile : add GetDefEncoding.m and GetDefEncoding.h.
	* src/GetDefEncoding.m : new file.

	* src/NSGCString.m ([NSGCString
 	 -initWithCStringNoCopy:length:freeWhenDone:]): Move
         [super init] to the begining of code.
	* src/NSGCString.m ([NSGMutableCString initWithCapacity:]):
 	 Likewise.
	* src/NSGCString.m ([NSGMutableCString -
 	 initWithCStringNoCopy:length:freeWhenDone:]): Likewise.
	* src/NSGString.m ([NSGString -
 	 initWithCharactersNoCopy:length:freeWhenDone:]): Likewise.
	* src/NSGString.m ([NSGMutableString initWithCapacity:]):
 	   Likewise.

        * src/NSGSequence.m ([NSGSequence decompose]): Check for lenght>1:

	* src/NSString.m ([NSGString initialize]): Set
 	  _DefaultStringEncoding variable using GetDefEncoding().
	* src/NSString.m initWithData:encoding:]) : Number of bug fixes.
	* src/NSString.m ([NSString initWithContentsOfFile:]) : Method
 	rewriten.
    	* src/NSString.m ([NSString hash]) : Method rewriten.
	* src/NSString.m ([NSString lineRangeForRange:]) : New OPENSTEP
 	method implemented.
	* src/NSString.m ([NSString
 	getLineStart:end:contentsEnd:forRange:]) : New OPENSTEP method
 	implemented.
	* src/NSString.m ([NSString capitalizedString]) : Take care of
 	white space characters properly.
	* src/NSString.m ([NSString defaultCStringEncoding]) : Changed to
 	read new _DefaultStringEncoding variable.
	* src/NSString.m ([NSString availableStringEncodings]) : New
 	OPENSTEP method implemented.
	* src/NSString.m ([NSString localizedNameOfStringEncoding]) : New
 	OPENSTEP method implemented.
	* src/NSString.m ([NSString
 	dataUsingEncoding:allowLossyConversion:}) : Number of bug fixes.
	* src/NSString.m ([NSString writeToFile:atomically:]) : Attempt to
 	write in default c string encoding, if failed write in Unicode.

        * src/include/GetDefEncoding.h : New file.
        * src/include/NSString.h  typedef enum _NSStringEncoding
          Changed to OPENSTEP spec.
        * src/include/NSString.h declare new OPENSTEP methods.

Sat Jan  3 14:05:32 1998  Scott Christley  <scottc@net-community.com>

	* confdefs.h: Delete transient file.

	* src/include/Foundation.h: New file.
	* src/include/NSEnumerator.h: New file.
	* src/GNUmakefile: Install new header files.
	* src/include/NSUtilities.h: Move NSEnumerator interface
	to NSEnumerator.h file.

	* src/NSObject.m (-copyWithZone:): Eliminate semicolon.

	* Fix memory allocation function usage.  (As reported by
	Matthias Klose <Matthias.Klose@cs.tu-berlin.de>).
	* src/Connection.m (-_service_forwardForProxy:): Use
	function instead of function pointer.
	* src/Decoder.m (-decodeClass, -decodeSelectorWithName:): Likewise.
	* src/Invocation.m (-initWithReturnType:): Likewise.
	(-_initArgframeFrom:withType:retainArgs:): Likewise.
	(-_deallocArgFrame): Likewise.
	* src/NSAutoreleasePool.m (-reallyDealloc): Likewise.
	* src/NSConnection.m (-_service_forwardForProxy:): Likewise.
	* src/TextCStream.m (-decodeValueOfCType:at:withName:): Likewise.
	* src/include/objc-gnu2next.h (list_cons): Likewise.
	(list_remove_head, list_free): Likewise.
	* src/include/preface.h.in (OBJC_FREE): Likewise.

Fri Jan  2 13:04:53 1998  Adam Fedor  <fedor@doc.com>

	* doc/Makefile.postamble: Generate html,texi from tmpl.texi files.
	* doc/announce.tmpl.texi: Renamed from announce.texi
	* doc/faq.tmpl.texi: Likewise.
	* doc/gnustep-base.tmpl.texi: Likewise.
	* doc/gnustep-howto.tmpl.texi: Likewise.
	* doc/gnustep-zones.tmpl.texi: Likewise.
	* doc/coding-standards.tmpl.texi: Likewise.
	* doc/install.tmpl.texi: Likewise.
	* doc/manual.tmpl.texi: Likewise.
	* doc/news.tmpl.texi: Likewise.
	* doc/readme.tmpl.texi: Likewise.
	* doc/todo.tmpl.texi: Likewise.
	* NSZone.texi: Removed.
	
	* STATUS: removed.
	* MACHINES: removed.
	* doc/status.tmpl.texi: New file.
	
Wed Dec 31 13:58:51 1997  Adam Fedor  <fedor@doc.com>

	* STATUS: Updated status on a few classes.

	* doc/GNUmakefile (TOP_DOC_FILES): Add GNUstep-HOWTO.
	* doc/gnustep-howto.texi: Update documentation.
	* doc/gnustep-faq.texi: Likewise.
	* doc/install.texi: Likewise.
	* doc/readme.texi: Likewise.

Mon Dec 29 09:16:34 1997  Adam Fedor  <fedor@doc.com>

	* src/Random.m ([Random -randomFloatBetween:and:]): Add lowBound
	(Fix suggested by Masatake Yamato <masata-y@is.aist-nara.ac.jp>).

Fri Dec 26 10:25:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSCalendarDate.m:
 	([-dateByAddingYears:months:days:hours:minutes:seconds:]) Fixed
 	bug in wrapping months when adding date to december.

	* src/NSUserDefaults.m: ([-__createArgumentDictionary]) Fixed to
	use command line args beginning with a dash as defaults keys.
	Retained old behaviour for -GS and --GS prefixes for backward
	compatibility.

Fri Dec 19 13:09:28 1997  Adam Fedor  <fedor@doc.com>

	* src/NSGeometry.m (NSPointFromString, NSSizeFromString,
	NSRectFromString): New functions.
	* src/include/NSGeometry.h: New function defs.
	* NSCTemplateValue.m (-description): Use them.

Tue Dec 16 22:35:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/Decoder.m: Modified to use a single, class-wide dummy object
	as a placeholder in cross-reference tables.  This gives a slight
	speed and memory usage improvement.

	* src/MemoryStream.m: Avoid using autorelease where possible in order
	to improve efficiency.

	* src/NSConnection.m: ([+rootProxyAtPort:]) modified to refrain from
	creating a new connection when we already have one for the given
	output port.

	* src/Random.m: ([-randomDie:]) Fixed to confirm to description in
	comments.

	* src/TcpPort.m: Changed size field in packets to be 4 bytes long
	rather than 2.  This allows messages to be more than 64K bytes long
	and is essential for things like pasteboard operations.

Thu Dec 18 16:17:22 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* src/NSProcessInfo.m (_gnu_process_noobjc_args): Use malloc().
	(_gnu_noobjc_free_vars): Use free().

Thu Dec 11 13:58:39 1997  Adam Fedor  <fedor@doc.com>

	* configure.in: Remove unneeded tests.
	* GNUmakefile (SUBPROJECTS): Remove checks and examples.

Tue Dec  9 17:47:21 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* src/include/behavior.h: Include <objc/objc-api.h>.
	* src/NSProcessInfo.m: Include <unistd.h>.
	* src/NSPipe.m: Include <unistd.h>.
	* src/NSPage.m: Include <string.h>.
	* src/NSLog.m: Include <unistd.h>.
	* src/NSHost.m: Include <unistd.h>.
	* src/NSDistributedLock.m: Include <string.h>.
	* src/NSDictionary.m: Include <gnustep/base/behavior.h>.

	* src/NSBundle.m ([NSBundle
	+_bundleResourcePathsWithRootPath:subPath:]): Removed unused
	variables.

	* src/NSArray.m: Include <gnustep/base/behavior.h>
	([NSArrayNonCore -descriptionWithIndent:]): Changed argument to
	unsigned.

	* src/UnixFileHandle.m: Include <arpa/inet.h> and <string.h>.
	* src/UdpPort.m: Include <unistd.h>.
	* src/StdioStream.m: Include <string.h>.
	* src/Coder.m: Include <gnustep/base/behavior.h>.

	* src/NSUser.m (NSHomeDirectoryForUser): Use objc_malloc().

	* src/NSData.m ([NSDataMalloc -initWithCoder:]): Check malloc.
	([NSMutableDataMalloc -initWithCoder:]): Likewise.

	* src/List.m: Removed unused macros.

Sun Dec 7 23:22:07 1997  Stevo Crvenkovski <stevo@btinternet.com>
	
	* src/NSGCString.m ([NSGMutableCString
 	-initWithCharactersNoCopy:length:freeWhenDone:]): Changed to
 	invoke instance of NSGMutableString.
 	* src/NSGString.m ([NSGMutableString
 	-initWithCStringNoCopy:length:freeWhenDone:]): Changed to invoke
 	instance of NSGMutableCString.

 	* src/NSGString.m ([NSGMutableString
 	-initWithCharactersNoCopy:length:freeWhenDone:]): Method
 	implemented. Based on code by Richard Frith-Macdonald
 	<richard@brainstorm.co.uk>

 	* src/NSGCString.m ([NSGMutableCString
 	-initWithCStringNoCopy:length:freeWhenDone:]): Changed to fix
 	memory leak in this method.  Code by Richard Frith-Macdonald
 	<richard@brainstorm.co.uk>

 	* src/NSGCString.m ([NSGCString -dealoc]): Changed to avoid
 	compiler warning.
 	* src/NSGCString.m ([NSGCString -initWithCStringNoCopy: length:
 	freeWhenDone:]): Changed to conform with class cluster definition.
 	* src/NSGString.m ([NSGString -initWithCharactersNoCopy: length:
 	freeWhenDone:]): Idem.
 	* src/NSGCString.m ([NSGMutableCString -initWithCapacity]): Idem.
 	* src/NSString.m ([NSString -init]): Idem.
 	* src/NSGCString.m ([NSGCString -init]): Method implemented to
 	conform with class cluster definition.
 	* src/NSGCString.m ([NSGMutableCString -init]): Idem.
 	* src/NSGString.m ([NSGString -init]): Idem.
 	* src/NSGString.m ([NSGMutableString -init]): Idem.

 	* src/NSString.m ([NSString -replaceCharactersInRange:
 	withString:]): Change to be subclass responsibillty.  This should
 	be pimitive method.

 	* src/NSGString.m ([NSGString -replaceCharactersInRange:
 	withString:]): Move implementation from NSString here.
 	* src/NSGCString.m ([NSGCString -replaceCharactersInRange:
 	withString:]): Idem.

 	* src/NSString.m ([NSString +stringWithString]): New OPENSTEP
 	method implemented.
 	* src/NSString.m ([NSString -substringFromRange]): Method
 	implemented
 	* src/NSString.m ([NSString -substringWithRange]): New OPENSTEP
 	method implemented.
 	* src/NSString.m ([NSString -hash]): Remove C String
 	implementation as Unicode implementation now works.
 	* src/NSString.m ([NSString -getFileSystemRepresentation]) Correct
 	name of method.
 	* src/NSString.m ([NSString -_normalizedString]):Bug fixed.
 	* src/NSString.m ([NSString -mutableCopy]): Implemented to avoid
 	compiler warning. Why is this warning anyway?  Method should be
 	inherited from NSObject.
 	* src/NSString.m ([NSString -deleteCharactersInRange:]): Method
 	implemented.
 	* src/NSString.m ([NSString -insertString: atIndex:]): Method
 	implemented.
 	* src/NSString.m ([NSString -setString:]): Method implemented.
 	* src/NSString.h ([NSString +stringWithString:]): Method declared.
 	* src/NSString.h ([NSString -substringWithRange:]): Method
 	declared.

Fri Nov 28 12:52:06 1997  Scott Christley  <scottc@net-community.com>

	* Tools/GNUmakefile (OBJC_PROGRAM_NAME): Reverse prior change.
	* Tools/Makefile.postamble (after-install): Install gdomap
	from the proper directory.
	* checks/nsattributesstring.m (NSFontAttributeName): New variable.
	(NSForegroundColorAttributeName): New variable.
	(NSBackgroundColorAttributeName): New variable.

	* src/GNUmakefile: Install headers in gnustep not gnustep/base.
	* src/Makefile.preamble (ADDITIONAL_INSTALL_DIRS): Likewise.

	* src/NSTimeZone.m (LOCALDBKEY, ZONES_DIR): Make NSStrings.
	(+getTimeZoneFile:): ZONES_DIR is NSString.

	* src/o_map.m (INLINE): Use macro so its easy to un-inline
	functions if debugging.

Wed Nov 26 16:08:20 1997  Adam Fedor  <fedor@doc.com>

	* Tools/GNUmakefile (OBJC-PROGRAM_NAME): Change from underscore.
	* checks/GNUmakefile: include new test-tool.make.
	* examples/GNUmakefile: Likewise.
	* src/Makefile.postamble (FORCE): New target.

	* src/ostream.m (_ostream_new_stream_struct): Use "r+" for append
	or read/write mode.

Wed Nov 26 11:30:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/dwrite.m: Fix problem with uninitialised variable.

	* src/NSConnection.m: Added [+connectionByOutPort:] and
	[+connectionByInPort:OutPort:] methods to lookup connections for
	use by other barts of the DO system.
	Added [-_service_retain:] and [-retainTraget:] methods to handle
	special case of retaining of proxies.

	* src/NSDistantObject.m: ([+newWithCoder:]) modified to fix two
	problems to do with proxies passed in a triangle -
	1. if passed a proxy to an object in a third server, use any
	existing connection to that third server if possible rather
	than creating a new connection.
	2. if passed a proxy to an object in a third server, tell the
	third server to retain it's local object for us.

	* src/NSUserDefaults.m: various modifications to fix for getting
	the defaults for a user other than the logged in user - eg when a
	server process runs setuid to a particular user ID and wants to
	read the defaults for that user rather than the user who actually
	launched it.  Also - added code to break the lock on the defaults
	database if it is more than five minutes old.

	* src/include/DistributedObjects.h: modifications for retaining
	objects.

	* src/include/NSPortCoder.h: removed unneccessary include.

	* src/include/NSUserDefaults.h: minor changes for coping with
 	tasks runnning setuid to a user other than the person who launched
 	them.

Fri Nov 21 13:14:31 1997  Adam Fedor  <fedor@doc.com>

	* src/NSAttributedString.m (-initWIthString:attributes:): Make
	designated initializer.
	* src/NSGAttributedString.m: (_initWithString): Save value of
	textChars.
	* src/include/NSAttributedString.h: Update comments, Remove
	attribute strings. 
	Fixes submitted by <anoq@vip.cybercity.de>.
	
Tue Nov 18 14:13:13 1997  Adam Fedor  <fedor@doc.com>

	* src/include/NSNotification.h: Correct placeholder size (bug
 	submitted by Ville-Pertti Keinonen <will@cc.hut.fi>.

Wed Nov 12 10:10:33 1997  Adam Fedor  <fedor@doc.com>

	* src/NSString.m (-initWithFormat:args:): Print a "null string"
	when string in format is nil.
	* src/objc-load.c: Remove ifdef HAVE_CONFIG_H.

	* doc/gnustep-howto.texi: Update for new gdb patch file.

Wed Nov 12 12:30:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/Collection.m: ([Enumerator -dealloc]) added call dealloction
	method in super class to fix memory leak.

	* src/KeyedCollection.m: Removed initialisation and deallocation
 	methods for KeyEnumerator as these are done in its super class.

	* src/NSCharacterSet.m: ([-invertedSet:]) added autorelease for data
	object (created by mutableCopy) in order to fix memory leak.

	* src/NSData.m: Replaced line accidentally deleted in section only
	compiled in for systems without shared memory.

Thu Nov  6 19:00:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/Makefile.postamble: Modified to install gdomap in cpu/os
	specific location.

	* src/Dictionary.m: ([-descriptionWithIndent:]) Modified to encode
	empty strings as "" so that ascii property lists work when a
	dictionary entry is empty.

	* src/NSArray.m: ([-descriptionWithIndent:]) Modified to encode empty
	strings as "" so that ascii property lists work when a string in the
	array is empty.

	* src/TcpPort.m: Modified in various places so that we look in the
	correct location for gdomap.

Thu Nov  6 10:14:39 1997  Adam Fedor  <fedor@doc.com>

	* src/GNUmakefile (DEFS): Remove PLATFORM_OS.
	* src/NSBundle.m: Change platform to gnustep_target_os.

	* src/ostream.m (ostream_getc, ostream_read, ostream_vscanf):
	Return EOF if stream_obj returned 0.

	* doc/gnustep-howto.texi: Use today's date.

Wed Nov  5 16:10:32 1997  Scott Christley  <scottc@speedy.net-community.com>

	* src/Invocation.m (-setArgument:atIndex:): Add OpenStep method.
	* src/NSGSet.m (-member:): Delete method.
	* src/Set.m (-member:): New method.
	* src/NSMethodSignature.m (-methodReturnType): Return value.

	* configure.in: Remove check for threads library.

	* checks/heap.m: Don't prototype random.

	* Remove dependency upon config.h by headers files and include
	directly in source files because the config.h file is system
	dependent and should not be installed.
	* src/Archiver.m: Include config.h.
	* src/Array.m: Likewise.
	* src/Bag.m: Likewise.
	* src/BinaryCStream.m: Likewise.
	* src/BinaryTree.m: Likewise.
	* src/BinaryTreeNode.m: Likewise.
	* src/CStream.m: Likewise.
	* src/CircularArray.m: Likewise.
	* src/Coder.m: Likewise.
	* src/Collection.m: Likewise.
	* src/ConnectedCoder.m: Likewise.
	* src/Connection.m: Likewise.
	* src/Decoder.m: Likewise.
	* src/DelegatePool.m: Likewise.
	* src/Dictionary.m: Likewise.
	* src/Encoder.m: Likewise.
	* src/GapArray.m: Likewise.
	* src/HashTable.m: Likewise.
	* src/Heap.m: Likewise.
	* src/IndexedCollection.m: Likewise.
	* src/Invocation.m: Likewise.
	* src/KeyedCollection.m: Likewise.
	* src/LinkedList.m: Likewise.
	* src/LinkedListNode.m: Likewise.
	* src/List.m: Likewise.
	* src/Lock.m: Likewise.
	* src/MachPort.m: Likewise.
	* src/Magnitude.m: Likewise.
	* src/MallocAddress.m: Likewise.
	* src/MappedCollector.m: Likewise.
	* src/MemoryStream.m: Likewise.
	* src/NSAllocateObject.m: Likewise.
	* src/NSArchiver.m: Likewise.
	* src/NSArray.m: Likewise.
	* src/NSAssertionHandler.m: Likewise.
	* src/NSAttributedString.m: Likewise.
	* src/NSAutoreleasePool.m: Likewise.
	* src/NSBitmapCharSet.m: Likewise.
	* src/NSBundle.m: Likewise.
	* src/NSCTemplateValue.m: Likewise.
	* src/NSCalendarDate.m: Likewise.
	* src/NSCallBacks.m: Likewise.
	* src/NSCharacterSet.m: Likewise.
	* src/NSCoder.m: Likewise.
	* src/NSConcreteNumber.m: Likewise.
	* src/NSConcreteValue.m: Likewise.
	* src/NSConnection.m: Likewise.
	* src/NSCopyObject.m: Likewise.
	* src/NSCountedSet.m: Likewise.
	* src/NSData.m: Likewise.
	* src/NSDate.m: Likewise.
	* src/NSDeallocateObject.m: Likewise.
	* src/NSDebug.m: Likewise.
	* src/NSDictionary.m: Likewise.
	* src/NSDistantObject.m: Likewise.
	* src/NSDistributedLock.m: Likewise.
	* src/NSEnumerator.m: Likewise.
	* src/NSException.m: Likewise.
	* src/NSFileHandle.m: Likewise.
	* src/NSFileManager.m: Likewise.
	* src/NSGArchiver.m: Likewise.
	* src/NSGArray.m: Likewise.
	* src/NSGAttributedString.m: Likewise.
	* src/NSGCString.m: Likewise.
	* src/NSGCountedSet.m: Likewise.
	* src/NSGDictionary.m: Likewise.
	* src/NSGSequence.m: Likewise.
	* src/NSGSet.m: Likewise.
	* src/NSGString.m: Likewise.
	* src/NSGeometry.m: Likewise.
	* src/NSHashTable.m: Likewise.
	* src/NSHost.m: Likewise.
	* src/NSInvocation.m: Likewise.
	* src/NSLock.m: Likewise.
	* src/NSLog.m: Likewise.
	* src/NSMapTable.m: Likewise.
	* src/NSMethodSignature.m: Likewise.
	* src/NSNotification.m: Likewise.
	* src/NSNotificationCenter.m: Likewise.
	* src/NSNotificationQueue.m: Likewise.
	* src/NSNumber.m: Likewise.
	* src/NSObjCRuntime.m: Likewise.
	* src/NSObject.m: Likewise.
	* src/NSPage.m: Likewise.
	* src/NSPipe.m: Likewise.
	* src/NSPort.m: Likewise.
	* src/NSPortCoder.m: Likewise.
	* src/NSProcessInfo.m: Likewise.
	* src/NSProxy.m: Likewise.
	* src/NSRange.m: Likewise.
	* src/NSRunLoop.m: Likewise.
	* src/NSScanner.m: Likewise.
	* src/NSSerializer.m: Likewise.
	* src/NSSet.m: Likewise.
	* src/NSString.m: Likewise.
	* src/NSThread.m: Likewise.
	* src/NSTimeZone.m: Likewise.
	* src/NSTimer.m: Likewise.
	* src/NSUser.m: Likewise.
	* src/NSUserDefaults.m: Likewise.
	* src/NSValue.m: Likewise.
	* src/NSZone.m: Likewise.
	* src/NXStringTable.m: Likewise.
	* src/Notification.m: Likewise.
	* src/NotificationDispatcher.m: Likewise.
	* src/OrderedCollection.m: Likewise.
	* src/Port.m: Likewise.
	* src/Proxy.m: Likewise.
	* src/Queue.m: Likewise.
	* src/RBTree.m: Likewise.
	* src/RBTreeNode.m: Likewise.
	* src/RNGAdditiveCongruential.m: Likewise.
	* src/RNGBerkeley.m: Likewise.
	* src/Random.m: Likewise.
	* src/RawCStream.m: Likewise.
	* src/Set.m: Likewise.
	* src/SplayTree.m: Likewise.
	* src/Stack.m: Likewise.
	* src/StdioStream.m: Likewise.
	* src/Storage.m: Likewise.
	* src/Stream.m: Likewise.
	* src/TcpPort.m: Likewise.
	* src/TextCStream.m: Likewise.
	* src/Time.m: Likewise.
	* src/UdpPort.m: Likewise.
	* src/Unicode.m: Likewise.
	* src/UnixFileHandle.m: Likewise.
	* src/behavior.m: Likewise.
	* src/externs.m: Likewise.
	* src/find_exec.c: Likewise.
	* src/md5.c: Likewise.
	* src/mframe.m: Likewise.
	* src/o_array.m: Likewise.
	* src/o_cbs.m: Likewise.
	* src/o_hash.m: Likewise.
	* src/o_list.m: Likewise.
	* src/o_map.m: Likewise.
	* src/o_x_bas.m.in: Likewise.
	* src/o_x_cbs.m.in: Likewise.
	* src/objc-gnu2next.m: Likewise.
	* src/ostream.m: Likewise.
	* src/preface.m: Likewise.
	* src/win32-entry.m: Likewise.
	* src/include/preface.h.in: Do not include config.h

	* src/GNUmakefile: Don't install config.h; add target so that
	config.h gets moved to target cpu/os dependent directory.
	* src/Makefile.postamble: Move config.h to target directory.
	* src/Makefile.preamble: Add target directory to include dirs.

	* src/NSCalendarDate.m (-initWithString:calendarFormat:locale:):
	Parse the time zone abbreviation and am/pm indicator.

	* src/md5.c: Correct license comment.

Wed Nov  5 13:36:45 1997  Adam Fedor  <fedor@doc.com>

	* doc/GNUmakefile (TEXT_FILES): Add GNUstep-HOWTO
	* doc/Makefile.postamble (GNUstep-HOWTO): New target.
	* doc/gnustep-howto.texi: New file.

Sun Nov  2 15:47:10 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* src/NSTimeZone.m: More effecient implementation of [NSTimeZone
	-abbreviationDictionary] object enumerator.
	More robust error logging. Description method changes.

Sat Nov  1 06:45:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

        * src/NSDistributedLock: New OPENSTEP class implementation.
	* src/GNUmakefile: Add new class to list.
	
        * src/NSFileManager: implemented method ([-removeFileAtPath:handler:])

        * src/NSString.m: Added two new (OPENSTEP) methods -
        ([-fileSystemRepresentation]) and
        ([-fileSystemRepresentation:maxLength:])

        * src/NSUserDefaults.m: ([-synchronize]) modified to do locking
        using NSDistributedLock

        * src/Foundation/NSDistributedLock.h: New OPENSTEP class definition.

        * src/Foundation/NSString.h: Added two new (OPENSTEP) methods.

Fri Oct 31 17:00:29 1997  Adam Fedor  <fedor@doc.com>

	* GNUmakefile (DIST_FILES): Update files.
	* src/GNUmakefile: Likewise.
	* checks/GNUmakefile: Likewise.
	* examples/GNUmakefile: Likewise.
	* doc/GNUmakefile: Likewise.
	* admin/GNUmakefile: Likewise.
	* NSCharacterSets/GNUmakefile: Likewise.
	* NSTimeZones/GNUmakefile: Likewise.
	* Tools/GNUmakefile: Likewise.
	* Tools/Makefile.postamble (copy-dist): New target.
	
Fri Oct 31 15:16:46 1997  Adam Fedor  <fedor@doc.com>

	* NSBundle.README: Removed obsolete file.
	* README.threads: Likewise.
	* RELEASE-NOTES: Likewise.
	* GNUmakefile: Remove obsolete files from DIST. Make Tools the
	second build target.

	* Tools/GNUmakefile: Include tool.make and make dread, etc as
	tools. 
	* Tools/Makefile.preamble: Add uninstalled includes and libraries
	from ../src.

	* Tools/dremove.m: Add errno.h.

	* doc/GNUmakefile: Remove unneeded top-level text files.
	* doc/announce.texi: Update.
	* doc/install.texi: Likewise.
	* doc/news.texi: Likewise.
	* doc/readme.texi: Likewise.
	* doc/todo.texi: Likewise.

Fri Oct 31 10:26:16 1997  Adam Fedor  <fedor@doc.com>

	* GNUmakefile: Renamed from Makefile.
	* src/GNUmakefile: Likewise.
	* checks/GNUmakefile: Likewise.
	* examples/GNUmakefile: Likewise.
	* doc/GNUmakefile: Likewise.
	* admin/GNUmakefile: Likewise.
	* NSCharacterSets/GNUmakefile: Likewise.
	* NSTimeZones/GNUmakefile: Likewise.
	* Makefile: Dummy make, tells user to use GNU make.

	* doc/GNUMakefile: Make more text files.
	* doc/Makefile.postamble: Clean up to make text files.

	* NSBundle.README: Update.
	* examples/Makefile.example.in: Remove obsolete file.
	* examples/configure.example.in: Likewise.

Thu Oct 30 15:20:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Tools/GNUmakefile: New format make file with the addition of three
	new tools - dread, dwrite, dremove

	* Tools/dread.m: New command line tool to read user defaults database.
	* Tools/dremove.m: New command line tool to remove defaults from
	database. 
	* Tools/dwrite.m: New command line tool to modify user defaults.

	* src/Dictionary.m: ([-descriptionWithIndent:]) modified to produce
	better property-list type description with escaped special chars.

	* src/NSArray.m: ([-description]) modified to produce better
	property-list type description with escaped special chars.

	* src/NSData.m: ([-writeToFile:atomically:]) changed code for handling
	temporary file to avoid failure due to cross-device links.

	* src/NSDictionary.m: ([-writeToFile:atomically:]) implemented this
	method using NSString.

	* src/NSString.m: ([-stringByAppendingString:]) fixed memory leak.
	Added new method ([-quotedCString]) for use in writing property lists.
	Modified ([-appendFormat:]) so that it doesn't leave temporary strings
	to be autoreleased - small efficiency gain.

	* src/NSUserDefaults.m: Various minor fixes to get saving to the
	defaults database to work.

	* src/Foundation/NSString.h: Added (GNUstep specific) method -
	[-quotedCString].

	* src/Foundation/NSUserDefaults.h: Added (OPENSTEP specific) method -
	[-setSearchList:].

Thu Oct 30 13:38:51 1997  Scott Christley  <scottc@stetson.net-community.com>

	* Makefile (GNUSTEP_INSTALLATION_DIR): Make default be system.
	* NSCharacterSets/Makefile: Likewise.
	* NSTimeZones/Makefile: Likewise.
	* Tools/Makefile: Likewise.  Use objc.make instead of tool.make
	as the file does not require the foundation library.
	* admin/Makefile: Likewise.
	* checks/Makefile: Likewise.  Use test.make so that
	the programs do not get installed.
	* doc/Makefile: Likewise.
	* examples/Makefile: Likewise.  Use test.make so that the 
	programs do not get installed.
	* src/Makefile: Likewise.  Alter names to correspond with
	the new recursive library.make.
	* src/Makefile.postamble: Uninstall header files.

	* src/NSBundle.m (+mainBundle): Strip off library combo, target
	os and target cpu is they are part of the directory list to
	the executable so that the bundle path is the top level dir.

	* src/externs.m (NSNonRetainedObjectHashCallbacks): Correct name.

Thu Oct 30 14:32:28 1997  Adam Fedor  <fedor@spanky.doc.com>

	* Makefile (GNUSTEP_INSTALLATION_DIR): New variable.
	* checks/Makefile (TOOL_NAME): Remove duplicate nsattributedstring.
	* src/Makefile: Add libgnustep-base_ prefix to appropriate
	variables. 

	* src/NSProxy.m: Add limits.h for Solaris.

Tue Oct 28 10:05:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSData.m: Added [-replacementObjectForPortCoder:] method to
	ensure that NSData objects are always sent bycopy.

	* src/mframe.m: Modified mframe_do_call() and mframe_build_return()
	to encode/decode a dummy integer value where a method returns void
	but is NOT declared as being oneway.

Mon Oct 27 16:15:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* Makefile: Added Tools subproject

	* NSTimeZones/Makefile.postamble: Added distclean code to remove
	time-zone files leaving only the tar image.

	* Tools/Makefile: New make file added.

	* Tools/Makefile.postamble: New file.

	* Tools/Makefile.preamble: New file.

	* Tools/gdomap.c: Moved from the src directory with some minor
	bug fixes and easing of restrictions on deregistering a name.

	* Tools/gdomap.h: Moved from the src directory with some minor
	changes and improvements to comments.

	* checks/Makefile.postamble: Added some stuff for distclean to
	remove some fo the temporary data files.

	* checks/Makefile.preamble: Modified to compile with -g flag
	even if being linked with non-debug libraries.

	* checks/nsdate.m: Added checks for new NSCalendarDate features.

	* src/Coder.m: ([-initForReadingWithData:]) modified use of the
	[-retainCount] method for newly corrected version.

	* src/Makefile: Removed references to gdomap.[hc]

	* src/Makefile.postamble: distclean now removes some automatically
	generated source files.

	* src/NSBundle.m: Removed own reference counting support in favour
	of using the standard mechanism but intercepting [-release] to
	change deallocation behaviour.

	* src/NSCalendarDate.m: Implemented [-dayOfWeek], added support for
	week day names (and abbreviations) in descriptions.  Implemented
	some missing formatting directives in descriptions, Fixed the
	[-initWithYears:months:days:hours:minutes:seconds:timeZone:] method
	to use the supplied time zone correctly.
	Implemented [-dateByAddingYears:months:days:hours:minutes:seconds].
	Implemented [-years:months:days:hours:minutes:seconds:sinceDate:].

	* src/NSData.m: Fixed shared memory to only remove shared-memory IDs
	from the system when the last object having mapped the memory is
	deallocated.

	* src/NSObject.m: ([-retainCount]) corrected to return the number of
	times the object has been retained.
	([-autorelease]) use [-retainCount] so that this works with classes
	that have implemented their own retain./release/retainCount.

	* src/NSProxy.m: Fixed retain counting scheme so that [-retainCount]
	returns the correct value.

	* src/NSRunLoop.m: ([-runMode:beforeDate:]) fixed possible problem
	with passing a date obejct which might have been released unexpectedly.

	* src/NotificationDispatcher.m: Fixed retain counting scheme so that
	[-retainCount] returns the correct value.

	* src/Proxy.m: Fixed retain counting scheme so that [-retainCount]
	returns the correct value.

	* src/TcpPort.m: Modified to expect to find gdomap in the Tools
	directory of the new GNUstep directory standard.

	* src/include/NSBundle.h: Removed unneeded retsain count variable.
	
	* src/include/NSData.h: Conform to NSCoding protocol.
	
	* src/include/NSDate.h: Added two OPENSTEP methods.

Fri Oct 24 14:36:23 1997  Adam Fedor  <fedor@oc.com>

	* Removed unused files.
	* checks/beh.m, checks/float.c: Removed
 	* examples/nx-client.m, examples/nx-server.m, 
	examples/port-client.m, examples/port-server.m: Likewise.
	* src/AutoreleasePool.m, src/AutoreleaseStack.m, 
	src/BinaryTreeEltNode.m, src/ConstantString.m, 
	src/EltNodeCollector.m, src/LinkedListEltNode.m,
	src/Makefile.sed.nt, src/MethodSignature.m, src/NXConnection.m,
	src/NXProtocolChecker.m, src/NXProxy.m, src/NotificationQueue.m,
	src/ObjectRetaining.m, src/ProtocolEnforcer.m, src/RBTreeEltNode.m,
	src/ReleasePool.m, src/RetainingNotifier.m, src/Ring.m, 
	src/RunLoop.m, src/SocketPort.m, src/SunRpcPort.m, src/Thread.m,
	src/Tree.m, src/TreeNode.m, src/argframe.m, src/data.m,
	src/eltfuncs.m, src/gnu4next.m, src/gnu4nextrt.m,
	src/o_vprintf.c, src/vfscanf.c: Likewise.
	* src/include/AutoreleasePool.h, src/include/AutoreleaseStack.h,
	src/include/BinaryTreeEltNode.h, src/include/LinkedListEltNode.h,
	src/include/RBTreeEltNode.h, src/include/SmallInt.h,
	src/include/SocketPort.h, src/include/abort.h,
	src/include/allocs.h, src/include/atoz.h, src/include/bitops.h,
	src/include/data.h, src/include/magic.h, src/include/minmax.h,
	src/include/number.h: Likewise.

Fri Oct 24 20:16:14 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

        * src/StdioStream.m ([StdioStream -dealloc]): Check fp before
        closing.

Wed Oct 22 19:54:07 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

        * src/NSTimeZone.m ([NSTimeZone +initialize]): Fallback time zone
        now only set to UTC.
        (NSConcreteTimeZoneDetail): Changed method.
        ([NSConcreteTimeZoneDetail -timeZoneDetailForDate:]): New method.
        ([NSConcreteTimeZoneDetail -timeZoneName]): Likewise.
        ([NSConcreteTimeZoneDetail -timeZoneDetailArray]): Likewise.
        ([NSTimeZone +timeZoneWithName:]): Updated for changed methods in
        NSTimeZoneDetail.
        ([NSInternalTimeTransition -description]): Print class name.
        ([NSConcreteTimeZone -description]): Likewise.
        ([NSConcreteAbsoluteTimeZone -description]): Likewise.
        ([NSConcreteTimeZoneDetail -description]): Likewise.

Mon Oct 20 09:51:53 1997  Adam Fedor  <fedor@doc.com>

	* Version: Update ftp sites.
	* checks/Philosopher.h: Removed.
	* checks/Philosopher.m: Likewise.
	* checks/basic-old.m: Likewise.
	* checks/nsarchiving.m: Likewise.
	* src/Foundation/NSUser.h: Likewise.
	* src/Foundation/x-basics.h.in: Likewise.
	* src/Foundation/x-callbacks.h.in: Likewise.
	* checks/Makefile (HDRS): Add oldserver.h.
	* doc/Makefile: Add other texi files.
	* NSCharacterSets/Makefile (DIST_FILES): Remove Makefile.preamble.
	* NSTimeZones/Makefile (DIST_FILES): Likewise.
	* NSCharacterSets/Makefile.postamble (copy-dist): Correct copy.
	* NSTimeZones/Makefile.postamble (copy-dist): Correct dist files.

Sat Oct 18 12:27:56 1997  Scott Christley  <scottc@net-community.com>

	* Get NSTimeZone to work in GNUstep directory structure.
	* src/NSTimeZone.m (+getAbbreviationFile): New method.
	(+getRegionsFiles, +getLocalTimeFile): New methods.
	(+getTimeZoneFile:): New method.
	(TIME_ZONE_DIR, ABBREV_DICT, REGIONS_FILE, LOCAL_TIME_FILE, ZONES_DIR):
	Correct paths.
	(+initialize): Use private method to get resource file name.
	(+timeZoneWithName:, +abbreviationMap, +timeZoneArray): Likewise.
	* checks/create-abbrevs.m: New file.
	* checks/create-regions.m: New file.
	* checks/nstimezone.m: New file.
	* checks/Makefile: Add new checks.

	* src/NSBundle.m 
	(+pathForResource:ofType:inRootPath:inDirectory:withVersion:):
	If no extension then look for file without extension before
	calling _bundle_path_for_name() which does not handle the case
	where the resource name contains a directory path within it.

	* src/NSBundle.m
 	(+pathForGNUstepResource:ofType:InDirectory:): New method.
	* src/include/NSBundle.h
 	(+pathForGNUstepResource:ofType:InDirectory:): New method.

Fri Oct 17 12:44:18 1997  Scott Christley  <scottc@net-community.com>

	* src/NotificationDispatcher.m (-init): Make the key callbacks
	be NSObject for the notification name map table so that
	isEqual: is used for comparison.

Fri Oct 17 09:16:36 1997  Adam Fedor  <fedor@doc.com>

	* checks/Makefile.postamble: Add English.lproj dir to copy-dist.

	* src/NSCalendarDate.m (-descriptionWithCalendarFormat:locale):
	Use VSPRINTF_LENGTH macro to return string length.
	* src/NSData.m ([NSMutableDataMalloc -setCapacity:): Use realloc
	instead of objc_realloc.
	* src/NSHost.m (-_initWithHostEntry:): Use memcpy instead of
	memmove.
	* src/UnixFileHandle.m (getAddr): Remove uneeded htonl.
	Changes from Richard Frith-Macdonald  <richard@brainstorm.co.uk>.

	* src/NSTimeZone.m: Reformat with better spacing.
	([NSTimeZone +initialize]): Find local time zone.
	Changes from Yoo C. Chung  <wacko@laplace.snu.ac.kr>.

Thu Oct 16 16:14:31 1997  Scott Christley  <scottc@net-community.com>

	* checks/Makefile: Add variables to create bundle example.
	* checks/NXStringTable.example: Move to English.lproj subdir.

	* checks/nsarray.m: Turn off behaviour debugging.

	* checks/nsdictionary.m: Add isEqual check.

	* checks/values.m: Add isEqual check.

	* src/Collection.m (isEqual:): Don't require that the classes
	be the same.

	* src/NSDictionary.m: Fix implementation by creating
 	NSDictionaryNonCore and NSMutableDictionaryNonCore classes; move
	implemented methods to non-core classes.
	* src/include/NSDictionary.h: Likewise.
	* src/NSGDictionary.m: Add behaviour from non-core classes.

	* src/ObjCRuntime.m (NSClassFromString): Use objc_lookup_class
	instead of objc_get_class so that the program will not abort
	if the class is not found.

	* src/NSTimeZone.M (TIME_ZONE_DIR): Eliminate reference to
	obsolete GNUSTEP_INSTALL_DIR macro.

	* src/NSZone.m: Use default zone if zone is NULL.
	* src/include/NSZone.h: Likewise.

	* src/behavior.m (behavior_class_add_class): Add debug message.

	* src/Makefile: Define macros for the target directory and
	library combo that the library is compiled for.
	* src/NSBundle.m (gnustep_target_dir, library_combo): New variables.
	(bundle_object_name): Use the target directory and library
	combo when determine where the executable file is located.
	(+_bundleResourcePathsWithRootPath:subPath:): Don't search
	directory specified by GNUSTEP_LIBRARY_PATH environment variable.

	* src/NSCharacterSet.m (+_bitmapForSet:number:): Rewrite to search
	the user, local, and system directories based upon environment
	variable values.

	* src/NSData.m (getBytes:range:): Fix range check.
	(subdataWithRange:, replaceBytesInRange:withBytes:): Likewise.
	(resetBytesInRange:): Likewise.

Wed Oct  1 14:44:17 1997  Adam Fedor  <fedor@doc.com>

	* src/NSConnection.m ([-registerName:]): Remove
	duplicate method.
	* src/NSDistantObject.m ([-encodeWithCoder:]): Likewise.
	* src/Proxy.m: ([NSObject -selectorTypeForProxy]): Likewise.

	* Makefile: Add new subproject.
	* NSTimeZones: New directory.
	* NSTimeZones/Makefile: New file.
	* NSTimeZones/Makefile.postamble: Likewise.
	* NSTimeZones/NSTimeZones.tar: Likewise.
	
Tue Sep 30 08:57:44 1997  Adam Fedor  <fedor@doc.com>

	* src/NSData.m: Remove obsolete includes.
	* src/NSMutableData.m: Remove file.
	* src/NSSerializer.m: Remove references to obsolete data classes.

Sun Sep 28 21:15:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* checks/nsdata.m: Added a whole lot of trivial checks.

	* checks/oldserver.h: Added include file for oldserver.m, oldclient.m

	* src/Coder.m: ([-initForWritingWithMutableData:]) added code to
	wrap the NSMutableData object inside a MemoryStream since
	NSMutableData no longer conforms to the MemoryStreaming protocol.
	([-initForReadingWithData:]) added code to wrap the NSData object
	inside a MemoryStream.
	([+unarchiveObjectWithData:]) added code to wrap the NSData object
	inside a MemoryStream.
	([-classForPortCoder:]) changed to [-classForPortCoder] to conform
	to OpenStep spec.

	* src/Makefile.in: Removed NSGData.[hm] and NSHData.[hm]

	* src/MemoryStream.m: Rewritten to use NSData and NSMutableData
	objects to hold the memory.

	* src/NSAttributedString.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/NSData.m: Extensively rewritten to have the OPENSTEP class
	cluster architecture. Should support the full OPENSTEP api and
	have shared memory support and static buffer support as extensions.

	* src/NSDate.m: ([-classForPortCoder:]) changed to [-classForPortCoder]
	to conform to OpenStep spec.

	* src/NSDistantObject.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/NSGArchiver.m: ([-archiverData]) modified to cope with changes
	to NSData and NSMutableData.

	* src/NSGAttributedString.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/NSGCString.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/NSGString.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/NSPortCoder.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.
	([-isByCopy]) changed to [-isBycopy] to conform to OpenStep.

	* src/NSString.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/Port.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/StdioStream.m: ([-initWithFilename:fmode:]) fixed excessive
	releases of string.  ([-initWithFileDescriptor:fmode:]) fixed
	excessive releases of string. ([-close]) clear file pointer when
	it is closed to prevent attempted operations on bad pointer.

	* src/TcpPort.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec. Also multiple
	changes to deal with the rewrite of MemoryStream.

	* src/UdpPort.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/UnixFileHandle.m: Numerous changes improving logging and
	tidying stuff. failed initialisers should now all return nil
	rather than raising exceptions.

	* src/include/MemoryStream.h: Changed this class to use NSData and
	NSMutableData to hold its contents.  Added methods to initialise
	with a data object so we can wrap an NSData or NSMutableData inside
	a MemoryStream to give it Streaming behaviour.

	* src/include/NSData.h: Added some extension methods for creating
	data objects with static buffers or shared memory buffers.

	* src/include/NSDistantObject.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/include/NSObject.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder] to conform to OpenStep spec.

	* src/include/NSPortCoder.m: ([-classForPortCoder:]) changed to
	[-classForPortCoder], and ([-isByCopy]) changed to [-isBycopy] to
	conform to OpenStep spec.

Fri Sep 26 20:43:12 1997  Adam Fedor  <fedor@doc.com>

	* Fix Makefiles so snapshots and releases work again
	* Makefile: Include missing DIST_FILES
	* Makefile.postamble: Correct csnap projects.
	* NSCharacterSets/Makefile: Include missing DIST_FILES.
	* admin/Makefile: Likewise.
	* admin/Makefile: Correct snap target.
	* checks/Makefile: Include missing DIST_FILES.
	* checks/Makefile.postamble: New file.
	* examples/Makefile: Include missing DIST_FILES.
	* examples/Makefile.postamble: New file.
	* doc/Makefile.postamble: New file.
	* src/Makefile: Include missing DIST_FILES.
	* ssrc/Makefile.postamble: Fix AUTHORS depend, copy-dist.

	* STATUS: Update.
	* README.foundation: Remove obsolete file.

Sat Sep 23 10:18:41 2017  Scott Christley  <scottc@net-community.com>

	* Convert to GNUstep makefile package.
	* Makefile: New file.
	* Makefile.postamble: New file.
	* config.mak.in: New file.
	* Makefile.in: Delete.
	* Makefile.sed.nt: Delete.
	* Makeconf: Delete.
	* configure.in (AC_OUTPUT): No longer create the makefiles.
	* NSCharacterSets/Makefile: New file.
	* NSCharacterSets/Makefile.postamble: New file.
	* NSCharacterSets/Makefile.in: Delete.
	* admin/Makefile: New file.
	* admin/Makefile.postamble: New file.
	* admin/Makefile.in: Delete
	* checks/Makefile: New file.
	* checks/Makefile.preamble: New file.
	* checks/Makefile.in: Delete.
	* checks/Makefile.sed.nt: Delete.
	* examples/Makefile: New file.
	* examples/Makefile.preamble: New file.
	* examples/Makefile.in: Delete.
	* src/Makefile: New file.
	* src/Makefile.preamble: New file.
	* src/Makefile.postamble: New file.
	* src/Makefile.in: Delete

	* The installation of the header files was modified slightly
	to correspond with the GNUstep makefile package.  All OpenStep
	headers go into Foundation while the gnustep-base specific
	headers go into gnustep/base.
	* checks/coder.m: Correct header directory.
	* checks/cstream.m: Likewise.
	* checks/oldserver.m: Likewise.
	* checks/string.m: Likewise.
	* src/include/Connection.h: Likewise.
	* src/include/NSConnection.h: Likewise.
	* src/include/NSPortCoder.h: Likewise.
	* src/include/Notification.h: Likewise.
	* src/include/NotificationDispatcher.h: Likewise.
	
Mon Sep 22 17:14:32 1997  Adam Fedor  <fedor@doc.com>

	* checks/NSData-test.m: Change main to return int.
	* checks/coder.m: Check for nil names -- Solaris can't print NULL
	strings. 
	* checks/nsattributedstring.m: Add test to main.
	* checks/values.m: Remove exception handlers.

	* doc/coding-standards.texi: New file.
	* doc/Makefile.in: Add new texi file, CODING-STANDARDS target..

	* src/Collection.m ([ConstantCollection
	-_collectionReleaseContents]): Release only if count > 0.
	* src/Set.m ([Set dealoc]): Set contents_hash to 0 and call super.
	* src/Set.m ([Set count]): If !contents_hash return 0;

	* src/Makefile.in: remove extra Collection.m.

	* src/NSArray.m ([NSArray -initWithObjects:rest:]): REALLOC before
	overflow of array.

	* src/NSConcreteValue.m ([NSConcreteValue -initValue:withObjCType:]):
	Change exceptions to NSLog and return nil.

Fri Sep 22 09:50:52 2017  Scott Christley  <scottc@net-community.com>

	* src/NSArray (initWithObjects:rest:): Fix count.

Tue Sep 16 15:50:39 1997  Adam Fedor  <fedor@doc.com>

	* src/Dictionary.m ([Dictionary -descriptionWithIndent:]): Rewrite
	to pretty-print description.
	* src/NSDictionary.m ([NSDictionary -description]): Remove
	redundant method implementation. 
	([NSDictionary -descriptionWithIndent:]): Likewise. 
	* src/NSArray.m ([NSArray -descriptionWithIndent:]): Implement.

	* src/NSCTemplateValue ([NSCTemplateValue description]): Add
	semicolon to last value.
	* src/NSValue: ([NSValue valueFromString:]): New method.
	* src/NSNumber: ([NSValue valueFromString:]): Likewise.
	* src/include/NSValue.h: Define new method.

	* src/NSCharacterSet.m ([NSCharacterSet -_bitmapForSet:]): Fix
	test path name.

	* src/NSString ([NSString initWithFormat:arguments:]): Take care
	of formatted string case "%*s".
	([NSString -stringByAppendingPathComponent:]): Exception only if
	string starts with '/'.
	([NSString -stringByAppendingPathExtension:]): Likewise.

Mon Sep 15 21:27:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSHData.m: Fixed a couple of bugs occurring when allocation of
	shared memory segments failed.  Also added class methods to query
	and set the size of the blocks in which shared memory is allocated.

	* src/include/NSHData.h: Added class methods for query and set of size
	of shared memory allocation blocks.

Sat Sep 13 10:05:57 1997  Scott Christley  <scottc@net-community.com>

	* The GNU tools for building a DLL on Windows only allow functions
	and not data to be exported; therefore, all global variables were
	moved into a separate file, externs.m, and added to the import
	library for the DLL so that those variables would be accessible
	outside of the DLL.
	* configure.in (PIPE): Make the -pipe a configure option.
	(DLLTOOL): Add support for building DLLs.
	(disable-static): New configure option to disable the building
	of the static library when building a shared library.
	(pcthread, pthread, m): Add checks for pcthread and math libraries.
	(sys/stat.h, sys/vfs.h, sys/statfs.h, statvfs): Add checks
	for filesystem related headers and functions.
	(getcwd): Remove duplicate check.
	* src/win32-entry.c: Rename to win32-entry.m
	* src/externs.m: New file.
	* src/libgnustep-base.def: New file.
	* src/Connection.m: Move all global variables to externs.m.
	* src/NSArchive.m: Likewise.
	* src/NSBundle.m: Likewise.
	Comment out code that would not compile on WIN32.
	* src/NSException.m: Likewise.
	(dealloc): Release instance variables.
	* src/NSFileManager.m: Likewise.
	Add WIN32 specific code.
	* src/NSHashTable.m: Likewise.
	* src/NSMapTable.m: Likewise.
	* src/NSThread.m: Likewise.
 	(-init): Set the thread data first.
	* src/NSUserDefaults.m: Likewise.
	* src/Stream.m: Likewise.
	* src/TcpPort.m: Likewise.
	* src/o_cbs_char_p.m: Likewise.
	* src/o_cbs_id.m: Likewise.
	* src/o_cbs_int.m: Likewise.
	* src/o_cbs_int_p.m: Likewise.
	* src/o_cbs_void_p.m: Likewise.

	* checks/Makefile.in: Do not link with math library.
	* checks/NSData-test.m: Correct directory for include files.
	* checks/diningPhilosophers.m (WIN32): Check different macro.
	* checks/nsattributedstring.m (main): New function.
	* checks/nsbundle.m: Do not include for MINGW32.

	* src/Makefile.in: Add support for building a DLL.  Break
	out the single install target into multiple targets.

	* src/NSCalendarDate.m (-descriptionWithCalendarFormat:locale:):
	Add character string month names.
	(short_month, long_month): New static arrays.
	* src/NSDate.m (+timeIntervalSinceReferenceDate): Also test _WIN32.

	* src/NSCharacterSet.m (NSCharacterSet_PATH): Don't specify
	full path, just bundle directory.

	* src/NSDictionary.m (-initWithContentsOfFile:): Make sure
	the returned object is an NSDictionary.

	* src/NSObject.m (initialize): Create global lock.
	(-performSelector:, -performSelector:WithObject:)
	(-performSelector:withObject:withObject:): New methods.
	* src/include/NSObject.h: Add prototype for global lock.
	(-performSelector:, -performSelector:WithObject:)
	(-performSelector:withObject:withObject:): New methods.

	* src/NSProcessInfo.m (_gnu_process_args): Check if NULL.
	For MINGW32, have NSProcessInfo access the global variables directly.

	* src/NSString.m:  Add support for different path components
	that are supported on WIN32.
	(rangeOfCharacterFromSet:options:mask:): Correct assert.
	(-componentsSeparatedByString:): Correct calculation of search range.

	* src/NSUser.m: Check _WIN32 macro as well.
	* src/Time.m: Likewise.

	* src/RunLoop.m (_AIX): Include header file.
	UNIX is vastly different from WIN32 so separate the functionality
 	into different methods.  Move all global variables to externs.m.
	(-acceptWIN32InputForMode:beforeDate:): New method.
	(-acceptUNIXInputForMode:beforeDate:): New method.
	(-acceptInputForMode:beforeDate:): Call the appropriate method
	depending upon whether a UNIX or WIN32 system.

	* src/StdioStream.m: Comment out code that would not compile on WIN32.
	* src/include/StdioStream.h (-rewindStream): Add prototype.

	* src/find_exec.c: Handle the different path separator in the 
	PATH environment variable and the different path component
	which is supported on WIN32.  Also add common WIN32 extensions to 
	the filename when searching for the executed file.

	* src/include/NSDate.h (-initWithTimeIntervalSince1970:): ADd
	missing method prototype.

	* src/include/NSHashTable.h: Move typedefs that were in NSHashTable.m
	to here so that externs.m has access to them.
	* src/include/NSMapTable.h: Move typedefs that were in NSMapTable.m
	to here so that externs.m has access to them.

	* src/include/UdpPort.h (WIN32): Use __WIN32__ macro instead.

	* src/include/fake-main.h: Do not redefine main on MINGW32.

	* src/include/preface.h.in: Add WIN32 specific definition.

Fri Sep 12 12:27:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSString.m: Added [-classForPortCoder:]) method for
	NXConstantString to prevent minor DO memory leak.

Fri Sep 12  6:15:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSAttributedString.m: Added the [-classForPortCoder:] and
	[-replacementObjectForPortCoder:] methods to ensure that strings
	are always sent over DO bycopy.

	* src/NSDistantObject.m: Fixed the types of the parameters to a few
	methods to avoid compiler warnings.

	* src/NSGAttributedString.m: Added the [-classForPortCoder:] and
	[-replacementObjectForPortCoder:] methods to ensure that strings
	are always sent over DO bycopy.

	* src/NSGCString.m: Added the [-classForPortCoder:] and
	[-replacementObjectForPortCoder:] methods to ensure that strings
	are always sent over DO bycopy.

	* src/NSGString.m: Added the [-classForPortCoder:] and
	[-replacementObjectForPortCoder:] methods to ensure that strings
	are always sent over DO bycopy.

	* src/NSHData.m: Added the [-classForPortCoder:] and
	[-replacementObjectForPortCoder:] methods to ensure that data
	objects are always sent over DO bycopy.

	* src/NSProxy.m: Commented out a couple of methods whose OPENSTEP
	style implementation was incomplete so that the old (working)
	GNUstep implementation is used.

	* src/NSRunLoop.m: Moved some code around to fix problems with
	earlier patch being applied in wrong place.

Wed Sep 10 18:03:22 1997  Scott Christley  <scottc@net-community.com>

	* config.guess: Update.
	* config.sub: Add mingw32.

	* src/NSArray.m (-initWithObjects:rest:): The first object is
	allowed to be nil and the count needs to be reduced by one before
	calling -initWithObjects:count:

Tue Sep  9 10:15:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/NSConnection.m: Made numerous changes to fix memory leak with
	ports never being released and to fix problems in port invalidation
	associated with that.  Also added code to cope with odd cases like
	when a remote application dires while we are waiting for a response
	from it.

	* src/NSPort.m: Added [-release] method which ensures that ports
	are invlidated before they are finally deallocated.

	* src/NSPortCoder.m: Catch exceptions during attempt to write data.

	* src/NSRunLoop.m: Fixed this so that a count is kept of the
	number of times a port has been added to the run loop as per the
	OPENSTEP documentation.

	* src/TcpPort.m: Fixed a minor retain/release problem.

	* src/UnixFileHandle.m: Added loads of checks so that attempts to
 	use a file handle which has been closed will fail/generate an
 	exception rather than crashing things!  Also modified for changes
 	to NSRunLoop.

	* src/include/NSRunLoop.h: Modified the interface for adding watchers
	for events with a count of the number of times they have been added.

	* src/include/Port.h: Removed [-isValid] - now in NSPort.

Tue Aug 26 15:47:54 1997  Adam Fedor  <fedor@doc.com>

        * src/NSCTemplateValue.m ([NSCTemplateValue -description]): New
        method.
        * src/NSConcreteValue.m ([NSConcreteValue -description]):
        Likewise.
        * src/NSNumber.m ([NSNumber -description]): use -stringValue.

Fri Aug 29 13:25:51 1997  Adam Fedor  <fedor@doc.com>

	* src/Makefile.in: Add LIBS macro.
	* src/UnixFileHandle.m: Add include for Solaris.
	* src/NSHData.m: Include errno.h

Thu Aug 28 16:15:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* configure.in: Added check for presence of inet_aton().

	* src/Array.m: Added NSSerializer.m

	* src/NSConnection.m: ([-_initCollectionWithCoder:]): Removed redundant
	OBJC_MALLOC() which was causing a memory leak.

	* src/Collection.m: ([-_decodeContentsWithCoder:]): Added code to
	release newly decoded contents to avoid massive memory leak.

	* src/Dictionary.m: Restructured deallocation process so that the
	dictionary gets deallocated properly rather than just it's contents
	being released.

	* src/Makefile.in: Added NSDebug.m and NSDebug.h

	* src/NSAllocateObject.m: Minor modification to permit counting of
	the number of instances of any object allocated.

	* src/NSDeallocateObject.m: Minor modification to permit counting of
	the number of instances of any object deallocated.

	* src/Debug.m: Added functions for monitoring allocation and
	deallocation of objects.  Also an implementation of strerror()
	for systems which don't have it.

	* src/NSHost.m: minor portability fixes.

	* src/NSPort.m: ([-isValid]): implemented this method.

	* src/NSSerializer.m: Misc tidying up and minor fixes.

	* src/Port.m: Removed retain/release methods - these are handled
	by NSObject.

	* src/StdioStream.m: Moved implementation of strerror() to NSDebug.m.

	* src/TcpPort.m: Various alterations to try to ensure that ports
	are automatically retained and released correctly.

	* src/UnixFileHandle.m: Various alterations to try to ensure that things
	are always released correctly.

	* src/include/NSDebug.h: Interface for debugging facilities.

	* src/include/NSPort.h: Added variable to handle invalidation.

	* src/include/NSSerialization.h: Fixed some errors introduced in last
	change.

	* src/include/Port.h: Avoid use of bitfields - some compiler versions
	seem to mess up.

	* src/include/config.h.in: Added some constants for NSHData and
	UnixFileHandle.

Tue Aug 19 09:45:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/Dictionary.m: Added [-description] to perform OpenStep style
	description of dictionary contents (for property-list strings).

	* src/Makefile.in: Added NSSerializer.m

	* src/NSConnection.m: Implemented [+defaultConnection] method.

	* src/NSHData.m: Fixed bug in resizing buffer - when going from
	malloced-memory to shared-memory the buffer contents were not being
	copied!

	* src/NSSerializer.m: Implementation of the NSSerializer and
	NSDeserializer classes for handling property-lists.

	* src/include/NSConnection.h: Added [-makeNewConnection:sender:].

	* src/include/NSDictionary.h: Added [+dictionaryWithObjectsAndKeys:].

	* src/include/NSSerialisation.h: Added interface definitions for the
	NSSerializer and NSDeserializer clases.

	* src/proplist.l: Fixed pattern definition for matching NSData items
	and relaxed rules a little to permit newlines. Also fixed severe
	memory leaks.

	* src/proplist.y: Fixed excessive number of autoreleases and
	restructured slightly so that temporary objects are released
	immediately rather than being autoreleased at the end of the
	parse - should avoid out-of-memory problems when parsing huge
	property-lists.

Thu Aug 14 14:00:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

        * checks/Makefile.in: Renamed client and server to oldclient and
	oldserver. Created new versions for OpenStep D.O.  Added nsdata and
	nshost.

        * checks/NSData-test.m: Updated in line with current NSRange code.

        * checks/client.m: Revised version for OPENSTEP D.O.

        * checks/nsarchiver.m: Added a couple of checks to do with allocation.

        * checks/nsarray.m: Added some retain count checks.

        * checks/nsdata.m: Test memory mapped file initialisation.

        * checks/nshost.m: Basic tests for nshost class.

        * checks/nstimer.m: Changed to use NSRunLoop.

        * checks/oldclient.m: Old version for GNU D.O.

        * checks/oldserver.h: Old version for GNU D.O.

        * checks/oldserver.m: Old version for GNU D.O.

        * checks/server.h: Revised version for OPENSTEP D.O.

        * checks/server.m: Revised version for OPENSTEP D.O.

        * checks/tcpport-client.m: Modified for changed tcpport.

        * checks/tcpport-server.m: Modified for changed tcpport.

	* configure.in: Added checks for mapped file and shared memory support.

	* examples/first-server.m: Include NSRunLoop.h rather than RunLoop.h.

	* examples/second-client.m: Include NSRunLoop.h rather than RunLoop.h.

	* src/ConnectedCoder.m: ([ConnectedEncoder -dismiss]): Changed the
	method used to send an encoded packet.

	* src/Connection.m: ([Connection -_service_forwardForProxy:]): Fixed
	another memory leak.

	* src/Dictionary.m: Added [-allKeys] and [-allValues]

	* src/Invocation.m: Added methods to encode bycopy over OPENSTEP D.O.

	* src/Makefile.in: Updated for new OPENSTEP D.O. classes etc.

	* src/NSConnection.m: New implementation for OPENSTEP D.O.

	* src/NSData.m: Altered to use NSHData as default concrete class and
	added serialization stuff from libFoundation.

	* src/NSDate.m: Added methods to ensure that NSDate objects are sent
	over the wire bycopy.

	* src/NSDistantObject: New implementation of this OPENSTEP class based
	on code from Proxy.m

	* src/NSFileHandle.m: Changed notification names for GNUstep extensions
	to have a GS prefix rather than an NS prefix.

	* src/NSGArchiver.m: Changed to work using NSHData objects.

	* src/NSHData.m: New version of NSData which supports memory mapped
	files and shared memory for large objects.

	* src/NSHost.m: A few minor changes to get this to compile without
	warnings under Linux.

	* src/NSPort.m: Implementation of this OPENSTEP class as a base class
	for real port objects.

	* src/NSPortCoder.m: New implementation of this OPENSTEP class based on
	the code from ConnectedCoder.m

	* src/NSProxy.m: New implementation of this class.

	* src/NSRange.m: (NSMakeRange()): added check for possible integer
	overflow.

	* src/NSRunLoop.m: Complete implementation of OPENSTEP API based on
	the code from RunLoop.m with some rewriting and lots of additions.

	* src/NSTimer.m: Altered to use NSRunLoop instead of RunLoop

	* src/Port.m: Changed to use timeouts when sending packets, use the
	OpenStep notification names, and be encoded bycopy with NSConnection.

	* src/RunLoop.m: removed this file - NSRunLoop does everything.

	* src/TcpPort.m: Alterations for revised version of nameserver
	protocol and to perform timeouts when sending data.

	* src/UnixFileHandle.m: Updated for changes in notification names and
	NSRunLoop class.

	* src/gdomap.c: Improved startup time, changed nameserver protocol to
	permit 4-byte port IDs (eg mach ports) and to permit the nameserver
	to be used by non-Distributed-Objects applications.

	* src/gdomap.c: Imroved nameserver protocol.

	* src/include/DistributedObjects.h: New header file to contain
	interface information which is only for internal used by the
	distributed objects system.

	* src/include/NSConnection.h: New interface definition file.

	* src/include/NSData.h: Corrected a few methods to conform to OpenStep.

	* src/include/NSDictionary.h: Changed methods to require NSObject keys
	rather than NSStrings.

	* src/include/NSDistantObject.h: New interface definition file.

	* src/include/NSFileHandle.h: Changed notification names for extensions.

	* src/include/NSHData.h: New interface definition file.

	* src/include/NSPort.h: New interface definition file.

	* src/include/NSPortCoder.h: New interface definition file.

	* src/include/NSProxy.h: New interface definition file.

	* src/include/NSRunLoop.h: Complete interface for NSRunLoop class.

	* src/include/NSSerialization.h: Fixed typos in method names.

	* src/include/Port.h: Changed Port to inherit from NSPort and added
	a timeout to the method for sending data.

	* src/include/RunLoop.h: Removed RunLoop stuff and changed it to use
	NSRunLoop instead.

	* src/include/UnixFileHandle.h: Changed gnustep extension notification
	names and altered class to work with new NSRunLoop.

	* src/include/byte_order.h: Incorporated this file from libFoundation.

	* src/mframe.m: (mframe_do_call()): modified this to tell the decoder
	function when it has finished so that the decoder can cleanup safely.

Thu Aug 28 16:36:03 1997  Adam Fedor  <fedor@spanky.doc.com>

	* src/NSUser.m (NSUserName): Check for login_name in other places
	(bug submitted by Manuel Guesdon <mguesdon@sbuilders.com>. 

Tue Jul 15 13:55:19 1997 Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>

	* configure.in: Check for getcwd and pthread library.

	* src/find_exec.c: Use getcwd if available.

Fri Jul 11 13:55:19 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* checks/Makefile.in: Added nsfilehandle.m and improved 'clean'

	* checks/nsfilehandle.m: Rudimentary tests for NSFileHandle class.

	* src/LinkedList.m ([LinkedList -removeObject:]): Clear the pointer
	to the list in the removed list element so it know it is no longer
	in a list.

	* src/Makefile.in: Added NSFileHandle, UnixFileHandle and
	NSNotificationQueue.  Fixed link libraries for gdomap.

	* src/NSDate.m: Added code to ensure that NSDate objects are always
	sent over the wire bycopy.

	* src/NSFileHandle.m: Implemented this OPENSTEP class in full.

	* src/NSFileManager.m ([NSFileManager -fileAttributesAtPath:traverseLink:): 
	Fixed to return full list of attributes.
	([NSFileManager -findNextFile): Fixed retain/release problem.

	* src/NSNotificationQueue.m: Imported class from libFoundation and
	modified for gstep-base with a few bug fixes and thread stuff.

	* src/NSPipe.m: Implemented this OPENSTEP class in full.

	* src/NSThread.m: Modified to ensure that a threads dictionary
	persists until the end of the thread!

	* src/NSNotificationDispatcher.m: Modified to avoid multiple identical
	notification observer requests and fixed posting of notifications so
	that observer requests can be safely removed by notification handlers.

	* src/RunLoop.m: Modifications for NSNotificationQueue, per-thread
	default run-loops, and safer file descriptor watching.

	* src/TcpPort.m: Added include for solaris.

	* src/UnixFileHandle.m: Wrote this class as a concrete implementation
	of NSFileHandle.

	* src/gdomap.c: Modified to make autolaunch of this daemon work
	more reliably.  Also modified to make probes for other servers
	take place asynchronously.

	* src/gdomap.h: Tidied comments up a bit.

	* src/include/NSFileHandle.h: Added this OPENSTEP include file.

	* src/include/NSNotificationQueue.h: Added this from libFoundation.

	* src/include/UnixFileHandle.h: Added header file for UnixFileHandle.

	* src/mframe.m: Hacked this about to get all return types working for
	DO under linux on i386 family.  Requires more work and compiler or
	Objective-C runtime support for a more general solution.

Mon Jul  7 02:40:45 1997  Geoffrey Berry  <gcb@acpub.duke.edu>

	* src/NSString.m ([NSString -componentsSeparatedByString:]):
	Fixed calculation of new search range.

Mon Jun 9 16:05:26 1997  ANOQ of the sun <anoq@vip.cybercity.dk>

	* src/NSAttributedString.m: New file.
	* src/NSGAttributedString.m: New file.
	* src/include/NSAttributedString.m: New file.
	* src/include/NSGAttributedString.m: New file.
	* src/Makefile.in: Add new files into lists.

	* checks/nsattributedstring.m: New file.
	* checks/Makefile.in: Add new file into list.

Wed Jun  4 01:04:50 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* src/include/preface.h.in: Include <sys/param.h>.

	* src/include/NSDate.h (NSTimeZone): Added new method
	-abbreviationMap.

	* src/NSCalendarDate.m: Adjust for time zone detail.
	([NSCalendarDate
 	-initWithYear:month:day:hour:minute:second:timeZone:]): Set time
 	zone detail properly.
	([NSCalendarDate -descriptionWithCalendarFormat:locale:]): Add
 	case for '%Z'.
	([NSCalendarDate -initWithString:calendarFormat:locale:]): Use
 	local time zone, not default time zone detail.
	([NSCalendarDate -initWithTimeIntervalSinceReferenceDate:]):
 	Adjust for time zone detail.

	* src/tzfile.h: New file.

	* configure.in: Add check for endianness and int size.

	* src/NSTimeZone.m: New implementation.

	* src/include/NSDate.h (NSTimeZone): Remove unnecessary method
 	declarations.
	(NSTimeZoneDetail): Likewise.

Sun June 02 22:14:21 1997  Stevo Crvenkovski  <stevoc@lotus.mpt.com.mk>

	* src/NSGCString.m ([NSGCString -isEqualToString]):
	 C string implementation from old NSString.m moved here
	 and changed to check for class.
	* src/NSGCString.m ([NSGCString -setString]):
	 Changed to avoid compiler warning.
	* src/NSGSequence.m ([NSGSequence -compare]):
	 Changed for speed.
	* src/NSString.m ([NSString -isEqualToString]):
	 New implementation, mutch faster.
	* src/NSString.m ([NSString -commonPrefixWithString]):
	 Implemented recognition of composed characters.
	* src/NSString.m ([NXConstantString -characterAtIndex]):
	 Method implemented.

Thu May 15 08:59:13 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* configure.in: Add check for getcwd().

	* src/NSString.m ([NSString +initialize]): Removed casts for
	register_printf_function.
	(handle_printf_atsign): Set argument types for GNU libc.

Sun May 21 23:12:24 1997  Stevo Crvenkovski  <stevoc@lotus.mpt.com.mk>

	* src/NSGSequence.m ([NSGSequence -decompose]):
	 Reorganized code and changed to handle empty strings.
	* src/NSGSequence.m ([NSGSequence -order]):
	 Added code to handle case when consecutive nonspacing
	 characters have same canonical ordering priority.
	* src/NSString.m ([NSString
	-rangeOfComposedCharacterSequenceAtIndex:]):
	 Changed to recognize end of string when last character
	 is nonspacing.
	* src/NSString.m ([NSString -compare:options:range:]):
	 Handle empty strings.
	* src/NSString.m ([NSString -hash]): Unicode version
	implemented and commented out for more testing.
	* src/NSString.m ([NSString -_normalizedString]):
	 New private method for Unicode.
	* src/NSString.h ([NSString -_normalizedString]):
	 New private method for Unicode declared.

Tue May 20 09:29:47 1997  Adam Fedor  <fedor@doc.com>

	* configure.in (VSPRINTF_RETURNS_LENGTH): Define as actual value
	of variable.. 

	* checks/Makefile.in (LDFLAGS): Include DYNAMIC_LDFLAGS
	(BUNDLE_NAME.bundle): Add new Resources directory.
	* checks/nsbundle.m: Remove obsolete NSArgv.

	* src/MemoryStream.m ([MemoryStream -writeFormat:arguments]): Make 
	sure buffer has at least 128 bytes free space.

	* src/NSBundle.m ([NSBundle -load]): New method.
	([NSBundle -principalClass]): Use it.
	([NSBundle +_bundleResourcePathsWithRootPath:subPath:]): New class
	method (was an instance method). Add search in GNUSTEP_LIBRARY_PATH.
	([NSBundle 
	+pathForResource:ofType:inRootPath:inDirectory:withVersion:]): New
	generalized search method.
	([NSBundle +pathForResource:ofType:inDirectory:withVersion:]): Use it.
	([NSBundle +pathForResource:ofType:inDirectory:]): Likewise.
	([NSBundle -pathForResource:ofType:]): Likewise.
	([NSBundle -pathForResource:ofType:inDirectory:]): Likewise.

	* src/include/NSBundle.h: New method definitions.

	* src/BinaryCStream.m: Include sys/types.h for SunOS4 definitions.
	* src/NSData.m: Include unistd.h for SunOS4 definitions.
	* src/StdioStream.m: Likewise.
	* src/Time.m: Likewise.

Wen May 14 01:07:16 1997  Stevo Crvenkovski  <stevoc@lotus.mpt.com.mk>

	* src/NSGCString.m ([NSGCString
	 -initWithCharactersNoCopy:length:freeWhenDone:]):
	 Changed to invoke instance of NSGString.
	* src/NSGString.m ([NSGString
	 -initWithCStringNoCopy:length:freeWhenDone:]):
	 Changed to invoke instance of NSGCString.
	* src/NSGString.m ([NSGString
	 -initWithCStringNoCopy:length:]):
	 Method removed - it is in NSString.

Sun May 11 10:12:11 1997  Stevo Crvenkovski <stevoc@lotus.mpt.com.mk>

	* src/NSGCString.m ([NSGCString -fastestEncoding:]): Method
	implemented. 
	* src/NSGCString.m ([NSGCString -smallestEncoding:]): Method
	implemented. 
	* src/NSGCString.m ([NSGMutableCString -setString:]): C string
	implementation moved here from old version of NSString.

	* src/NSGString.m ([NSGString -fastestEncoding:]): Method implemented.
	* src/NSGString.m ([NSGString -smallestEncoding:]): Method implemented.

	* src/NSString.m ([NSString -initWithData:encoding:]): Method
	implemented. 
	* src/NSString.m ([NSString -canBeConvertedToEncoding:]): Method
	implemented. 
	* src/NSString.m ([NSString -dataUsingEncoding:]): Method implemented.
	* src/NSString.m ([NSString -dataUsingEncoding:
	allowLossyConversion]): partial implementation of method.
	* src/NSString.m ([NSString -fastestEncoding:]): Method implemented.
 	* src/NSString.m ([NSString -smallestEncoding:]): Method implemented.
	* src/NSString.m ([NSString -stringByExpandingTildeInPath:]):
	changed for Unicode.
	* src/NSString.m ([NSString -writeToFile:
	atomically:useAuxiliaryFile:]): Method implemented.
	* src/NSString.m ([NXConstantString -fastestEncoding:]): Method
	implemented. 
	* src/NSString.m ([NXConstantString -smallestEncoding:]): Method
	implemented. 

	* src/Unicode.m (ustrtostr): changed to detect end of string.
	* src/Unicode.m (encode_strtoustr): New function.
	* src/Unicode.m (encode_ustrtostr): New function.	

Tue May 13 23:36:59 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* src/NSString.m ([NSString -initWithFormat:arguments:]): Skip
	arguments dealt with in vsprintf().

Sun May 11 10:12:11 1997  Stevo Crvenkovski <stevoc@lotus.mpt.com.mk>

	* src/NSString.m ([NSString -stringByAppendingString]): Changed to 
	avoid calling wrong subclass.
	([NSString -capitalizedString]): Likewise.
	([NSString -lowercaseString]): Likewise.
	([NSString -uppercaseString]): Likewise.

Mon May 12 11:15:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/Collection.m ([Collection -copyAs:]): Modified so that copied
	objects are released once the new collection has retained them. This
	ensures that when the new collection is deallocated, the copied
	objects it contains are deallocated as well.

	* src/NSArray.m ([NSArray -initWithArray:]): Free temporary C
	array opf objects when we are done with it - fixes memory leak.
	([NSArray -copy:]) Added method to ensure copyWithZone: is called.
	([NSArray -sortUsingSelector:]) Added method.

	* src/NSDate.m ([NSDate -copyWithZone:]): Sometimes just retain
	a date.

	* src/NSObject.m ([NSObject -retainCount]): Take autorelease stuff
	into account in determining retain count for an object.
	Added new function 'extraRefCount()' to do what -retainCount used to.
	Modified -release and -autorelease to use extraRefCount().

	* src/include/NSArray.h: Added -sortUsingSelector:

Thu May  8 02:10:35 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* src/NSString.m: Removed the redefinition of
	HAVE_REGISTER_PRINTF_FUNCTION.

	* src/NSZone.m (BUFFER): Reduced buffer size to 4.

	* src/NSAssertionHandler.m: Include "NSObjCRuntime.h".
	Use NSLog() to log errors.
	Reason for exception now identical to log messages.

	* configure.in: AC_TYPE_SIZE_T, AC_C_INLINE added.

	* src/include/NSZone.h: Removed inline keywords for functions that
	are potentially fluid.

	* src/NSThread.m ([NSThread
	+detachNewThreadSelector:toTarget:withObject:]): Post
	NSBecomingMultiThreaded.

	* src/StdioStream.m: Define _REENTRANT.
	([StdioStream -initWithFilename:fmode:]): Use NSLog() to log
 	errors.
	([StdioStream -initWithFileDescriptor:fmode:]): Likewise.

	* src/NSThread.m: Removed [-exceptionHandler] and
	[-setExceptionHandler].
	* src/include/NSThread.h: Likewise.

	* src/NSException.m: Use member variables directly to obtain and
	set exception handlers.

	* src/Makefile.in (FILE_AUTHORS): Added new person.

	* src/include/NSPage.h: Changed e-mail address.

Thu May  8 15:45:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/Proxy.m: (+newForRemoteTarget:connection:)
	When an existing proxy is substituted for a newly allocated one
	we must retain it.

	* src/Proxy.m: (+newWithCoder:)
	When an object is substituted for a local proxy we must retain it.

	* src/Connection.m: (forwardForProxy:selector:argframe:)
	Ensure that objects created by the decoder are autoreleased.

	* src/Connection.m: (_service_forwardForProxy:)
	Ensure that objects created by the decoder are autoreleased.

	* src/Connection.m: (_getReceivedReplyRmcWithSequenceNumber:)
	Ensure that a newly allocated NSdate objects is released on return
	from this method. Fixes a memory leak.

	* src/NSGCString.m:
	Added an implementation of dealloc which will cause the string
	contents to be released correctly - fixing a major memory leak.

	* src/NSString.m (handle_printf_atsign())
	Modified so that the '%@' format prints an objects description as it
	should according to the OpenStep spec.

	* src/NSString.m (- initWithFormat:arguments:)
	Modified so that the '%@' format prints an objects description as it
	should according to the OpenStep spec.

	* src/NSString.m (- componentsSeparatedByString:)
	Fixed to produce the final component of the string.

	* src/NSString.m (- rangeOfString:options:range:)
	Return a range of length 0 if passed an empty string.

	* src/NSString.m (- lastPathComponent)
	Do autorelease for newly created substrings.

	* src/NSString.m (- pathExtention)
	Do autorelease for newly created substrings.

	* src/NSString.m (- stringByAppendingPathComponent:)
	Added code to handle empty or illegal path components.

	* src/NSString.m (- stringByAppendingPathExtension:)
	Added code to handle empty or illegal path extensions.

	* src/NSString.m (- stringByDeletingLastPathComponent:)
	Fixed some special cases - autorelease for newly created substrings.

	* src/NSString.m (- stringByExpandingTildeInPath:)
	Do autorelease for newly created substrings.

	* src/NSString.m (- stringByAbbreviatingWithTildeInPath:)
	Do autorelease for newly created substrings.	

Wed May  7 15:45:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* checks/server.m: Removed line which released object which should
	already have been autoreleased by D.O. mechanism.

	* src/Coder.m: ([Coder -init]): Modified so that subclasses can be
	initialised using 'init'.
	([Coder -initForReadingWithData:]) Check to see if 'self' has been
	autoreleased.  If it has - be graceful and don't release self again
	but autorelease the newly created object.  I know that this should
	not be necessary, but it's defensive programming.

	* src/Makefile: Changed 'make distclean' to remove links to the
	header files directory so that it's easy to make a clean setup
	for generating patches.

	* src/NSArchiver.m: ([NSArchiver -init]): Modified to say that the
	subclass should handle this.
	([NSArchiver +archivedDataWithRootObject:]): Added a release to fix
	memory leak.

	* src/NSGArchiver.m: Added implementation of init method.
	([NSGArchiver -archiverData]): Addep partial implementation of this
	method - only works if the archiver was initialised with an
	NSMutableData object, returns nul otherwise.  This probably covers
	pretty much all the cases where you would want to use this method.

	* src/NSObject.m: ([NSObject -returnCount]): Fixed this to return
	zero for the cases where the object is not in the retain count map.

	* src/include/NSRunLoop.h: Added protocol declarations etc so that
	you don't need to include RunLoop.h

Tue May  6 14:50:35 1997  John Stevens <jstevens@bamboo.verinet.com>

	* src/Array.m ([Array -appendObject:]): Check for nil object.
	([Array -insetObject:atIndex:]): Likewise.

	* src/NSArray.m ([NSArray -initWithObjects:rest:]): Good varargs
	implementation. 

	* src/NSData.m: ([NSData -getBytes:range:]): Check range.
	([NData -replaceBytesInRange:withByte:]): Likewise.
	([NSData -resetBytesInTange:]): Likewise.

Mon May  5 16:00:00 1997  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/Connection.m: ([Connection -forwardForProxy:selector:argFrame:]):
	Added code to autorelease newly created objects to avoid memory leak.
	([Connection -_service_forwardForProxy:]): Added code to autorelease
	newly created objects to avoid memory leak.
	([Connection -_getReceivedReplyRmcWithSequenceNumber:]): Release
	locally created NSDate object before returning from method.

	* src/NSGString.m: ([NSGCString -dealloc:]): Added implementation so
	that allocated memory can be freed.
	([NSGCString -initWithCoder:]): Set flag to say that contents should
	be freed when object is deallocated.

	* src/NSGSequence.m:
	Added +sequenceWithCharactersNoCopy:length:freeWhenDone:.
	Added -dealloc so that Sequence contents can be freed.
	([NSGSequence -initWithCharactersNoCopy:length:freeWhenDone:]):
	Modified to release sequence contents if necessary (when the
	designated initialiser is called more than once).
	([NSGSequence -decompose]): Fixed memory leak in this method.
	([NSGSequence -lowercase]): Fixed memory leak in this method.
	([NSGSequence -uppercase]): Fixed memory leak in this method.

	* src/NSGString.m: Added -dealloc so that string contents can be freed.
	([NSGString -encodeWithCoder]): Fixed to encode array of unichar.
	([NSGString -initWithCoder]): Fixed to expect encoded array of unichar.

	* src/NSGMutableString.m: ([NSGMutableString -insertString:atIndex:]):
	Fixed memory leak.
	([NSGMutableString -encodeWithCoder:]): Encode array of unichar.
	([NSGMutableString -initWithCoder]): Expect encoded array of unichar.

	* src/NSString.m: ([NSString -compare:options:range]): Fixed a memory
	leak.
	([NSString -commonPrefixWithString:options:]): Fixed a memory leak.

	* src/Proxy.m: ([Proxy +newForRemoteTarget:connection:]): When we
	return an existing Proxy, retain it.
	([Proxy +newWithCoder:connection:]): When we return a local object,
	retain it.

	* src/RunLoop.m: ([RunLoop -removeReadDescriptor:forMode:]): free
	enumeration state on return.
	([RunLoop -removeWriteDescriptor:forMode:]): free enumeration state
	on return.
	([RunLoop -acceptInputForMode:beforeDate:]): free enumeration states
	when done with them.

	* src/include/NSGSequence.h: Added class method
	+sequenceWithCharactersNoCopy:length:freeWhenDone:.

	* src/NSDate.m: Added implementations for methods -
	-copyWithZone:, -encodeWithCoder: -initWithCoder:.

	* src/include/NSDate.h: Added protocol conformance for NScopying
	and NSCoding.

Sat May  3 12:28:48 1997  Andrew McCallum  <mccallum@jprc.com>

	* src/Makefile.in (GNUSTEP_OTHER_SRCFILES): Add gdomap.c and
 	gdomap.h.

	* checks/NSData-test.m: New file from John Stevens
 	<jstevens@bamboo.verinet.com>.

	* src/Makefile.in (GNUSTEP_HEADERS): Add include/NSConnection.h.

	* doc/news.texi: Fix typo.
	* doc/install.texi: Fix typo.

	* Makefile.in (DIST_FILES): Add config.sub.

	* src/NSBundle.m: Temporarily comment out some code with #if 0/1
 	so it will compile.  Get Adam Fedor or someone to fix it.
	* src/NSCharacterSet.m: Likewise.

	* src/include/NSConnection.h: Include some files.

	* src/Makefile.in (GNUSTEP_HEADERS): Add NSDistantObject.h.
	* src/include/NSDistantObject.h: New file.

	* src/gdomap.c: Delete duplicate copy inside file.

	* src/TcpPort.m: #include <signal.h>.  Define GDOMAP to be 0 for
 	now; have Richard Frith-Macdonald verify that it works for me.
	(tryWrite): Change type of IFUN to match declaration of signal().
	Cast second argument to signal() to avoid warning.
	([TcpInPort +newForReceivingFromPortNumber:]): Use P->_PORT_SOCKET not
	P->_SOCKET, which doesn't exist.  Likewise in several other
 	methods.

	* src/NSString.m: Remove some duplicate methods.

	* src/NSHost.m: Don't include <libc.h>.  Include
 	<Foundation/NSDictionary.h>.

	* src/Connection.m: Include <Foundation/NSConnection> for delegate
	method declaration.
	([Connection +newForInPort:outPort:ancestorConnection:]): Cast
	NEWCONN to avoid warning.

	* src/Makefile.in (GNUSTEP_OTHER_SRCFILES): Move NSHost.m
 	temporarily here until its debugged.
	(GNUSTEP_MFILES): Temporarily remove NSHost.m.

	* src/NSDate.m ([NSDate -timeIntervalSince1970]): Remove duplicate
 	method definition.

	* src/NSArchiver.m ([NSArchiver -init]): New method.  (Need for it
 	reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>.)

	* src/NSArchiver.m ([NSArchiver -encodeClassName:intoClassName:]):
 	Fix typo in method name.
	* src/include/NSArchiver.h: Fix typo in method name.

	* src/TcpPort.m (nameServer): Remove the ntohs() conversion of
 	NUM.  (Reported by Richard Frith-Macdonald
 	<richard@brainstorm.co.uk>>)

	* src/NSCharacterSet.m ([NSCharacterSet_PATH]): Value of global
 	variable changed to absolute path.  (Reported by Richard
 	Frith-Macdonald <richard@brainstorm.co.uk>.)

	* checks/Makefile.in (SRCS): Added NSData-test.m.

	* src/Decoder.m ([Decoder -decodeObjectAt:anObjPtr:name])
 	[CODER_OBJECT_REPEATED]: Retain the object before returning it by
 	reference.  (Reported by Richard Frith-Macdonald
 	<richard@brainstorm.co.uk>.)

	* src/NSHashTable.m (NSNonRetainedObjectHashCallBacks): Renamed
 	from NSNonRetainedObjectsHashCallBacks to conform to spec.
	* src/include/NSHashTable.h: Likewise.

	* src/Makefile.in (UNICODE_HEADERS): New variable.
	(DIST_FILES): Add UNICODE_HEADERS.
	(copy-dist): Create directory for unicode.

	* examples/Makefile.in (RCS_FILES): Added custom-zone.m.
	* examples/custom-zone.m: New file.

	* src/NSBundle.m ([NSBundle
 	+pathForResource:ofType:inDirectory:]): Change it from an instance
 	method to a class method, in order to conform to spec.
	* src/include/NSBundle.h ([NSBundle
 	+pathForResource:ofType:inDirectory:]): Likewise.
	* src/NSCharacterSet.m ([NSCharacterSet +_bitmapForSet:number:]):
 	Revert last change.

	* src/Makefile.in (GNUSTEP_HEADERS): Added include/NSHost.h.
	(GNUSTEP_MFILES): Added NSHost.m.

	* src/NSCharacterSet.m ([NSCharacterSet +_bitmapForSet:number:]):
 	Use NSBundle's pathForResource:ofType:inDirectory method properly.
  	(Reported by Stevo Crvenkovski <stevoc@lotus.mpt.com.mk>.)

Fri Apr 25 01:30:00 1997  Richard Frith-Macdonald <richard@brainstorm.co.uk>

	* src/NSBundle.m:
	Added missing methods to conform to OpenStep spec, also added
	[+ pathForResource:ofType:inDirectory:]

	* src/include/NSBundle.h:
	Added missing methods to conform to OpenStep spec.

Thu Apr 24 10:30:00 1997  Richard Frith-Macdonald <richard@brainstorm.co.uk>

	* src/Makefile.in: Added stuff to build and install the name
 	server (gdomap).

	* src/RunLoop.m: Minor change to ensure that repeated timers are
 	not lost.

	* src/TcpPort.m: Major changes to support use of a name server for
 	handling TCP port numbers and fix a few bugs.

	* src/gdomap.c: This is the name server source.

	* src/gdomap.h: This is the name server header file.

	* src/include/NSRunLoop.h: Added methods for monitoring file
 	descriptors.

Sat Mar 29 00:43:18 1997  Yoo C. Chung  <wacko@laplace.snu.ac.kr>

	* src/NSZone.m: New e-mail address.  Default default zone
	alignment problems fixed.

Sun Mar 23 19:55:19 1997  Mark Kettenis  <kettenis@phys.uva.nl>

	* src/Makefile.in: Update config.h.in in $(srcdir)/src/include.
	* configure.in: Look for config.guess in $(srcdir).

Sat Mar 22 18:25:43 1997  Mark Kettenis  <kettenis@phys.uva.nl>

	* src/NSDate.m ([NSDate +timeIntervalSinceReferenceDate]): Don't
	use struct timezone.
	([NSDate -timeIntervalSince1970]): New method.
	([NSDate -isEqual:]): Correct bug if other specifies a later date.

Sun Mar 23 22:14:21 1997  Stevo Crvenkovski  <stevoc@lotus.mpt.com.mk>

        * src/NSGString.m: New file Initial implementation of Unicode
        * src/include/NSGString.h : New file Interface for NSGString
        * src/NSGSequence.m: New file - class that deals with Unicode
 	composite character sequences
	* src/include/NSGSequence.h : New file Interface for NSGSequence
	* src/Unicode.m: New file - functions for Unicode
	* src/include/Unicode.h : New file
		
	* src/Makefile.in: Added NSGString.m, NSGString.h, NSGSequence.m,
 	NSGSequence.h, Unicode.m, Unicode.h
        
	* src/NSGCString.m ([NSGCString -length]): Method implemented.
	([NSGCString -characterAtIndex]): Changed to work
	with encodings
	([NSGCString -_baseLength]): private method for
	composite character sequences.
	([NSGCString -initWithString:]): CString implementation
	moved here from NSString.m

        * src/NSString.m : Changed NSString_concrete_class to NSGString
 	and NSMutableString_concrete_class to NSGMutableCString
	([NSString +stringWithCharacters]): Method implemented.
	([NSString -initWithCharacters:length:]): Method implemented.
	([NSString -stringByAppendingString]): changed for Unicode.
	([NSString -rangeOfString]): split method into 8 private _search*
 	methods and implemented full Unicode
	([NSString -compare:options:range:]): changed for Unicode.
	([NSString -isEqualToString]): changed for Unicode
	([NSString -description]): changed.
	([NSString -commonPrefixWithString]): changed for Unicode
	([NSString -capitalizedString]): changed for Unicode
	([NSString -lowercaseString]): changed for Unicode
	([NSString -uppercaseString]): changed for Unicode
	([NSString -getCString]): changed for Unicode
	([NSString -defaultCStringEncoding]): method implemented
	([NSString -_baseLength]): private method for composite
	sequences.
	([NSString -stringWithFormat:]): null terminate buffer.

 	*src/unicode : New directory - temporary holds data for unicode
 	functions.
        *src/unicode/caseconv.h : New file
        *src/unicode/cop.h : New file
        *src/unicode/cyrillic.h : New file
        *src/unicode/decomp.h : New file
	*src/unicode/nextstep.h : New file

Fri Feb 14 08:51:39 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m: Use [NSString -cStringNoCopy].

Wed Feb 12 13:51:42 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m (frealloc): memcpy() with proper size.

	* examples/custom-zone.m (custom_recycle): Release zone name.

	* src/NSZone.m (frealloc): Moved assignment out of a critical
 	block.

Tue Feb 11 22:55:05 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* examples/custom-zone.m: New file.

Sun Feb  9 20:28:00 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m (NSZoneRegisterRegion): New function.
	(NSDeregisterZone): New function.

	* src/include/NSZone.h: Added 'NSZoneRegisterRegion' and
 	'NSDeregisterZone'.

Thu Mar  6 08:57:29 1997  Scott Christley  <scottc@net-community.com>

	* src/NSString.m (-substringToIndex:): Should return
	characters upto but not including the one at index.
	(lastPathComponent, stringByDeletingLastPathComponent): Modify
	for -substringToIndex: change.
	(stringByDeletingPathExtension): Likewise.

Tue Mar 4 10:47:18 1997 Scott Christley <scottc@net-community.com>

	* src/NSBundle.m: Don't look in gnustep installation library
	directory; remove previous patch.
	* src/NSCharacter.m: Create bundle with path instead of using
	main bundle.
	* src/NSString.m (-stringByAppendingPathComponent:): Don't
	even check the length; only care if we found the string at
	the very last position.
	(-stringByAppendingPathExtension:): Likewise.
	* src/include/preface.h.in: Include NSObjCRuntime so that
	NSLog() is declared.
	* src/include/NSString.h (+stringWithContentsOfFile:): Add 
	missing declaration.

Thu Feb 27 13:46:10 1997  Scott Christley  <scottc@net-community.com>

	* configure.in: Fill out description of parameter.
	* src/Makefile.in (GNUSTEP_INSTALL_LIBDIR): Use quotes.
	* src/NSBundle.m: Add gnustep installation library directory
	to the directories searched.
	* src/NSCharacterSet.m (NSCharacterSet_PATH): Don't specify
	full path, just bundle directory.
	* src/NSRange.m (NSMakeRange): Correct prototype.
	* src/include/NSRange.h (NSMakeRange): Likewise.
	* src/NSString.m (stringByAppendingExtension:): The length
	will actually be zero if the period isn't found.
	(stringByAppendingPathComponent:): Likewise.

Tue Jan 21 17:09:09 CST 1997 Jeremy Bettis <Jeremy@hksys.com>

	* src/NSGCString.m: Add -appendString:.

	* src/include/NSString.h: Add +string.

	* src/NSString.m: (handle_printf_atsign) Take the description of
	the object before the cStringNoCopy.
	([NSString +allocWithZone:],[NSMutableString +allocWithZone:])
	Only return the concrete class if [self class] == NSString to
	allow subclassing.

Tue Mar  4 10:51:22 1997  Andrew McCallum  <mccallum@jprc.com>

	* src/NSConnection.m: New file.
	* src/include/NSConnection.h: Add copyright and fix method
 	declaration.

	* src/Connection.m ([Connection -registerName:]): New method.
	([Connection +newForInPort:outPort:ancestorConnection:]): Ask the
	delegate for permission to create the new connection.  We were
 	already doing it GNUstep-style.  Do it OpenStep-style also.

	* src/NSGArchiver.m ([NSGArchiver -archiverData]): New method.  No
 	implementation.

	The above was actually checked in May 3 1997.

	* src/Connection.m ([Connection
 	-forwardForProxy:selector:argFrame:]): In nested function
 	decoder(), always set IP to -1 after sending it -dismiss, i.e. in
 	both cases.  Fix the assertion at the bottom so that IP is allowed
 	to be nil, which will be the case when mframe_build_return() never
 	calls decoder(), which will happen when we are returning void.

	* src/Decoder.m ([Decoder -finishDecodingInterconnectedObjects]):
 	Comment fixes.

	* src/Proxy.m ([Proxy -awakeAfterUsingCoder:]): New method.
  	Needed otherwise we get an infinite loop with Decoder trying to
 	send this message to a Proxy.

Mon Mar  3 14:41:01 1997  Andrew McCallum  <mccallum@jprc.com>

	* doc/install.texi: Describe what happens when libieee.a isn't
 	available.

	* configure.in: Remove obsolete AC_C_CROSS.

	* doc/Makefile.in (TEXI_FILES): Added gnustep-zones.texi.

	* src/NSHost.m, src/include/NSHost.h: New files from Luke Howard
	<lukeh@xedoc.com.au>.

Tue Feb 25 17:12:52 1997  Scott Christley  <scottc@net-community.com>

	* configure.in: Add macro to determine host, build, and target.
	(whole_archive, no_whole_archive): Optional linker variables
	for specifying when the linker should include the whole archive.
	* configure: Regenerate for configure.in changes.
	* Makefile.in: Force targets.
	* config.sub: New file.
	* NSCharacterSets/Makefile.in: Use configure datadir variable.
	Install character set files in NSCharacterSets subdirectory
	within GNUstep library install dir.
	* checks/heap.m: random is rand on _WIN32.
	* checks/nscharacterset.m: New file
	* checks/Makefile.in: Add nscharacterset.m.
	Surround gnustep-base library with new linker variables.
	* checks/release.m: No malloc.h on _WIN32.
	* examples/Makefile.in: Surround gnustep-base library with
	new linker variables.
	* doc/Makefile.in: Use configure infodir variable.

	* src/NSFileManager.m: New file.
	* src/include/NSFileManager.h: New file.
	* src/Makefile.in: Add NSFileManager files.
	(GNUSTEP_INSTALL_LIBDIR): New definition.
	Use configure libdir and includedir variables.
	Use the LN_S variable for soft links.  Slightly modify creation
	of gnustep/base for platforms which don't support soft links.
	(install:): Install only the NEXTSTEP_HEADERS into objc directory
	and eliminate out-dated README file link.
	(uninstall:): Remove only NEXTSTEP_HEADERS out of objc directory.
	* src/NSCharacterSets.m (NSCharacterSet_PATH): Search for
	character set files in NSCharacterSets subdirectory within
	GNUstep library installation directory.

	* src/NSDate.m (-initWithTimeIntervalSince1970:): New method.
	(-timeIntervalSince1970): New method.
	* src/include/NSDate.h (-initWithTimeIntervalSince1970:): New method.
	(-timeIntervalSince1970): New method.

	* src/NSDictionary.m: Changed key datatype from NSString to
	NSObject to correspond with OpenStep specification.
	* src/NSGDictionary.m: Likewise.
	* src/include/NSDictionary.h: Likewise.
	(+dictionaryWithObjectsAndKeys:,...): Define method.

	* src/NSNumber.m (+numberWithLong:): Use correct class.

	* src/NSString.m (-description:): Just return self.
	(+stringWithContentsOfFile:): New method.
	(-componentsSeparatedByString:): Fix range calculation and
	make sure last component is added.
	(-appendString:): Don't attempt append if nil string.

	* src/NSUserDefaults.m (__changePersitentDomain:) Corrected
	spelling of method.

	* src/TcpPort.m (_socket): Rename to _port_socket to avoid conflict
	with hidden system variables.
	* src/include/TcpPort.h (_socket): Likewise.
	* src/UdpPort.m (_socket): Likewise.
	* src/include/UdpPort.h (_socket): Likewise.

	* src/include/NSObject.h: Include fake-main.h.

Thu Feb  6 09:20:05 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m (fcheck): Implemented.
	(fstats): Likewise.
	(ncheck): Likewise.
	(nstats): Likewise.

	* src/include/NSZone.h: New declarations of 'NSZoneRegisterChunk'
	and 'NSZoneChunkOverhead'.
	Include <objc/objc.h> instead of <objc/thr.h>.

	* src/NSZone.m: Removed 'outmemstr'.  Better reasons given when
	raising exceptions.
	(frecycle): Use objc_free().
	(nrecycle): Likewise.
	(NSCreateZone): Check allocation of 'zone'.
	(default_check): New function.
	(default_stats): Likewise.
	(fcheck): Likewise.
	(fstats): Likewise.
	(ncheck): Likewise.
	(nstats): Likewise.
	(NSZoneChunkOverhead): Likewise.
	(NSZoneRegisterChunk): Likewise.
	(NSZoneCheck): Likewise.
	(NSZoneStats): Likewise.
	(default_zone): Set the zone name to "default".

Wed Feb  5 21:29:23 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/include/NSZone.h (struct _NSZoneStats): New structure.
	(struct _NSZone): Added 'check' and 'stats'.
	(NSZoneCheck): New declaration.
	(NSZoneStats): Likewise.

Tue Feb  4 22:39:50 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m (nmalloc): Return NULL when size is 0.

Tue Feb  4 09:16:05 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m (NSSetDefaultMallocZone): New function.
	(get_chunk): Use objc_malloc() to get more memory.
	(nmalloc): Likewise.
	(NSCreateZone): Likewise.
	(NSSetZoneName): Removed locks.

	* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Don't
	check whether we're releasing an already deallocated object.

	* src/include/NSZone.h (struct _NSZone): Removed mutex.
	Removed NSZoneMemInUse().
	Added NSSetDefaultMallocZone().

	* src/NSZone.m: Changed comments.
	Uses objc_malloc() and friends for default zone.
	Moved mutex out of NSZone structure.
	Use mutex functions even in single threaded case.
	(NSZoneMemInUse): Removed.

Fri Jan 24 19:12:18 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m: Spell checked comments.

Tue Jan 21 13:31:11 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m (default_recycle): New function.
	(nrealloc): Likewise.
	(nfree): Likewise.
	(default_zone): Set common.recycle to default_recycle.
	(NSCreateZone): Set realloc and free for nonfreeable zone.

	* src/include/NSThread.h: Add comments.

	* src/NSThread.m ([NSThread -setExceptionHandler:]): Add comments.
	([NSThread -exceptionHandler]): Likewise.
	([NSThread +detachNewThreadSelector:toTarget:withObject:]): Set
 	entered_multi_threaded_state to YES.

Tue Jan 21 11:18:32 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* checks/thread-except.m: New file.

	* checks/Makefile.in (SRCS): Added thread-except.m.

	* src/NSAssertionHandler.m ([NSAssertionHandler +currentHandler]):
	Handle multiple threads.

	* src/NSException.m: Removed e_handlers.
	([NSException -raise]): Support multiple threads.
	(_NSAddHandler): Likewise.
	(_NSRemoveHandler): Likewise.

	* src/NSThread.m ([NSThread -init]): Init _exception_handler.
	([NSThread -exceptionHandler]): New method.
	([NSThread -setExceptionHandler:]): Likewise.

	* src/include/NSThread.h (NSThread): Added _exception_handler and
	new methods exceptionHandler and setExceptionHandler.

Mon Jan 20 09:46:00 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSException.m: Use linked list instead of NSArray.  Fit
	lines within 80 columns.

	* src/NSZone.m (nmalloc): Use CHUNKSIZE to get new block size
	instead of SIZE.

Mon Jan 20 00:15:39 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSAllocateObject.m: Include NSZone.h.

	* src/NSZone.m: Changed ffree_NSZone and nfree_NSZone to ffree_zone
 	and nfree_zone.  Changed lock functions return types to ints.
	(become_threaded): Set mutex functions.
	(NSZoneMemInUse): Properly check buffer.
	(nmalloc): Removed unnecessary declaration of block.
	(NSCreateZone): Moved assignment of block out of exception handled
 	area.
	(NSCreateZone): Fixed typo (objc_mutex_deallocate instead of
 	objc_mutex_dealloc).
	(NSZoneMemInUse): Consider cases when memory is in buffer.

 	* src/NSData.m ([NSData -description]): Frees malloced memory.

	* src/NSPage.m (NSAllocateMemoryPages): Return NULL if we fail to
 	allocate memory.

	* src/NSObject.m (NSShouldRetainWithZone): Check match for
	NSDefaultMallocZone().

Fri Jan 17 20:08:00 1997  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/o_x_bas.m.in (o_@XX@_zone): Use NSZoneFromPointer().
	(_o_@XX@_alloc_with_zone): Remove unnecessary assignment.

	* src/o_array.m (o_array_alloc): Use NSDefaultMallocZone().
	* src/o_hash.m (o_hash_alloc): Likewise.
	(o_hash_copy): Likewise.
	* src/o_list.m (o_list_alloc): Likewise.
	(o_list_copy): Likewise.

	* src/include/o_array.h (_o_array): Remove zone.  It's just a
	waste of space when we have a very fast NSZoneFromPointer().
	* src/include/o_hash.h (_o_hash): Likewise.
	* src/include/o_list.h (_o_list): Likewise.
	* src/include/o_map.h (_o_map): Likewise.

	* src/include/NSZone.h: New implementation.

	* src/include/NSPage.h: New file.

	* src/include/NSException.h (NS_HANDLER): Separate declaration and
 	assignment of localException.  This is to shut up gcc when we
 	don't use localException.

	* src/StdioStream.m ([StdioStream -dealloc]): Removed call to
 	fclose().

	* src/NSZone.m: New implementation.

	* src/NSDeallocateObject.m: Simplified.

	* src/NSAutoreleasePool.m:
	Included NSZone.h.
	([NSAutoreleasePool -dealloc]): Use NSZoneMemInUse().

	* src/Makefile.in (GNUSTEP_HEADERS): Added NSPage.h.

Sun Jan 12 13:46:38 1997  Andrew McCallum  <mccallum@cs.cmu.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.12.  There seems to be
	a problem with Richard's and my patches to distributed objects, but
	many other bug fixes have been added, NSZone has a complete
	re-write, -awakeAfterUsingCoder: is now called, and NSString is
	all cleaned up and ready to go.  Richard and I will work on fixing
	D.O. for the next release.

	* examples/second-client.m: Include <Foundation/NSString.h>
 	instead of <gnustep/base/String.h>.
	* examples/second-server.m: Likewise.
	* examples/first-client.m: Likewise.
	* examples/first-server.m: Likewise.

	Finish code necessary for versioning in CStreams and Coders.
	Test this code by actually making a new format for BinaryCStream;
	files created with the new format should be, on average, 4/5 the
	size of the previous ones, and it should be faster.  This is now
	the default format, but files created with the old format should
	still be readable.

	* src/BinaryCStream.m (PRE_SIZEOF_PREFIX_FORMAT_VERSION): New
 	macro for old version number.
	(CURRENT_FORMAT_VERSION): New macro.
	(DEFAULT_FORMAT_VERSION): Changed from 0 to 1.
	([BinaryCStream -_initForReadingFromPostSignatureStream:
	withFormatVersion:]): New method.
	([BinaryCStream -initForWritingToStream:swithFormatVersion:]): New
	method.
	(WRITE_SIGNED_TYPE0): Renamed from WRITE_SIGNED_TYPE.
	(WRITE_SIGNED_TYPE1): New macro.
	(WRITE_SIGNED_TYPE): New macro for choosing between them.
	(READ_SIGNED_TYPE0): Renamed from READ_SIGNED_TYPE.
	(READ_SIGNED_TYPE1): New macro.
	(READ_SIGNED_TYPE): New macro for choosing between them.
	(WRITE_UNSIGNED_TYPE0, WRITE_UNSIGNED_TYPE1, WRITE_SIGNED_UNTYPE,
	READ_UNSIGNED_TYPE0, READ_UNSIGNED_TYPE1, READ_UNSIGNED_TYPE):
 	Likewise.
	([BinaryCStream -encodeValueOfCType:at:withName:name]): Don't use
	`unsigned' as part of the argument to the *_UNSIGNED_TYPE macros,
 	because the macros now include that themselves.

	* src/CStream.m ([CStream -_initForReadingFromPostSignatureStream:
 	withFormatVersion:]): New method.
	([CStream +cStreamReadingFromStream:s]): Use it.
	([CStream -initForReadingFromStream:swithFormatVersion:]): Likewise.

	* src/include/BinaryCStream.h (BinaryCStream): Declare new ivars
 	for holding sizeof C types.

	* src/include/CStream.h: Declare designated method for reading.

	* src/include/NSProcessInfo.h: Include <gnustep/base/preface.h>

Sat Jan 11 16:34:57 1997  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/NSZone.m (NSCreateZone): Call initialize(), so that we won't
 	crash if someone tries to create an object before main() and
 	before initialize() gets called as a constructor.
	(NSDefaultMallocZone): Likewise.
	(initialize): Use a static variable to return immediately if we've
	been run already.

	* checks/string.m (main): Use NSDefaultMallocZone() instead of
 	NS_NO_ZONE.

Thu Jan  9 10:45:10 1997  Andrew McCallum  <mccallum@cs.cmu.edu>

	* checks/client.m: Include <Foundation/NSString.h> instead of
 	<gnustep/base/String.h>.
	(main): Use class NSString instead of String.

	* checks/server.m: Include <Foundation/NSString.h> instead of
 	<gnustep/base/String.h>.

	* src/objc/NXStringTable.h (STRVAL): Make it a macro instead of an
 	inline function to avoid warning.

	* src/NSPage.m (NSLogPageSize): Use NSPageSize() instead of
 	ns_page_size().
	(NSRoundDownToMultipleOfPageSize): Likewise.
	(NSRoundUpToMultipleOfPageSize): Likewise.

	* src/NSString.m ([NSString -copy]): Use NSDefaultMallocZone()
 	instead of NS_NO_ZONE.

	* src/NSCharacterSet.m ([NSCharacterSet +_bitmapForSet:number:]):
 	Remove last parameter from calls to [NSBundle pathForResource...].
  	The method doesn't exist.

	* src/NSBundle.m: Rearrange #include's a little.

	* src/Connection.m ([Connection
 	-_getReceivedReplyRmcWithSequenceNumber:]): Break if the RunLoop
 	returns NO.  (Reported by Richard Frith-Macdonald
 	<richard@brainstorm.co.uk>.)

	* src/NSDictionary.m ([NSDictionary
 	+dictionaryWithContentsOfFile:]): Method implemented.
	(From Scott Christley.)

	* src/NSString.m ([NSString -initWithFormat:arguments:]): Increase
 	BUFFER_EXTRA by a factor of 500.

	* src/Foundation/NSZone.h (ZoneLock): Don't prepend OBJC_MUTEX_T
 	with an underscore.

	* src/mframe.m (mframe_build_return): Change the way values of
 	type smaller than int are returned---don't offset into the int.
  	(Recommended by Richard Frith-Macdonald	<richard@brainstorm.co.uk>.)

Thu Jan  9 17:06:00 1996  Richard frith-Macdonald  <richard@brainstorm.co.uk>

        * src/NSTimer.m ([NSTimer -compare:]): Added an implementation of
 	'compare:' which compares timers by fire date.  This is required
 	for the timers to be kept in the correct order by the Heap in
 	Runloop.  Fixes a problem where a timer could be delayed
 	indefinately.

Wed Dec 04 12:39:24 1996  Scott Christley  <scottc@net-community.com>
 
 	* src/Makefile.sed.nt: remove Foundation directory if it exists
 	before installing header files.  Don't regenerate lex.sf.m.
 	* src/NSSet.m (-unionSet:): Implement method.
 	(-intersectSet:, -minusSet:): Implement methods.
 	* src/NSString.m (-initWithContentsOfFile:): Use Win32 specific
 	functions for file operations.
 	* src/md5.c: Include config header file.
 	* src/include/config-win32.h: vsprintf returns length on Win32.
 	* src/NSUser.m (NSHomeDirectoryForUser, NSUserName): Implement
 	Win32 specific versions.
 
Thu Nov 21 12:00:44 1996  Scott Christley  <scottc@net-community.com>
 
 	* src/include/NSDictionary.h (+dictionaryWithContentsOfFile:): New
 	method.
 	* src/proplist.l (COMMENT, LINE_COMMENT): Added lexical rules for
 	traditional C comments and ObjC line comments.  Add carriage
 	return '\r' as part of whitespace rules.
 	* src/lex.pl.m: Regenerated with proplist.l changes.
 	* src/proplist.tab.m: Likewise.
 	* src/NSArray.m (-sortedArrayUsingSelector:): Implemented.
 	(-sortedArrayUsingFunction:context:): Implemented.
 	(-sortUsingFunction:context:): Implemented.
 	* checks/nsarray.m: Add tests for sorting methods.

Tue Nov 19 09:06:00 1996  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

	* src/ConnectedCoder.m: Release packet after invoking
 	initialisation method of super which retains it.  To fix memory
 	leaks.

	* src/Connection.m (+rootProxyAtName:onHost:): Return nil if we
 	can't create port.
	(-forwardForProxy:selector:argFrame:): Modified to cooperate
 	better with mframe_build_return() so that the created decoder is
 	released reliably. Fixes a memory leak.
	(-_getReceivedReplyRmcWithSequenceNumber:): Added code to release
 	allocated NSDate object on exit - fixes a memory leak.

	* src/Decoder.m (-_coderCreateReferenceForObject:): Changed code
 	to release dummy object after insertion in array (which retains
 	it). fixes memory leak.

	* src/Encoder.m (-initForWritingToStream:withFormatVersion:
 	cStreamClass:cStreamFormatVersion:): Release stream after invoking
 	initialisation method of super which retains it.  To fix memory
 	leaks.

	* src/KeyedCollection.m (-dealloc): Added call to
 	NSDeallocateObject() to ensure that the memory used by the
 	enumerator is released.

	* src/RunLoop.m: Changed code to get timers to work correctly and
 	enabled timer support by default.  Fixed all the cases I could
 	spot where the '_current_mode' could be left in the wrong state.
  	Modified so that the object listening on a file descriptor need
 	not be the same as the object speaking on it.  Added code to
 	release the enumerator state information for Bags after use -
 	fixes memory leak.

	* src/mframe.m (mframe_build_return): Modified to cooperate better
 	with [Connection -forwardForProxy:selector:argFrame:].
	
Mon Jan  6 16:06:21 1997  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/NSDictionary.m ([NSDictionary -initWithContentsOfFile:]):
 	Implemented.  (By David Wetzel <dave@turbocat.de>.)

	* src/NSAssertionHandler.m [NSAssertionHandler
 	-handleFailureInMethod:object:file: lineNumber:description:]: Use
 	the FORMAT argument!  (Reported by Wolfgang Baron
 	<wbaron@ixpoint.de>.)

	* src/NSString.m ([NSString -hasPrefix:]): Fix logic to return
 	correct value.
	(Reported by David Wetzel <dave@turbocat.de>.)

	* src/NSString.m ([NSString -description]): Free DEST to prevent
 	memory leak!
	(Reported by Wolfgang Baron <wbaron@ixpoint.de>.)

	* src/NSException.m (_NSUncaughtExceptionHandler): Don't declare
 	it static.  (Reported by John Hethcox <johnhe@vnet.net>.)

	* src/BinaryCStream.m (BITSPERBYTE): If it hasn't been defined
 	after #include's guess that it's 8.

	* checks/nsscanner.m: Removed RCS keyword.

Sat Nov 16 23:39:11 1996  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSPage.m (NSLogPageSize): Fix logic to return correct value.

Wed Nov 13 16:27:39 1996  Adam Fedor  <fedor@wave.Colorado.edu>

	*  aclocal.m4 (OBJC_SYS_DYNAMIC_FLAGS): Check if executable needs
	dynamic ldflags.
	* checks/Makefile.in (LDFLAGS): Include dynamic ldflags.
	(BUNDLE_NAME.bundle): Add new Resources directory.

	* configure.in: Provide platform definition. Check DIR
	definitions.
	* src/Makefile.in (DEFS): Use platform definition.

	* src/NSBundle.m: Rewrite of NSBundle class to cache bundles and
	update searching of resources. _bundles and _releasedBundles are
	static NSMapTables for caching bundles.
	(bundle_object_name): Use executable name, if provided.
	(_bundle_resource_path): Use NSString methods.
	(_bundle_path_for_name): New function.
	([NSBundle -_bundleClasses]): New private method.
	([NSBundle +mainBundle]): Use NSString methods.
	([NSBundle +bundleForClass]): New search process using map
	tables.
	([NSBundle -initWithPath]): Likewise.
	([NSBundle -release]): New method.
	([NSBundle -retain]): New method.
	([NSBundle -retainCount]): New method.
	([NSBundle -dealloc]): Release new ivars.
	([NSBundle -classNamed:]): Search from new _bundleClasses ivar.
	([NSBundle -principalClass:]): New loading protocol.
	([NSBundle -_bundleResourcePathsWithDirectory:]): New method.
	([NSBundle -pathForResource:ofType:inDirectory:]): New search
	protocol.
	([NSBundle -pathsForResourcesOfType:inDirectory:]): New method.
	([NSBundle -localizedStringForKey:value:table:]): Implement.
	([NSBundle -resourcePath]): New method.
	([NSBundle -infoDictionary]): New method.
	([NSBundle -bundleVersion]): Removed.
	([NSBundle -setBundleVersion:]): Removed.
	* NSBundle.h: Add new ivars. Add new OpenStep methods, remove
	obsolete methods. New localization macros.

Wed Nov 13 14:10:00 1996  Richard Frith-Macdonald  <richard@brainstorm.co.uk>

        * src/Connection.m ([Connection +rootProxyAtName:onHost:]):
        Return nil if we fail to create a port for talking to a remote server.
        ([Connection forwardForProxy:selector:argFrame:]):
        Changes to ensure that ConnectedDecoder is correctly dismissed in the
	case where a DO method returns an object but does not have any
	parameter values returned.

        * src/mframe.m (mframe_build_return()):
	Cooperate with [Connection forwardForProxy:selector:argFrame:] so
	that it's callback function is called to tell it dismiss the
	ConnectedDecoder.

        * src/RunLoop.m ([RunLoop -limitDateForMode:]):
        Various changes to get timeouts working reliably.
	Ensure that _current_mode is restored correctly on exit.

        * src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]):
	Ensure that _current_mode is restored correctly on exit.

Wed Nov  6 11:59:08 1996  Adam Fedor  <fedor@boulder.Colorado.edu>

	* src/NSLog.m: New file
	* src/Makefile.in (GNUSTEP_MFILES): Add NSLog.m
	* src/include/NSObjCRuntime.h: Add NSLog definitions.
	
Mon Nov  4 12:30:05 1996  Adam Fedor  <fedor@wave.Colorado.edu>

	*  src/objc-load.c: Include <gnustep/base/config.h>.

Sat Sep 21 15:18:47 1996  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/NSZone.m: Use constructor attribute with initialize().

Thu Sep 19 22:09:08 1996  Yoo C. Chung  <wacko@power1.snu.ac.kr>

	* src/DelegatePool.m:
	Use NSDefaultMallocZone() instead of NS_NOZONE.
	* src/NSProcessInfo.m: Likewise.
	
	* src/NSObject.m:
	Use NSDefaultMallocZone() instead of NS_NOZONE.
	Use NSZoneFromPointer() instead of NSZoneFromPtr().
	
	* src/NSProcessInfo.m: Use NSDefaultMallocZone() instead of 0.
  	And cosmetic changes.

	* src/NSHashTable.m: Use NSDefaultMallocZone() instead of 0.
	* src/NSMapTable.m: Likewise.
	* src/o_map.m: Likewise.

	* src/NSPage.m:
	Use valloc() in NSAllocateMemoryPages().
	Cosmetic style changes.

	* src/NSZone.m: Complete rewrite.
	* src/include/NSZone.h: Extensive modifications.

Thu Dec  5 17:20:58 1996  Nick Christopher  <nwc@mindspring.com>

	* NSString.m  [NSString -componentsSeparatedByString]: Didn't
	handle strings with separators longer than a single character
	and in other cases.

	* stringsfile.l: The definition of LABEL needed expanding.

Sun Jan  5 17:41:37 1997  Andrew McCallum  <mccallum@cs.cmu.edu>

	Further changes for the NSString implementation.

	* src/NSGCString.m ([NSGMutableCString -insertString:atIndex:]):
 	Use -cStringNoCopy instead of the removed method
 	-_cStringContents.

	* src/include/Stream.h (StreamException): Change type to NSString
 	from id <String>.

	* src/include/NSUser.h (NSUserName, NSHomeDirectory,
 	NSDirectoryForUser): Change the return types from (char*) to
 	(NSString*).

	* src/include/NSUserDefaults.h (NSUserName, NSHomeDirectory,
 	NSDirectoryForUser): Declare them unconditionally; before it was
 	conditioned on NEXT_FOUNDATION.

	* src/include/NSArray.h: Don't include <gnustep/base/String.h>
	* src/include/Streaming.h: Likewise.
	* src/include/Port.h: Likewise.
	* src/include/Coder.h: Likewise.

	Changes to send -awakeAfterUsingDecoder, and to do the proper
	object substitution if necessary.

	* src/Decoder.m ([Decoder
 	+readSignatureFromCStream:csgetClassname:
 	nameformatVersion:version]): Better commented.
	([Decoder -_coderSubstituteObject:atReference:]): New method.
	([Decoder -_coderPushRootObjectTable]): Better commented.
	([Decoder -finishDecodingInterconnectedObjects]): Implement an
	approach to root-object-based -awakeAfterUsingCoder.
	([Decoder -decodeObjectAt:anObjPtr:name]): Send -awakeAfterUsingCoder:
	here.  First see if the object actually responds to it, then send
 	it and make the object substitution if necessary.  Also make the
 	appropriate substitution in Decoder's internal tables matching
 	references numbers to objects.

	* src/Encoder.m (DEFAULT_DEFAULT_FORMAT_VERSION): Renamed from
 	DEFAULT_FORMAT_VERSION, for clarity with variable by the same old
 	name.

	* checks/fref.m: Add comment and move around headers for easier
 	reading.

	* src/include/NSAutoreleasePool.h (init_autorelease_thread_vars):
 	Make it a macro instead of a static inline function.  This avoids
 	the warning with not optimizing.

	* checks/Makefile.in (CFLAGS): Remove -O, for easier debugging.
	(SRCS): Added awake.m.
	* checks/awake.m: New file, testing -awakeAfterUsingCoder:.

Sun Nov 24 09:20:47 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/NSString.m: Fixed `Caveats' comment.
	([NSString -commonPrefixWithString:options:]): Method implemeneted.
	([NSString -capitalizedString]): Method implemented.
	([NSString -lowercaseString]): Method implemented.
	([NSString -uppercaseString]): Method implemented.
	([NSString -stringByExpandingTildeInPath]): Method implemented.
	([NSString -stringByAbbreviatingWithTildeInPath]): Method implemented.
	([NSString -stringByStandardizingPath]): Method implemented.
	([NSString -_cStringContents]): Method removed.  All callers changed
	to use -cStringNoCopy.
	([NSString -objectAtIndex:]): Method removed.

	* src/include/NSString.h: Moved non-OpenStep methods aside, put
 	some under STRICT_OPENSTEP, others under NO_GNUSTEP.  Reordered
 	declarations to match.
	[NSString -_cStringContents]: Method removed.

	* src/ostream.m: Don't use old String methods; use NSString
 	methods.

	* src/include/NSString.h: Don't include <gnustep/base/String.h>
 	and <gnustep/base/IndexCollection.h>.
	[!NO_GNUSTEP]: Declare -cStringNoCopy.

	* src/UdpPort.m: Don't include <gnustep/base/String.h>

	* src/TextCStream.m ([TextCStream -decodeName:name]): Don't use
 	the non-existant +stringWithCStringNoCopy:.
	* src/Stream.m ([Stream -readLine]): Likewise.
	* src/MemoryStream.m ([MemoryStream -readLine]): Likewise.

	* src/NSString.m ([NSString -cStringNoCopy]): New method.

	* src/NSGCString.m ([NSGCString -emptyCopy]): Method removed.  It
 	was part of the Collecting protocol.
	([NSGMutableCString -emptyCopy:]): Likewise.

	* src/*.m, src/include/*.h: Substitute (NSString*) for (id
	<String>).

	* src/Makefile.in (GNU_MFILES): Remove CString.m,
 	ConstantString.m, MutableString.m, MutableCString.m, String.m.
	(GNU_HEADERS): Remove include/String.h.

	* src/NSString.m: Don't include <gnustep/base/String.h>.
	([NSString +initialize]): Don't use static variable to prevent getting
	run twice.

Mon Nov 18 11:30:39 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* STATUS: Removed classes NSBTreeBlock, NSBTreeCursor,
 	NSByteStore, and NSByteStoreFile since they are no longer part of
 	the OpenStep standard.

Sat Nov  2 15:39:56 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/Decoder.m ([Decoder
 	-_coderCreateReferenceForInterconnectedObject:]): Autorelease the
 	placeholder object to prevent memory leak.

	* src/Connection.m ([Connection
 	-forwardForProxy:selector:argFrame:]): Add an assertion that we
 	processed all arguments and dismissed the ConnectedCoder.

Thu Oct 31 11:54:42 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.11.

	* src/Makefile.in (DIST_FILES): Remove include/config-win32.sed.

	* src/NSString.m (HAVE_REGISTER_PRINTF_FUNCTION): Move definition
 	below #include's.

	* checks/nsnotification.m ([Observer -gotNotificationFoo:]): Don't
 	use %@ inside printf().
	([Observer -gotNotificationFooNoObject:]): Likewise.

	* checks/nshashtable.m (main): Avoid adding 0 to the hashtable,
 	because that is currently the o_hash_not_an_element_marker.

	* src/BinaryCStream.m ([BinaryCStream
 	-encodeValueOfCType:at:withName:name]): Use intermediate float
 	value.
	([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise.

	* src/stringsfile.y: Remove duplicated content.
	* src/stringsfile.l: Likewise.

	* src/StdioStream.m: Fix typo.  That's HAVE_STRERROR, not
 	HAS_STRERROR.

	* src/BinaryCStream.m ([BinaryCStream
 	-decodeValueOfCType:at:withName:]): Don't make float and double
 	`volatile'.  It conflicts with memcpy.
	([BinaryCStream -encodeValueOfCType:at:withName:name]): Likewise.

	* src/Makefile.in (DEFS): Add comment.

	* src/NSDictionary.m: Include Foundation/NSException.h to get
	NSInvalidArgumentException.

	* src/NSCalendarDate.m ([NSCalendarDate
 	-descriptionWithCalendarFormat:locale:]): Remove unused variables
 	MS and DS.  Avoid warning by not trying to sprintf() a zero-length
 	string.

	* src/include/NSZone.h: Include gnustep/base/config.h instead of
 	preface.h; otherwise we get a dependancy loop on the definition on
 	NSZone.
	* src/o_array.m: Include gnustep/base/preface.h first.

	* src/Makefile.in (HEADERS_INSTALL): Added include/config.h.
	(install): Don't install include/config.h specially, it's now done
	with the rest of the HEADERS_INSTALL files.
	(ALL_CPPFLAGS): Don't pass `-include include/config.h' since
	include/preface.h now does that.
	* src/include/preface.h.in: Include <gnustep/base/config.h>, and
 	do it first.

	* src/NSUser.m (NSUserName): Make is work for SOLARIS.  (Reported
 	by M. Decugis <mds@sepgifbr.sep.de.edf.fr>.)

	* src/NSUserDefaults.m ([NSUserDefaults -initWithUser:]): Don't
 	try to append to a immutable string!
	([NSUserDefautls +standardUserDefaults]): When creating a new
	defaults, return it, not nil!  (Reported by M. Decugis
	<mds@sepgifbr.sep.de.edf.fr>.)

	* src/BinaryCStream.m ([BinaryCStream
 	-encodeValueOfCType:at:withName:name]): Use memcpy() instead of
 	assignment to get the floats and doubles from the `at:' argument.
	([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, for
	setting the values.  (Reported by M. Decugis
 	<mds@sepgifbr.sep.de.edf.fr>.)

	* src/NSPage.m (getpagesize) [__SOLARIS__]: Define as macro making
 	proper sysconf call.  (Reported by M. Decugis
 	<mds@sepgifbr.sep.de.edf.fr>.)
	(NSPageSize): Remove the dependancy on __mach__ to a #define above.

	* configure.in: Use config/config.vsprintf.c to define
 	VSPRINTF_RETURNS_LENGTH.  Deal with different systems for which
	vsprintf() returns either the length or the char*.
	* Makefile.in (DIST_FILES): Added config/config.vsprintf.c.
	* config/config.vsprintf.c: New file.
	* src/include/preface.h.in (VSPRINTF_LENGTH): New macro;
 	definition depends on VSPRINTF_RETURNS_LENGTH.
	* src/MemoryStream.m ([MemoryStream -writeFormat:arguments:]): Use
 	VSPRINTF_LENGTH.
	* src/NSString.m ([NSString -initWithFormat:arguments:]): Likewise.
	* src/String.m ([String -initWithFormat:arguments:]): Likewise.
	([String -initWithCFormat:arguments:]): Likewise.
	* acconfig.h: Add VS_PRINTF_RETURNS_LENGTH.

	* src/RunLoop.m ([RunLoop -limitDateForMode:]): Bracket timer
 	firing with a retain/release of the MIN_TIMER.  (Reported by
 	Richard Frith-Macdonald <richard@brainstorm.co.uk>.)

	* Heap.m: Fix index comparisons.  (From Richard Frith-Macdonald
	<richard@brainstorm.co.uk>.)

	* src/include/RunLoop.h (RunLoop _mode_2_fd_speakers): New ivar.
	([RunLoop]): Added new methods for notification of readiness of file
	descriptors for reading and writing.  Done by Richard
 	Frith-Macdonald <richard@brainstorm.co.uk>.
	* src/RunLoop.m: Added implementation of new methods for
 	notification of readiness of file descriptors for reading and
 	writing.  Done by Richard Frith-Macdonald
 	<richard@brainstorm.co.uk>.
	* examples/first-server.m: Added test of RunLoop FD listening.
	Done by Richard Frith-Macdonald	<richard@brainstorm.co.uk>.

	* src/mframe.m (method_types_get_next_argument): Do weird argframe
 	workaround not just on m68k, but on all NeXT systems.  (Reported
 	by Richard Frith-Macdonald <richard@brainstorm.co.uk>.)

	* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): Fix
 	assignment of TIMEOUT.TV_USEC.  (Reported by Richard
 	Frith-Macdonald <richard@brainstorm.co.uk>.)

Wed Oct 23 11:19:05 1996  Scott Christley  <scottc@net-community.com>
 
	* src/Makefile.sed.nt: Link with ObjC runtime DLL library
	when making gnustep-base a DLL.
	* src/NSProcessInfo.m (main): Initialize network library for Win32.
	* src/RunLoop.m (-acceptInputForMode:beforeDate:): When determining
	which ports are ready for reading, don't assume that file
	descriptor for FD_ISSET is an integer.  Maintain list of ports
	we are listening to so that we check those exact ports when
	determining which are ready for reading.
	* src/TcpPort.m (invalidate): Use closesocket function on Win32.
	(_getPacketSize:andReplyPort:fromSocket:inPort:): Use recv instead
	of read for Win32 as read doesn't work for sockets.
	(_fillFromSocket:): Likewise.
	(_writeToSocket:withReplySockaddr:): Use send instead of write
	for Win32 as write doesn't work for sockets.
	* src/behavior.m: Don't directly access the ObjC runtime uninstalled
	dtable variable, use the public function instead.
	* src/objc-load.m: Likewise.
	* checks/Makefile.sed.nt:  Add specific targets for tcpport-server
	and tcpport-client.  Remove unneeded definitions.

Tue Oct 15 15:29:07 1996  Adam Fedor  <fedor@wave.Colorado.edu>

	* src/objc-load.c: Use gnu names for objc_load_modules and
 	objc_unload_modules functions as defined in header.  
	* src/include/objc-load.h (objc_load_modules, objc_unload_modules):
 	Use Class not Class*.

Fri Oct 18 10:45:10 1996  Scott Christley  <scottc@net-community.com>

	* Makefile.sed.nt: Always force gnustep/base target.
	* src/NSDate.m (+timeIntervalSinceReferenceDate): Use native
	Win32 functions to obtain current time.
	* src/Time.m (gettimeofday): Win32 implementation, not year
	2000 compliant so don't use it.
	* src/include/NSZone.h: Include preface.c so that NSZone gets
	configuration settings.

Wed Oct 16 10:01:23 1996  Scott Christley  <scottc@net-community.com>

	* checks/nsdate.m: New file.
	* src/NSCalendarDate.m: New file.
	* checks/Makefile.in: Add test program for NSDate classes.
	* src/Makefile.in (GNUSTEP_MFILES: Add NSCalendarDate.m.
	* src/NSDate.m: Eliminate use of NSConcreteDate.  Utilize the
	NSCalendarDate class for implementing some methods.
	* src/include/NSDate.h: Add NSCalendarDate interface.

Tue Oct  1 12:56:09 1996  Nicholas Christopher  <nwc@gun.com>

	* NSString.m: Implemented -initWithContentsOfFile: and
	-propertyListFromStringsFileFormat:.
	* stringsfile.l, stringsfile.y: New files.

Fri Oct 25 20:22:37 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/StdioStream.m (strerror) [!HAS_STRERROR]: New function from
 	Richard Frith-Macdonald <richard@brainstorm.co.uk>.
	* configure.in: Check for strerror().

Fri Sep 27 10:33:07 1996  Adam Fedor  <fedor@pulse.Colorado.edu>

	*  aclocal.m4 (OBJC_CON_AUTOLOAD): New macro. Explicit check for
	constructor loading.
	(OBJC_SYS_AUTOLOAD): Insert '_cv' in cache variable name to get it
	to cache correctly.
	(OBJC_SYS_DYNAMIC_LINKER): Use headers to determine linker. Check
	for libraries separately.
	(OBJC_SYS_DYNAMIC_FLAGS): Check to see if '-shared' load flag
	works (for DEC Alpha).

Thu Sep 26 12:39:18 1996  Adam Fedor  <fedor@pulse.Colorado.edu>

	*  src/ostream.m (ostream_close_memory): Change to
	OSTREAM_SAVEBUFFER constant.

Wed Sep 25 18:32:14 1996  Scott Christley  <scottc@net-community.com>

	* src/include/config-win32.sed: Delete file.
 	* src/include/config-win32.h: Changes for new config.h.in.
 	* configure.bat: Changes for new config.h.in.
 	* src/Makefile.sed.nt: Changes for new config.h.in.  Make sure
 	preface.h is created before creating gnustep/base directory.
 	* src/NSUserDefaults.m: Don't include header file for Win32.
 	* src/Time.m: Specialized time routines for Win32.

 	* src/Makefile.in (distclean): Remove generated files.
	* admin/example.patch: Remove CVS keywords.
	* src/NXStringTable.m: Likewise.
	* src/dld-load.h: Likewise.
	* src/hpux-load.h: Likewise.
	* src/include/objc-load.h: Likewise.
	* src/null-load.h: Likewise.
	* src/objc/NXStringTable.h: Likewise.
	* src/simple-load.h: Likewise.

Fri Oct 25 18:42:45 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/NSSet.m ([NSSet -anyObject]): Implemented.

	* src/NSDictionary.m ([NSDictionary
	  +dictionaryWithObjectsAndKeys:]): New method.

Wed Sep 25 08:47:33 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.10.

	* src/NSString.m ([NSString -initWithFormat:arguments:]): Fix bug
 	whereby multiple %@'s in the same format string created incorrect
 	output.

	* examples/second-client.m: Don't pass %@ directives to printf();
 	use %s and -cStringNoCopy instead.
	* examples/second-server.m: Likewise.

	* doc/install.texi: Add the installation step.

Tue Sep 24 11:20:06 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
 	Reverse order of subdir-cleaning and topdir-cleaning so that we
	don't force the Makefile to automatically run ./configure for us,
	(which sometimes happens in the wrong way).

	* src/NSString.m ([NSString -copy]): New method.  Now -copy sent
 	to strings should work.  (Added temporarily until this problem is
 	fixed by me overhaul of the string classes to separate Core and
 	NonCore methods.)
	* checks/string.m (main): Add tests for -copy and -mutableCopy.

	* src/ostream.m (ostream_open_memory): Cast (const char*) to
 	(char*) when passing to MemoryStream -init... method.

	* examples/second-client.m (main): Rename `exception' to
 	`localException'.  (Reported by Erich Stefan Boleyn
	<erich@uruk.org>.)

	* admin/HOWTO-patches: Update from libobjects terminology to
 	gstep-base terminology.

	* doc/install.texi: Mention specification of the GNU runtime in
 	the GNUstep-specific instructions.

	* configure.in: Warn the user that GNUstep doesn't work with the
 	NeXT Objective C runtime.

	* src/BinaryCStream.m: Check HAVE_VALUES_H before trying to
 	include <values.h>; use <sys/types.h> if we don't.
	* configure.in: Add check for <values.h> needed by
 	BinaryCStream.m.
  	(Reported by Gregor Hoffleit <flight@mathi.uni-heidelberg.de>.)

	* src/NSUserDefaults.m: Don't try to include NeXT's headers; just
 	include GNUstep headers.
	* src/include/NSUserDefaults.h: Likewise.
	(Reported by Gregor Hoffleit <flight@mathi.uni-heidelberg.de>.)

	* src/ostream.m (ostream_close_memory): Send -setFreeWhenDone:NO to
 	the MemoryStream, not -release.
	* src/MemoryStream.m ([MemoryStream -setFreeWhenDone:]): New
 	method.
	* src/include/MemoryStream.h: Declare new method.
	(Reported by Adam Fedor <fedor@wave.Colorado.edu>.)

	* aclocal.m4: Do forgotten renames of ac_cv_sys_dld and
	ac_cv_sys_autoload to objc_cv_sys_dld and objc_cv_sys_autoload.
	(Reported by Nick Christopher <nwc@wsc.com>.)

	* src/include/objc-gnu2next.h: Don't include
 	gnustep/base/objc-malloc.h.

	* src/NSSet.m ([NSMutableSet -addObjectsFromArray:]): Implemented.

Wed Sep 18 09:11:44 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.9.

	* src/NSString.m (HAVE_REGISTER_PRINTF_FUNCTION): Temporarily set
 	this to 0 until I figure out when register_printf_function's
 	output handler function takes `va_list' and when it takes
 	`void**'.

	* src/TcpPort.m: Use new ivar name eof_position, not old
 	eofPosition.

	* src/include/NSZone.h: Don't include gnustep/base/config.h.

Tue Sep 17 16:44:15 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/ostream.m (ostream_open_memory): Use new MemoryStream method
 	to specify that buffer should not be deallocated when MemoryStream
 	is deallocated.  Don't do the extra retain that was the previous
 	workaround.
	* src/MemoryStream.m: Rename all uses of ivar eof_position.
	([MemoryStream -_initOnMallocBuffer:freeWhenDone:size:
	eofPosition:prefix:position:]): Method name changed to include
 	freeWhenDone:.  Set new ivar.
	([MemoryStream -_initOnMallocBuffer:size:
	eofPosition:prefix:position:]): New method (with old name) that
 	calls above method with `YES' for freeWhenDone:.
	* src/include/MemoryStream.h: Declare new method.
	(MemoryStream free_when_done): New ivar.
	(MemoryStream eof_position): Ivar renamed from eofPosition, to
	conform to GNU coding standards.

	* src/Makefile.in (GNU_MFILES): Rename objc_streams.m to
 	ostream.h.
	(GNU_HEADERS): Rename objc_streams.h to ostream.h.
	* src/ostream.m: File renamed from src/objc_streams.m.  Fix
	copyright date, and make minor formatting changes.
	* src/ostream.h: File renamed from src/objc_streams.h.  Fix
	copyright date, and make minor formatting changes.

	* src/MemoryStream.m (MEMORY_CHECK): Macro deleted.  objc_malloc()
 	and friends take care of raising the correct exception.  All calls
 	removed.

Tue Sep 17 11:43:23 1996  Adam Fedor  <fedor@pulse.Colorado.edu>

	* src/Makefile.in (GNU_MFILES): Add new file.
	(GNU_HEADERS): Likewise.

	* src/MemoryStream.m ([MemoryStream
	-initWithSize:prefix:position:]): Add error checking. 
	([MemoryStream -writeBytes:length:]): Likewise. 
	([MemoryStream -setStreamBufferCapacity:]): Likewise.  
	* src/StdioStream.m ([StdioStream -initWithFilename:fmode]): Add
	error checking. 
	([StdioStream -initWithFileDescriptor:fmode]): Likewise. 
	([StdioStream -writeBytes:length:]): Likewise.
	([StdioStream -readBytes:length:]): Likewise.

	* src/Stream.m ([Stream -writeFormat:]): Implement.
	([Stream -setStreamPosition:]): Likewise.
	* src/MemoryStream.m ([MemoryStream -writeFormat:arguments:]):
 	Implement instead of writeFormat:. ([MemoryStream
	-setStreamPosition:seekMode:]): Implement instead of
	-setStreamPostion:. 
	* src/StdioStream.m ([StdioStream -writeFormat:arguments:]):
 	Implement instead of writeFormat:. ([StdioStream
	-setStreamPosition:seekMode:]): Implement instead of
	-setStreamPostion:.

	* src/objc_streams.m: New file.
	* src/base/objc_streams.h: New file.

	* src/base/Stream.h: Declare new exception.
	* src/Stream.m: Define it.

	* src/base/Streaming.h: Add new enum type. Add
	-setStreamPostion:seeMode: to protocol.

Tue Sep 17 10:33:31 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* doc/install.texi: Fix typo in use of @code{}.

	* src/md5.c: Don't include config.h.

	* Makefile.in (DIST_FILES): Added contents of RCS_FILES.  Added
 	acconfig.h.
	(RCS_FILES): Variable removed.

	* doc/gnustep-faq.texi: Cause the time stamp to be updated
 	automatically by Emacs.

	* src/NSScanner.m ([NSScanner -scanRadixUnsignedInt:]): New
 	method.
	([NSScanner -_scanInt:]): Deal with overflow better.  (?)
	([NSScanner -scanLongLong:]): Likewise.
	* src/include/NSScanner.h: Declare new method.
	* checks/nsscanner.m: Test new method, -scanRadixUnsignedInt:.
	Changes from Eric Norum <Eric.Norum@usask.ca>.

	* src/NSObject.m ([NSObject -doesNotRecognizeSelector:]): Raise
 	NSInvalidArgumentException, not NSGenericException.  (Reported by
 	Jeremy Bettis <jeremy@tddi.inetnebr.com>.)

Mon Sep 16 20:11:54 CDT 1996  Jeremy Bettis  <jeremy@hksys.com>

	* src/HashTable.m ([HashTable -isKey]): Updated isKey to use the new
	hash_value_for_key function in the runtime, and thereby allow for
	nulls in HashTables.

Mon Sep 16 15:08:42 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* aclocal.m4 (DYNAMIC_LINKER): Put double quotes around some
 	$-variable dereferences.  (Reported by Richard Frith-Macdonald
 	<richard@brainstorm.co.uk>.)

	* src/o_vscanf.c: Include <objc/objc-api.h>.  (Reported by Richard
 	Frith-Macdonald <richard@brainstorm.co.uk>.)

	* src/include/preface.h.in: Don't include gnustep/base/config.h.
  	Note, this file used to define NeXT_runtime and NeXT_cc.  These
 	macros will no longer be available to library users.

	* src/include/config.h.in: File removed.  It is not automatically
	generated by autoheader in src/Makefile.

	* src/o_vscanf.c: Don't include no-longer-existant
 	gnustep/base/objc-malloc.h.  (Reported by Adam Fedor.)

	* src/Makefile.in (include/config.h.in): New dependancy.
	(include/config.h): New dependancy.
	(ALL_CPPFLAGS): Added -include argument to have gcc look at
	include/config.h.  It is no longer included in include/preface.h
 	because other packages that use the installed Base Library may
 	have their own ideas about these macro values.

	* acconfig.h: New file, needed for autoheader.

	* configure.in: Use AC_CONFIG_HEADER to put config macros in a
 	file instead of on gcc's command line.  Use AC_DEFINE_UNQUOTED to
 	set NeXT_runtime and NeXT_cc instead of using AC_SUBST.

	* make-dist-diff (diff): Add -N flag so new files will get
 	created.

Sat Sep  7 13:37:32 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.8.

	Beginning of changes related to use of new Objective C runtime.

	* Makefile.in (DIST_FILES): Remove gcc-objc.patch.  Add
 	gcc-2.7.2-objc.diff and gcc-2.7.2.1-objc.diff.

	* configure.in: Insert -lobjc before rest of LIBS, not after.

	* src/include/NSThread.h: Remove underscore from front of
 	objc_thread type.

	* src/NSObject.m: Remove underscores from front of objc_mutex
 	types.
	([NSObject -error:]): Use objc_verror(), not _objc_error.

	* doc/install.texi: Refine instructions for installing pthreads.
  	Wow, is it yucky.

	* configure.in: Remove check for sel_types_match.  That patch was
 	added long ago.

	* src/include/preface.h.in (OBJC_STRINGIFY): New macro.

	* src/include/preface.h.in: Don't include objc-malloc.h.

	* src/Foundation/NSLock.h: Remove underscore from before
 	objc_mutex_t.

	* src/include/preface.h.in (OBJC_MALLOC): Macro moved here from
 	src/include/objc-malloc.h.
	(OBJC_VALLOC): Likewise.
	(OBJC_ATOMIC_MALLOC): Likewise.
	(OBJC_REALLOC): Likewise.
	(OBJC_CALLOC): Likewise.
	(OBJC_FREE): Likewise.

	* src/mframe.m: Don't include objc-malloc.h.
	* src/RNGAdditiveCongruential.m: Likewise.
	* src/NSAutoreleasePool.m: Likewise.
	* src/MemoryStream.m: Likewise.
	* src/AutoreleasePool.m: Likewise.

	* src/Makefile.in (GNU_MFILES): Remove objc-malloc.m.
	(GNU_HEADERS): Remove include/objc-malloc.h.

	* src/mframe.m (mframe_build_return): In accordance with Objective
 	C runtime change, use objc_malloc as a function, not a function
 	pointer.
	* src/behavior.m (behavior_class_add_methods): Likewise.
	* src/Storage.m ([Storage -initCount:elementSize:description:]):
	Likewise.
	([Storage -shallowCopy]): Likewise.
	([Storage -read:]): Likewise.
	* src/Storage.m ([Storage -initCount:elementSize:description:]):
	Likewise.
	* src/NSMutableData.m ([NSMutableData -initWithCapacity:]): Likewise.
	* src/NSGData.m ([NSGMutableData -initWithCapacity:]): Likewise.
	* src/NSData.m ([NSMutableData -initWithCapacity:]): Likewise.
	* src/NSAutoreleasePool.m ([NSAutoreleasePool -init]): Likewise.
	([NSAutoreleasePool -addObject:]): Likewise.
	* src/MemoryStream.m ([MemoryStream -readLine]): Likewise.
	* src/Invocation.m ([Invocation -initWithCoder:]): Likewise.
	* src/o_vscanf.c (STRING_ARG): Likewise.
	(STRING_ADD_CHAR): Likewise, with objc_realloc.
	* src/NSZone.m: Likewise.
	* src/Storage.m: Likewise.
	* src/MemoryStream.m ([MemoryStream -writeBytes:length:]): Likewise.

	* doc/install.texi: Update instructions for new Objective C
 	runtime patches and for new pthreads.

	* RELEASE-NOTES: Talk about need for new Objective C runtime to
	compile this release.

	End of changes related to use of new Objective C runtime.

	* config.guess: New version from FSF.

	* doc/Makefile.in: Added some pattern rules, but commented them
 	out for now.

	* src/NSGCString.m ([NSGCString -substringFromRange:]): Don't
 	always return a mutable string class; return the same
 	mutable/immutable string class as self.  This also simplies the
 	code.

	* src/NSGCString.m ([NSGCString -substringFromRange:]): New
 	method, overrides superclass method with more efficient
 	implementation.  (From Eric Norum.)

	* src/NSScanner.m: Now that NSCharacterSet's does its own caching,
 	simplify this code.
	(Changes from Eric Norum <Eric.Norum@usask.ca>.)

	* src/NSCharacterSet.m (NSCharacterSet_PATH): New macro, replacing
 	BITMAP_PATH.  Value partially determined by
 	GNUSTEP_INSTALL_PREFIX.

	* configure.in: Use AC_CHECKING instead of `echo', so ./configure
 	obeys --quiet and --silent.

	* src/Makefile.in (DEFS): Add definition of
 	GNUSTEP_INSTALL_PREFIX, equal to $(prefix).  This is needed by
 	NSCharacterSet, so it knows where to find the char set data files.

Thu Aug  1 10:42:19 1996  Adam Fedor  <fedor@wave.Colorado.edu>

        *  src/NSCharacterSet.m ([NSCharacterSet -_bitmapForSet:number:]):
        Retain cached set.

Wed Sep  4 11:29:31 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* doc/gnustep-faq.texi (Why don't we separate the OpenStep
 	standard classes from the GNU-specific classes?): New Q/A pair.
	(Where can I get a copy?): Removed reference to Rochester's FTP site,
	which will no longer be used, now that I'm at CMU.

Mon Sep  2 10:00:05 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.7.

	* checks/nsbundle.m: Use new exception variable name.
	* checks/values.m: Likewise.

	* src/NSString.m ([NSString -substringFromRange:]): Implement it
 	using CString's for now so we can get it working; (we'll fix
 	everything for Unichar's in the next release).

	* checks/nsscanner.m: New file from Eric Norum.

	* Version: Remove spaces around `=' so file can be
 	read by sh.
 	(VERSION): Use curly braces for sh.

	* src/NSString.m ([NSString -substringFromRange:]): Fix bug in
 	references to string length.

	* src/NSGArray.m: Declare NonCore classes.

	* src/NSCharacterSet.m ([NSCharacterSet +_bitmapForSet:number:]):
 	Add an abort() after raising the exception, to avoid gcc warning.

	* Makefile.in (clean): Fix dependancies so we actually clean-top,
 	not mostlyclean-top.
	(distclean): Analogously.
	(maintainer-clean): Analogously.

Tue Aug 27 13:38:14 1996  Adam Fedor  <fedor@pulse.Colorado.edu>

	* src/Connection.m ([Connection -_service_forwardForProxy]): Use
 	new exception variable name.
	* src/NSCharacterSet.m: ([NSCharacterSet -_bitmapForSet:number:]):
	Likewise

Sat Aug 24 16:41:01 1996  Adam Fedor  <fedor@pulse.Colorado.edu>

	* src/include/NSException.h (NS_HANDLER): Change local exception
 	variable name.

Wed Jul 17 16:04:29 1996  Adam Fedor  <fedor@wave.Colorado.edu>

	*  NSCharacterSet.m: Cache standard character
	sets. ([NSCharacterSet +initialize]): New method.
	([NSCharacterSet _bitmapForSet:number:]): Return set from cache if
	available, otherwise find bitmap file and add to cache.  All
	callers changed.

Mon Sep  2 09:23:46 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/NSString.m ([NSString -substringFromRange:]): Raise correct
 	exceptions.

	* src/Makefile.in (install): Make a soft link from
 	`$(includedir)/gnustep/base' to `$(includedir)/objc' the same way
 	we do for `$(includedir)/Foundation'.

	* src/NSString.m ([NSString -getCharacters:range:]): Fix bug in
 	buffer index.
	(Reported by Eric Norum <Eric.Norum@usask.ca>.)
	([NSString -rangeOfString:aStringoptions:maskrange:aRange]):
	Implemented.  (By Eric Norum.)

	* src/NSUser.m: Include <Foundation/NSPathUtilities.h>.

Sun Aug 25 16:12:49 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* checks/Makefile.in (SRCS): Added nsscanner.m from Eric Norum.

	* src/NSScanner.m: Fix indentation.
	([NSScanner +scannerWithString:]): Rewrite to avoid unnecessary
	local variable.
	([NSScanner -initWithString:]): Call [super init].
	([NSScanner -_scanCharactersFromSet:intoString:]): Method renamed to
	put underscore at the beginning, not in the middle of the method
 	name.  All callers changed.
	([NSScanner -_skipToNextField]): Likewise.
	([NSScanner +localizedScannerWithString:]): New method, unimplemented.
	([NSScanner -scanDouble:]): Initialize `unichar c' to avoid warning.
	([NSScanner -scanLongLong:]): Don't compare with -(LONG_LONG_MIN),
	this number is out of range since, in two-complement arithmetic,
 	we have one more negative number than positive numbers.
	* src/include/NSScanner.h: Include <gnustep/base/preface.h>.  Fix
 	indentation.  Standarize #define wrapper symbol.

	* src/NSScanner.m, src/include/NSScanner.h: New files from Eric
	Norum. 

Sun Aug 11 10:54:49 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/NSUser.m (NSHomeDirectory): Use NSHomeDirectoryForUser
 	instead of the HOME environment variable.

	* src/NSUserDefaults.m: #include <Foundation/NSPathUtilities.h> to
 	get declarations for NSUser* functions.
	(NSUserName): Function removed; it can already be found in
	NSUser.m.
	(NSHomeDirectory): Likewise.
	(NSHomeDirectoryForUser): Likewise.

	* doc/Makefile.in: Fix typo: properly comment out section.

	* doc/gnustep-faq.texi: English fixes, and move NSScanner to
 	`implemented' list.

	* doc/install.texi: English fixes, and mention --enable-shared
 	with Base Library configure directions.

	* README.foundation: Add note about making a soft link, instead of
 	adding #ifdef's to the code.

	* NSBundle.README: Change name from libobjects to GNUstep Base
 	Library.
	* README.first: Likewise.

Wed Aug  7 09:06:10 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/mframe.m (mframe_build_return): Remove comment about users
 	responsibility to free returned char*'s; it's no longer true.

Mon Aug  5 11:25:30 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/include/NSArray.h: Remove declaration of NonCore classes;
 	just the category is sufficient.

Mon Sep  2 09:11:34 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/mframe.m: Use gcc's __builtin_return smarts to find location
 	of `char' and `short' return values; don't use my (possibly wrong)
 	guesses.
	(retframe_char): New nested function.
	(retframe_short): New nested function.
	(mframe_do_call) [_C_CHR, _C_UCHR]: Use retframe_char.
	[_C_SHT, _C_USHT]: Use retframe_short.

	* src/NSObject.m ([NSObject -isKindOfClass:]): Fix formatting.

Fri Aug 30 17:00:29 1996  Andrew McCallum  <mccallum@cs.cmu.edu>

	* src/Dictionary.m ([Dictionary -removeObject:]): Implemented
 	method.  (Needs testing!)

Thu Jul 11 21:12:41 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.6.

Tue Jun 25 12:56:01 1996  Scott Christley  <scottc@ocbi.com>

	* NSCharacterSets/Makefile.in: Remove Makefile when distclean.
	* admin/Makefile.in: Likewise.
	* checks/Makefile.in: Change realclean target to maintainer-clean.
	* doc/Makefile.in: Likewise.
	* examples/Makefile.in: Likewise.
	
	* Makefile.in: Clean the subdirectories first before the top
	level directory to avoid configuration loop.

	* checks/Makefile.sed.nt: Change name of runtime initialization
	routine to use standard "_init_runtime" suffix.
	* checks/nsarchiver.m: Likewise.
	* checks/nsarray.m: Likewise.
	* src/win32-entry.c: Likewise.
	* src/Makefile.in: Likewise.  Clean additional files.

	* src/NSDate.m: Use __WIN32__ macro instead of WIN32.
	
	* src/NSTime.m: Implement Win32 specific time routines.
	* src/include/config-win32.h: Likewise.

Fri Jun 21 16:45:31 1996  Scott Christley  <scottc@ocbi.com>

	* configure.bat: New filenames for Win32 configuration.
	* src/Makefile.in: (DIST_FILES): Add Win32 configuration files:
	src/include/config-win32.sed, src/include/config-win32.h.
	* src/BinaryCStream.m: Rename WIN32 to __WIN32__ to conform
	to ANSI specifications.  Perform any WIN32 customization.
	* src/NSBundle.m: Likewise.
	* src/NSPage.m: Likewise.
	* src/NSProcessInfo.m: Likewise.
	* src/NSUser.m: Likewise.
	* src/NSRunLoop.m: Likewise.
	* src/TcpPort.m: Likewise.
	* src/UdpPort.m: Likewise.
	* src/find_exec.c: Likewise.
	* src/include/TcpPort.h: Likewise.
	* src/include/Time.h: Likewise.
	* src/include/config-nt.sed: Renamed to config-win32.sed.
	* src/include/config-nt.h: Renamed to config-win32.h
	
Thu Jul 11 08:20:34 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Remove
 	untrue assertion that SELF be this thread's current pool.
	(Reported by Adam Fedor.)

	* checks/Makefile.in (LIBS): Remove -lmcheck.

	* Version (SUBMINOR_VERSION): Version 0.2.5.

	* doc/news.texi: Fix typo, replace @ with @@ in email address.

	* Version (SUBMINOR_VERSION): Version 0.2.4.

	* src/NSString.m (PRINTF_ATSIGN_VA_LIST): Reverse sense of test.
  	This macro should be defined if libc version is *less than* 5.2.

	* examples/dictionary.m: Long-overdue update for new collection
 	heirarchy.
	* examples/textcoding.m (main): Fix typo in comment.
	* examples/second-server.m: Add comments.
	* examples/second-client.m (main): To avoid warnings: make SERVER
 	static; get rid of unused variable.
	* examples/Makefile.in (CFLAGS): Added -Wno-format so we don't get
 	complains about the %@ printf directive.

	* doc/news.texi: Add news about NSUserDefaults, thread-safety, @%,
 	and NSPage.
	* doc/readme.texi: Update description of classes, although the
 	list is still incomplete.

Wed Jul 10 16:28:14 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* doc/gnustep-faq.texi: New Q/A about mixing Objective C and C++.
  	Include base-desc.texi for description of Base Library.  Update
 	"state of development for Base Library.  Correct description of
 	NeXT's archiving.  Add ocbi.com ftp site.
	* doc/base-desc.texi: Improve list of example classes.
	* doc/announce.texi: Fix comments about NeXT's cc.
	* doc/machines.texi: Label as out-of-date.
	* doc/advertisement.texi: Comment out inclusion of machines.texi.

	* src/NSUserDefaults.m: Fix source to avoid warnings.

	* src/NSUserDefaults.m: New file from Georg Tuparev.
	* src/include/NSUserDefaults.h: Likewise.
	* src/NSUserDefaults.m, src/include/NSUserDefaults.h: Fix
	formatting to conform to GNU standards.
	* src/Makefile.in (GNUSTEP_MFILES): Added NSUserDefaults.m.
	(GNUSTEP_HEADERS): Added include/NSUserDefaults.h.

Tue Jul  9 20:05:16 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* doc/install.texi: Enumerate the steps, and various other
 	corrections.

	* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): Free
 	fd_2_object before returning in case where select() returned 0.
  	(Reported by Marc Decugis <mds@sepgifbr.sep.de.edf.fr>.)

Mon Jul  8 21:55:11 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (SUBMINOR_VERSION): Version 0.2.3.

	* src/Invocation.m ([ArgframeInvocation -dealloc]): Release
 	arguments depending on ARGS_RETAINED, not RETURN_RETAINED.

	* checks/release.m: New file.
	* checks/Makefile.in (SRCS): Added release.m.

	* src/o_map.m (o_map_remove_node): Function renamed from
 	o_map_remove_node_from_its_map().  Free the node after removing
 	it!  Otherwise, memory leaks and leaks!
	* src/NSObject.m (NSDecrementExtraRefCountWasZero): Call renamed
 	function for removing node.

	* src/NSAutoreleasePool.m (push_pool_to_cache): Avoid unnecessary
 	test.
	(pop_pool_from_cache): Don't bother conditionally initializing the
	cache; it will always be initialized when we are here.
	([NSAutoreleasePool -dealloc]): Add assertion.
	([NSAutoreleasePool -reallyDealloc]): New method.

Tue May 28 15:39:36 1996  Adam Fedor  <fedor@wave.Colorado.edu>

        * checks/nsmaptable.m: Check for nil map element.

        * src/Invocation [Invocation -dealloc]: Release return_value
        only if return_retained.
        [ArgframeInvocation -dealloc]: Likewise.

Sat Jul  6 09:03:25 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (SUBMINOR_VERSION): gnustep-base version 0.2.2.

	* doc/install.texi: Describe installation of pthreads.

	* src/NSObject.m ([NSObject +initialize]): Use
 	o_map_with_callbacks(), instead of the short-cut function
 	o_map_of_non_owned_void_p_to_int().

	* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): Add
 	comment about arbitrary fd port limit.  Fix this eventually.

	* checks/tcpport-client.m (main): When argc == 1, pass nil for
 	hostname instead of @"localhost".

	* checks/string.m (main): Add test of copyWithZone.

	* src/TcpPort.m ([TcpOutPacket
 	-_writeToSocket:withReplySockaddr:]): Use memcpy() instead of
 	cast; some systems have trouble with the cast due to alignment
 	issues.  (Reported by Marc Decugis <mds@sepgifbr.sep.de.edf.fr>.)
	([TcpInPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]):
	Likewise.

	* configure.in: Clean up echo'ed message for shared library flags.

	* gcc-objc.patch: New objc runtime patch from Scott Christley.
	* Makefile.in (DIST_FILES): Include gcc-objc.patch instead of
 	objc.patch.
	* doc/install.texi: Update instructions for new objc runtime
 	patch.

	* src/Foundation/NSAutoreleasePool.h: Include <string.h> for
 	memset().

	A first attempt at making NotificationDispatcher thread-safe.
	* src/NotificationDispatcher.m ([NotificationDispatcher -init]):

 	Create _LOCK.
	([NotificationDispatcher -dealloc]): New method.
	([NotificationDispatcher
	-_addObserver:notificationRequest:name:object:]): Use _LOCK to
 	provide thread-safety.  Lock around all access to ivars.
	([NotificationDispatcher -removeObserver:]): Likewise.
	([NotificationDispatcher -removeObserver:name:object:]): Likewise.
	([NotificationDispatcher -postNotification:]): Likewise.  All
	Notification postings are serialized.  If this weren't true, the
 	user would have to worry about all kinds of thread-safety issues
 	in unpredictable ways, because there is no way to tell what other
 	objects have asked for notification postings.
	* src/include/NotificationDispatcher.h (NotificationDispatcher
 	_lock): New ivar.

	Fix error that occurs when using a TcpOutPort that was created
	with a default hostname.

	* src/TcpPort.m ([TcpInPort +newForReceivingFromPortNumber:]):
 	Terminate the hostname at the first dot before looking up with
 	gethostbyname().  If gethostbyname() fails, don't try again with
 	"localhost"; signal an error instead.
	([TcpOutPort +newForSendingToPortNumber:onHost:]): When HOSTNAME is
	empty or nil, don't use "localhost", look up the name of the local
 	machine, and use that.  Before this change we could easily get
 	"Can't change reply port of an out port once set" errors.

Fri Jul  5 08:59:26 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Use more-efficient o_map instead NSMapTable for retain counts.

	* src/NSObject.m (retain_counts): Make it an o_map instead of
 	NSMapTable; (o_map is more efficient).
	(NSIncrementExtraRefCount): Use o_map interface.
	(NSDecrementExtraRefCountWasZero): Likewise.
	([NSObject +initialize]): Likewise.
	([NSObject -retainCount]): Likewise.

	* src/o_map.m (o_map_node_for_key): New function, non-static, for
 	efficient implementation of NSObject retain count management.
	(o_map_remove_node_from_its_map): Likewise.

Thu Jul  4 21:00:42 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Make -retain/-release counts thread-safe.

	* src/NSObject.m (retain_counts_gate): New static variable, mutex
 	for protecting RETAIN_COUNTS.
	(NSIncrementExtraRefCount): Use it.
	(NSDecrementExtraRefCountWasZero): Likewise.
	([NSObject -retainCount]): Likewise.
	([NSObject +initialize]): Allocate RETAIN_COUNTS_GATE.

Tue Jun 11 14:50:20 1996  Andrew McCallum  <mccallum@pad>

	Make NSAutoreleasePool thread-safe.

	* src/include/NSAutoreleasePool.h (struct
 	autorelease_thread_vars): New structure declared.
	(struct autorelease_cache): Structure declaration removed.
	(init_autorelease_thread_vars): New static inline function.

	* src/NSAutoreleasePool.m (ARP_THREAD_VARS): New macro for
 	accessing NSAutoreleasePool's per-thread variables.
	(current_pool): Static variable removed. 
	(total_autoreleased_objects_count): Likewise.
	(autorelease_pool_cache): Likewise.
	(autorelease_pool_size): Likewise.
	(autorelease_pool_count): Likewise.
	(push_pool_to_cache): Add (struct autorelease_thread_vars*) argument.
	All callers changed.
	(pop_pool_from_cache): Likewise.
	(push_pool_to_cache): Likewise.
	(init_pool_cache): New function.
	([NSAutoreleasePool +initialize]): Don't initialize the
	autorelease_pool_cache here.
	([NSAutoreleasePool +init]): Use per-thread variables.
	([NSAutoreleasePool -autoreleaseCountForObject:]): Likewise.
	([NSAutoreleasePool -currentPool:]): Likewise.
	([NSAutoreleasePool +currentPool:]): Likewise.
	([NSAutoreleasePool -addObject:]): Likewise.
	([NSAutoreleasePool +addObject:]): Likewise.
	([NSAutoreleasePool -dealloc:]): Likewise.
	([NSAutoreleasePool +totalAutoreleasedObjects:]): Likewise.  This
	return value is now only a per-thread count.
	([NSAutoreleasePool +resetTotalAutoreleasedObjects:]): Likewise.

	* src/include/NSThread.h: Make the ivars @public, not @private, so
 	NSAutoreleasePool can efficiently access the _autorelease_vars
 	ivar.
	(_autorelease_vars): New ivar.

	* src/NSThread.m ([NSThread -init]): Instead of creating an
 	NSMutableDictionary here, just set the ivar `_thread_dictionary' to
 	nil, and create it later, only on demand.  Use
 	`init_autorelease_thread_vars()' to initialize `_autorelease_vars'.
	([NSThread -threadDictionary]): If `_thread_dictionary' is nil,
	create it.

	* checks/string.m (print_string): Use -cStringNoCopy instead of
 	-cString.
	(main): Test the use of the `%@' printf format directive.

	Implement handling of `%@' for non-GNU libc systems.
	* src/NSString.m: Include <string.h>.
	(PRINTF_ATSIGN_VA_LIST): Make it an expression that depends on the
	libc version, not a boolean constant.
	([NSString -initWithFormat:arguments:]): Implement the `%@' printf
	directive in the case where the available libc doesn't have
 	`register_printf_function()'.  It does not currently handle format
 	width specifiers, etc.

Mon Jun 10 23:22:58 1996  Andrew McCallum  <mccallum@pad>

	* src/gnustep/base/preface.h.in: Fix comment.

Mon Jun  3 12:07:16 1996  Andrew McCallum  <mccallum@pad>

	* src/Makefile.in (gnustep/base): Remove `gnustep' and `base'
 	before trying to recreate them.

Fri May 31 10:06:05 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (gnustep/base): Make a link for `Foundation'
 	when building in a separate directory.

	* doc/install.texi: Mention making a link from thread.h to thr.h.

	* src/StdioStream.m ([StdioStream -readBytes:length:]): Don't
 	assert that we get as many bytes as we asked for.

	* checks/Makefile.in (ALL_CPPFLAGS): Look in ../src/srcdir-include.
	* examples/Makefile.in (ALL_CPPFLAGS): Likewise.

	* src/NSLock.m: Include <Foundation/NSException.h>.  Fix typo.

	* src/proplist.l (unescstr): Bug fix from Nathan Urban
	<nurban@csugrad.cs.vt.edu>.

	This is a feeble attempt to use the correct flags for making a
	shared library.  Other than the GNU-standard flags, so far I've
	just taken care of the Solaris case.
	* src/Makefile.in (CFLAGS_SHAREDLIB_GNU): New variable.
	(CFLAGS_SHAREDLIB_SOLARIS): New variable.
	(CFLAGS_SHAREDLIB): New variable set from configure.
	(lib$(LIBRARY_NAME).so.$(VERSION)): Use it.
	* configure.in (CFLAGS_SHAREDLIB): Figure this out, and AC_SUBST it.

	* src/Makefile.in (maintainer-clean): Remove *_bas and *_cbs files.
	(GNU_MFILES): Fix typo.

	* src/NSProcessInfo.m (__gnustep_base_subinit_args__): No longer
 	declared static; (avoids warning).

	* src/Makefile.in: Rename all `o-*' files to `o_*', and prepend
 	`o_' to some related files.
	* src/o-*, src/include/o-*: Rename to `o_'.

	* src/NSString.m ([NSString -initWithFormat:arguments:]): Increase
 	bsprintf buffer size, and assert that we haven't overrun the
 	buffer.

	* src/Makefile.in (GNU_OTHER_SRCFILES): Added win32-entry.c and
 	win32-def.top.

	* src/NSObject.m: Don't declare `errno'.

	* src/NSAutoreleasePool.m: Don't include <gnustep/base/Array.h>.

	* src/BinaryCStream.m (WRITE_SIGNED_TYPE): Avoid alignment errors
 	by using memcpy() instead of trying to assign to (_TYPE*)(BUFFER+1).
	(WRITE_UNSIGNED_TYPE): Likewise.

Fri May 31 08:20:09 1996  Adam Fedor  <fedor@wave.Colorado.edu>

        * src/NSProcessInfo.m (main): Pass `env' variable to
        gnustep_base_user_main.

Tue May 28 09:37:19 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/include/NSPathUtilities.h: New file.
	* src/Makefile.in (GNUSTEP_HEADERS): Added
 	include/NSPathUtilities.h.

	* src/NSUser.m: New file.
	* src/Makefile.in (GNUSTEP_MFILES): Added NSUser.m.

	* src/NSPage.m: New file.
	* src/include/NSZone.h (NSPageSize, NSLogPageSize,
 	NSRoundUpToMultipleOfPageSize, NSRoundDownToMultipleOfPageSize,
 	NSRealMemoryAvailable, NSAllocateMemoryPages,
 	NSDeallocateMemoryPages, NSCopyMemoryPages): New functions
 	declared; they are implemented in NSPage.m.

	* src/Makefile.in (ALL_INCLUDE_FLAGS): Undo last change, except
 	use name `srcdir-include' instead of `include'.  This should allow
 	building is a separate directory than the source, yet still avoid
 	confusion between <string.h> and <String.h> on win32 systems.
	(gnustep/base:): Use `srcdir-include' instead of `include' for extra
	links needed when building in a separate directory than the
 	source.

	* src/NSException.m (_NSAddHandler): When creating E_QUEUE, don't
 	autorelease and then retain; instead just allocate it
 	un-autoreleased.

	* checks/Makefile.in (SRCS): Added basic.m.
	* checks/basic.m: New file.

	* src/NSLock.m: Include <gnustep/base/preface.h> first!  Fix
 	indentation.
	([NSLock +initialize]): Method removed.
	([NSLock -init]): Assert return value from objc_mutex_allocate(),
	don't just return nil.
	([NSConditionLock -initWithCondition:]): Likewise.
	([NSRecursiveLock -init]): Likewise.
	([NSConditionLock +initialize]): Method removed.
	([NSRecursiveLock +initialize]): Method removed.

Mon May 27 09:57:34 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Makefile.in (DIST_FILES): Added README.ucblib.

	* src/include/objc-gnu2next.h: Remove "Object (GNUExtentions)"
 	Category.  We no longer use Object; we use NSObject.

	Do our best to use "%@" (Objective-C String object printf-format
	tag) as little as possible, because, for now, it is not
	implemented on non-GNU-libc systems.
	* src/KeyedCollection.m ([ConstantKeyedCollection -description]):
 	Instead of @%, use %s and [s cStringNoCopy].
	* src/NSHashTable.m (NSStringFromHashTable): Likewise.
	(NSHashInsertKnownAbsent): Likewise.
	* src/NSMapTable.m (NSStringFromMapTable): Likewise.
	(NSMapInsertKnownAbsent): Likewise.
	* src/TextCStream.m ([TextCStream
 	-encodeValueOfCType:at:withName:]): Likewise.
	([TextCStream -encodeName:n]): Likewise.
	* src/o-hash.m (o_hash_description): Likewise.
	* src/x-bas.m.in (_o_@XX@_description): Likewise.
	* src/NSDictionary.m ([NSDictionary -descriptionWithIndent:]): Use
 	-cStringNoCopy instead of -cString.

	* src/x-cbs.m.in: Prepend missing `o-' in #include.
	* src/x-bas.m.in: Likewise.

Mon May 20 16:53:57 1996  Adam Fedor  <fedor@wilma.Colorado.EDU>

        *  src/include/NSGeometry.h: Include NSString functions only if
        compiling in Objective-C mode (using "#ifdef __OBJC__").

Tue May 14 20:03:55 1996  Scott Christley <scottc@net-community.com>

        * INSTALL.WIN32: Correct grammatical errors.
        * Makefile.sed.nt: Sed script now handles install and all
        targets for top level Makefile.
        * checks/Makefile.sed.nt: Corrections to handle changes
        to checks/Makefile.in.
        * configure.bat: Corrections to handle the different
        directory structure for the header files.
        * src/BinaryCStream: Eliminate header files not needed on WIN32.
        * src/Makefile.in (ALL_INCLUDE_FLAGS): Eliminate -I./include flag.
        (FORCE): New Target.
        * src/Makefile.sed.nt: New file; somehow got lost.
        * src/RunLoop.m: Eliminate header files not needed on WIN32.
        * src/TcpPort.m: Likewise.
        * src/UdpPort.m: Likewise.
        * src/include/TcpPort.h: Likewise.
        * src/include/config-nt.h: New file, got lost during restructuring.
        * src/include/config-nt.sed: New file, got lost during restructuring.
        * src/libgnustep-base-entry.c: New file.
        * src/libgnustep-base.top: New file.

Wed May 22 06:56:49 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* doc/install.texi: Say that the objc patch will be part of gcc
 	2.8.0.

Mon May 13 09:03:55 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (FILE_AUTHORS): Added "Scott Christley".

	* src/NSString.m ([NSString -description]): Fix warnings.
	* src/NSDictionary.m ([NSDictionary -description]): Fix warnings.

	* src/Makefile.in (GNU_OTHER_SRCFILES): Added proplist.l and
 	proplist.y.
	(GNU_MFILES): Added lex.pl.m and proplist.tab.m.
	(YACC): New variable.
	(GNU_OTHER_SRCFILES): Added proplist., proplist.tab.h and proplist.y.
	(proplist.tab.m proplist.tab.h): New target.
	(lex.pl.m): New target.
	* proplist.y, proplist.l: New files from Nathan Urban.

	* src/NSData.m ([NSData -description]): Implemented by Nathan Urban.
	* src/NSArray.m ([NSArrayNonCore -description]): Likewise.
	* src/NSDictionary.m ([NSDictionary -description]): Likewise.
	* src/NSString.m ([NSString -description]): Likewise.
	([NSString -propertyList]): Likewise.

	* src/NSThread.m (NSBecomingMultiThreaded, NSThreadExiting):
 	Initialize the notification strings as static strings, not in
 	+initialize.
	(thread_id_2_nsthread): Renamed from THREAD_LIST.  Keep the collection
	of NSThread's as a maptable, not a NSArray that takes linear time
 	to search!
	(thread_lock): Renamed from THREAD_LIST_LOCK.
	(entered_multi_threaded_state): Renamed from
	ENTERED_MULTI-THREADED_STATE.
	([NSThread +initialize]): Don't initialize notification strings here.
	Don't autorelease the lock!
	([NSThread -init]): Initialize _thread_autorelease_pool.  Set our
	thread data to self, for easy, efficient access to this NSThread
 	object later.  Put ourselves in the thread collection here, not in
 	+detach...
	([NSThread +currentThread]): This will be called often and needs to be
	fast.  Reimplemented so we don't have to acquire a lock and step
 	through an NSArray of threads; instead, just look ourselves up
 	with the objc_thread_get_data(), and furthermore, no lock
 	required.
	([NSThread +detachNewThreadSelector:toTarget:withObject:]): Avoid race
	condition, don't create new NSThread object here.
	([NSThread +sleepUntilDate:]): Call -notImplemented:.
	([NSThread +exit]): Properly post NSThreadExiting notification, making
	sure not to hold the lock while we do so.  Get the NSThread object
 	efficiently.
	([NSThread -threadId]): Removed unnecessary private method.
	([NSThread -setThreadId]): Likewise.

	* src/include/NSLock.h: Include renamed <objc/thr.h>, not
 	<objc/thread.h>.

	* src/include/NSThread.h: Include renamed <objc/thr.h>, not
 	<objc/thread.h>.  Prepend ivars with underscore.  Formatting
 	cleanups.

	* src/Makefile.in (gnustep/base): Use -r test for file existance,
 	not -e.  (Reported by Adam Fedor <fedor@mode.colorado.edu>.)

	* src/BinaryCStream.m: Include <netinet/in.h> for byte-conversion;
 	needed on Solaris.  (Reported by Adam Fedor
	<fedor@mode.colorado.edu>.)

	* src/Makefile.in (AUTHORS): Also search for "Rewritten by"
 	string.

Sun May 12 19:57:53 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Coder.m ([Coder -encodeConditionalObject:]): Comment
 	additions.
	([Coder -decodeObject]): Likewise.

	* src/Coder.m: Remove many methods from (Coder
 	NSCoderCompatibility), they are now included by adding the
 	behavior from NSCoderNonCore.
	([Coder +initialize]): Add behavior from NSCoderNonCore.
	([Coder -encodeArrayOfObjCType:count:at:]): Method removed.
	([Coder -decodeArrayOfObjCType:count:at:]): Method removed.
	([Coder -encodeProperyList:]): Method removed.
	([Coder -decodeProperyList:]): Method removed.
	([Coder -encodePoint:]): Method removed.
	([Coder -decodePoint:]): Method removed.
	([Coder -encodeSize:]): Method removed.
	([Coder -decodeSize:]): Method removed.
	([Coder -encodeRect:]): Method removed.
	([Coder -decodeRect:]): Method removed.
	([Coder -encodeValuesOfObjCTypes:]): Method removed.
	([Coder -decodeValuesOfObjCTypes:]): Method removed.

Sat May 11 20:38:10 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* After consulting other developers, change "Gnustep" to "GNUstep"
	everywhere.

	* src/include/NSAutoreleasePool.h (struct autorelease_cache): New
 	data type.
	* src/include/NSThread.h (NSThread _thread_autorelease_pool): New
 	ivar.
	* src/NSThread.m: Preparation for thread-safety.
	([NSThread -init]): Initialize new ivar.
	* src/NSAutoreleasePool.m: Comment changes, and preparation for
 	thread-safety.

Fri May 10 09:55:40 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/BinaryCStream.m: #include <values.h> to get BITSPERBYTE on
 	Solaris.  (Reported by M. Decugis <mds@sepgifbr.sep.de.edf.fr>.)

Wed May  8 10:53:07 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/objc-load.c (objc_load_module): Uncomment local vars when
 	needed.  (Provided by Bill Bumgarner <bbum@friday.com>.)

	* src/BinaryCStream.m (BITSPERBYTE): Define if not defined and on
 	NeXT.  (Provided by Bill Bumgarner <bbum@friday.com>.)

Tue May  7 10:55:11 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/include/o-map.h: Prepend `o-' in #include.
	* src/include/o-list.h: Likewise.
	* src/include/o-hash.h: Likewise.
	* src/include/o-array.h: Likewise.
	* src/include/x-cbs.h.in: Likewise.

	* src/NSCoder.m: Separate implemented, non-core methods into
 	separate class, in preparation for avoiding the duplication of
 	these methods in Coder.m.
	([NSCoder +initialize]): New method.
	(NSCoderNonCore): New class.
	* src/include/NSCoder.h: Declare new NSCoderNonCore class.

	* Makefile.in (snapshot-rtag): New target.
	(dist-rtag): New target.
	(rdiff): New target.

Mon May  6 14:59:03 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSGArchiver.m ([NSGArchiver -encodeObjectReference:]): New
 	method.
	* src/Decoder.m ([Decoder -decodeObjectAt:anObjPtr:name]): Move
 	CREATE_REF_BEFORE_INIT assertion to inside conditional for FREF
 	being true.

	* src/NSString.m (PRINTF_ATSIGN_VA_LIST): New macro, when 1,
 	undoes previous changes.  Previous changes cause crashes with my
 	libc.

	* configure.in (shared): Prepend missing `lib'.  (Reported by
 	Randy Chapman <chapman@cs.washington.edu>.)

	* src/Makefile.in: It should now work again to build in a separate
 	directory.  Use ${OEXT}, not $(OEXT).
	(ALL_INCLUDE_FLAGS): Look in ./include, not $(srcdir).
	(GNU_HEADERS): Remove duplicate NS*.h files.
	(gnustep/base): Make soft links to the $(srcdir) include files inside
	./include.
	(include/preface.h): Get preface.h.in from the $(srcdir)!
	* examples/Makefile.in (ALL_CPPFLAGS): Look for source include
 	files in new place.
	* checks/Makefile.in (ALL_CPPFLAGS): Look for source include files
 	in new place.

	* src/include/NSZone.h: use #include instead of #import.

	* doc/gnustep-faq.texi: Added "On what platforms will it run?"

	* src/NSArray.m ([NSMutableArray +initialize]): Add the
 	NSArrayNonCore methods also.  (Reported by Scott Christley.)

	* src/Makefile.in: Add `o-' prefix to object collection function
 	files.
	* src/o-array.m, src/o-list.m, src/o-hash.m, src/o-map.m: Renamed
	from versions without `o-' prefix.  This prevents aliasing with
	Array.m, etc, on systems without case-sensitive filenames.
	* src/include/o-array.h, src/include/o-hash.h,
	src/include/o-list.h, src/include/o-map.h: Likewise.

	* src/NSString.m: All uses of @"" were crashing in Linux
 	libc-5.3.9.
	(arginfo_func): New function.
	(handle_printf_atsign): Get the string object without va_arg().
	([NSString +initialize]): Use new function.
	(Reported and fixed by Kai-Uwe Sattler
	<sattler@volker.cs.Uni-Magdeburg.DE>.)

Tue Apr 30 10:19:40 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSArray.m ([NSMutableArrayNonCore -removeObject:]): Replace
 	with version that removes all objects equal to argument.
	([NSMutableArrayNonCore -removeObjectIdenticalTo:]): Likewise.

	* checks/nsarray.m (main): Patched from Scott Christley.

Fri Apr 19 18:11:30 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Make NSArchiver do object forward references the same way OpenStep
 	does, so that -encodeConditionalObject: and -decodeObject will
 	work as users expect.  The OpenStep-style of forward referencing
 	is actually broken in that it cannot handle cases in which
 	-initWithCoder: deallocates self and substitutes another object
 	for self---this is supposed to be allowed.  The GNU-style of
 	forward references robustly handles this case, as well as all the
 	cases that OpenStep handles; the GNU code works through alternate
 	methods: -encodeObjectReference: and -decodeObjectAt:withName:.
  	It is recommended that programmers use the GNU archiving methods.

	Before these changes, the gnustep-base code that tried to handle
 	the OpenStep-style `-encodeConditionalObject:' and `-decodeObject'
 	did not have the same behavior as NeXT's implementation---in fact
 	it did not do forward references at all.  Users' OpenStep code
 	that used the OpenStep methods would have failed badly.  These
 	changes implement the OpenStep-style forward references.  Now
 	NSArchiver implements OpenStep-style forward references, and
 	Archiver implements GNU-style forward references.  Be warned: by
 	necessity, because of limitations of the OpenStep method
 	interface, NSArchiver has the same bug as NeXT's NSArchiver.

	* src/NSGArchiver.m (USE_OPENSTEP_STYLE_FORWARD_REFERENCES): New
 	macro.
	(NSGArchiverNullCStream): New class, interface and implementation.
	([NSGArchiverNullCStream -encodeValueOfCType:at:withName:]): New
	method. 
	([NSGArchiverNullCStream -decodeValueOfCType:at:withName:]): New
	method. 
	([NSGArchiver -encodeRootObject:withName:]): New method.
	([NSGArchiver -encodeConditionalObject:]): New method.
	([NSGArchiver -_coderCreateReferenceForObject:]): New method.
	([NSGArchiver -_coderCreateForwardReferenceForObject:]): New method.
	([NSGArchiver -_coderForwardReferenceForObject:]): New method.
	([NSGArchiver -_objectWillBeInProgress:]): New method.
	([NSGArchiver -_objectNoLongerInProgress:]): New method.
	([NSGArchiver -defaultDecoderClassname]): New method.
	([NSGUnarchiver -_createReferenceBeforeInit]): New method.

	* src/NSArchiver.m ([NSUnarchiver +initialize]): Test self against
 	NSUnarchiver class.

	* src/Encoder.m (debug_coder): Make it a static var instead of a
 	#define.
	([Encoder -_objectWillBeInProgress:]): New method.  
	([Encoder -_objectNoLongerInProgress:]): New method.  Depending on
	whether we are doing GNU or OpenStep style forward references one
 	of these two methods will create a backward reference to the
 	object by calling -_coderInternalCreateReferenceForObject:.  This
 	will effect whether encoding make forward or backward references
 	to objects in progress.  GNU uses forward references, which is
 	robust even when the object's -initWithCoder substitutes another
 	object for self.
	([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]): Use
	new methods.  Don't call -_coderInternalCreateReferenceForObject
 	here, let one of the ...InProgress methods do it.

	* src/Decoder.m (debug_coder): Make it a static var instead of a
 	#define.
	([Decoder -_coderCreateReferenceForObject:]): Add a debugging message.
	([Decoder -_coderCreateReferenceForInterconnectedObject:]):
	Autorelease the placeholder object.
	([Decoder -_createReferenceBeforeInit]): New method.  By default
	return NO, for the GNU-style forward references.
	([Decoder -decodeObjectAt:anObjPtr:name]): [CODER_OBJECT]: Use new
	method; if it returns true, then we are using non-GNU,
 	OpenStep-style forward references.  In this case: (1) don't try to
 	decode the object by sending +newWithCoder:, in fact, raise an
 	error if the object wanted to be decoded that way; (2) call
 	_coderInternalCreateReferenceForObject before sending
 	-initWithCoder, not after; unfortunately this means that
 	-initWithCoder methods cannot substitute another object for self.
  	If it returns false, use the more robust GNU style forward
 	references.  The NSGUnarchiver overrides this method to use the
 	OpenStep style.

	* src/include/Coder.h (Coder): Make ivars public, so NSGArchiver
 	can get at them.
	(Encoder): Likewise.

	* src/TextCStream.m ([TextCStream
 	-encodeValueOfCType:at:withName:]): If name is nil or zero-length,
 	make it "Anonymous".
	(DECODE_ERROR): Add next stream contents to error message.

	* src/Coder.m: Include gnustep/base/Archiver.h.
	([Coder +archivedDataWithRootObject:]): Use Archiver class, not
	NSArchiver, it matters because now the two classes handle forward
 	references differently.

	* src/include/NSGArchiver.h: NSGUnarchiver inherits from
 	NSUnarchiver, not NSArchiver!

	* checks/fref.m: Use Archiver, not NSArchiver, if GNU_ARCHIVING is
 	true.
	(SELF_REF_DECODE_SUBSTITUTES): New macro.

Thu Apr 18 08:31:53 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/fref.m: Updated to work on NS3.3.

	* src/Makefile.in (Foundation): Fix dependancy to force proper
 	handling after a cvs checkout.

Wed Apr 17 08:56:09 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Major renaming!
	"GNU Objective C Class Library" ->  "Gnustep Base Library"
	libobjects.a                    ->  libgnustep-base.a
	libobjects.tar.gz               ->  gstep-base.tar.gz
	<objects/*.h>                   ->  <gnustep/base/*.h>
	OBJECTS_*                       ->  GNUSTEP_BASE_*
	objects_*()                     ->  o_*()
	R. Andrew McCallum              ->  Andrew Kachites McCallum
	(my pre-marriage name)              (my post-marriage name)
	...and more...

	* examples/Makefile.in (EXEEXT): New variable.
	(OEXT): New variable.
	(LIBEXT): New variable.
	(SRCS): Remove port-{server,client}.m.

	* examples/dictionary.m: Warn user that the file hasn't been
 	converted to new collection scheme, and comment out old code.

	* examples/second-server.m ([SecondServer -addRemoteObject:]):
 	Don't free the string returned; mframe already does it!

	* examples/stdio-stream.m: Include Foundation/NSString.h.

	* Makefile.in: Include Makeconf.

	* checks/server.m: Include TcpPort.h, not SocketPort.h.
	* checks/client.m: Likewise.

	* checks/Makefile.in (../src/lib$(LIBRARY_NAME)$(LIBEXT)): New
 	target.

	* doc/Makefile.in (TEXI_FILES): Rename libobjects.texi to
 	gnustep-base.texi.  Add base-desc.texi.
	* doc/base-desc.texi: New file.

	* src/include/*.h: Rename all #ifndef macro names to
	...GNUSTEP_BASE_INCLUDE.

	* Rename all `objects_' to `o_'.  This mostly affects Albin Jones'
	map tables, hash table, etc.

	* src/NSGSet.m ([NSGSet -isEqual:]): Call isEqualToSet: (in
 	superclass).

	* checks/pipes.m: Include <Foundation/NSString.h>

	* src/objc/HashTable.h: Use preface.h instead of stdobjects.h.

	* src/CStream.m ([CStream -writeSignature]): Use new version macro
 	names.

	* src/include/fake-main.h (main): Define as
 	gnustep_base_user_main, not LibobjectsMain.
	* src/NSProcessInfo.m (__gnustep_base_subinit_args__): Renamed
 	from libobjects...
	(main): Use gnustep_base_user_main, not LibobjectsMain.

	* checks/fref.m (test_fref): Make ARRAY a NSMutableArray, not a
 	NSArray.
	([SubFoo -encodeWithCoder:]): Add printf.
	([Foo -encodeWithCoder:]): Likewise.

	* src/o_vscanf.c: Include objc-malloc.h from gnustep/base.

	* src/Makefile.in (Foundation): Add step to get rid of old
 	Foundation directory that would come from a CVS checkout.

	* src/include/String.h: Don't include <Foundation/NSString.h>.
  	Don't have String protocol inherit NSString protocol.  We were
 	having trouble with circular dependancies.
	* src/include/Streaming.h: Include String.h, not NSString.h.

	* src/include/preface.h.in: Use __preface_h_... instead of
 	__stdobjects_h... for wrapper.  Include files from gnustep/base.
	Include fake-main.h, instead of LibobjectsMain.h.

	* src/Makefile.in (include/preface.h): Make substitutions for
 	macro name, as well as value.

	* Makeconf (LIBRARY_VAR): New variable.

	* src/Makefile.in (all): Add dependancy on `Foundation'.
	(Foundation): New target.

	* Change all #include <objects/*.h> to #include <gnustep/base/*.h>.

	* src/include/preface.h.in: All Makefile-maintained #defines, now
 	have the macro name inserted by Makefile, not just the value.
  	Comment out objects_version global variable and friends.
	(LAMBDA): Macro removed.
	(LAMBDA_VOID_PERFORM): Macro removed.
	(LAMBDA_ID_PERFORM): Macro removed.
	(LAMBDA_BOOL_PERFORM): Macro removed.
	* src/preface.m: Update names of global const char's.

	* Makefile.in: Remove/rename all mention of `objects'.
	* configure.in: Likewise.
	* examples/Makefile.in: Likewise.
	* checks/Makefile.in: Likewise.

	* Makeconf (LIBRARY_NAME): Remove `lib' prefix.
	* src/Makefile.in: Don't assume the `lib' prefix is included in
 	$(LIBRARY_NAME).

	* Makeconf (PACKAGE_NAME): New variable.
	(LIBRARY_NAME): New variable.
	(rcs-list-locked): Target removed.

	* Version: Removed `OBJECTS_' prefix.

	* src/Makefile.in: Rename all occurrences of `objects/' to
 	`include/'.  Rename all occurrences of `Foundation/' to
 	`include/'.  Rename all occurrences of `libobjects' to
 	`$(LIBRARY_NAME)'.  Rename all occurrences of `OBJECTS_*VERSION'
 	to `*VERSION'.
	(GNU_NEXT_INCLUDES): Renamed from OBJECTS_NEXT_INCLUDES.
	(gnustep/base): New target; make symbolic link to `include'.
	(all): Added dependancy on gnustep/base.
	(install): Put the include files in gnustep/base.  Make a link from
	$(includedir)/Foundation to $(includedir)/gnustep/base.
	(installdirs): Make $(includedir)/gnustep/base, not objects and
	Foundation include directories.
	(GNU_MFILES): stdobjects.m renamed to preface.m.
	(GNU_HEADERS): LibobjectsMain.h renamed to fake-main.h.  objects.h
	renamed to all.h.
	(HEADERS_INSTALL): stdobjects.h renamed to preface.h.
	(maintainer-clean): Likewise.
	(DIST_FILES): stdobjects.h.in renamed to preface.h.in.
	(RCS_FILES): Likewise.
	(include/preface.h): Target renamed from stdobjects.h.
	(preface$(OEXT)): Likewise.
	* src/preface.m: File renamed from stdobjects.m.
	* src/include/preface.h: File renamed from stdobjects.h.
	* src/include/fake-main.h: File renamed from LibobjectsMain.h.
	* src/include/all.h: File renamed from objects.h.

	* configure.in (AC_OUTPUT): do src/include/config.h, not
 	src/objects/config.h.

	* src/objects/*, src/Foundation/*: Files moved to src/include.

	* src/Foundation/NSString.h: Insert contents of
 	<objects/NSString.h>
	* src/Foundation/NSSet.h: Insert contents of <objects/NSSet.h>
	* src/Foundation/NSDictionary.h: Insert contents of
 	<objects/NSDictionary.h>
	* src/Foundation/NSCoder.h: Insert contents of <objects/NSCoder.h>
	* src/Foundation/NSArray.h: Insert contents of <objects/NSArray.h>

	Fix error in Decoder, that only affected TextCStream.

	* src/Decoder.m ([Decoder -decodeObjectAt:anObjPtr:name]): Decode
 	the Unindent *before* decoding the fref; as does Encoder!

Tue Apr 16 17:29:02 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): Version 0.2.1.  Last version
	before renaming from libobjects to gnustep-base.

	* checks/Makefile.in (CFLAGS): Add -Wno-format.
	(SRCS): Use new, more descriptive file names.

	* checks/prepend.m: Include NSValue.h

	* src/NotificationDispatcher.m ([NotificationDispatcher
 	-_addObserver:notificationRequest:name:object:]): Don't release NR
 	here.
	([NotificationDispatcher -addInvocation:name:object:]): Release it
	here. 
	([NotificationDispatcher -addObserver:selector:name:object:]):
	Likewise.

	* src/TcpPort.m (debug_tcpport): Changed from 1 to 0; don't print
 	debugging messages.
	* src/Proxy.m (debug_proxy): Likewise.
	* src/Connection.m (debug_connection): Likewise.

	* src/NSArray.m ([NSArrayNonCore -arrayByAddingObject:]):
 	Autorelease the returned array.
	([NSArrayNonCore -arrayByAddingObjectsFromArray:]): Likewise.
	([NSArrayNonCore -subarrayWithRange:]): Likewise.

	* checks/nsarray.m (main): Removed several -autorelease calls that
 	are repetative, now that NSArray autoreleases properly.  The test
 	still does not complete successfully.  It tries to send -cString
 	to an NSMutableArray.

	* src/objects/objc-malloc.h: Only declare "id
	MemoryExchaustedException" #ifdef __OBJC__.  This allows
	<objects/objc-malloc.h> to be included in non-ObjC files, i.e. C
	files.

	* src/NSZone.m: Include <objects/stdobjects.h> first.

	* checks/*.m: Many test??.m files renamed with descriptive names.

	* checks/nsarchiver.m (main): Add extra parens around assignment
 	in while().

	* checks/string.m (main): Comment out use of obsolete
 	-withElementsCall:.

	* checks/nsbundle.m (main): Use object_get_class_name(), not
 	-name.

	* src/Makefile.in (GNU_MFILES): Re-added Time.m.
	(o_vscanf$(OEXT), o_vscanf_pic$(OEXT)): New rules that turn off
	warnings for o_vscanf.c; it generates a bunch of unimportant ones.

	* src/Time.m ([Time +initialize]): Comment out day/month name
 	handling that depends on old Collection heirarchy.
	([Time +indexOfDayName:]): un-implemented.
	([Time +nameOfDayIndex:]): Likewise.
	([Time +indexOfMonthName:]): Likewise.
	([Time +nameOfMonthIndex:]): Likewise.

	* checks/prepend.m: New file from test13.m.
	* checks/nxst.m: New file from test11.m.
	* checks/heap.m: New file from test04.m.

	* src/Heap.m ([Heap -heapifyFromIndex:]): Swap -compare: receiver
 	and argument, so firstObject is minimum instead of maximum object.
	([Heap -addObject:]): Likewise.

Mon Apr 15 21:41:17 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSGDictionary.m ([NSGDictionaryObjectEnumerator
 	-nextObject]): Return the key, not the object.
	([NSGDictionary -objectForKey:]): Method moved from
	NSGMutableDictionary.
	([NSGMutableDictionary +initialize]): Don't use static variable in
	test.

	* src/KeyedCollection.m ([KeyEnumerator -initWithCollection:]):
 	New method.
	([KeyEnumerator -nextObject]): New method.
	([KeyEnumerator -dealloc]): New method.

	* doc/install.texi: Mention possible need for GNU make.

Sun Apr 14 11:58:04 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Old archiving scheme didn't properly deal with the
	LinkedListNode's _linked_list ivar.
	* src/LinkedList.m ([LinkedList -encodeWithCoder:]): New method.
	([LinkedList -initWithCoder:]): New method.
	([LinkedList -_initCollectionWithCoder:]): Method removed.
	([LinkedList -_encodeContentsWithCoder:]): Method removed.
	([LinkedList -_decodeContentsWithCoder:]): Method removed.

	* src/Coder.m ([Coder -encodeConditionalObject:]): Don't use old,
 	removed method name to see if object has already been encoded.

Sat Apr 13 13:49:23 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/BinaryCStream.m (debug_binary_coder): Explicitly set to
 	zero.

	* src/objects/CoderPrivate.h ([Coder (Private)
 	-_coderReferenceForObject:): Renamed from old-xref-scheme
 	"_coderHasObjectReference:.

	* checks/Makefile.in (SRCS): Added fref.m.

	Fix a bug with encoding an object whose encoding generates forward
 	references to the object itself.

	* src/Encoder.m ([Encoder
 	-_encodeObject:withName:isBycopy:isForwardReference:]): See if the
 	object satisfies a forward reference *after* encoding it, not
 	before.  This is necessary because the encoding of subobjects may
 	generate forward references to the object.  (In a sense, this
 	undoes the last change to this method, but it is significantly
 	different in that we test whether the object is in the
 	object_2_fref table *after* encoding the object; earlier we looked
 	in the table before encoding the object.)  As a consequence, the
 	CODER_OBJECT_FORWARD_SATISFIER tag is no longer necessary; this
 	was used to tag an object before it was encoded, but now we
 	understand that we cannot know whether this object satisfies a
 	forward reference until after it has been encoded.  Thus, for all
 	objects we encode an unsigned int after encoding the object
 	itself.  This unsigned int is either the forward reference number
 	of zero, depending on whether this object satisfies any forward
 	references.

	* src/Decoder.m ([Decoder -decodeObjectAt:withName:]): Allow for
 	the case in which ANOBJPTR is NULL, and deal with it using a
 	DUMMY_OBJECT local variable.  Remove
 	CODER_OBJECT_FORWARD_SATISFIER case.  In the CODER_OBJECT case,
 	decode the forward reference number, and deal with it
 	appropriately.  See the ChangeLog comments for the Encoder
 	changes.  * src/objects/CoderPrivate.h
 	(CODER_OBJECT_FORWARD_SATISFIER): Enum constant removed; it is no
 	longer needed.  Note: decoders built after this change will not be
 	able to read data files encoded before this change.

	* src/Encoder.m ([Encode
 	-_encodeObject:withName:isBycopy:isForwardReference:]): If this
 	object satisfies a forward reference, remove it from the
 	object_2_fref table before encoding the object, since, in the
 	process of encoding the object, we may generate more references to
 	this object, and we don't want to interpret this as another
 	forward reference satisfier; previously an object could get
 	encoded as a forward reference satisfier more than once.

	Plug a memory leak in decoding.

	* src/Collection.m ([ConstantCollection
 	-_decodeContentsWithCoder:]): Use alloca(), not objc_malloc(),
 	plugging memory leak.

Fri Apr 12 17:08:08 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/objects/Coder.h (Encoder fref_counter): New ivar for
 	guaranteeing that forward references have unique names.  Previous
 	use of the MapTable count for this purpose didn't work because we
 	occasionally removed elements from the table, and thus had aliased
 	forward reference numbers.
	* src/Encoder.m ([Encoder
 	-initForWritingToStream:withFormatVersion:cStreamClass
 	:cStreamFormatVersion:]): Initialize new ivar.
	([Encoder -_coderCreateForwardReferenceForObject:]): Use new ivar to
	`gensym' a new forward reference.
	* src/Decoder.m ([Decoder
 	-_coderSatisfyForwardReference:withObject:]): Create fref_2_object
 	with NSNonOwnedPointerMapValueCallBacks, not
 	NSObjectMapValueCallBacks.

	* src/StdioStream.m ([StdioStream -writeBytes:length:]): Check for
 	error condition, and report.  Reporting scheme needs fixing.
	([StdioStream -readBytes:length:]): Likewise.

	* src/LinkedList.m ([LinkedList -_decodeContentsWithCoder:]): Step
 	through the new list, and send -setLinkedList:, otherwise the
 	links don't properly know about their parent LinkedList.

Wed Apr 10 12:37:35 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Encoder.m ([Encoder
 	-_coderCreateForwardReferenceForObject:]): Initialize the
 	OBJECT_2_FREF ivar, if it hasn't been already.

	* configure.in: Init some emacs variables.

	* src/objc-malloc.m: New file, changed from objc-malloc.c.  Raise
 	a MemoryExhaustedException with NSException instead of calling
 	objc_fatal.
	* src/Makefile.in (GNU_CFILES): Removed objc-malloc.c.
	(GNU_MFILES): Added objc-malloc.m.
	* src/objects/objc-malloc.h (MemoryExhaustedException): Declare
 	this global variable; note that now objc-malloc.h cannot be
 	included in .c files, only .m files.

	* src/NSRunLoop.m: New file.
	* src/Foundation/NSRunLoop.h: Declare classes NSDate and NSTimer.
	* src/Makefile.in (GNUSTEP_MFILES): Added NSRunLoop.m.
	(GNUSTEP_HEADERS): Added Foundation/NSRunLoop.h.

	* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): When
 	unintalling ourselves at the current pool, and setting our parent
 	to be the current pool, be sure to set our parent's _CHILD ivar to
 	nil.

	* src/mframe.m (mframe_do_call): Use sel_get_type() instead of
 	class_get_instance_method() to get the selector type.  For some
 	reason the old scheme wasn't getting class methods properly; I
 	should look at this again, though.

Tue Apr  9 19:55:44 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/mframe.m (mframe_do_call): When getting the instance method,
 	just use object->class_pointer, not object_get_class(),... because
 	object_get_class() of a class will return the argument, not the
 	metaclass---we want the metaclass.

Mon Apr  8 13:19:17 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/TcpPort.m ([TcpInPort +newForReceivingFromPortNumber:]):
 	Bind the socket with INADDR_ANY, (not the host's address), so that
 	others can connect using any of the host's interfaces, including
 	localhost.  Add the host's address to _LISTENING_ADDRESS after the
 	bind().

	* src/NSDictionary.m ([NSDictionary -allKeysForObject:]): Ask SELF
 	for objectForKey:, not K.  (Reported by Robert Quillen
	<rquillen@csugrad.cs.vt.edu>).

Sun Mar 31 16:43:42 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Several small bug fixes.

	* src/Foundation/NSArray.h: Declare @class NSMutableArrayNonCore,
 	not NSMutableArray.

	* checks/test02.m (main): Updated for new collection scheme.

	* src/MappedCollector.m ([MappedCollector -newEnumState]): New
 	method.
	([MappedCollector -freeEnumState:]): New method.

	* src/Random.m (ABS): Remove macro; now defined in
 	objects/stdobjects.h.

	Separate the core and non-core methods of NSArray implementations
	to take advantage of the new behavior mechanisms, and to better
	make use of the non-core methods in the concrete implementation.

	* src/NSGArray.m ([NSGArray +initialize]): Add the NSArrayNonCore
 	behavior, so we can, once and for all, avoid the need for those
 	odd [super ...] calls, and can remove many methods.
	([NSGArray -initWithObjects:count:]): Method removed.
	([NSGArray -indexOfObject:]): Method removed.
	([NSGArray -objectAtIndex:]): Method removed.
	([NSGMutableArray +initialize]): Add the NSMutableArrayNonCore
	behavior, as above.
	([NSGMutableArray -replaceObjectAtIndex:withObject:]): Method removed.
	* src/Foundation/NSGArray.h (NSGArray, NSGMutableArray): Add
 	placeholder ivars so our instance size matches that of the
 	behavior class that will be added.

	* src/NSArray.m: Divide methods between NSArray and NSArrayNonCore
 	classes.  Add NSArrayNonCore behavior to NSArray.  Divide methods
 	between NSMutableArray and NSMutableArrayNonCore classes.  Add
 	NSArrayNonCore behavior to NSArray.
	* src/Foundation/NSArray.h: Separate core and non-core methods.
  	Declare with @class the new classes NSArrayNonCore and
 	NSMutableArrayNonCore.

	Use the new behavior mechanisms to make it safe to subclass
	NSNotification.

	* src/Foundation/NSNotification.h: Include
 	<objects/Notification.h>
	(NSNotification): Add placeholder ivars so our instance size matches
	that of the behavior class that will be added.
	* src/objects/Notification.h: Add #ifndef/#endif wrapper around
 	header file.

	New behavior mechanisms for safe subclassing.

	* src/behavior.m (behavior_class_add_class): Function renamed from
 	class_add_behavior.  Add more explanation to NSCAssert().
	(class_add_behavior): New function, calling above function.
	(behavior_class_add_category): New function.
	(behavior_class_add_methods): Function renamed from
	class_add_methods_if_not_there.
	* src/objects/behavior.h: Declare new function names.

	* src/behavior.m: Include <objects/stdobjects.h>.
	(class_add_behavior): Use NSCAssert() to make sure that we don't try
	to increase the instance size of a class that has been subclassed;
	(hopeless ivar layout confusion would result).
	* behavior.m: File renamed from behavior.c.
	* src/Makefile.in (GNU_CFILES): Removed behavior.c.
	(GNU_MFILES): Added behavior.m.

Sat Mar 30 10:05:17 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/nsdictionary.m (main): Use renamed method
 	behavior_set_debug.
	* checks/nsarray.m (main): Use renamed method behavior_set_debug.

	* src/NSArray.m ([NSArray -lastObject]): Don't assert count; just
 	return nil if it's empty.
	([NSMutableArray -removeLastObject]): Don't assert count; raise
	NSRangeError if it's empty.

	Make NSAutoreleasePools co-exist with exceptions, safely and
 	without leaks.  (Also improve efficiency by using a linked list of
 	arrays instead of realloc when more space is needed, and by using
 	a cache of pools that helps avoid the allocation/deallocation of
 	pools.)

	* src/NSAutoreleasePool.m: (push_pool_to_cache): New function.
	(pop_pool_from_cache): New function.
	([NSAutoreleasePool +initialize]): New method.
	([NSAutoreleasePool +allocWithZone:]): New method.
	([NSAutoreleasePool -init]): Method overhauled to initialize new ivar
	for handling exceptions, _child; also use pool cache.
	(total_autoreleased_objects_count): New static variable.
	(BEGINNING_POOL_SIZE): Macro renamed from DEFAULT_SIZE.
	(autorelease_pool_cache, autorelease_pool_cache_size,
	autorelease_pool_cache_count): New static variables.
	([NSAutoreleasePool -_setChildPool:]): New method, handling stack and
	dealing with exceptions.
	([NSAutoreleasePool -addObject:]): Deal with linked list of arrays.
	([NSAutoreleasePool -dealloc]): Deal with exceptions by releasing
	child pools.  Place self into the pool cache instead of
 	deallocating.
	([NSAutoreleasePool +resetTotalAutoreleasedObjects]): New method.
	([NSAutoreleasePool +totalAutoreleasedObjects]): New method.
	* src/Foundation/NSAutoreleasePool.h: Declare new ivars and
 	methods.

	* src/NSArray.m ([NSArray -isEqualToArray:]): Fix typo; reverse
 	test for returning NO.
	([NSArray -arrayByAddingObject:]): New function, from Scott
	Christley.
	([NSArray -arrayByAddingObjectsFromArray:]): Likewise.
	([NSArray -subarrayWithRange:]): Implemented by Scott Christely.
	([NSMutableArray -removeObjectIdenticalTo:]): Don't fail if the object
	is not present.  Initial implementation by Scott Christley
	overhauled by McCallum.
	([NSMutableArray -removeObject:]): Likewise.
	([NSMutableArray -removeAllObjects]): Implemented by Scott Christley.
	([NSMutableArray -setArray:]): New function, from Scott Christley.
	* src/Foundation/NSArray.h: Declare new methods.

	* src/objects/ArrayPrivate.h: Add new semantic to ivar
 	_grow_factor: if it is less than 0, the array capacity grows by
 	-_grow_factor, but never shrinks.
	(incrementCount): Use the ABS() of _grow_factor.
	(decrementCount): Only shrink the array capacity if _grow_factor
	is greater than 0.
	* src/objects/Array.h (Array _grow_factor): Change type of ivar
 	from unsigned to int.
	* src/Array.m ([Array +defaultGrowFactor]): Return type changed to
 	int.
	([Array -growFactor]): Likewise.
	* src/objects/stdobjects.h.in (ABS): New macro, defined if not
 	already defined.
	* src/objects/Array.h: Change return types of "grow factor"
 	methods from unsigned to int.

	* src/IndexedCollection.m ([IndexedCollection -removeObject:]):
 	Now removes *all* instances of ANOBJECT, not just one.
	([IndexedCollection -replaceObject:withObject:]): Now replaces *all*
	instances of OLDOBJECT, not just one.
	* src/objects/IndexedCollecting.h (NO_INDEX): Change from UINT_MAX
 	to NSNotFound, so that Array and NSArray can coexist.

	* checks/test01.m ([ConstantCollection -printCount]): Use
 	object_get_class_name() instead of sending -name.

Fri Mar 29 09:47:39 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Overhaul mframe functions.

	* src/mframe.m: Overhauled for memory management changes to fix
 	leaks, various other fixes.
	(MFRAME_STRUCTURES_PASSED_BY_REFERENCE): Renamed from
	CONNECTION_STRUCTURES_PASSED_BY_REFERENCE.
	(mframe_dissect_call): Function renamed from dissect_method_call.
	Remove some redundant if()-else clauses.  Clarify case in which
 	OUT_PARAMETERS is true.  Use switch statement instead of
 	if-else's.
	(mframe_do_call): Function renamed from make_method_call.  Get the
	local selector type from the target's Method, not from the
 	selector type; this will more reliably give the correct type
 	string.  Don't bother to set OBJECT twice.  Remove some redundant
 	if()-else clauses.  Use NSParameterAssert, not assert, so we can
 	catch problems, (and not crash the D.O. server).  Change the way
 	memory management for decoded arguments is handled to remove
 	memory leaks; use new scheme for DECODER functions that are
 	responsonsible for making sure allocated memory is eventually
 	freed.  Use alloca() to allocate space for _C_PTR values, struct's
 	and arrays.  Overhaul the way floats and doubles are extracted
 	from the RETFRAME; use functions with __builtin_return, instead of
 	fishing around the RETFRAME.  Use switch statement intead of
 	if-else's.  Separate cases for char's and short's.  Change some
 	local variable names for clarity.
	(mframe_build_return): Function renamed from dissect_method_return.
	Remove some redundant if()-else clauses.  Use NSParameterAssert,
 	not assert.  Change the way memory management for decoded
 	arguments is handled to remove memory leaks; use new scheme for
 	DECODER functions that are responsonsible for making sure
 	allocated memory is eventually freed.  Use alloca() to allocate
 	space for _C_PTR values, struct's and arrays.
	* src/objects/mframe.h: Declare new method names, and comment.

	* src/Connection.m ([Connection
 	-forwardForProxy:selector:argFrame:]): Use new mframe interface.
  	In the nested function DECODER, autorelease any char*'s that we
 	decode, as required by the new memory reference scheme.
	([Connection -_service_forwardForProxy:]): Likewise, for both.

	* src/Collection.m ([ConstantCollection
 	-_collectionReleaseContents]): Use alloca() instead of malloc()
 	and free().

	Fixes to checks for testing new coding of float and double.
	* checks/server.m ([Server -returnFloat]): Append float const with
 	`f'.  Include <objects/Proxy.h> for -connectionForProxy.
	* checks/client.m (main): Print the float and double before
 	sending it.
	* checks/cstream.m (main): Decode the float and double.

	* src/BinaryCStream.m ([BinaryCStream
 	-encodeValueOfCType:at:withName:]): Encode the exponent as a
 	short, not an int.
	([BinaryCStream -decodeValueOfCType:at:withName:]): Likewise, decoding.
	* src/BinaryCStream.m ([BinaryCStream
 	-encodeValueOfCType:at:withName:]): [_C_CHARPTR]: Don't
 	autorelease the malloc'ed pointer here; thus the behavior is
 	analogous to decoding an object: it gives you a reference, it is
 	the callers responsibility to free it.
	([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_DBL]: Fix
	typo.  Use mantissa1, not mantissa2 twice.

	Fix the scheme for encoding and decoding floats and doubles.  The
	old scheme sometimes lost precision, and it was also very
	inefficient.
	* src/BinaryCStream.m: Include <math.h>
	(FLOAT_FACTOR): New macro.
	(WRITE_SIGNED_TYPE): Take new first argument, the pointer for the
	data.
	(READ_SIGNED_TYPE): Likewise.
	(WRITE_UNSIGNED_TYPE): Likewise.
	(READ_UNSIGNED_TYPE): Likewise.
	([BinaryCStream -encodeValueOfCType:at:withName:]): [_C_FLT]: Use new
	scheme, based on frexp() to turn a float into a series of ints.
	[_C_DBL]: Likewise.
	([BinaryCStream -decodeValueOfCType:at:withName:]): [_C_FLT]: Likewise
	to match.
	[_C_DBL]: Likewise.

	* src/RunLoop.m (debug_run_loop): Changed from 1 to 0; turn off
 	debugging messages.

Thu Mar 28 22:59:35 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/MallocAddress.m ([MallocAddress
 	+autoreleaseMallocAddress:]): Fix typo in method name.
	* src/objects/MallocAddress.h: Fix typo.

Tue Mar 26 14:23:13 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/MallocAddress.m ([MallocAddress +initialize]): Use
 	NSNonRetainedObjectMapValueCallBacks, not
 	NSObjectMapValueCallBacks, because otherwise the object will never
 	get dealloc'ed.

	Send exceptions in the D.O. server back to the client.  This is
	not finished.  We still need to address some potential memory leaks.

	* examples/second-client.m (main): Add a call that causes an
 	exception in the server, and catch the returned exception.

	* src/Connection.m: In all methods, use NSParameterAssert()
 	instead of assert(), so that it raises an NSException, and doesn't
 	abort().
	([Connection -forwardForProxy:selector:argFrame:]): Decode the flag
	that indicates whether the return packet hold an exception or the
 	return values.  If it holds an exception, decode it and raise it.
	([Connection -_service_forwardForProxy:]): Surround the processing of
	the method request packet with NS_DURING...NS_ENDHANDLER.  If an
 	exception is raised, catch it, encode in in a specially flagged
 	packet, and send the packet back to the client.

	* src/BinaryCStream.m ([BinaryCStream
 	-decodeValueOfCType:at:withName:]): [_C_CHARPTR]: Autorelease the
 	malloc'ed char pointer.  Before memory was leaking.

	* src/Connection.m: Use NSException instead of sending -error: in
 	all methods.
	* src/Proxy.m: Likewise.
	* src/NSString.m: Likewise.
	* src/NSObject.m: Likewise.
	* src/NSAutoreleasePool.m: Likewise.
	* src/Encoder.m: Likewise.
	* src/Decoder.m: Likewise.
	* src/BinaryCStream.m: Likewise.

	* src/OrderedCollection.m ([OrderedCollection
 	-putObject:atIndex:]): Return type changed from id to void.  Use
 	NSException, not error:.

Mon Mar 25 19:27:06 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Fixing miscellaneous bugs that showed up with -Wall.

	* src/NXStringTable_scan.l (string_buf_ptr): Init local variable.

	* src/NSBundle.m ([NSBundle +setSystemLanguages:]): Comment out
 	unused variables.

	* src/NSData.m ([NSMutableData -resetBytesInRange:]): Cast to
 	avoid warning.
	([NSMutableData -initWithLength:]): Likewise.

	* src/NSValue.m ([NSValueDecoder -initValue:withObjCType:]):
 	Return self.

	* src/objc-load.c (objc_load_module): Comment out unused
 	variables.

	* src/UdpPort.m: Include <sys/param.h> for MAXHOSTNAMELEN.
	([UdpInPort -newPacketReceivedBeforeDate:]): Return nil.

Sun Mar 24 17:04:24 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Just a little futzing.

	* src/UdpPort.m (name_2_port_number): Function renamed from
 	name_to_port_number, and changed to better use
 	IPPORT_USERRESERVED.
	([UdpInPort +newForReceivingFromPortNumber:]): Overhauled and
	commented.

Fri Mar 22 08:39:03 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSObject.m ([NSObject +initialize]): Use
 	NSNonOwnedPointerOrNullMapKeyCallBacks, not
 	NSNonRetainedObjectsMapKeyCallBacks; keying on addresses, and
 	avoiding a call to -isEqual, is better.

Thu Mar 21 20:17:05 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/BinaryCStream.m ([BinaryCStream
 	-encodeValueOfCType:at:withName:name]): [_C_CHARPTR]: Write the
 	string with the host LENGTH, not the network LENGTH!

	* src/NSGSet.m ([NSGSet -isEqual:]): Make this just compare the
 	id's, not call [super isEqual:].  I did this to prevent an
 	infinite loop while running checks/nsarchiver.m, but I have a
 	feeling that the bug might be in map.c, not here.  Look at this
 	again!

	* src/Set.m ([Set -nextObjectWithEnumState:]): Dereference
 	ENUMSTATE; this change mirrors the earlier change to [NSGSet
 	-nextObject].

	* src/KeyedCollection.m ([ConstantKeyedCollection
 	-_decodeContentsWithCoder:]): Reverse order of objects and keys,
 	to match _encodeContentsWithCoder:.

	* src/Makefile.in (GNUSTEP_CFILES): Removed NSZone.c.
	(GNUSTEP_MFILES): Added NSZone.m.
	* NSZone.m: Renamed from NSZone.c.
	(NSZoneSetName, NSZoneName): New functions; unimplemented.
	* src/Foundation/NSZone.h: Declare new functions.

	* src/Makefile.in (objects/stdobjects.h): Create it in the build
 	directory, not $(srcdir).  (Reported by Albin Jones.)

Thu Mar 21 13:13:35 EST 1996  Albin L. Jones  <Albin.L.Jones@Dartmouth.EDU>

	* src/Foundation/NSGeometry.h: Added documentation commentary
	and reformatted things a little.  Also separated the typedef's
	from the struct declarations in the definitions of NSPoint,
	NSSize, and NSRect.  (This is for conformity to the GNU coding
	standards.)
	* src/NSGeometry.m: Added documentation commentary and
	reformatted things a little.  Also added bits of code to
	guarantee that functions which return BOOL do so.
	* src/Foundation/NSHashTable.h: Added full documentation.
	* src/Foundation/NSMapTable.h: Ditto.
	* src/Foundation/NSRange.h: Separated the typedef from the
	struct declaration for NSRange.  (This is for conformity to the
	GNU coding standards.)
	* src/Makefile.in: Added new files to GNU_MFILES, GNU_HEADERS;
	removed old files from GNU_CFILES, GNU_OTHER_SRCFILES,
	GNUSTEP_HEADERS, GNUSTEP_MFILES.  Removed GNU_BASICS_CFILES,
	GNU_BASICS_HFILES, GNU_CALLBACKS_CFILES, GNU_CALLBACKS_HFILES;
	they are no longer needed.
	* src/Makefile.in (libobjects.so): Replaced dependency
	objects/stdobjects.h with $(HEADERS_INSTALL).
	* src/Makefile.in (libobjects.a): Ditto.
	* src/NSHashTable.m (_NSHT_extra_retain): Fixed annoying "Bus
	error" bug.
	* src/NSHashTable.m: Removed the usage of "allocs".  Now uses
	zones only.
	* src/NSHashTable.m: Many other changes, none fundamental.  More
	comments.
	* src/NSMapTable.m: Removed the usage of "allocs".  Now uses
	zones only.
	* src/NSMapTable.m: Many other changes, none fundamental.  More
	comments.
	* src/abort.c, src/allocs.c., src/atoz.m, src/objects/abort.h
	src/objects/allocs.h, src/objects/bitops.h,
	src/objects/minmax.h: Got rid of these, as they were no longer
	needed.
	* src/array.c: Became src/array.m.
	* src/data.c: Became src/data.m.
	* src/hash.c: Became src/hash.m.
	* src/list.c: Became src/list.m.
	* src/map.c: Became src/map.m.
	* src/callbacks-char_p.c: Became src/cbs-char-p.m.
	* src/callbacks-id.m: Became src/cbs-id.m.
	* src/callbacks-int_p.c: Became src/cbs-int-p.m.
	* src/callbacks-int.c: Became src/cbs-int.m.
	* src/callbacks-void_p.c: Became src/cbs-void-p.m.
	* src/callbacks.c: Became src/callbacks.m.
	* src/number.c: Became src/numbers.c.
	* src/x-basics.c.in: Became src/x-bas.m.in.
	* src/x-callbacks.c.in: Became src/x-cbs.m.in.
	* src/objects/magic.h, src/objects/number.h: Merged to form
	src/objects/numbers.h.
	* src/objects/x-basics.h.in: Became src/objects/x-bas.h.in.
	* src/objects/x-callbacks.h.in: Became src/objects/x-cbs.h.in.
	* src/array.m, hash.m, list.m, map.m: Removed usage of "allocs",
	changed to using zones only.

Thu Mar 21 19:27:56 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (CFLAGS): Added -Wno-implicit.

	* src/BinaryCStream.m: Overhauled to use htonl() and friends.  New
 	format is incompatible with the old.

	* checks/Makefile.in (SRCS): Add coder.m and cstream.m.

Wed Mar 20 13:21:16 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (CC): Added -pipe.

Tue Mar 19 12:10:44 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/server.m: Use new RunLoop mechanism, and new Array method
 	names.
	([Server -connection:didConnect:]): Clean up search for invalidated
	proxies.
	* checks/client.m: Use new RunLoop mechanism.

	* src/TcpPort.m (debug_tcp_port): Set to 1.
	([TcpInPort -encodeWithCoder:]): Use encodeBytes:.., not
	encodeValue..; the data is already in network byte-order.
	([TcpOutPort -encodeWithCoder:]): Likewise.
	([TcpOutPort +newWithCoder:]): Likewise.
	([TcpOutPort
	+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]): Set
 	entirety of _REMOTE_IN_PORT_ADDRESS to zero.

	* src/Encoder.m ([Encoder -encodeBytes:count:withName:]): Update
 	for new argument types.
	* src/Decoder.m ([Decoder -decodeBytes:count:withName:name]):
 	Update for new argument types, and verify read count.
	* src/objects/Coding.h (Coding -encodeBytes:count:withName:): Use
 	void*, not char* for bytes.
	(Coding -decodeBytes:count:withName:): Likewise, and pass COUNT, not
	pointer to COUNT.

	* src/Encoder.m ([Encoder -encodeBytes:count:withName:]): Method
 	implemented; although it may need to change later.
	* src/Decoder.m ([Decoder -decodeBytes:count:withName:name]):
	Likewise.

	* src/RunLoop.m ([RunLoop -acceptInputForMode:beforeDate:]): If
 	LIMIT_DATE is nil, poll the inputs, but don't wait if there is
 	nothing available immediately.  Check to make sure that the
 	LIMIT_DATE hasn't already past; if it has, return immediately,
 	before polling input sources.

Mon Mar 18 13:31:38 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Miscellaneous small fixes, found with -Wall.
	* src/NSThread.m: Fix indentation.
	([NSThread +currentThread]): Add parenthesis around assignment inside
	while.
	* src/NSString.m: Include <objects/behavior.h>.
	([NSString -componentsSeparatedByString:]): Initialize ARRAY!
	* src/List.m: Include <objects/stdobjects.h> Use OBJC_MALLOC and
 	friends, instead of NX_MALLOC.
	* src/Decoder.m ([Decoder -finishDecodingInterconnectedObjects]):
 	Comment out temporarily unused AWAKE_SEL local variable.
	* src/Proxy.m: Raise NSExceptions instead of using -error:.

	Debug bug the occurs when a client disconnects from the server,
	and other clients have references to Proxy's of the disconnected
	client.
	* examples/second-server.m ([SecondServer
 	-connectionBecameInvalid:]): Correctly detect proxies that should
 	be removed from the array.
	* examples/second-client.m (main): Run RunLoop properly according
 	to new style.
	* src/Proxy.m ([Proxy -encodeWithCoder:]): Add a more explanatory
 	error message for the use of invalid Connections.
	([Proxy +encodeObject:withConnectedCoder:]): Likewise.
	([Proxy -forward::]): Likewise.
	* src/Connection.m ([Connection -_handleRmc:]): [METHOD_REQUEST]:
 	Fix conditional for which we handle a request immediately.  Before
 	it inappropriately queued call backs from the server on which we
 	were waiting, causing us to wait forever.
	* src/TcpPort.m ([TcpOutPort -encodeWithCoder:]): Add debugging
 	message.
	([TcpOutPort +newWithCoder:]): Add debugging message.
	* src/Proxy.m ([Proxy +encodeObject:withConnectedCoder:]): Assert
 	that triangle connection proxy out port's are valid.

	Fix tricky autorelease bugs.
	* examples/second-server.m ([SecondServer
 	-connectionBecameInvalid:]): Don't release REMOTES; it was already
 	autoreleased.
	(main): Enable double release check with NSObject.
	* src/NSMapTable.m (NSAllMapTableKeys): Don't autorelease the
 	return value; it was already autoreleased.  Too many autoreleases
 	were causing crashes.
	(NSAllMapTableValues): Likewise.
	* src/NSObject.m ([NSObject -autorelease]): Print retain and
 	release counts in more helpful error message.
	* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Set
 	CURRENT_POOL to PARENT, even if PARENT is nil.  This is correct
 	behavior.  Old behavior could cause infinite loops in the PARENT
 	pointers.

	Remove old vestiges of nil mode used when RunLoop modes were
	ignored. 
	* src/RunLoop.m ([RunLoop -limitDateForMode:]): Assert mode.
	([RunLoop -acceptInputForMode:beforeDate:]): Likewise.
	* src/NSTimer.m ([NSTimer
 	+scheduledTimerWithTimeInterval:invocation:repeats:]): Add to
 	RunLoopDefaultMode, not nil.
	([NSTimer
	+scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]):
 	Likewise.
	* src/Connection.m ([Connection
 	-_getReceivedReplyRmcWithSequenceNumber:]): Run the RunLoop in
 	RunLoopConnectionReplyMode, not nil mode.

	Update Connection for new RunLoop/Port interaction/interface.
	* src/Connection.m ([Connection
 	+newForInPort:outPort:ancestorConnection:]): Add the in port to
 	the RunLoop in new RunLoop style.
	([Connection -addToRunLoop:forMode:]): Method removed.
	([Connection -removeFromRunLoop:forMode:]): Method removed.
	([Connection -_getReceivedReplyRmcWithSequenceNumber:]): Use new class
	method for RunLoop.
	([Connection -invalidate]): Remove comment about removing from
	RunLoop.  RunLoop's now automatically remove invalid ports.
	(RunLoopConnectionReplyMode): New run loop mode string.
	* src/objects/Connection.h: Remove old methods.  Add declaration
 	of new RunLoop mode.

	Fix the relationship between RunLoop's and Port's.  Maintain the
	fd_set, and information about which Port's are registered with
	which RunLoop's entirely in the RunLoop.  Also implement multiple
	MODE's with RunLoop's---previously the MODE was ignored:

	* checks/tcpport-server.m (main): Add port to run loop using new
 	scheme.
	* checks/tcpport-client.m (main): Likewise.

	* src/TcpPort.m: Removed methods for dealing remembering locally
 	which RunLoop we've been added to; now the RunLoop manages this.
	([TcpInPort +newForReceivingFromPortNumber:]): Don't initialize the
	the removed ivar ACTIVE_FD_SET.  Likewise with _RUN_LOOPS.
	([TcpInPort -newPacketReceivedBeforeDate:]): Don't use removed
	_RUN_LOOPS.
	([TcpInPort -old_receivePacketWithTimeout:]): Remove old deprecated
	method.
	([TcpInPort -invokeWithObject:]): Method removed.
	([TcpInPort -newPacketReceivedBeforeDate:]): Overhauled to use new
	RunLoop mechanism.
	([TcpInPort -getFds:count:]): New method, called by RunLoop.
	([TcpInPort -readyForReadingOnFileDescriptor:]): Likewise.
	([TcpInPort -_addClientOutPort:]): Updated for new scheme.
	([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
	([TcpInPort -addToRunLoop:forMode:]): Method removed.
	([TcpInPort -removeFromRunLoop:forMode:]): Method removed.
	([TcpInPort -dealloc]): Don't release deleted ivar _RUN_LOOPS.
	* src/objects/TcpPort.h (TcpInPort _run_loops): Removed ivars.
	(TcpInPort _client_sock_2_out_port, _client_sock_2_packet): Prepended
	ivars with underscores.

	* src/RunLoop.m: Add new explanatory comment at beginning.
	([RunLoop -init]): Initialize new ivars.
	([RunLoop -currentMode]): New method.
	([RunLoop -addFileDescriptor:object:forMode:]): Method replaces
	-addFileDescriptor:invocation:forMode:, and re-implemented.  Not
 	yet functional.
	([RunLoop -removeFileDescriptor:forMode:]): Likewise.
	([RunLoop -addPort:forMode:]): New method.
	([RunLoop -removePort:forMode:]): New method.
	([RunLoop -addTimer:forMode:]): Overhauled to do the right thing with
	the MODE argument.
	([RunLoop -acceptInputForMode:beforeDate:]): Method overhauled to ask
	port objects for their FD's, create FD_2_OBJECT map table on the
 	fly, and initialize FDS on the fly.  Now properly removed
 	invalidated ports from the MODE.
	([RunLoop -runOnceBeforeDate:forMode:]): New method.
	([RunLoop -runOnceBeforeDate:]): New method.
	([RunLoop -runUntilDate:forMode:]): New method.
	([RunLoop -runUntilDate:]): New method.
	([RunLoop +runUntilDate:forMode:]): New method.
	([RunLoop +runOnceBeforeDate:]): New method.
	([RunLoop +runOnceBeforeDate:forMode:]): New method.
	([RunLoop +currentMode]): New method.
	(RunLoopDefaultMode): New global variable.
	([NSObject -performSelector:afterDelay:]): Not implemented.
	* src/objects/RunLoop.h: Many new methods declared.
	(RunLoop _mode_2_timers): New ivar.
	(RunLoop _mode_2_in_ports): New ivar.
	(RunLoop _mode_2_fd_listeners): New ivar.
	(RunLoopDefaultMode): New extern variable.

	* src/objects/RandomGenerating.h (RandomGenerating): Inherit from
 	NSObject protocol.  Remove methods +alloc and -init.

	* src/NSDate.m ([NSDate +distantFuture]): Increase efficiency by
 	caching a single instance in a static variable.
	([NSDate +distantPast]): Likewise.

Fri Mar 15 19:13:57 1996  Scott Christley <scottc@net-community.com>

        * checks/nsarray.m (main): Filled out tests for NSArray and
        NSMutableArray classes.

Sun Mar 17 18:20:17 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Many miscellaneous small bug fixes, found with -Wall:

	* src/objects/objects.h: Don't include <objects/SocketPort.h>

	* src/mframe.m (dissect_method_return): Initialize RETFRAME to
 	NULL to prevent warning.

	* src/UdpPort.m: Change references to non-existant UdpPacket class
 	to UdpInPacket.
	* src/objects/UdpPort.h: Declare classes UdpInPacket and
 	UdpOutPacket.

	* src/TcpPort.m (bzero): New macro, to memset(); for FD_ZERO().

	* src/RunLoop.m: Remove references to NAN.  Include <string.h> for
	memset. 
	(bzero): New macro, to memset(); for FD_ZERO().
	* src/NSTimer.m: Remove references to NAN.

	* src/Proxy.m ([Proxy +newWithCoder:]): Remove unused variable.

	* src/NotificationDispatcher.m ([NotificationDispatcher
 	-removeObserver:name:object:]): Remove unused variables.
	* src/NSNotificationCenter.m: Include <behavior.h>
	* src/NSNotification.m: Include <behavior.h>

	* src/NSInvocation.m ([NSInvocation -methodSignature]): Return
 	nil.

	* src/NSDate.m ([NSDate -initWithString:]): Initialize theTime to
 	0, to prevent warning.

	* src/NSData.m ([NSData +_setConcreteClass:]): Include <string.h>
 	for memset().

	* src/NSCountedSet.m ([NSCountedSet -countForObject:]): Return 0.

	* src/NSBundle.m: Minor comment format fix.

	* src/Invocation.m: Remove several unused local variables.
 	([MethodInvocation -invokeWithObject:]): Revert last change: call
	-invokeWithTarget:, not -subclassResponsibility.

	* src/NSAllocateObject.m: Include <string.h> for memset().

	* src/NSAutoreleasePool.m ([NSAutoreleasePool
 	-parentAutoreleasePool]): Remove inclusion of eltfuncs.h and
 	collhash.h.

	Miscellaneous archiving fixes.
	* src/NSArchiver.m ([NSArchiver +initialize]): Use ==, not = in if
 	test.
	* src/Encoder.m ([Encoder -_coderCreateReferenceForObject:]):
 	Return the xref!
	([Encoder -_coderCreateReferenceForConstPtr:]): Likewise.
	* src/Coder.m: Return nil for several -notImplemented methods that
 	are to return objects.
	* src/CStream.m ([CStream -initForWritingToStream:s]): Return the
 	result.
	* src/TextCStream.m ([TextCStream -decodeName:name]): Pass correct
 	value to debug message.
	* src/RawCStream.m ([RawCStream
 	-encodeValueOfCType:at:withName:name]): Remove unused variable.
	([RawCStream -decodeValueOfCType:at:withName:]): Likewise.  Switch on
	*type, not unused variable.

	Miscellaneous fixes to collection classes.
	* src/MutableCString.m ([MutableCString -initWithCoder:]): Remove
 	unused variable n.  Return self, not n.
	* src/OrderedCollection.m ([OrderedCollection
 	-replaceRange:withCollection:]): Return void.
	([OrderedCollection -replaceRange:usingCollection:]): Likewise.
	* src/MappedCollector.m ([MappedCollector
 	-initWithObjects:forKeys:count:]): Return self.
	* src/LinkedList.m ([LinkedList -initWithObjects:count:]): Return
 	self.
	* src/KeyedCollection.m ([ConstantKeyedCollection
 	-initWithObjects:forKeys:count:]): Return nil.
	([ConstantKeyedCollection -objectAtKey:]): Likewise.
	([ConstantKeyedCollection -keyOfObject:]): Likewise.
	([ConstantKeyedCollection -withKeysInvoke:]): Return void.
	([ConstantKeyedCollection -withKeysInvoke:whileTrue:]): Likewise.
	([ConstantKeyedCollection -nextObjectAndKey:withEnumState:]):
	Return nil.
	([ConstantKeyedCollection -copyValuesAs:]): Likewise.
	([ConstantKeyedCollection -nextObjectAndKey:withEnumState:]):
	Likewise.
	* src/IndexedCollection.m ([ConstantIndexedCollection
 	-prevObjectWithEnumState:]): Use assignment, not equality test for
 	setting enumState to -1.
	* src/GapArray.m ([GapArray -empty]): Renamed from
 	_collectionEmpty, and implemented to do entire job of emptying.
	* src/Dictionary.m ([Dictionary -newEnumState]): Removed useless
 	cruft.
	* src/Collection.m ([ConstantCollection
 	-detectObjectByInvoking:]): Set detectedObject to nil to avoid
 	warning.
	([ConstantCollection -maxObject]): Initialize MAX to nil.
	([ConstantCollection -minObject]): Initialize MIN to nil.
	([Collection -uniqueContents]): Iterate over CP, not SELF.
	* src/CircularArray.m ([CircularArray -empty]): Renamed from
 	_collectionEmpty, and implemented to do entire job of emptying.
	* src/Array.m ([Array -empty]): Renamed from _empty, and
 	implemented to do entire job of emptying.

Fri Mar 15 13:10:34 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* doc/Makefile.in (GNUstep-FAQ.html): New target.
	(GNUstep-FAQ): Rules modified to handle @email{} and @url{}.

Tue Mar 12 09:43:32 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/tcpport-server.m, checks/tcpport-client.m: Method name
	changes. 

	* checks/Makefile.in (SRCS): Add nstimer.m.

	* src/TcpPort.m ([TcpInPort +newForReceivingFromPortNumber:]):
 	Initialize _run_loops.
	([TcpInPort -addToRunLoop:forMode:]): Use new _run_loops Bag.
	([TcpInPort -removeFromRunLoop:forMode:]): Likewise.
	([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
	([TcpInPort -_addClientOutPort:]): Likewise.
	([TcpInPort -dealloc]): Release _run_loops.
	([TcpOutPort -outPacketClass]): Method renamed from -packetClass.
	([TcpOutPort +outPacketClass]): Likewise.
	* src/objects/TcpPort.h (TcpInPort _run_loops): Make it a Bag.
	(TcpInPort _run_loop_modes): Remove ivar.

	* src/Port.m ([InPort -setReceivedPacketInvocation:]): Assert that
 	_packet_invocation isn't already set.

	* src/RunLoop.m ([RunLoop -removeFileDescriptor:forMode:]): Add
 	debugging message.

	* src/NSGSet.m ([NSGSet -member:]): Return value.

	* src/IndexedCollection.m ([ConstantIndexedCollection
 	-firstObject]): Return nil if empty.
	([ConstantIndexedCollection -lastObject]): Likewise.
	([ConstantIndexedCollection -prevObjectWithEnumState:]): Use -1 to
	deal with reversals at extremes.
	([ConstantIndexedCollection -nextObjectWithEnumState:]): Use [self
	count] to deal with reversals at extremes.

	* src/Connection.m (in_port_2_ancestor): New static variable.
	([Connection +initialize]): Initialize it.
	([Connection +newForInPort:outPort:ancestorConnection:]): Use new
	static variable to handle ancestor; (ignore ancestor argument; the
 	method name will be changed later).  Set the in-port's packet
 	invocation to the Connection class. Don't call
 	-addToRunLoop.. here, the mechanics of it were already done above.
	([Connection -addToRunLoop:forMode:]): Mark it as not implemented,
	for now.
	([Connection -runConnectionUntilDate:]): Don't add to run loop here.
	([Connection +invokeWithObject:]): Make it a class method instead of
	an instance method; alter contents appropriately for this.
	([Connection -portIsInvalid:]): Look at in_port_2_ancestor and remove
	ourselves if necessary.
	([Connection -invalidate]): Don't remove ourselves from the run loop
	here, because we may not be the only one listening.  This still
 	needs fixing.

	* src/ConnectedCoder.m ([ConnectedEncoder -dismiss]): Fix typo in
 	sendPacket: call.

	* src/IndexedCollection.m: Several minor fixes to return types and
 	return values.  Also:
	([ReverseEnumerator -nextObject]): Pass pointer to enum_state.
	([ConstantIndexedCollection -prevObjectWithEnumState:]): Method
	overhauled.
	([ConstantIndexedCollection -nextObjectWithEnumState:]): Likewise.
	([ConstantIndexedCollection -newEnumState]): New method.

	* src/Foundation/NSGSet.h: Remove #include of objects/elt.h.
	* src/Foundation/NSGDictionary.h: Likewise.
	* src/Foundation/NSGArray.h: Likewise.
	* src/NSGSet.m: Remove #include of objects/eltfuncs.h.
	* src/NSGDictionary.m: Likewise.
	* src/NSGCountedSet.m: Likewise.
	* src/AutoreleasePool.m: Remove #include of objects/collhash.h.

	* src/TcpPort.m: Updated to conform to new Port class.  TcpPacket
 	class split into TcpInPacket and TcpOutPacket.
	* src/objects/TcpPort.h: Declare new methods and classes.

	* src/RunLoop.m: Debugging messages conditioned on debug_run_loop.
	([RunLoop -runOnceBeforeDate:forMode:]): New method.
	* src/objects/RunLoop.h: Declare new method.

	* src/Port.m ([Port +outPacketClass]): Method renamed from
 	packetClass.
	([Port -outPacketClass]): Likewise.
	([InPort -setReceivedPacketInvocation:]): Method renamed from
	setPacketInvocation.
	([OutPort -sendPacket:]): Method renamed from -sendPacket:withTimeout:.
	(OutPacket, InPacket): New classes, replacing Packet class.
	* src/objects/Port.h: Declare new methods and classes.

	* src/MemoryStream.m ([MemoryStream -initWithCapacity:prefix:]):
 	New method.
	* src/objects/MemoryStream.h: Declare new method.

	* src/Connection.m: Remove old-style methods for getting incoming
 	ConnectedCoders.  Add new methods that use RunLoop.  All callers
 	changed.
	([Connection -addToRunLoop:forMode:]): New method.
	([Connection -removeFromRunLoop:forMode:]): New method.
	([Connection -runConnectionUntilDate:]): New method.
	([Connection -runConnection]): Method changed to call above method.
	([Connection -_handleRmc:]): New method.
	([Connection -_handleQueuedRmcRequests]): New method.
	([Connection -_getReceivedReplyRmcFromQueueWithSequenceNumber:]): New
	method.
	([Connection -_getReceivedReplyRmcWithSequenceNumber:]): New method.
	([Connection -invokeWithObject:]): New method.
	([Connection +newForInPort:outPort:ancestorConnection:]): Set
	reply_depth ivar.
	([Connection -_encoderCreateReferenceForConstPtr:]): Return the xref!
	* src/objects/Connection.h: Declare new methods.  Type arguments
 	with InPort and OutPort, not just Port.
	(Connection reply_depth): New ivar.

	* src/ConnectedCoder.m ([ConnectedDecoder
 	+newDecodingWithPacket:connection:]): New method.  Old method
	+newDecodingWithConnection:timeout: is deprecated.
	* src/objects/ConnectedCoder.h: Declare new method.

Mon Mar 11 12:02:04 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/tcpport-server.m: Updated for RunLoop.
	* checks/tcpport-client.m: Likewise.

	* src/RunLoop.m: New file.
	* src/objects/RunLoop.h: New file.
	* src/NSTimer.m: New file.
	* src/Makefile.in (CFLAGS): Add -Wall.
	(GNU_MFILES): Add RunLoop.m.
	(GNU_HEADERS): Add objects/RunLoop.h.
	(GNUSTEP_MFILES): Add NSTimer.m.
	(GNUSTEP_HEADERS): Add Foundation/NSTimer.h.

	* src/TcpPort.m ([TcpInPort -receivePacketWithTimeout:]):
 	Completely new implementation that uses the RunLoop.
	([TcpInPort -old_receivePacketWithTimeout:]): New method, holding old
	implementation.
	([TcpInPort -invokeWithObject:]): New method, called by RunLoop.
	([TcpInPort -_tryToGetPacketFromReadableFD:]): New private method.
	([TcpInPort -_addClientOutPort:toRunLoop:forMode:]): New method.
	([TcpInPort -addToRunLoop:forMode:]): New method.
	([TcpInPort -_removeClientOutPort:fromRunLoop:forMode:]): New method.
	([TcpInPort -removeFromRunLoop:forMode:]): New method.
	([TcpInPort -_addClientOutPort:]): Add it to the RunLoop.
	([TcpInPort -_connectedOutPortInvalidated:]): Remove it from the
	RunLoop.
	([TcpInPort -_addClientOutPort:]): Method renamed from _addOutPort:.
	* src/objects/TcpPort.h (TcpInPort _run_loop, _run_loop_mode): New
 	ivars.

	* src/Port.m ([InPort -init]): Set _packet_invocation.
	([InPort -setPacketInvocation:]): New method.
	([InPort -addToRunLoop:forMode:]): New method.
	([InPort -removeFromRunLoop:forMode:]): New method.
	* src/objects/Port.h: Declare new methods.
	(Port _packet_invocation): New ivar.

	* src/NotificationDispatcher.m ([NotificationDispatcher
 	+defaultInstance]): New method.
	([NotificationDispatcher -removeObserver:name:object:]): Remove
	handling of non-existance _nil_observer_array.

	* src/NSDate.m: Many small formatting changes.
	(UNIX_REFERENCE_INTERVAL): Macro renamed from UNIX_OFFSET.
	([NSConcreteDate -timeIntervalSinceNow]): New method.

	* src/Invocation.m (return_retained): Change macro from 1 to 0.

	* src/Foundation/NSTimer.h: Declare NSTimer class interface.

	* src/Connection.m ([Connection -isValid]): New method.

	* src/objects/NotificationDispatcher.h ([NotificationDispatcher
 	+defaultInstance]): Declare new method.

	* src/objects/Notification.h (Notifying): New protocol.
	(NotificationPosting): New protocol.

	* src/objects/Connection.h: Declare new method.

	* src/objects/Array.h (ConstantArray): Inherit from
 	ConstantIndexedCollection, not IndexedCollection.

	* src/IndexedCollection.m ([IndexedCollection +initialize]):
 	Compare self with IndexedCollection, not KeyedCollection.

	* doc/gnustep-faq.texi: Changes by Scott Christley.

Thu Mar  7 15:51:51 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/TcpPort.m ([TcpInPort -receivePacketWithTimeout:]): Move
 	initialization of select_timeout to inside loop since Linux
 	select() modifies *select_timeout.

Wed Mar  6 11:40:02 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/TcpPort.m: Assert is_valid in many places.
	([TcpInPort +newForReceivingFromPortNumber:]): Get the address of the
	host, not localhost=127.0.0.1.
	([TcpInPort -invalidate]): Remove ourselves from socket_2_port and
	port_number_2_port here instead of in -dealloc.
	([TcpInPort -description]): Indicate whether we are valid or not in
	string.
	([TcpOutPort -description]): Likewise.
	([TcpOutPort -invalidate]): Assert is_valid, don't just conditionally
	execute body.  Remove ourselves from out_port_bag and
 	socket_2_port here, not in -dealloc.
	([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): If we
	don't read() full prefix, don't abort(), just return EOF.

	* src/Proxy.m: Assert that the connection is valid in several
 	places.

	* src/Connection.m: Assert is_valid in many places.
	([Connection +newForInPort:outPort:ancestorConnection:]): Set is_valid
	to 1.  Only ask for notification of out port death if out port is
 	non-nil.
	([Connection -portIsInvalid:]): Properly get the port from the
	notification object.

	* src/Port.m ([Port -invalidate]): Insist that is_valid is true at
 	the beginning of this method, don't test it and skip the body of
 	this method.  Force users to be careful about calling -invalidate
 	more than once.

	* src/NSMapTable.m (NSAllMapTableValues): Get rid of unused
 	variable ARRAY.  Return VALUEARRAY, not unused variable.

	* examples/second-server.m (announce_new_port): New function.
	(announce_broken_port): New function.
	(main): Register them for notifications; let user choose registered
	name on command line.

	* examples/second-client.m (main): Use new notification interface.

	* checks/nsnotification.m (main): Wrap it with an
 	NSAutoreleasePool.

	* checks/tcpport-server.m (main): Use new notification interface
 	for invocations.

	* src/NotificationDispatcher.m (NotificationRequest): Ivar names
 	prepended with `_'.
	(NotificationInvocation): Likewise.
	(NotificationPerformer): Likewise.
	([NotificationDispatcher
	-_addObserver:notificationRequest:name:object:]): Insist that
 	observer be non-nil; (in the case of Invocation's, the invocation
 	is now the observer).
	([NotificationDispatcher -addInvocation:name:object:]): Method renamed
	from -addObserver:invocation:...  Pass the invocation as the
 	observer.  Release the NR after it has been added.
	([NotificationDispatcher -addObserver:selector:name:object:]): Release
	the NR after it has been added.
	([NotificationDispatcher -_removeFromLinkedListNotificationRequest:]):
	New method.
	([NotificationDispatcher -removeInvocation:]): New method.
	([NotificationDispatcher -removeInvocation:name:object:]): New method.
	([NotificationDispatcher -removeObserver:]): Use
	_removeFromLinkedListNotificationRequest:.
	([NotificationDispatcher -removeObserver:name:object:]): Likewise.
	([NotificationDispatcher +addInvocation:name:object:]): New method.
	([NotificationDispatcher +removeInvocation:]): New method.
	([NotificationDispatcher +removeInvocation:name:object:]): New method.
	* src/objects/NotificationDispatcher.h: Declare new methods.

	* src/Connection.m ([Connection +initialize]): Initialize
 	all_connections_local_targets.
	([Connection -addLocalObject:]): Put it in
	all_connections_local_targets also.
	([Connection -removeLocalObject:]): Remove it from
	all_connections_local_targets also.

Tue Mar  5 10:32:51 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* examples/second-server.m: Use notifications instead of old
 	scheme for invalidation listening.
	* examples/second-server.h: Don't conform to no-longer-used
 	InvalidationListening protocol.
	* examples/second-client.m (announce_new_connection): New function.
	(main): Register it for notifications.  Run the connection forever,
	instead of on a 15 second timeout.
	* examples/first-client.m (main): Before exit, invalidate the
 	connection, not the proxy.
	* examples/textcoding.m: Send -close to Archiver, not old
 	-closeCoder.
	* examples/Makefile.in (first): Force check for re-compilation of
 	libobjects.
	(second): Likewise.

	* checks/tcpport-server.m (announce_new_connection): New function.
	(announce_broken_connection): New function.
	(main): Register new functions for notifications.  Send messages back
	to clients to test reply port mechanism.
	* checks/tcpport-client.m: Test the reply port mechanism; look for
 	messages coming back from the server.
	* checks/server.m: Use Array instead of List.  Use
 	NotificationDispatcher to hear about invalid and new connections.
  	Let the user set the registerd name from the command line.
	* checks/server.h: Update for new server interface.
	* checks/client.m (main): Let user set registered name from
 	command line.
	* checks/Makefile.in (SRCS): Added nsnotification.m.
	(tcpport, remote): Force check of libobjects re-compilation.

	* doc/Makefile.in (TEXI_FILES): Add gnustep-faq.texi.
	(GNUstep-FAQ): New target.

	* src/TcpPort.m: Many ivar names changed for clarity.  Some new
 	ivars added; see changes to TcpPort.h.  Overhaul of how
 	TcpOutPort's track their remote address.  Previously they used the
 	address of their local peer; this is no good when encoding a
 	TcpOutPort on the wire for D.O.; the D.O. reciever needs a way to
 	contact the listen'ing socket of the TcpInPort in order to form a
 	new connection.  _remote_in_port_address is now the address of the
 	remote listen'ing socket.  Added many comments throughout.  All
 	perror() calls changes to be more informative.
	(debug_tcp_port): Make this a static variable instead of a macro.
	(init_socket_2_port): Check pre-existance of socket_2_port here
	instead of callers.
	([TcpInPort +newForReceivingFromPortNumber:]): Method overhauled.
	Don't bind socket to INADDR_ANY because we need to be able to
 	encode our unique host address on the wire for D.O.
	([TcpInPort -_listeningSockaddr]): New method.
	([TcpInPort -receivePacketWithTimeout:]): Method overhauled.  Get the
	reply port for an incoming packet from the packet prefix.
	([TcpInPort -_connectedOutPortInvalidated:]): Add debugging message.
	([TcpInPort -classForConnectedCoder:]): Return the TcpOutPort class,
	not [self class] because we always encode a "send right" (ala
 	Mach), not a "recieve right".
	([TcpOutPort 
	+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]):
 	Method renamed, and majorly overhauled.  Now many different
 	combinations of NULL argument do different things.  This is now
 	the single designated initializer.  We now check both the SOCKADDR
 	and the SOCK argument to find previously-created TcpOutPort's.
  	This method is also used to set the remote_in_port_address of an
 	already-created TcpOutPort.  There is more error checking.
	([TcpOutPort +newForSendingToPortNumber:onHost:]): Overhauled.
	([TcpOutPort +_newWithAcceptedSocket:peeraddr:inPort:]): Overhauled to
	work with new designated initalizer.
	([TcpOutPort -sendPacket:withTimeout:]): Use new low-level Packet
	interface that deals with reply ports.
	([TcpOutPort +packetClass]): New method.
	(PREFIX_LENGTH_TYPE): New macro.
	(PREFIX_LENGTH_SIZE): New macro.
	(PREFIX_ADDRESS_TYPE): New macro.
	(PREFIX_ADDRESS_SIZE): New macro.
	(PREFIX_SIZE): New macro.
	([TcpPacket -_initForReceivingWithSize:replyPort:]): Use 0 prefix,
	because the separate +_getPacketSize... method reads those bytes.
	([TcpPacket -_writeToSocket:withReplySockaddr:]): Now the prefix
	includes the sockaddr of the reply port.  If ADDR is non-null, set
 	the reply port address portion of the prefix.
	([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): New
	method, replacing +readPacketSizeFromSocket:.
	([TcpPacket -_fillFromSocket:]): Set Stream's eofPosition properly.
	Leave Stream's position at zero.
	(InPortAcceptedClientNotification): New notification string.
	* src/objects/TcpPort.h: Declare new ivars and notfication
 	strings.

	* src/Proxy.m: Change many ivar names.
	(debug_proxy): Temporarily set to 1.
	([Proxy +newForRemoteTarget:connection:]): Set new ivar names.
	Embellish debugging message to include connection.
	([Proxy -invalidateProxy]): Return void instead of self.
	([Proxy +encodeObject:withConnectedCoder:]): Overhauled, encode tag,
	and change order of encoding for more efficient encoding.  Added
 	many comments.
	([Proxy +newWithCoder:]): Likewise, to match.  Also added a check to
	make sure we don't return a bogus pointer for a local object; do
 	this by checking with connection's +includesLocalObject; if it's
 	not there, raise an exception.
	([Proxy -forward::]): Call the new forwarding method name in 
	Connection.
	* src/objects/Proxy.h: Several ivar name changes.  Method types
 	fixed.

	* src/Connection.m (default_in_port_class,
 	default_out_port_class): New static variables, replacing
 	default_port_class.
	(all_connections_local_targets): New map table; not used yet, though.
	(debug_connection): Temporarily set to 1.
	([Connection +initialize]): Set new static vars.
	([Connection +setDefaultInPortClass:]): New method.
	([Connection +defaultInPortClass]): New method.
	([Connection +setDefaultOutPortClass:]): New method.
	([Connection +defaultOutPortClass]): New method.
	([Connection -init]): Use new default_in_port_class.
	([Connection +new]): Likewise.
	([Connection +newWithRootObject:]): Likewise.
	([Connection +newRegisteringAtName:withRootObject:]): Likewise.
	([Connection +rootProxyAtName:onHost:]): Likewise.
	([Connection +rootProxyAtPort:]): Likewise.
	([Connection +newForInPort:outPort:ancestorConnection:]): Assert the
	in port.  Embellish the debugging message to print the in port and
 	out port.  Set the new connection's in port and out port ivars.
  	Register ourselves as observers of port invalidation with the
 	NotificationDispatcher.  Post a notification that a new connection
 	was created.
	([Connection -runConnectionWithTimeout:]): Use
	_serviceReceivedRequestsWithTimeout:.
	([Connection -_newReceivedRmcWithTimeout:]): Use decodingClass, not
	encodingClass.
	([Connection -_serviceReceivedRequestsWithTimeout:]): Method name
	changed from -newReceivedReplyRmcWithSequenceNumber:.
	([Connection +includesLocalObject:]): New method; still needs more
	infrastructure to work, though.
	([Connection -inPortClass]): New method.
	([Connection -outPortClass]): New method.
	([Connection -setInPortClass:aPortClass]): New method.
	([Connection -setOutPortClass:aPortClass]): New method.
	([Connection -_encoderCreateReferenceForConstPtr:]): Add 1 to map
	table count to get xref.
	([Connection -_decoderCreateReferenceForConstPtr:]): Likewise.
	([Connection -dealloc]): Remove ourselves from the
	NotificationDispatcher. 
	(ConnectionWasCreatedNotification): New notification string.
	* src/objects/Connection.h (in_port_class, out_port_class): New
 	ivars replacing port_class.  Declare methods to get and set them.

	* src/ConnectedCoder.m (CONNECTED_CODER_FORMAT_VERSION): New
 	macro.
	([ConnectedEncoder
	-_initForWritingWithConnection:sequenceNumber:identifier:]): Get
 	packetClass from the connection's outPort, not the outPortClass.
  	Return self.
	([ConnectedDecoder
	+readSignatureFromCStream:getClassname:formatVersion:]): Fill in
 	name and version.

	* src/LinkedList.m ([LinkedList -prependObject:]): Fix return type.
	([LinkedList -insertObject:atIndex:]): Likewise.

	* src/Encoder.m ([Encoder -_coderCreateReferenceForObject:]):
 	Insert it in object_2_xref, not const_ptr_2_xref.
	([Encoder -_encodeObject:withName:isBycopy:isForwardReference:]):
	Create the in_progress_table with
 	NSNonOwnedPointerMapKeyCallBacks, not NSObject..; needed by
 	distributed objects so we don't get infinite loop with proxy
 	objects.

	* src/Decoder.m ([Decoder
 	+readSignatureFromCStream:getClassname:formatVersion:]): Compare
 	got with 6, not 2.
	([Decoder -_coderCreateReferenceForObject:]): Add warning comment
	about a -retain we don't want.  Fix this eventually!

	* src/objects/CoderPrivate.h (SIGNATURE_FORMAT_STRING): Remove
 	"version" from between class name and format version.

	* src/CStream.m: Use new SIGNATURE_FORMAT_STRING, as defined in
 	objects/CoderPrivate.h.

Sat Mar  2 19:33:26 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Wrote implementation of GNU Notification and
	NotificationDispatcher classes.  Used these as the engines for new
	versions of the NSNotification* classes.  The previous versions of
	NSNotification and NSNotificationCenter were buggy and slow.  The
	new GNU implementations have some dramatic improvements speed, due
	to extra use of hash tables, and the use of LinkedList's; they
	also have some better features.

	* src/Notification.m: New file.
	* src/NotificationDispatcher.m: New file.
	* src/objects/Notification.h: New file.
	* src/objects/NotificationDispatcher.h: New file.

	* src/NSNotificationCenter.m: Completely new implementation based
	on GNU NotificationDispatcher.  This version is much faster, and
	has some better features.
	* src/NSNotification.m: Completely new implementation based on GNU
 	Notification.
	* src/Foundation/NSNotification.h: New interface based on GNU
 	Notification and NotificationDispatcher.

	* src/Makefile.in (GNU_MFILES): Added Notification.m and
 	NotificationDispatcher.m.  Removed SocketPort.m.
	(GNU_HEADERS): Added objects/Notification.h and
	objects/NotificationDispatcher.h.  Removed objects/SocketPort.h.
	* src/Foundation/NSConnection.h (NSConnectionDeath): New macro.

	* src/objects/TcpPort.h: Declare new methods and new Notification
 	String.

	* src/Proxy.m ([Proxy +initialize]): Don't return self.

	* src/objects/Magnitude.h: Don't include <objc/Object.h>

	* src/LinkedList.m ([LinkedList -insertObject:after:]): When
 	inserting first object, set _count to 1.
	([LinkedList -insertObject:before:]): Likewise.
	([LinkedList -appendObject:]): Don't claim ownership here if we're
	going to call -insertObject:after: later.
	([LinkedList -prependObject:]): Likewise.  And renamed from
	prependElement.
	([LinkedList -insertObject:atIndex:]): Likewise.
	([LinkedList -newEnumState]): New method.
	([LinkedList -nextObjectWithEnumState:]): Overhauled.
	([LinkedList -prevObjectWithEnumState:]): Likewise.
	* src/LinkedListNode.m ([LinkedListNode -initialize]): Method
 	removed.
	([LinkedListNode -init]): Set _linked_list.

	* src/Connection.m ([Connection +connectionsCountWithInPort:]):
 	Fix use of END_FOR_ARRAY.
	([Connection -invalidate]): Post ConnectionBecameInvalidNotification.
	(ConnectionBecameInvalidNotification): New extern String.

	* src/objects/Connection.h (ConnectionBecameInvalidNotification):
 	Declare extern new String.

	* src/objects/String.h (String): Make the protocol inherit from
 	the NSObject protocol.

	* src/objects/Collecting.h (ConstantCollecting): Make is inherit
 	from the NSObject protocol.

	* src/TcpPort.m ([TcpInPort -numberOfConnectedOutPorts]): New
 	method.
	([TcpInPort -_connectedOutPortInvalidated:]): Post an
	InPortClientBecameInvalidNotification.
	([TcpInPort -portNumber]): New method.
	([TcpInPort -description]): New method.
	([TcpOutPort +newWithAcceptedSocket:inPort:]): Fill in the 
	_address ivar.
	([TcpOutPort -portNumber]): New method.
	([TcpOutPort -description]): New method.

	* src/Invocation.m ([MethodInvocation -invokeWithObject:]): Make
 	it a -subclassResponsibililty.
	([MethodInvocation -initWithArgframe:selector:]): Raise an exception
	if we are unable to get a non-null selector type string.

	* src/Port.m ([Port -invalidate]): Post
 	PortBecameInvalidNotification.
	(PortBecameInvalidNotification): New String object.

	* src/NSGDictionary.m ([NSGMutableDictionary -objectForKey:]): New
 	method.

	* src/KeyedCollection.m ([ConstantKeyedCollection -description]):
 	Use object_get_class_name instead of -name.

	* src/Foundation/NSObject.h (NSObject (NEXSTEP)): Comment out
 	-name method because NSNotification.h declares it with a different
 	type.  Eventually we'll have to come up with a more permanent
 	solution.

	* src/DelegatePool.m ([DelegatePool -forward::]): Fix use of
 	END_FOR_ARRAY.

	* src/Collection.m ([Enumerator -nextObject]): Pass pointer to
 	ENUM_STATE.
	([Enumerator -dealloc]): Likewise.
	([ConstantCollection -detectObjectByInvoking:]): Use -returnValueIsTrue.
	([ConstantCollection -printForDebugger]): Use object_get_class_name
	instead of -name because -name is now ambiguously typed.

Fri Mar  1 09:53:31 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/Makefile.in: Removed all invdividual targets for
 	executables.  Use general rule that works for GNU make, but may
 	not work for others.
	(SRCS): Add tcpport-server.m and tcpport-client.m.
	(tcpport): New target.

	* src/MachPort.m: Surrounded by #if for mach.

	* src/Port.m: Overhauled for new Port heirarchy.  More changes
	than I want to list individually.
	* src/objects/Port.h: Likewise.
	* src/TcpPort.m, src/objects/TcpPort.h: New files.
	* src/UdpPort.m, src/objects/UdpPort.h: New files.
	* src/MachPort.m,src/objects/MachPort.h: New files.
	* src/Makefile.in (GNU_MFILES): Added UdpPort.m.
	(GNU_HEADERS): Added objects/UdpPort.h.
	* src/Makefile.in (GNU_MFILES): Add MachPort.m.
	(GNU_HEADERS): Add objects/MachPort.h.

	* src/Encoder.m ([Encoder -_coderCreateReferenceForConstPtr:]):
 	Get xref before asserting it.

	* src/objects/CoderPrivate.h (WRITE_SIGNATURE_FORMAT_ARGS): Use
 	STRINGIFY() for OBJECTS_PACKAGE_NAME.
	* src/objects/stdobjects.h.in (STRINGIFY): New macro defined, if
 	not defined already.
	(XSTRINGIFY): Likewise.

	* src/objects/Array.h (END_FOR_ARRAY): Macro renamed from
 	FOR_ARRAY_END, and given argument.

	* src/Connection.m: Overhauled for new collections, coders and
	ports.  More changes than I want to list individually.
	* src/ConnectedCoder.m: Likewise.
	* src/objects/ConnectedCoder.h: Likewise.
	* src/objects/Connection.h: Likewise.
	* src/Proxy.m: Likewise.
	* src/objects/Proxy.h: Likewise.
	All this overhaul work not yet finished.
	
Thu Feb 29 21:49:33 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (GNUSTEP_MFILES): Re-added Connection.m and
 	ConnectedCoder.m.
	(GNUSTEP_HEADERS): Removed duplicate Foundation/NSHashTable.h.

Wed Feb 28 20:37:27 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/invocation.m: Test many new features.

	* src/objects/CoderPrivate.h (SIGNATURE_FORMAT_STRING): Change to
 	include package name and version.
	(WRITE_SIGNATURE_FORMAT_ARGS): New macro.
	* src/objects/stdobjects.h.in: New macro.
	* src/Decoder.m
	([Decoder +readSignatureFromCStream:getClassname:formatVersion:]):
	Get new values.
	* src/Encoder.m ([Encoder -writeSignature]): Use new macro.

	* src/Makefile.in (GNU_MFILES): Add TcpPort.m.
	(GNU_HEADERS): Add objects/TcpPort.h.

Sun Feb 25 13:01:50 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (FILE_AUTHORS): Added "Albin L. Jones".

Sat Feb 24 13:47:40 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (GNUSTEP_MFILES): Add NSInvocation.m.

	* src/NSInvocation.m: Class implemented using Invocation as
 	behavior.
	* src/Foundation/NSInvocation.h: Remove ivars.  Define so that
 	behavior can be used.

	* src/Invocation.m (return_retained): New macro.
	([Invocation -setReturnValue:]): Retain return value if necessary.
	([ArgframeInvocation -_retainArguments]): Add missing local var.
	([MethodInvocation -initWithArgframe:type:]): New method.
	([MethodInvocation -initWithArgframe:selector:]): Use new method.  Set
	selector using sel_pointer.
	([ObjectFunctionInvocation -invokeWithObject:]): Use return_retained,
	not args_retained.

Fri Feb 23 14:35:05 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Invocation.m ([Invocation -initWithReturnType:]): Use new
 	ivar names.  Use calloc instead of malloc.
	([Invocation -encodeWithCoder:]): New method.
	([Invocation -initWithCoder:]): New method.
	([Invocation -classForConnectedCoder:]): New method.
	([Invocation -returnType]): Use new ivar name.
	([Invocation -setReturnValue:]): New method.
	([Invocation -objectReturnValue]): Method implemented.
	([Invocation -intReturnValue]): Method implemented.
	([Invocation -returnValueIsTrue]): Method implementation finished.
	([Invocation -dealloc]): Use new ivar name.  Release return type if
	necessary.
	([ArgframeInvocation -_retainArguments]): New method.
	([ArgframeInvocation -_initArgframeFrom:withType:retainArgs:]): Method
	overhauled.
	([ArgframeInvocation -initWithArgframe:type:]): Use new method.
	([ArgframeInvocation -encodeWithCoder:]): New method.
	([ArgframeInvocation -initWithCoder:]): New method.
	([ArgframeInvocation -argumentTypeAtIndex:]): Use new ivar name.
	([ArgframeInvocation -retainArguments]): New method.
	([ArgframeInvocation -argumentsRetained]): New method.
	([ArgframeInvocation -_deallocArgframe]): New method.
	([ArgframeInvocation -dealloc]): Use new method.  Release args if
	necessary.
	([MethodInvocation -_initTargetAndSelPointers]): New method.
	([MethodInvocation -initWithArgframe:selector:]): Use new method.
	([MethodInvocation -initWithCoder:]): New method.
	([MethodInvocation -initWithTarget:selector:...]): Retain args if
	necessary.
	([MethodInvocation -invoke]): Use new ivars.
	([MethodInvocation -invokeWithTarget:]): Use -setTarget:.
	([MethodInvocation -selector]): Use new ivar.
	([MethodInvocation -setSelector:]): Likewise.
	([MethodInvocation -target]): Likewise.
	([MethodInvocation -setTarget:]): Likewise.
	([ObjectMethodInvocation -_initArgObjectPointer]): New method.
	([ObjectMethodInvocation -initWithArgframe:selector:]): Use new method.
	([ObjectMethodInvocation -initWithCoder:]): New method.
	([ObjectMethodInvocation -invokeWithObject:]): New method.
	(VoidFunctionInvocation): New class implementation.
	(ObjectFunctionInvocation): New class implementation.

	* src/objects/Invocation.h: Make -invoke methods return void.
  	Include objects/Invoking.h.
	(return_type): ivar renamed from encoding.
	(ArgframeInvocation args_retained): new ivar.
	(MethodInvocation target_pointer): new ivar.
	(MethodInvocation sel_pointer): new ivar.
	(VoidFunctionInvocation): New class.
	(ObjectFunctionInvocation): New class.

	* src/objects/Invoking.h: Make -invoke methods return void.

	* src/Encoder.m ([Encoder +initialize]): Compare self with
 	Encoder, not Coder.
	([Encoder +encodeRootObject:withName:toStream:]): Rename method to
	-close.
	([Encoder -encodeSelector:withName:name]): Use sel_get_any_typed_uid
	instead of sel_get_any_uid.

	* src/Stream.m ([Stream -close]): Method renamed from
 	-closeStream.
	* src/objects/Streaming.h: Likewise.
	* src/StdioStream.m ([Stream -close]): Likewise.
	* src/MemoryStream.m ([Stream -close]): Likewise.

	* src/objects/Coder.h ([Coder +setDefaultCStreamClass:]): Declare
 	method.
	([Coder +defaultCStreamClass]): Declare method.

	* src/Coder.m ([Coder -close]): Method renamed from -closeCoding.
	* src/objects/Coding.h: Likewise.

Thu Feb 22 10:03:01 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSObject.m (retain_counts): Make it a NSMapTable instead of
 	a coll_hash.
	(NSIncrementExtraRefCount): Update for new retain_counts type.
	(NSDecrementExtraRefCountWasZero): Likewise.
	([NSObject +initialize]): Likewise.
	([NSObject -retainCount]): Likewise.

	* src/Makefile.in (GNU_HEADERS): Add objects/bitops.h,
 	objects/minmax.h.
	(GNU_OTHER_SRCFILES): Add md5.h.
	* src/Makefile.in (GNU_HEADERS): Add objects/Enumerating.h,
 	objects/Invoking.h.
	* src/Makefile.in (GNU_HEADERS): Add objects/array.h.

	* Makefile.in (DIST_FILES): Add RELEASE-NOTES.

	* src/NSString.m ([NSString -hash]): Don't use elt_* function, and
 	use NSHashStringLength.
	* src/String.m ([String -hash]): Likewise.

	* src/simple-load.h (__objc_dynamic_find_symbol): Cast to drop
 	const type, and avoid warning.

	* src/Makefile.in (GNU_MFILES): Remove eltfuncs.m.
	(GNU_HEADERS): Remove objects/elt.h, objects/eltfuncs.h.
	* src/Makefile.in (GNU_CFILES): Remove collhash.c.
	(GNU_HEADERS): Remove objects/collhash.h.

	* src/CString.m ([CString -initWithCString:range:]): Don't make
 	super call.  Fix infinite loop in _collectionDealloc.

	* src/BinaryCStream.m ([BinaryCStream
 	-decodeValueOfCType:at:withName:]): Make save_type const.

	* src/AutoreleasePool.m: Don't include <objects/eltfuncs.h>.
	* src/AutoreleaseStack.m: Likewise.

	* examples/textcoding.m: Overhaul for new collection class scheme
 	to improve distributed objects and NeXT-compatibility.

	* checks/Makefile.in (SRCS): Add nsmaptable.m and nshashtable.m.
	* checks/nsarchiver.m: Update for new Archiver classes.
	* checks/test01.m: Update for new collection classes.

	* doc/Makefile.in (TEXI_FILES): Add faq.texi.
	* doc/faq.texi: New file.

	* src/Foundation/NSGSet.h: Remove ivars, the behavior code now
 	handles this.
	* src/Foundation/NSGDictionary.h: Likewise.

	* src/objects/Coder.h: Declare classes Encoder and Decoder;
 	extensive rearrangement of ivars, method names and protocols.

	* src/objects/RetainingNotifier.h: Don't include <objc/List.h>

	* src/objects/Archiver.h: Subclass from Encoder and Decoder, not
 	Coder.

	* src/Makefile.in (GNUSTEP_OTHER_SRCFILES): Add NSCallBacks.h.
	(GNUSTEP_HEADERS): Remove Foundation/NSCallBacks.h.

	* src/Makefile.in (CFLAGS): Remove -Wno-implicit.
	(GNU_MFILES): Remove BinaryTreeEltNode.m, LinkedListEltNode.m,
	RNTreeEltNode.m.  Add Decoder.m, Encoder.m.  Temporarily remove
 	ConnectedCoder.m, Connection.m, RetainingNotifier.m, Time.m.
	(GNU_CFILES): Add allocs.c.
	(GNU_OBJS): Change order to create BASICS and CALLBACKS first.
	(GNU_HEADERS): Remove BinaryTreeEltNode.h, EltNode-h, EltNode-m,
	LinkedListEltNode.h, RBTreeEltNode.h.
	(GNUSTEP_MFILES): NSCallBacks.m.
	(GNUSTEP_HEADERS): Foundation/NSCallBacks.h.

	* Encoder.m, Decoder.m, NSCallBacks.m: New files.
	* objects/OrderedCollecting.h, objects/Enumerating.h,
	objects/Invoking.h, objects/CoderPrivate.h,
	objects/OrderedCollection.h: New files.

	* src/Coder.m: Move much of functionality to Encoder.m, Decoder.m,
 	and objects/CoderPrivate.h.

	* src/Invocation.m ([Invocation -objectReturnValue]): New method.
	([Invocation -intReturnValue]): New method.
	([Invocation -returnValueIsTrue]): New method.
	([Invocation -initWithTarget:selector:...]): Use switch statement to
	handle value arguments, instead of pointer-to-value arguments.

	* src/NSConcreteNumber.m ([NumberTemplate -hash]): New method.
	([NumberTemplate -isEqual:]): New method.
	([NumberTemplate -encodeWithCoder:]): Make this self-contained.
	([NumberTemplate -initWithCoder:]): Likewise.

	* src/NSData.m: Fix typos.

	* src/Port.m ([Port -encodeWithCoder:]): Fix argument type.

	* src/OrderedCollection.m: Many fixes, continuing conversion from
 	old IndexedCollection.m

	* src/NSValue.m ([NSValueDecoder +newWithCoder:]): Comment out for
 	now; I think it needs fixes.
	([NSValueDecoder -initWithCoder:]): Likewise.

	* src/NSNumber.m ([NSNumber -description]): New method.

        * src/callbacks-char_p.c, src/callbacks-id.m, src/callbacks-int.c,
 	src/callbacks-int_p.c, src/callbacks-void_p.c, src/callbacks.c,
 	src/hash.c, src/list.c, src/map.c, src/objects/allocs.h,
 	src/objects/array.h, src/objects/callbacks.h, src/objects/data.h,
 	src/objects/hash.h, src/objects/list.h, src/objects/map.h,
 	src/objects/objects.h, src/x-basics.c.in, src/x-callbacks.c.in,
 	src/NSHashTable .m, src/NSMapTable.m, src/Foundation/atoz.h,
	src/Foundation/NSMapTable.h, src/Foundation/NSHashTable.h: New
 	version from Albin Jones, plus fixes by McCallum.

	Major overhaul of collection class heirarchy to improve
	distributed objects and NeXT-compatibility.  Many classes
	entirely-reworked.  More changes than I want to list here.

        * src/KeyedCollection.m, src/IndexedCollection.m, src/Heap.m,
 	src/GapArray.m, src/Dictionary.m, src/Bag.m, src/Array.m,
 	src/CircularArray.m, src/Collection.m, src/ConstantString.m,
 	src/DelegatePool.m, src/MappedCollector.m, src/MutableString.m,
 	src/MutableCString.m, src/Queue.m, src/RBTree.m, src/Set.m,
 	src/SplayTree.m, src/Stack.m, src/objects/Array.h,
 	src/objects/Bag.h, src/objects/BinaryTree.h,
 	src/objects/BinaryTreeNode.h, src/objects/Collecting.h,
 	src/objects/Collection.h, src/objects/CollectionPrivate.h,
 	src/objects/Dictionary.h, src/objects/Heap.h,
 	src/objects/IndexedCollecting.h, src/objects/IndexedCollection.h,
 	src/objects/KeyedCollecting.h, src/objects/KeyedCollection.h,
 	src/objects/LinkedList.h, src/objects/LinkedListNode.h,
 	src/MallocAddress.m, src/objects/MappedCollector.h,
 	src/MutableString.m, src/MutableCString.m, src/NSString.m,
 	src/NSGSet.m, src/NSGCString.m, src/NSGDictionary.m,
 	src/NSGCountedSet.m, src/NSGArray.m, src/NSGArchiver.m,
 	src/objects/Queue.h, src/objects/Set.h, src/objects/SplayTree.h,
 	src/objects/Stack.h, src/String.m: Overhaul for new collection
 	class scheme to improve distributed objects and
 	NeXT-compatibility.

	* src/DelegatePool.m: Overhaul for new collection class scheme to
 	improve distributed objects and NeXT-compatibility.  Change
 	several methods to return void.
	* src/objects/DelegatePool.h: Change many method return types to
 	void.

Thu Feb 15 11:18:33 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (GNU_MFILES): Removed EltNodeCollector.m.
	(GNU_HEADERS): Removed objects/EltNodeCollector.h.

Wed Feb 14 12:23:12 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Makefile.in (RCS_FILES): Add INSTALL.WIN32.

	* src/Makefile.in (RCS_FILES): Add Makefile.sed.nt.
	* checks/Makefile.in (RCS_FILES): Undo last change.
	* Makefile.in (RCS_FILES): Undo last change.

Tue Feb 13 11:00:51 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (GNU_MFILES): Added OrderedCollection.m.
	(GNU_HEADERS): Added objects/OrderedCollection.h and
	objects/OrderedCollecting.h.

	* checks/Makefile.in (RCS_FILES): Remove Makefile.sed.nt, (which,
 	as I understand, is supposed to be automatically generated from
 	Makefile.in by configure.bat).
	(SRCS): Fix typo.

	* Makefile.in (RCS_FILES): Remove Makefile.sed.nt, (which, as I
 	understand, is supposed to be automatically generated from
 	Makefile.in by configure.bat).

	* doc/install.texi: Mention objc.patch.
	* Makefile.in (DIST_FILES): Add objc.patch for thread-safe
 	runtime.

	* src/RawCStream.m, objects/RawCStream.h: New files.
	* src/Makefile.in (GNU_MFILES): Added RawCStream.m.
	(GNU_HEADERS): Added objects/RawCStream.h.

	* checks/diningPhilosophers.m (main): Cast (int) to (id) in
 	detachNewThread... call.

	* src/NSNotification.m, src/NSNotificationCenter.m,
	src/Foundation/NSNotification.h: New files from Georg Tuparev.
	* src/Makefile.in (GNUSTEP_MFILES): Added NSNotification.m and
 	NSNotificationCenter.m from Georg Tuparev.
	(GNUSTEP_HEADERS): Added Foundation/NSNotification.h from Georg
	Tuparev.

Mon Feb  5 10:08:56 1996  Scott Christley  (scottc@net-community.com)

	* checks/diningPhilosophers.m: New file
	* checks/Makefile.in: add diningPhilosophers.m
	* src/Foundation/NSGeometry.h: Add NSZeroPoint, NSZeroSize,
	and NSZeroRect constants.

Sun Feb  4 18:43:41 1996  Scott Christley  (scottc@net-community.com)

	* checks/Makefile.sed.nt: New file
	* configure.bat: Added configuration of checks makefile
	* checks/Makefile.in (RCS_FILES): Add file Makefile.sed.nt
	Add $(EXEEXT), $(OEXT), $(LIBEXT) extensions
	* test01.m: Different random() for WIN32
	* src/Foundation/NSZone.h: include <objects/config.h>

Sat Feb  3 22:28:52 1996  Scott Christley  (scottc@net-community.com)

	* src/NSLock.m: New file
	* src/Foundation/NSLock.h: New file
	* src/NSThread.m: New file
	* src/Foundation/NSThread.h: New file
	* src/Makefile.in (GNUSTEP_MFILES): Add NSLock.m, NSThread.m
	(GNUSTEP_HEADERS): Add Foundation/NSLock.h, Foundation/NSThread.h

Fri Feb  2 15:44:20 1996  Scott Christley  (scottc@net-community.com)

	* src/Makefile.in (uninstall): Only uninstall NEXTSTEP_HEADERS

Thu Feb  1 19:42:09 1996  Scott Christley  (scottc@net-community.com)

	* src/objects/SocketPort.h: Exclude non-existent headers for WIN32
	* src/objects/Time.h: Likewise
	* src/SocketPort.m: Likewise
	* src/NSBundle.m: Likewise
	* src/objects/NSCoder.h: fixed mispelled file name
	* src/NSCoder.m: remove inclusion of non-existent file
	* src/Date.m: Exclude non-existent headers for WIN32
	* src/NSProcessInfo.m: Likewise
	* src/find_exec.c: Likewise

	* Makefile.in (RCS_FILES): Add file configure.bat, Makefile.sed.nt
	Add $(EXEEXT), $(OEXT), $(LIBEXT) extensions
	* configure.bat: New file
	* Makefile.sed.nt: New file
	* src/Makefile.sed.nt: New file
	* src/objects/config-nt.h: New file
	* src/objects/config-nt.sed: New file
	* src/objc-load.c: Runtime include file changed "objc/list.h"
	to "objc/objc-list.h"
	* src/objects/stdobject.h.in: Likewise

Mon Feb 12 22:03:05 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in: Fix patch rejects.
	(GNUSTEP_MFILES): Added NSHashTable.m and NSMapTable.m.
	(GNUSTEP_HEADERS): Added Foundation/NSHashTable.h and
	Foundation/NSMapTable.h.

Mon Feb 12 21:14:58 1996  Albin L. Jones  <ajones@coos.dartmouth.edu>

        * src/Makefile.in (GNU_MFILES, GNU_CFILES, GNU_HEADERS): Added
        the above to the appropriate lists.  (GNU_BASICS_CFILES): Created
        this variable to hold a list of `...-basics.c' files to be made.
        (GNU_BASICS_HFILES): Similarly.  (GNU_CALLBACKS_CFILES): Created
        this variable to hold a list of `...-callbacks.c' files to be
        make.  (GNU_CALLBACKS_HFILES): Similarly.  (GNU_OTHER_SRCFILES):
        Needed to add `x-basics.c.in', `x-callbacks.c.in',
        `objects/x-basics.h.in' and `objects/x-callbacks.h.in' to this
        list.  (GNUSTEP_HEADERS): Added `Foundation/atoz.h'.  (%-basics.c,
        %-callbacks.c, objects/%-basics.h, objects/%-callbacks.h): Added
        these make targets.  (array.o, data.o, hash.o, list.o, map.o,
        objects/array.h, objects/data.h, objects/hash.h, objects/list.h,
        objects/map.h): Added these make targets.

        * src/NSHashTable.m, src/NSMapTable.m,
        src/Foundation/NSHashTable.h,
        src/Foundation/NSMapTable.h,
        src/Foundation/atoz.h: Added these.

        * src/objects/abort.h, src/objects/allocs.h,
        src/objects/array.h, src/objects/bitops.h,
        src/objects/callbacks.h, src/objects/data.h,
        src/objects/hash.h, src/objects/list.h, src/objects/magic.h,
        src/objects/magic.h, src/objects/minmax.h,
        src/objects/number.h: Added these.

        * src/abort.c, src/allocs.c, src/array.c, src/atoz.m,
        src/callbacks-char_p.c, src/callbacks-id.m, src/callbacks-int.c,
        src/callbacks-int_p.c, src/callbacks-void_p.c, src/callbacks.c,
        src/hash.c, src/list.c, src/map.c, src/md5.c, src/md5.h,
        src/number.c: Added these.

Mon Feb 12 20:50:05 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/invocation.m: New file.
	* checks/Makefile.in (SRCS): Add invocation.m.

	* checks/nsarchiver.m: Add test case from Scott Christley.

	* src/Collection.m ([Collection -withObjectsInvoke:]): New method.
	* src/objects/Collection.h: Declare new method.

	* src/Invocation.m ([Invocation -invoke]): Terminate copy of
 	encoding string.  Deal with void return type.
	([Invocation -invokeWithElement:]): Method removed.
	([Invocation -invokeWithObject:]): Make is -subclassResponsibility.
	([Invocation -getReturnValue:]): Make sure return_value is non-NULL.
	([ArgframeInvocation -initWithArgframe:type:]): Use objc_calloc.
	([MethodInvocation -initWithArgframe:selector:]): Try hard to get a
	selector with a type string.
	([MethodInvocation -initWithTarget:selector:...]): New method.
	([MethodInvocation -invoke]): Get the target and selector properly.
	([MethodInvocation -invokeWithObject:]): New method.
	* src/objects/Invocation.h: Declare new methods.

	* src/NSArchiver.m ([NSUnarchiver +allocWithZone:]): New method.

	* src/Coder.m ([Coder -decodeObject]): Return the object.
	([Coder -initForReadingWithData:]): New method.

Thu Feb  1 17:04:17 1996  Andrew McCallum  <mccallum@eeyore.cs.rochester>

        * NSData.m, NSDictionary.m, NSEnumerator.m, NSMutableData.m,
 	Port.m, MutableString.m, NSArray.m:
        Use -subclassResponsibility instead of -notImplemented
        where appropriate.

Wed Jan 31 22:29:57 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Makefile.in (DIST_FILES): Add file STATUS.

	* src/Coder.m ([Coder -_coderCreateReferenceForObject:]):
 	Beginning with this method, put in, but comment out, initial notes
 	for ideas about "tag-less" coder streams; this will allow for
 	smaller archives.

Sat Jan 27 20:58:23 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* examples/textcoding.m (main): Use new Archiver and Unarchiver
 	classes, use new method names.

	* src/objects/Coding.h (CommonCoding -closeCoding): Renamed from
 	-coderCoder, so it is not so exclusively associated with the
 	Coding class, but also all subclasses that implement a *Coding
 	protocol.
	* src/Coder.m ([Coder -closeCoding]): Method renamed from
 	-closeCoder.
	([Coder +encodeRootObject:withName:toStream:]): Make -closeCoding name
	change.

	* src/Coder.m ([Coder +newReadingFromStream:]): Renamed from
 	coderReadingFromStream:, because, for subclasses of Coder, it's
 	silly to have different names for this method.  Don't autorelease
 	returned object (I also find this more helpful).  All callers
 	changed.
	([Coder +newReadingFromFile:]): Likewise.
	* src/objects/Coder.h: Rename methods.
	* src/ConnectedCoder.m ([ConnectedCoder
 	+newDecodingWithConnection:timeout:]): Rename
 	coderReadingFromStream to newReadingFromStream, and don't retain.

	* src/Archiver.m: New file.
	* src/objects/Archiver.h: New file.
	* src/Makefile.in (GNU_MFILES): Add Archiver.m.
	(GNU_HEADERS): Add objects/Archiver.h.

Fri Jan 26 10:48:30 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.2.0.
	(OBJECTS_MINOR_VERSION): Version 2.

	* src/Makefile.in (GNU_HEADERS): Added CStreaming.h.

	* src/objects/objects.h: Include BinaryCStream.h and
 	TextCStream.h, not the old *Coder.h versions.

	* src/objects/ConnectedCoder.h (Coder): Make subclass of Coder,
 	not BinaryCoder.

	* src/TextCStream.m ([TextCStream
 	-encodeValueOfCType:at:withName:]): Remove the asserts that
 	prohibited structs and arrays.
	([TextCStream -decodeValueOfCType:at:withName:]): Likewise.
	* src/BinaryCStream.m: Include the code for handling structs and
 	arrays.

	* src/objects/Streaming.h: Include <objects/NSString.h> instead of
 	<objects/String.h>.

	Update checks and examples
	* checks/server.m: Make it work with the new coding scheme.
	* checks/client.m: Likewise.
	* checks/pipes.m (main): Use NSString in -initWithPipeFrom
 	argument.
	* checks/Makefile.in (SRCS): Remove test08.m, it was for old-style
 	archiving.
	* examples/textcoding.m (main): Use new coding scheme and @""
 	strings properly.
	* examples/stdio-stream.m (main): Likewise.

	* src/ConnectedCoder.m ([ConnectedCoder
 	+newDecodingWithConnection:timeout:]): Use
 	+coderReadingFromStream, not the deprecated
 	-initReadingFromStream.

	* src/BinaryCStream.m ([BinaryCStream -decodeName:]): Check for
 	NULL name.

	* src/Connection.m: encodeObjectBycopy -> encodeBycopyObject (to
 	better match NeXT).
	* src/Proxy.m: Likewise.

	* src/Coder.m ([Coder +initialize]): Make BinaryCStream the
 	default, not TextCStream.

	* src/Coder.m ([Coder -encodeTag:]): Let the cstream handle it, 
	if it can.
	([Coder -decodeTag]): Likewise.
	([Coder -encodeClass:]): Perform classname mapping ala
	encodeClassName:intoClassName.
	([Coder -_doEncodeBycopyObject:]): Perform callbacks
	-replacementObjectForCoder, -replacementObjectForArchiver,
 	-classForCoder, -classForArchiver.
	([Coder -encodeClassName:intoClassName:]): Fix typos.
	([Coder -encodeConditionalObject:]): Don't encode *forward*
	references, only backward references; apparently NeXT-style
 	decoding
	(with -decodeObject, instead of GNU's decodeObjectAt:) can't
	handle them.

	* src/Foundation/NSArchiver.h: Move NSUnarchiver declaration here
 	from NSUnarchiver.h.
	* src/NSGArchiver.m: Move implementation of NSGUnarchiver here
 	from NSGUnarchiver.m.
	* src/Foundation/NSGArchiver.h: Remove ivars; behavior code now
 	handles instance_size.  Move NSGUnarchiver here from
 	NSGUnarchiver.h.
	* src/NSArchiver.m: Move NSUnarchiver implementation here from
 	NSUnarchiver.m.  Use subclassResponsibility where correct.
	([NSArchiver +initialize]): Make NSGArchiver the concrete class.
	* src/Makefile.in (GNUSTEP_MFILES): NSUnarchiver.m and
 	NSGUnarchiver.m removed.
	(GNUSTEP_HEADERS): Foundation/NSUnarchiver.h and
	Foundation/NSGUnarchiver.h removed.

	* src/Foundation/NSObject.h ([NSObject -classForArchiver]): Method
 	removed; it's now in NSArchiver.m.
	([NSObject -replacementObjectForArchiver:]): Likewise.

	* src/ConnectedCoder.m (Object (ConnectedCoderCallbacks)):
 	Category methods moved here from Coder.m.

	* checks/nsarchiver.m (main): Use NSUnarchiver properly.

	* src/NSException.m (NSInconsistentArchiveException): String
 	removed; it's in NSArchiver.m.

	* src/NSGArchiver.m ([NSGArchiver +initialize]): Add the behavior
 	of the Coder class.  All other methods deleted.

	* src/NSObject.m: Some minor formatting changes.
	([NSObject -classForArchiver]): Method removed; it's in NSArchiver.m.
	([NSObject -replacementObjectForArchiver:]): Likewise.

	* src/Makefile.in (GNUSTEP_MFILES): Remove NSGCoder.m.
	(GNUSTEP_HEADERS): Remove Foundation/NSGCoder.h.

	Make use of new behavior size matching to avoid ugliness of
	forcing ivar layout match when adding behaviors---more robust.
	* src/NSGArray.m (self): New macro, cast to (Array*) to reflect
 	behavior addition.
	([NSGArray -initWithObjects:count:]): Call Array designated initalizer
	instead of accessing ivars directly.
	([NSGMutableArray -initWithCapacity:]): Likewise.
	([NSGArray -count]): Method removed, Array behavior will take care
	of it.
	([NSGArray -objectAtIndex:]): Use self to access ivars.
	* src/Foundation/NSGArray.h: Remove ivars; class_add_behavior now
 	handles instance_size match.

	* src/behavior.c (class_add_behavior): If necessary, increase
 	instance_size of class to which behavior is being added.

Thu Jan 25 10:11:41 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSArchiver.m ([NSArchiver +initialize]): Set concrete class
 	to Coder.
	([NSArchiver +allocWithZone:]): New method.
	([NSArchiver -initForWritingWithMutableData:]): Make this a subclass
	responsibility.
	([NSArchiver -versionForClassName:]): New method.
	([NSArchiver +unarchiveObjectWithData:data]): New method.
	([NSArchiver +unarchiveObjectWithFile:path]): Call concrete class.
	([NSArchiver +classNameEncodedForTrueClassName:]): Likewise.

	* src/Foundation/NSArchiver.h: Declare new methods.

	* src/Foundation/NSCoder.h: Fix spelling of argument names.

	* src/Foundation/NSSet.h: Fix typo, initWithObjects: takes
 	objects, not NSArray's.

	* src/NSGData.m ([NSGData -writeToFile:atomically:]): Use
 	cStringNoCopy for efficiency.

	* src/MemoryStream.m ([MemoryStream -init]): New method, otherwise
 	naive creation dies with NULL buffer.

	* src/objects/Coding.h (Coding -cStream): New method.
	(Coder -encodeArrayOfObjCType:count:at:withName:): Renamed from
	-encodeArrayOfObjCType:at:count:withName:, to better match NeXT.
	(Coder -decodeArrayOfObjCType:count:at:withName:): Likewise.

	* src/objects/Coder.h (zone): New ivar.

	* src/Coder.m ([Coder -_initWithCStream:formatVersion:isDecoding:]): 
	Initialize new zone ivar.
	([Coder -encodeBycopyObject:withName:]): Renamed from
	-encodeObjectBycopy, to better match NeXT.
	([Coder -decodeObjectAt::name]): Use zone ivar in creating
	decoded objects.
	([Coder -encodeArrayOfObjCType:count:at:withName:]): Renamed from
	-encodeArrayOfObjCType:at:count:withName:, to better match NeXT.
	([Coder -decodeArrayOfObjCType:count:at:withName:]): Likewise.
	([Coder +classNameEncodedForTrueClassName:trueName]): New method, for
	NSCoder compatibility.
	([Coder -encodeClassName:trueNameintoClassName:]):
	Likewise.
	([Coder -objectZone]): Likewise.
	([Coder -setObjectZone:]): Likewise.
	([Coder -encodeValueOfObjCType:at:]): Likewise.
	([Coder -encodeArrayOfObjCType:count:at:]): Likewise.
	([Coder -encodeBycopyObject:]): Likewise.
	([Coder -encodeConditionalObject:]): Likewise.
	([Coder -encodeDataObject:]): Likewise.
	([Coder -encodeObject:]): Likewise.
	([Coder -encodePoint:]): Likewise.
	([Coder -encodeRect:]): Likewise.
	([Coder -encodeRootObject:]): Likewise.
	([Coder -encodeSize:]): Likewise.
	([Coder -encodeValuesOfObjCTypes:...:]): Likewise.
	([Coder -decodeValueOfObjCType:at:]): Likewise.
	([Coder -decodeArrayOfObjCType:count:at:]): Likewise.
	([Coder -decodeDataObject]): Likewise.
	([Coder -decodeObject]): Likewise.
	([Coder -decodePropertyList]): Likewise.
	([Coder -decodePoint]): Likewise.
	([Coder -decodeRect]): Likewise.
	([Coder -decodeSize]): Likewise.
	([Coder -decodeValuesOfObjCTypes:...:]): Likewise.
	([Coder -systemVersion]): Likewise.
	([Coder -versionForClassName:]): Likewise.
	([Coder -initForWritingWithMutableData:]): New method, for
	NSArchiver compatibility.
	([Coder +archivedDataWithRootObject:]): Likewise.
	([Coder +archiveRootObject:toFile:]): Likewise.
	([Coder +unarchiveObjectWithData:data]): Likewise.
	([Coder +unarchiveObjectWithFile:path]): Likewise.
	([Coder -archiverData]): Likewise.
	([Coder -cStream]): New method.

	* checks/Makefile.in (SRCS): Added nsarchiver.m.

	* checks/nsarchiver.m: New file.

	* examples/textcoding.m (main): Use new [Coder -closeCoder]
 	method.

	* src/StdioStream.m ([StdioStream -isClosed]): Remove bad
 	implementation; currently not implemented.

	* src/Coder.m ([Coder
 	-initForWritingToStream:withFormatVersion:cStreamClass:
 	cStreamFormatVersion:]): New method.
	([Coder -initForWritingToFile:withFormatVersion:cStreamClass:
	cStreamFormatVersion:]): New method.
	([Coder -initForWritingToFile:filenamewithCStreamClass:cStreamClass]):
	New method.
	([Coder +encodeRootObject:withName:nametoStream:]): New method.
	([Coder +encodeRootObject:withName:nametoFile:filename]): New method.
	([Coder +decodeObjectWithName:namefromStream:]): New method.
	([Coder +decodeObjectWithName:namefromFile:filename]): New method.
	* src/objects/Coder.h: Declare new methods.

	* src/CStream.m: Use "..withFormatVersion" instead of
 	"formatVersion" in several method names.
	* src/objects/CStream.h: Declare new method.

	* src/objects/Coding.h (Coding -closeCoder): New protocol method.
	(Coding -isClosed): New protocol method.
	* src/Coder.m ([Coder -initForReadingFromFile:filename]): New method.
	([Coder -initForWritingToFile:filename]): New method.
	([Coder -closeCoder]): New method.
	([Coder -isClosed]): New method.

	* src/objects/Streaming.h (Streaming -isClosed): New protocol method.
	* src/Stream.m ([Stream -flushStream]): Do nothing, instead of
 	calling -subclassResponsibility.
	([Stream -closeStream]): Likewise.
	([Stream -isClosed]): New method, return NO.
	* src/MemoryStream.m ([MemoryStream -flushStream]): Method removed.
	* src/StdioStream.m ([StdioStream -isClosed]): New method.
	* src/MemoryStream.m ([MemoryStream -closeStream]): New method,
 	just flush the stream.

Wed Jan 24 09:02:02 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/objects/Streaming.h (Streaming -closeStream): New method; we
 	must separate the idea of "closing" a stream and "deallocating" a
 	stream because of delays in deallocation due to -autorelease.
	* src/Stream.m ([Stream -closeStream]): New method.
	* src/StdioStream.m ([StdioStream -closeStream]): New method.

	* src/CStream.m ([CStream -encodeWithName:valuesOfCTypes:...]):
 	New method.
	([CStream -decodeWithName:valuesOfCTypes:...]): New method.
	* src/objects/CStreaming.h: Declare new methods.

	* src/String.m ([String -initWithCStringNoCopy:freeWhenDone:]):
 	New method, needed for protocol.

	* src/Stream.m ([Stream -writeFormat:arguments:]): New method.
	([Stream -readFormat:arguments:]): New method.

	* src/Coder.m (SIGNATURE_FORMAT_STRING): New macro.
	([Coder -writeSignature]): Use it.
	([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
	Likewise, and receive (char*) instead of (char**).  All callers
 	changed.

	* src/objects/EltNode-m: Include <objects/NSString.h> for @"" in
 	encoding withName:.  Use constant string objects instead of C
 	strings where appropriate.

	* src/Connection.m: Use constant string objects instead of C
 	strings where appropriate.

	* src/RBTreeNode.m: Include <objects/NSString.h> for @"" in
 	encoding withName:.
	* src/DelegatePool.m: Likewise.
	* src/BinaryTreeNode.m: Likewise.

Tue Jan 23 11:54:54 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

        * Set.m, SocketPort.m, TreeNode.m, EltNodeCollector.m,
 	LinkedListNode.m, MutableCString.m, NSGCString.m, Proxy.m,
 	RBTreeNode.m, BinaryCoder.m, BinaryTreeNode.m, Collection.m,
 	Connection.m, DelegatePool.m:
        Use string objects instead of C strings
        for name arguments to encoding methods.

	* src/.cvsignore: Add errs*.

	* examples/textcoding.m: Update for new Coder organization.

	* src/objects/Streaming.h (Streaming -writeFormat:arguments:): New
 	method.
	(Streaming -readFormat:arguments:): New method.

	* src/objects/Coding.h: Don't include <objects/String.h>
	(Coding -encodeValueOfCType:at:withName:): New method.
	(Coding -decodeValueOfCType:at:withName:): New method.
	* src/objects/Coder.h: Declare new methods.

	* src/objects/CStreaming.h: New file.
	* src/CStream.m: New file.
	* src/objects/CStream.h: New file.
	* src/TextCStream.m: New file.
	* src/objects/TextCStream.h: New file.
	* src/BinaryCStream.m: New file.
	* src/objects/BinaryCStream.h: New file.
	* src/Makefile.in (GNU_MFILES): Add BinaryCStream.m, TextCStream.m
	and CStream.m.
	(GNU_HEADERS): Add objects/BinaryCStream.h, objects/TextCStream.h
	and objects/CStream.h.

	* src/NSString.m (handle_printf_atsign): Fix type for va_arg ().

	* src/ConnectedCoder.m ([ConnectedCoder
 	+newEncodingWithConnection:sequenceNumber:identifier:]): Use new
 	Coder initializer.
	([ConnectedCoder +newDecodingWithConnection:timeout:]): Likewise.
	([ConnectedCoder -dismiss]): Fix typo: use cstream ivar.

	* src/Coder.m ([Coder -writeSignature]): Write directly to stream
 	ivar.
	([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
	Likewise.
	([Coder -initForReadingFromStream:s]): New method.
	([Coder -initForWritingToStream:s]): New method.
	([Coder +coderWritingToStream:]): New method.
	([Coder +coderWritingToFile:]): New method.

	* src/KeyedCollection.m: Use <Encoding> and <Decoding> protocols
 	in argument types.
	* src/IndexedCollection.m: Likewise.
	* src/BinaryTree.m: Likewise.
	* src/Array.m: Likewise.

	* src/Makefile.in (GNU_MFILES): Remove BinaryCoder.m. and
 	TextCoder.m
	(GNU_HEADERS): Remove objects/BinaryCoder.h and objects/TextCoder.h.

        * src/Proxy.m, src/RBTreeNode.m, src/Set.m, src/SocketPort.m,
 	src/TextCoder.m, src/argframe.m, src/IndexedCollection.m,
 	src/KeyedCollection.m, src/MutableCString.m, src/NSGCString.m,
 	src/NSGCoder.m, src/NXConnection.m, src/Collection.m,
 	src/ConnectedCoder.m, src/Connection.m, src/DelegatePool.m,
 	src/EltNodeCollector.m, src/Array.m, src/BinaryCoder.m:
        Use new-style method name "..ValueOfObjCType"
        and "..ValueOfCType", instead of "..ValueOfType" and
        "..ValueOfSimpleType".

	* src/NSString.m: This new code, #if
 	HAVE_REGISTER_PRINTF_FUNCTION, a function defined by GNU libc.
	(handle_printf_atsign): New function to handle %@ in printf strings.
	([NSString +initialize]): Register the new printf-handler function.
	* configure.in (register_printf_function): Check for this
 	function.

	* src/objects/Coding.h: Use new-style method name
 	"..ValueOfObjCType", instead of "..ValueOfType".  Use (id
 	<String>) instead of (char *) where appropriate.
	(Encoding -initEncodingOnStream:): Method removed.
	(Encoding -initEncoding): Method removed.
	(Encoding -encodeValueOfSimpleType:at:withName:): Method removed.
	(Decoding -initDecodingOnStream:): Method removed.
	(Decoding -initDecoding): Method removed.
	(Decoding -decodeValueOfSimpleType:at:withName:): Method removed.
	(CommonCoding +defaultFormatVersion): New method.

	* src/Stream.m ([Stream -rewindStream]): Move method lower in
 	file, to avoid undeclared error.  (This is related to creation of
 	SeekableStream protocol.)

	* src/objects/Streaming.h (Streaming): Include NSObject protocol
 	in Streaming protocol, so we can use NSObject methods on arguments
 	passed with <Streaming> type.

	* src/StdioStream.m: Use (id <String>) instead of (char *) where
 	appropriate.
	([StdioStream +streamWithFilename:fmode:]): New method.
	* src/objects/StdioStream.h: Declare new methods.

	* src/NSCoder.m ([NSCoder -encodeObject:]): Base on
 	-encodeValueOfObjCType, not -encodeValuesOfObjCTypes.

	* src/Coder.m: Now uses a CStream instance for low-level encoding
 	of variables of C type.  Include many more files.  Use new-style
 	method name "..ValueOfObjCType", instead of "..ValueOfType".  Use
 	(id <String>) instead of (char *) where appropriate.
	(DEFAULT_FORMAT_VERSION): Renamed from CODER_FORMAT_VERSION.
	(default_stream_class): Renamed from defaultStreamClass;
	(default_cstream_class): New static variable.
	([Coder +initialize]): Initialize above two variables.
	([Coder +setDefaultCStreamClass:]): New method.
	([Coder +defaultCStreamClass]): New method.
	([Coder +setDefaultStreamClass:]): New method.
	([Coder +defaultStreamClass]): New method.
	([Coder +defaultFormatVersion]): New method.
	([Coder -writeSignature]): New method, replaces -encodeSignature.
	([Coder +readSignatureFromCStream:getClassname:formatVersion:]):
	New method, replaces decodeSignature.
	([Coder -_initWithCStream:formatVersion:isDecoding:f]): New method,
	replaces _initWithStream:isDecoding.
	([Coder +coderReadingFromStream:stream]): New method.
	([Coder +coderReadingFromFile:filename]): New method.
	([Coder -initForReadingFromStream:formatVersion:]): New method.
	([Coder -initForWritingToStream:sformatVersion:version]): New method.
	([Coder +decodeObjectFromStream:]): New method.
	([Coder +decodeObjectFromFile:filename]): New method.
	([Coder -initEncodingOnStream:]): Method removed.
	([Coder -initDecodingOnStream:]): Method removed.
	([Coder -initEncoding:]): Method removed.
	([Coder -initDecoding:]): Method removed.
	([Coder -encodeBytes:count:withName:]): Now unimplemented.
	([Coder -decodeBytes:count:withName:name]): Likewise.
	([Coder -decodeValueOfCType:at:withName:]): New method.
	([Coder -encodeValueOfCType:at:withName:]): New method.
	([Coder -encodeValueOfObjCType:at:withName:name]): Now longer handles
	arrays and structs; those are now handled in a CStream method.
	([Coder -decodeValueOfObjCType:at:withName:]): Likewise.
	([Coder -encodeValueOfSimpleType:at:withName:]): Method removed.
	([Coder -decodeValueOfSimpleType:at:withName:]): Method removed.
	([Coder -encodeIndent]): Call cstream to handle this, instead of doing
	nothing.
	([Coder -encodeUnindent]): Likewise.
	([Coder -decodeIndent]): Likewise.
	([Coder -decodeUnindent]): Likewise.
	([Coder -encodeName:]): Likewise.
	([Coder -decodeName:]): Likewise.
	([Coder -formatVersion]): Method renamed from coderFormatVersion.

	* src/objects/Coder.h: Declare new methods.
	(cstream): New ivar, replacing "stream".
	(classname_map): New ivar, but not yet used properly.
	(concrete_format_version): ivar removed, this is now in the CStream
	classes.

	* src/CString.m: Use new-style method name "..ValueOfObjCType",
 	instead of "..ValueOfType".
	([CString -initWithCStringNoCopy:freeWhenDone:]): Cast away const
	type.

	* src/Stream.m ([Stream -writeLine:]): Replace with more efficient
 	implementation from MemoryStream class.
	* src/MemoryStream.m: Use (id <String>) instead of (char *) where
 	appropriate.
	([MemoryStream -writeLine:]): Remove method.

	* src/objects/Collection.h: Don't include <objects/Coder.h>; this
 	helps prevent circular dependances in include files.

	* src/NSGCString.m ([NSGCString -cStringNoCopy]): New method.
	* src/CString.m ([CString -cStringNoCopy]): New method.
	* src/String.m: Use -subclassReponsibility instead of
 	-notImplemented in proper places.
	([String -cStringNoCopy]): New method.
	* src/objects/String.h: Declare new method.

	* src/Stream.m: Use string object types instead of C-string types
 	in method arguments.  Use -subclassReponsibility instead of
 	-notImplemented.
	* src/objects/Streaming.h (Streaming): Use string object types
 	instead of C-string types in method arguments.

	* src/CString.m ([CString -initWithCStringNoCopy:freeWhenDone:]):
 	New method.
	* src/String.m ([String +stringWithCStringNoCopy:freeWhenDone:f]):
 	New method.
	([String +stringWithCStringNoCopy:]): New method.
	* src/objects/String.h: Declare new methods.

	* src/Coder.m: Don't use ivar interconnected_stack_height.
	(DOING_ROOT_OBJECT): New macro, defined based on
	interconnected_stack_height.
	* src/objects/Coder.h (Coder): Get rid of unnecessary ivar
 	doing_root_object; we can get the same information from ivar
 	interconnected_stack_height.

Mon Jan 22 21:32:25 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSCoder.m ([NSCoder -encodeObject:]): Implemented.
	([NSCoder -decodeObject]): Implemented.
	([NSCoder -encodeValueOfObjCType:at:]): Use -subclassResponsibility,
	not -notImplemented.
	([NSCoder -decodeValueOfObjCType:at:]): Likewise.
	([NSCoder -encodeDataObject:]): Likewise.
	([NSCoder -decodeDataObject]): Likewise.
	([NSCoder -versionForClassName:]): Likewise.

Mon Jan 22 11:08:55 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.19.

Sat Jan 20 14:27:57 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* doc/install.texi: Mention GNU/Linux and the need for -lieee.

	* aclocal.m4: Don't have the initializer-loading test program
	print anything.
	(OBJC_SYS_DYNAMIC_FLAGS): Use '' not "" to quote $(CC).

Fri Jan 19 12:40:49 1996  Adam Fedor  <fedor@mode.Colorado.EDU>

	* src/NSBundle.m (objc_executable_location): New
	function. ([NSBundle +mainBundle]): Get path from NSProcessInfo.

	* src/NSProcessInfo.m: Remove NSArgv
	definition. (_gnu_process_args): Remove NSArgv code. 

	* src/objc-load.c: Remove NSArgv
	declaration. (objc_executable_location): Removed
	function. (objc_initialize_loading): Make path const char*.
	* src/Foundation/objc-load.h: Remove objc_executable_location
	function declaration. 

	* src/objc/HashTable.h: Include stdobjects.h header for
	LibObjectsMain definition.

Fri Jan 19 10:43:32 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.18.

	* configure.in (OBJS_INSTALL): Fix typo NeXT_OBJS -> NEXTSTEP_OBJS
	in when running under NeXTSTEP, but not using NeXT runtime.
	(Reported by Satoshi Adachi <adachi@wisdom.aa.ap.titech.ac.jp>.)

	* src/NSString.m ([NSString -initWithCString:length:]): Handle
        case of NULL cString.
	([NSString -initWithCString:]): Likewise.
	(Reported by Adam Fedor <fedor@mode.Colorado.EDU>.)

	* src/find_exec.c (objc_find_executable): Make NSBundle work even
	when CWD isn't in PATH.  (Fix provided by Matthias Klose
	<doko@cs.tu-berlin.de>.)

	* src/Makefile.in (libobjects.so.$OBJECTS_VERSION)): Re-add the
	-Wl,-soname,libobjects.so.$(OBJECTS_MAJOR_VERSION) argument.
	Create a soft link named libobjects.so.
	(install): Install a soft link named libobjects.so.
	(Fixes sent by Jeremy Bettis <jbettis@cse.unl.edu>.)

	* Makefile.in: Remove -$(MAKEFLAGS) as argument to recursive calls
	of $(MAKE); this happens automatically.  (Reported by Niels Mvller
	<nisse@lysator.liu.se>.)

Tue Jan 16 19:33:49 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.17.

Tue Jan 16 13:57:51 1996  Adam Fedor  <fedor@mode.Colorado.EDU>

	* aclocal.m4 (OBJC_SYS_AUTOLOAD): Define CON_AUTOLOAD if
 	/usr/include/elf.h exists.  Use yes/no rather than 1/0.

	* src/objc-load.c: Update copyright. 
	(objc_load_module): Use	CON_AUTOLOAD instead of SYS_AUTOLOAD. 

Tue Jan 16 12:24:59 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in (HEADERS_INSTALL): Remove objects/config.h.
	(install): Look for libobjects.so file, not just for configure
	variable.  Remove unwanted `;'.  Install objects/config.h from
	build directory.  (Fixes provided by Matthias Klose
	<doko@cs.tu-berlin.de>).

Mon Jan 15 17:07:38 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): libobjects version 0.1.16.
	(OBJECTS_GCC_VERSION): Updated from 2.7.0 to 2.7.2.
	(OBJECTS_FTP_MACHINE): Changed to prep.
	(OBJECTS_FTP_DIRECTORY): Changed to pub/gnu.

	* NSCharacterSets/Makefile.in (install): Prefix data files with
        $(srcdir).
	(Makefile): New target.

	* src/Makefile.in ($(NSVALUE_MFILES)): Use sed instead of expr to
        extract number.
	($(NSNUMBER_MFILES)): Likewise.

	* checks/Makefile.in (all): Remove target `bundles' for now;
	linking them doesn't always work.  If people want to test bundles,
	they can type `make bundles'.

	* examples/Makefile.in (ALL_CPPFLAGS): -I../src, not -I.
	(Makefile): Prefix dependancy with $(srcdir).
	* checks/Makefile.in (ALL_CPPFLAGS): -I../src, not -I.
	(Makefile): Prefix dependancy with $(srcdir).

	* Makefile.in (dist): Add -9 to gzip args.
	(snapshot): Likewise.

	* doc/install.texi: Remove --enable-shared from first example of
	installation commands; many people were just copying these
	commands, ignorant of whether or not their system supported
	dynamically-linked shared libraries.

	* checks/Makefile.in: Remove test09; it doesn't work, but it
        doesn't matter.
	(SRCS): Remove test09.m.
	(test09): Remove target.

	* aclocal.m4: Test whether loading of contructor functions works
	by actually compiling and running a program, not by looking for
	/usr/include/elf.h.

Tue Jan 16 00:31:19 1996  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>

	* src/NSDate.m ([NSDate -description]): replace strftime() with
	sprintf() equivalent for NEXTSTEP.

Mon Jan 15 15:11:18 1996  Adam Fedor  <fedor@mode.Colorado.EDU>

	* aclocal.m4 (OBJC_SYS_DYNAMIC_LINKER): Expand macro correctly in
	dld/defs.h check.

Fri Jan 12 11:38:58 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* examples/Makefile.in (LIBS): Added -lm.

	* src/NSProcessInfo.m ([NSProcessInfo -globallyUniqueString]):
	Don't use the %@ printf format directive, since it isn't
	implemented yet; use %s and -cString instead.  (Reported by 
	Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>.)

	* aclocal.m4 (OBJC_SYS_AUTOLOAD): Don't define SYS_AUTOLOAD #ifdef
	mips, gcc doesn't support it, even though elf.h exists.  (Perhaps
	this should be "sgi" instead of "mips"?)
	* src/NSProcessInfo.m: Don't test !(sgi), since SYS_AUTOLOAD is
        fixed.

	* src/find_exec.c (objc_find_executable): #ifdef NeXT, use getwd()
        instead of getcwd().
	(Reported by Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>.)

	* src/NSDate.m ([NSDate -description]): Don't use strftime #ifdef
	NeXT.  (Reported by Gregor Hoffleit
	<flight@mathi.uni-heidelberg.DE>.)

	* src/Makefile.in (objects/stdobjects.h): prepend
	objects/stdobjects.h.in with $(srcdir).

	* checks/Makefile.in ($(DYNAMIC_OFILES)): Use $(srcdir).
	($(BUNDLE_NAMEJ)): Likewise.
	(Reported by Matthias Klose <doko@cs.tu-berlin.de>.)

	* src/Makefile.in (NXStringTable_scan.o): Removed target; let
	pattern rule take care of it.
	($(NSVALUE_MFILES)): Use $@ instead of $* in expr argument.
	($(NSNUMBER_MFILES)): Likewise.
	(Reported by <pfuchs@tag01.acnet.net>.)

	* src/NSMethodSignature.m ([NSMethodSignature
	+signatureWithObjCTypes:]): Fix typo: change objc_size_of_type to
	objc_sizeof_type.  (Reported by Gregor Hoffleit
	<flight@mathi.uni-heidelberg.DE>.)

	* src/Makefile.in (libobjects.so.$(OBJECTS_VERSION)): Removed
	"-Wl,-soname,libobjects.so.$(OBJECTS_VERSION)"; gcc does this
	automatically.  (Reported by Matthias Klose
	<doko@cs.tu-berlin.de>.)

	* src/NSProcessInfo.m: Include <netdb.h> for MAXHOSTNAMELEN.
	(Reported by Matthias Klose <doko@cs.tu-berlin.de>.)

	* src/Makefile.in (ALL_INCLUDE_FLAGS): Add -I. for
	objects/config.h.  (Reported by Matthias Klose
	<doko@cs.tu-berlin.de>)
	* checks/Makefile.in (ALL_CPPFLAGS): Likewise.
	* examples/Makefile.in (ALL_CPPFLAGS): Likewise.

Wed Jan 10 10:51:26 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSProcessInfo.m: Remove #if NeXT and alternate #include's.
	* src/Foundation/NSProcessInfo.h: Likewise.
	(These caused problems reported by John Boller <jboller@panix.com>.)

	* src/Invocation.m ([MethodInvocation -initWithSelector:arguments:]): 
	New method, not implemented.

Tue Jan  9 14:07:36 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Storage.m ([Storage -insertElement:at:]): Increment
	numElements.  (Reported by Revuz Dominique <dr@univ-mlv.fr>).

	* Makefile.in (RCS_FILES): Remove out-of-date MACHINES and CREDITS
        files.

Mon Jan  8 11:05:52 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.15.

	* src/NSProcessInfo.m (_GNU_MAX_HOST_NAMELEN): Macro removed;
	using MAXHOSTNAMELEN from <sys/param.h> instead.  All users
	changed.
	(_gnu_process_args): Malloc and fill NSArgv; assignment of char**
	from *char[] isn't right.

	* src/NSGCString.m ([NSGCString -emptyCopy]): Use [super
        emptyCopy], not [super allocCopy].

	* src/String.m ([String -emptyCopy]): Method removed; super class
	implementation is fine.
	([String -initWithCString:range:]): Use -subclassResponsibility:, not
	-notImplemented:.
	([String -empty]): Likewise.

	* configure.in: Remove double-quotes in help string of
        --enable-shared handling.

Sun Jan  7 16:05:04 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Makefile.in: Changed rules for compiling concrete NSValue
	and NSNumber classes; the old version no longer worked with shared
	library compilation, and didn't use the common pattern rule for
	making the object file.
	(NSNUMBER_CLUSTER, NSVALUE_CLUSTER): Variables removed.
	(NSVALUE_MFILES): New variable, replacing NSVALUE_OFILES.
	(NSNUMBER_MFILES): New variable, replacing NSNUMBER_OFILES.
	(GNUSTEP_OBJS): Use new vars.

Fri Jan  5 17:01:35 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	Clean up shared library building.  Building from another
	directory now works.
	* configure.in: Add $srcdir where necessary.
	(LIBOBJECTS_A_OR_SO): Variable removed.
	(LIBOBJECTS_SO): Defined according to --enabled-shared flag.
	* src/Makefile.in: (Makeconf): Include it after system
	configuration section, and from $(srcdir).
	(SHAREDLIB_CFLAGS, SHAREDLIB_ARFLAGS, USING_SHAREDLIB_CFLAGS,
	USING_SHAREDLIB_ARFLAGS): Variables removed.
	(ALL_CFLAGS, ALL_OBJCFLAGS): Don't use removed vars.
	(%_pic.o: %.m): New pattern rule.
	(%_pic.o: %.c): New pattern rule.
	(all): Always build libobjects.a, optionally build .so version.
	(libobjects.so): Use -shared.  Link to ..$(OBJECTS_MAJOR_VERSION).
	(install): Always install libobjects, optionally install .so version.
	Install the headers from the $(srcdir).
	(NSVALUE_OFILES, NSNUMBER_OFILES, NXStringTable_scan.c,
	dynamic-load.h): Use $(srcdir) properly for these targets.
	* checks/Makefile.in: Executables now depend on libobjects.a, not
        @LIBOBJECTS_A_OR_SO@.
	(LIBS): Don't look in $(srcdir) for library.
	(copy-dist): Don't use $(srcdir).
	(Makefile): Likewise.
	* examples/Makefile.in: Executables now depend on libobjects.a,
        not @LIBOBJECTS_A_OR_SO@.
	(LIBS): Don't look in $(srcdir) for library.
	(OBJECTS_NEXT_INCLUDES): Don't look in non-existant next-includes dir.
	(copy-dist): Don't use $(srcdir).
	(Makefile): Likewise.
	* doc/Makefile.in (TEXT_FILES): New variable.
	(info): Use it.
	(MAKEINFO_FLAGS): New variable.  Use it in TEXT_FILES targets.
	(DIST_FILES): Remove version.texi.
	(clean): rm version.texi and $(TEXT_FILES).

	* src/NSProcessInfo.m (_gnu_process_args): Use "char **argv"
	instead of "char *argv[]".  Remove cast in assignment of NSArgv.

Thu Jan  4 23:12:11 1996  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/Set.m ([Set -removeElement:ifAbsentCall:]): Fix typo; method
	renamed from -removeElement:ifAbsent:.  (Reported by Albert Mietus
	<albert@gamp.hacom.nl>.)

Wed Dec 20 11:30:37 1995  Adam Fedor  <fedor@mode.Colorado.EDU>

	* src/NSGeometry.m (NSMouseInRect): Handle flipped y-axis.

	* src/Foundation/NSException.h: Include NSString interface.

Fri Nov 24 15:09:22 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSArray.m ([NSMutableArray -addObject:]): Use
	-subclassResponsibility:, not -notImplemented:.
	([NSMutableArray -replaceObjectAtIndex:withObject:]): Likewise.
	([NSMutableArray -insertObject:atIndex:]): Likewise.
	([NSMutableArray -removeObjectAtIndex:]): Likewise.
	([NSMutableArray -removeAllObjects]): Likewise.

Sun Nov 19 15:29:41 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSString.m ([NSString +allocWithZone:]): New method.
	([NSString +stringWithCString:byteString]): Use it.
	([NSString +stringWithCString:length:]): Likewise.
	([NSString +stringWithFormat:]): Likewise.
	([NSString +stringWithFormat:arguments:]): Likewise.
	([NSMutableString +allocWithZone:]): New method.
	([NSMutableString +stringWithCapacity:]): Use it.
	([NSMutableString +stringWithCString:length:]): Likewise.

Tue Nov 14 11:39:41 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	Some improvement to shared lib support, but since I can't test it,
	I still don't know if it works.

	* src/Makefile.in (CFLAGS): Added -O.
	(SHAREDLIB_CFLAGS,SHAREDLIB_ARFLAGS): Set values here, not in
	configure.in.
	(USING_SHAREDLIB_CFLAGS,USING_SHAREDLIB_ARFLAGS): New vars, set by
	configure.
	(ALL_CFLAGS, ALL_OBJCFLAGS): Use them.
	(libobjects.so.$(OBJECTS_VERSION): New target, replacing
	libobjects.so.  Use version numbers.
	(install): Try to do the right thing with shared/non-shared libs.
	* configure.in: Update shared library variable names.

	* checks/Makefile.in: Use configure var, not libobjects.a.
        Include ../Version.

	* examples/Makefile.in: Use configure var, not non-existant
        Makefile var.  Include ../Version.

Mon Nov  6 12:24:16 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	Shared library support; I'm not sure it works, though.

	* configure.in: Look for --enabled-shared.
	(LIBOBJECTS_A_OR_SO, SHAREDLIB_CFLAGS, SHAREDLIB_ARFLAGS): New
	substitutions.
	* src/Makefile.in (SHAREDLIB_CFLAGS): New variable.
	(ALL_CFLAGS): Use it.
	(ALL_OBJCFLAGS): Likewise.
	(SHAREDLIB_ARFLAGS): New variable.
	(libobjects.so): Use it; new target.
	(all): Depend on configure variable.
	(install): Changes to install shared library.
	* examples/Makefile.in: Look for LIBOBJECTS_A_OR_SO, not
        libobjects.a.

	* src/NSProcessInfo.m (NSArgv): New global.
	(_gnu_process_args): Set it.

	* NSMethodSignature.m: New file; not finished, though.
	* src/Makefile.in (GNUSTEP_MFILES): Added NSMethodSignature.m.

	* src/Foundation/NSMethodSignature.h (NSArgumentInfo): Declared.
	([NSMethodSignature -argumentInfoAtIndex:]): Uncommented.

	* doc/install.texi: Warn them that compiling in a different
	directory than the source will not currently work.

Fri Nov  3 11:12:11 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSDictionary.m ([NSDictionary +dictionary]): Use +alloc, not
	_concreteClass.  This makes [NSMutableDictionary +dictionary] and
	friends do the right thing.
	([NSDictionary +dictionaryWithObjects:forKeys:count:]): Likewise.
	([NSMutableDictionary +dictionaryWithCapacity:]): Likewise.
	(Problem reported by Kim Shrier <kim@media.com>.)

	* src/NSSet.m ([NSSet +set]): Use +alloc, not _concreteClass.
	This makes [NSMutableSet +set] and friends do the right thing.
	([NSSet +setWithObjects:count:]): Likewise.
	([NSSet +setWithArray:]): Likewise.
	([NSSet +setWithObject:]): Likewise.
	([NSSet +setWithObjects:]): Likewise.
	([NSMutableSet +setWithCapacity:]): Likewise.

	* src/NSArray.m ([NSArray +array]): Use +alloc, not
	_concreteClass.  This makes [NSMutableArray +array] and friends do
	the right thing.
	([NSArray +arrayWithObjects:]): Likewise.
	([NSMutableArray +arrayWithCapacity:]): Likewise.
	([NSArray +arrayWithObject:]): Likewise; and fix condition on
	exception. 

	* src/NSProcessInfo.m ([NSProcessInfo -hostName]): Remove
	unnecessary inefficiency: use stack to hold temporary string, not
	malloc/free; just return the string, not a copy.  Conform to GNU
	coding standards in use of braces.
	([NSProcessInfo -processName]): Likewise.  Just return the string, not
	a copy.
	([NSProcessInfo -environment]): Likewise.
	([NSProcessInfo -arguments]): Likewise.
	(_gnu_arguments, _gnu_environment): Make them constant classes, not
	mutable.
	(_gnu_process_args): Alloc _gnu_processName NSString, don't get an
	autoreleased string and then retain it.  Initialize _gnu_arguments
	as a constant NSArray, not NSMutableArray.  Initialize
	_gnu_environment as a constant NSDictionary, not
	NSMutableDictionary.  Conform to the GNU coding standards in use
	of braces.

	* src/Foundation/NSDictionary.h ([NSDictionary
        -initWithObjects:forKeys:]): Declare method.

	This is called dissertation-procrastination.

Sun Oct 29 19:41:16 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	* checks/nsset.m: New file.
	* checks/Makefile.in (SRCS): Added nsset.m.
	(nsset): New target.

	* src/NSGArray.m ([NSGArray -objectAtIndex:]): Fix condition on
        exception.

	* src/objects/NSSet.h: Moved method declarations from NSMutableSet
        to NSSet.

	* NSCountedSet.m, NSGCountedSet.m: New files.
	* src/objects/NSSet.h: Added NSCountedSet interface.
	* src/Foundation/NSSet.h: Likewise.
	* src/Foundation/NSGSet.h: Added NSGCountedSet interface.
	* src/NSGSet.m: Implemented many methods.
	* src/Makefile.in (GNUSTEP_MFILES): Added NSCountedSet.m and
        NSGCountedSet.m.

	* src/NSArray.m ([NSArray -objectEnumerator]): Autorelease it.
	([NSArray -reverseObjectEnumerator]): Likewise.

	* src/NSGDictionary.m ([NSGDictionary -keyEnumerator]):
        Autorelease it.
	([NSGDictionary -objectEnumerator]): Likewise.

Wed Oct 25 20:37:15 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/NSSet.m, src/Foundation/NSSet.h: New files.
	* src/NSGSet.m, src/Foundation/NSGSet.h: New files.
	* src/Makefile.in (GNU_HEADERS): Added objects/NSSet.h.
	(GNUSTEP_MFILES): Added NSGSet.m and NSSet.m.
	(GNUSTEP_HEADERS): Added Foundation/NSGSet.h and Foundation/NSSet.h.

	* src/Foundation/NSDictionary.h: Include objects/stdobjects.h, not
        objects/Dictionary.h.
	* src/Foundation/NSGDictionary.h: Include objects/Dictionary.h.

	* src/collhash.c (coll_hash_next): Set STATE to 0 before returning
	when the list is exhausted.  This interacts with [Dictionary
	-freeEnumState:] and [Set -freeEnumState].  This will all be
	cleaned up when we start using Albin Jones' tables.  (This bug
	found by Allan Clearwaters.)

	* src/NSGDictionary.m ([NSGDictionaryKeyEnumerator
	-initWithDictionary:]): Retain dictionary after it is initialized.

	* src/NSString.m ([NSString -cString]): Use
	-subclassResponsibility: instead of -notImplemented:
	([NSString -cStringLength]): Likewise.

Sun Oct 22 13:53:39 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	Start adding proper NSException's; not done yet.
	* src/NSGArray.m ([NSGArray -initWithObjects:count:]): Raise
        exception for nil objects.
	([NSGArray -objectAtIndex:]): Raise exception when index too high.
	* src/NSArray.m ([NSArray +arrayWithObject:]): Raise
        exception on nil argument.

Wed Oct 18 09:48:24 1995  Adam Fedor  <fedor@mode.Colorado.EDU>

	* NSBundle.REAMDE: Rewrote documentation.

	* examples/Makefile.example.in: New file.
	* examples/configure.example.in: Likewise.
	* examples/Makefile.in: Add new files to RCS_FILES.

	* src/Foundation/NSGCString.h: New _free_contents ivar.
	* src/Foundation/String.h: Likewise.
	* src/CString.m ([CString -initWithCString:range:]): Set
 	_free_contents to YES. ([CString -initWithCoder:]): Likewise.
  	([CString -dealloc]): Free contents if needed.  
	* src/MutableCString.m ([MutableCString -initWithCapacity:]): Set
 	_free_contents to YES. ([MutableCString -initWithCoder:]):
 	Likewise.  ([MutableCString -dealloc]): Free contents if needed.
  	* src/NSGCString ([NSGCString
 	-initWithCStringNoCopy:length:freeWhenDone:]): set _free_contents.
  	([NSGCString -initWithCoder:]): Set _free_contents to YES;
 	([NSGCString -dealloc]): Free contents if needed.
  	([NSGMutableCString -initWithCapacity:]): Set _free_contents to
 	YES. ([NSGMutableCString -initWithCoder:]): Likewise.

	* src/NSString.m ([NSString -initWithCString:length:]): Set free
	string. ([NSString -compare:options:]): Range should be
	maximum of both strings.
	
	* src/NSGArray.m ([NSGArray -replaceObjectAtIndex:withObject:]):
	Implement.

	* src/NSGeometry.m (NSMouseInRect): Point should not touch sides.
	
Sat Oct 14 14:16:04 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	Remove remnants of "stack of dictionaries"; we only need one.
	* src/objects/Coder.h (Coder): Renamed ivars from
	root_object_tables to root_object_table, from
	forward_object_tables to forward_object_table; changed classes
	from Stack (of Dictionary's) to Dictionary.
	* src/Coder.m ([Coder -doInitOnStream:isDecoding:]): Use new ivar
        names.
	([Coder -_coderPushRootObjectTable]): Use new ivar names and don't use
	Stack.
	([Coder -_coderPopRootObjectTable]): Likewise.
	([Coder -_coderTopRootObjectTable]): Likewise.
	([Coder -_coderPushForwardObjectTable]): Likewise.
	([Coder -_coderPopForwardObjectTable]): Likewise.
	([Coder -_coderTopForwardObjectTable]): Likewise.
	([Coder -_coderForwardObjectsAtReference:]): Don't access ivar
	directly. 
	([Coder -_coderPutForwardObjects:atReference:]): Likewise.
	([Coder -finishDecodingInterconnectedObjects]): Use new ivar name.
	([Coder -dealloc]): Likewise.

Mon Oct  9 10:33:13 1995  Andrew McCallum  <mccallum@cs.rochester.edu>

	* src/IndexedCollection.m ([IndexedCollection
	-shallowCopyInReverseAs:]): Return newColl, not self.
	([IndexedCollection -withElementsInReverseCall:]): Set flag to YES.
	([IndexedCollection -safeWithElementsInReverseCall:]): Likewise.
	Reported by MURATA, Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>.

	* doc/readme.texi (The Class Heirarchy): Fixes from Aleksey
	Sudakov <zander@cnext.crec.mipt.ru>.

Thu Oct  5 11:31:44 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* src/objc-malloc.c (objc_malloc): Declare res before any 
	statements.
        (__objc_valloc): Likewise.
        (__objc_realloc): Likewise.
        (__objc_calloc): Likewise.

Sat Sep 30 18:00:22 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/objc-malloc.c (CHECK_ZERO_SIZE): New macro; for making sure
	we don't pass 0 to malloc and its friends.  (Needed on DEC Alpha;
	problem reported by Adam Fedor.)
	(__objc_malloc): Use it.
	(__objc_valloc): Likewise.
	(__objc_realloc): Likewise.
	(__objc_calloc): Likewise.

Wed Sep 27 18:45:46 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (DIST_FILES): Removed DISCUSSION.

	* src/IndexedCollection.m ([IndexedCollection
	-getNextElement:withEnumState:]): if isEmpty, return NO.

	* src/NSObject.m ([NSObject +initialize]): Set default
	autorelease_class to NSAutoreleasePool.

	* src/NSProcessInfo.m: Don't try to use __attribute__ ((section
	..)) #if (sgi).  It doesn't seem to be supported.  This probably
	means that aclocal.m4 needs to be fixed so that it doesn't define
	SYS_AUTOLOAD in this case.  No time now.  Adam?

	* src/Collection.m: Avoid cache_flush when releasing contents.
	(send_release): Remove function.
	([Collection -_releaseContents]): New method.
	([Collection -dealloc]): Use it.
	([Collection -empty]): Likewise.
	([Collection -_safeWithElementsCallNoRetain:]): Use
	-getNextElement:withEnumState instead of -withElementsCall: to
	avoid cache_flush.

Thu Sep 21 11:07:38 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* src/NSArray.m ([NSArray -indexOfObjectIdenticalTo:
	-indexOfObject: -containsObject: -removeObjectIdenticalTo:
	-removeObject:]): Use NSNotFound for non-existant objects.

	* src/NSBundle.m ([NSBundle -initWithPath:]): Check if bundle
	for path already exists.

	* src/NSGArray.m ([NSGArray -indexOfObject:]): Force message to
	go to super rather than behavior class.

	* src/NSGCString.m ([NSGCString -emptyCopy]): start with 
	allocCopy.

	* NSGData.m ([NSGData -copyWithZone: -mutableCopyWithZone:],
	[NSGMutableData -copyWithZone:]): New methods.

Tue Sep 12 18:33:25 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (RCS_FILES): Add file aclocal.m4.

Tue Sep 12 15:30:27 1995  Adam Fedor  <fedor@mode.colorado.edu>

	This should make dynamic loading work under Solaris.

	* aclocal.m4: New file.

	* configure.in: Remove dynamic linking checks. Use 
	OBJC_SYS_DYNAMIC_FLAGS macro from aclocal.m4.

	* src/NSBundle.m: Make sure index is defined.

	* src/NSProcessInfo.m: Check ifdef SYS_AUTOLOAD as well as __ELF__
	* src/objc-load.c: Likewise.
	* src/objects/LibobjectsMain.h: Likewise.

Sun Sep 10 18:17:56 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/TextCoder.m ([TextCoder
        -decodeValueOfSimpleType:at:withName:]): Assert the data pointer.

	* src/Coder.m ([Coder -doInitOnStream:isDecoding:]): Temporarily
	change in_progress_table from a Set to an Array.  I need to fix
	some problems with Set.
	([Coder -startEncodingInterconnectedObjects]): Deal with
	interconnected_stack_height.
	([Coder -finishEncodingInterconnectedObjects]): Likewise.
	([Coder -startDecodingInterconnectedObjects]): Likewise.
	([Coder -finishDecodingInterconnectedObjects]): Likewise.
	([Coder -encodeRootObject:withName:]): Fix bug, whereby we weren't
	giving what decodeObjectAt:withName: expected.
	([Coder -encodeArrayOfType:at:count:withName:]): Don't encode the
	array count.
	([Coder -decodeArrayOfType:at:count:withName:]): Don't expect the
	array count.  Change type on 3rd argument.
	* src/objects/Coder.h (interconnected_stack_height): New ivar for
        Coder.

	* src/objects/Coding.h ([Coding
	-decodeArrayOfType:at:count:withName:]): Change the 3rd argument
	type; pass the count directly, not as a pointer.  The encoding and
	decoding of array's no longer records the array count; if
	necessary, you must do that yourself ahead of time.

Fri Sep  8 18:30:54 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/objects/Coder.h (in_progress_table): New ivar in Coder.
	* src/Coder.m ([Coder -doInitOnStream:isDecoding:]): Init
        in_progress_table.
	([Coder -dealloc]): Release in_progress_table.
	([Coder -_encodeObject:withName:isBycopy:isForwardReference:]):
	If the object is in progress, treat it like a forward reference.
	Add the object to the in_progess_table before really encoding the
	object; remove it when done.  (NOTE, this isn't an excuse not to
	set up "encoding interconnected objects" mode; you still must do
	this first.)

Wed Sep  6 09:30:15 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* Makefile.in (snapshot): Remove the snapshot name so we don't get
	nested snapshots on failure.

Wed Aug 30 09:33:07 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* src/NSCTemplateValue.m ([NSCTemplateValue -encodeWithCoder:]):
	Code type as a char_ptr. ([NSCTemplateValue -initWithCoder:]): 
	Leave decoding to NSValueDecoder class.
	* src/NSConcreteNumber.m: Likewise.
	* src/NSConcreteValue.m: Likewise.

	* src/NSNumber.m: Clarify error message for abstract methods
	with "subclassResponsibility".

	* src/NSValue.m: New NSValueDecoder class. Clarify error 
	message for abstract methods.

	* /src/TextCoder.m ([TextCoder encodeValueOfSimpleType:at:withName:]): 
	Write reals using "%g".
	([TextCoder decodeValueOfSimpleType:at:withName:]): Decode
	double as "%lf".

Mon Aug 28 16:27:03 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/Collection.m ([Collection -empty]): Check if already empty.
	This avoids a previous malloc(0).

Sat Aug 26 13:56:40 CDT 1995  Jeremy Bettis <jeremy@hksys.com>

	* src/NSProcessInfo.m: Added Linux/ELF support. Linux calls the
	__libc_subinit functions before the global constructors, therefore
	the subinit functions must be just vanilla C.

Sat Aug 26 12:36:37 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* Makefile.in (snapshot): Put README.first in the snapshot
        distribution.
	* README.first: New file.

Thu Aug 24 12:32:54 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* src/Makefile.in (GNUSTEP_MFILES): Added NSObjCRuntime.m.
	* src/NSObjCRuntime.m: New file.
	(NSStringFromSelector, NSSelectorFromString, NSClassFromString,
	NSStringFromClass): New functions.

	* src/NSObject.m: Include <NSString.h>
	([NSObject -description]): Implemented.
	([NSObject +description]): Implemented.

	* src/Makefile.in (FILE_AUTHORS): Added Peter Burka.

	* volunteers: No longer a soft link to the http file; now it is a
	text file giving the http address and explaining task coordination.

	* Makefile.in (snap): New target.
	(snapshot): New target.
	(dist): Use new target snap.

Wed Aug 23 10:39:21 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/NSTimeZone.m ([NSTimeZone -encodeWithCoder:]): Avoid warning
	by removing type from argument.
	([NSTimeZone -initWithCoder:]): Likewise.

	* Makefile.in (DIST_FILES): Add file README.foundation.

	* src/String.m: Fix bug by which [NSString mutableCopy] returned a
        String, not NSString.
	([String -copyWithZone:]): Renamed from -copy.
	([String -mutableCopyWithZone:]): Renamed from -mutableCopy.

	* src/behavior.c: Added comment about superclass methods being
        overriden.

	* Makeconf (install, uninstall): New targets.

	* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Removed
        question comment.

Thu Aug 17 17:41:05 1995  Adam Fedor  <fedor@mode.colorado.edu>

	*  src/NSData.m ([NSData +allocWithZone:]): New method.
	([NSMutableData +allocWithZone:]): Likewise.
	([NSData +data, +dataWithBytes:length:, 
	+dataWithBytesNoCopy:length:, +dataWithContentsOfFile:,
	+dataWithContentsOfMappedFile:]): Allocate using designated
	allocator.  ([NSMutableData +dataWithCapacity:, 
	+dataWithLength:]): Likewise.

Wed Aug 17 19:54:17 1995  Peter Burka <peter@bert.psyc.upei.ca>

        * src/NSZone.c: malloc.h isn't included on NeXTStep
        * src/Foundation/NSZone.h: use NeXT's zones only if we're using
        their runtime, too

        * src/Foundation/NSDate.h (NSTimeZone, NSTimeZoneDetail):
        interfaces declared

	* src/Makefile.in (GNUSTEP_MFILES): Added NSTimeZone.m.
	* src/NSTimeZone.m: New file.
        * src/NSTimeZone.m: (NSTimeZone, NSConcreteTimeZone,
        NSTimeZoneDetail, NSConcreteTimeZoneDetail): implementations
        defined
	* src/Foundation/NSDate.h: Added declaration of NSTimeZone.

Wed Aug 16 11:58:24 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.14.

	* checks/Makefile.in (nsprocessinfo): New target.

	* src/objects/LibobjectsMain.h: Comment out args to LibobjectsMain
	so we don't get errors from people's "int main ()".

	* admin/Makefile.in (ADMIN_FILES): Added tasks.
	(tasks): New target.
	* doc/Makefile.in (copy-dist): Remove linking of 'tasks' to admin.

	* src/NSProcessInfo.m (_GNU_MISSING_MAIN_FUNCTION_CALL): Added
        Tuparev's email address.

	* admin/Makefile.in (copy-dist): Use cp instead of ln.  (Some of
	these files are symbolic links themselves, and tar gets confused).

	* src/Makefile.in (FILE_AUTHORS): Added "Georg Tuparev".

	* Makefile.in (DIST_FILES): Remove GNUStep-volunteers.  It's now
        in admin/volunteers.

	* checks/nsprocessinfo.m: Fix typo in includes.
	(main): Fix warnings in while test.
	Add newlines to end of printf's.

	* src/NSProcessInfo.m: Fix indentation.

	* src/NSProcessInfo.m: Use ELF _libc_subinit for initialization
        instead of LibobjectsMain.
	* src/objects/LibobjectsMain.h: Only redefine main if we don't
        have __ELF__.

	* src/objects/stdobjects.h.in: Include <objects/LibobjectsMain.h>

	* src/Makefile.in (GNUSTEP_MFILES): Added NSProcessInfo.m.
	(GNUSTEP_HEADERS): Added Foundation/NSProcessInfo.h and
	LibobjectsMain.h.
	* checks/Makefile.in (SRCS): Added nsprocessinfo.m.

	* src/NSProcessInfo.m, src/Foundation/NSProcessInfo.h,
	src/objects/LibobjectsMain.h, checks/nsprocessinfo.m: New files
	from Georg Tuparev <Tuparev@EMBL-Heidelberg.de>

Wed Aug  9 11:27:42 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/NSString.m: Replaced "notImplemented" with
	"subclassResponsibilty" where appropriate.

	* admin/Makefile.in (RCS_FILES): Renamed Makefile to Makefile.in.
	(Makefile, ../config.status): New targets.

	* admin/Makefile.in: Renamed from Makefile.
	(srcdir, VPATH): new vars.
	* configure.in (AC_OUTPUT): Added admin/Makefile.

	* src/NSString.m: Rename NSCString to NSGCString.
	([NXConstantString -release]): Fix return type and return.
	([NSString +_setConcreteClass:]): New method.
	([NSString +_setConcreteCClass:]): New method.
	([NSString +_setMutableConcreteClass:]): New method.
	([NSString +_setMutableConcreteCClass:]): New method.
	([NSString +_concreteClass]): New method.
	([NSString +_concreteCClass]): New method.
	([NSString +_mutableConcreteClass]): New method.
	([NSString +_mutableConcreteCClass]): New method.
	([NSString +initialize]): Initialize new statics that hold concrete
	classes.
	([NSString +stringWithCString:byteString]): Use concrete class method.
	([NSString +stringWithCString:length:]): Likewise.
	([NSString +stringWithFormat:]): Likewise.
	([NSString +stringWithFormat:arguments:]): Likewise.
	([NSString -mutableCopyWithZone:]): Likewise.
	([NSMutableString +stringWithCapacity:]): Likewise.
	([NSMutableString +stringWithCString:length:]): Likewise.

	* src/Makefile.in: Rename NSCString to NSGCString.
	* src/Foundation/NSString.h: Likewise.
	* src/Foundation/NSGCString.h: Likewise.
	* src/NSGCString.m, src/Foundation/NSGCString.h:  Likewise.
	* src/NSGCString.m: Likewise.

	* admin/Makefile: New file.
	* Makefile.in (SUBDIRS): Added admin.

	* doc/Makefile.in (TOP_DOC_FILES): Remove TODO.
	(DIST_FILES): Add TODO.
	(copy-dist): Link TODO to ../snap/admin/tasks.

Tue Aug  8 11:32:13 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/NSDate.m ([NSDate -copyWithZone:]): New method.
	([NSDate -descriptionWithCalendarFormat:timeZone:]): Uncommented.
	([NSDate -dateWithCalendarFormat:timeZone:]): Uncommented.

	* src/NSAutoreleasePool.m ([NSAutoreleasePool -dealloc]): Use
	object_get_class() instead of ->isa.

	* src/Makefile.in (GNUSTEP_HEADERS): Added Foundation/NSDate.h.
	(GNUSTEP_MFILES): Added NSDate.m.

Fri Aug  4 13:39:05 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* src/NSAutoreleasePool.m ([NSAutoreleasePool -addObject:]):
	Remove double_release checking. Increment released_count after
	setting released array. 
	([NSAutoreleasePool -dealloc]): Catch release errors.
	([NSAutoreleasePool -enableDoubleReleaseCheck:]): Removed method.

	* src/NSObject.m ([NSObject -autorelease], [NSObject -release]): 
	Add double_release checking. 
	([NSObject +enableDoubleReleaseCheck:]): New method.

	* src/Foundation/NSAutoreleasePool.h: Remove 
	+enableDoubleReleaseCheck:, add +autoreleaseCountForObject:.

	* src/Foundation/NSObject.h: Add +enableDoubleReleaseCheck:.

	* src/Foundation/objc-load.h: Include objc-api file.

Fri Aug  4 11:08:05 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/MemoryStream.m (debug_memory_stream): Turn debugging off by
        default.

	* src/Makefile.in (install): Remove README links before relinking.

	* src/mframe.m (make_method_call) [__mips__]: Add 4 to offset for
	float retframe.  Yipes, this may be needed for other architectures
	too.

	* src/Makefile.in (GNUSTEP_HEADERS): Removed Foundation/NSUser.h.
	(GNUSTEP_CFILES): Removed NSUser.c.

Thu Aug  3 15:48:21 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/mframe.m (make_method_call): Added comment about looking
	into a problem with returning floats.  I need to get back to this
	later.

Mon Jul 31 10:44:22 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* configure.in: Check for HP version of dld library. Add new
	DYNAMIC_LDFLAGS if hpux version found.

	* checks/Makefile.in (DYNAMIC_LDFLAGS): New macro. (nsbundle): Use
	macro in linking.

	* src/hpux-load.h (__objc_dynamic_link): Specify linking flags to
	shl_load. (__objc_dynamic_find_symbol): Check for return error
	from shl_findsym.

Fri Jul 28 12:38:22 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* configure.in: Added DYNAMIC_CFLAGS and extra test for hpux.

	* checks/Makefile.in (DYNAMIC_BUNDLER_LINKER, DYNAMIC_CFLAGS,
	BUNDLE_NAME, DYNAMIC_MFILES, DYNAMIC_HFILES, DYNAMIC_OFILES,
	nsbundle, bundles): New macros and targets.

	* checks/LoadMe.[hm], checks/SecondClass.[hm],
	checks/MyCategory.[hm], checks/nsbundle.m: New files.   

	* src/NSBundle.m (bundle_object_name, bundle_resource_path,
	[NSBundle +mainBundle], [NSBundle +setSystemLanguages:]): Remove
	dependency on NSString for calculating paths.

Wed Aug  2 12:04:51 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* NSBundle.README: Remove reference to gcc-dynamic.patch.

Fri Jul 14 17:11:20 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* src/MallocAddress.m ([MallocAddress -dealloc]): Check for object in
	dictionary before removing.

	* src/NSArchiver.m: Include NSData header.

	* src/NSAutoreleasePool.m ([NSAutoreleasePool
	+autoreleaseCountForObject:]): Initialize count to 0.

	* src/NSGData.m ([NSGMutableData -setLength:]): Reset eofPosition
	to size.

Wed Aug  2 11:21:55 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/NSString.m ([NXConstantString -dealloc]): New method.
	([NXConstantString -cString]): New method.
	([NXConstantString -retain]): New method.
	([NXConstantString -release]): New method.
	([NXConstantString -autorelease]): New method.
	([NXConstantString -copyWithZone:]): New method.
	(From Jeremy Bettis).

	* src/NSDate.m ([NSDate -isEqual:]): Fix typo.  (From Jeremy
	Bettis).

Wed Jul 12 10:22:48 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* NSString.m (componentsSeparatedByString:, substringFromRange:,
	rangeOfCharacterFromSet:, rangeOfCharacterFromSet:options:,
	rangeOfCharacterFromSet:options:range:, rangeOfString:,
	rangeOfString:options:, caseInsensitiveCompare:, hasPrefix:,
	hasSuffix:, lastPathComponent, pathExtension,
	stringByAppendingPathComponent:, stringByAppendingPathExtension:,
	stringByDeletingLastPathComponent, stringByDeletingPathExtension):
	Implemented methods.

	* Foundation/NSException.h (_NSAssertArgs, _NSCAssertArgs): Made
	',' a separate token to work with ## macro.

	* Foundation/NSRange.h: Added NSMakeRange declaration. 

Fri Jun 30 16:02:12 1995  Adam Fedor  <fedor@colorado.edu>

	* NSData.m ([NSData +allocWithZone:]): New method. 
	(_initWithBytesNoCopy:length): New (designated initializer) method.
	(initWithBytesNoCopy:length:): Make subclass responsibility.
	(init): Call new designated initializer. ([NSMutableData 
	+allocWithZone:]) New Method. (dataWithCapacity:, dataWithLength:): 
	Allocate using designated allocator. (initWithBytesNoCopy:length:): 
	Make subclass responsibility.  

	* NSGData.m (_initWithBytesNoCopy:length:): Make designated 
	initializer. (initWithBytesNoCopy:length:) Call designated initializer.
  
Wed Aug  2 10:35:31 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/Makefile.in (FILE_AUTHORS): Added "Martin Michlmayr".

	* NSUser.c, Foundation/NSUser.h: New files from Martin Michlmayr
	<tbm@ihq.com>. 
	* src/Makefile.in (GNUSTEP_HEADERS): Added Foundation/NSUser.h.
	(GNUSTEP_MFILES): Added NSUser.c.

Thu Jul  6 10:11:11 1995  Adam Fedor  <fedor@colorado.edu>

    	* src/MemoryStream.m ([MemoryStream -writeBytes:length]): Realloc
	buffer to at least minimum required length.

	* src/NSCString.m ([NSCString -cString]): Malloc extra byte for
	'\0' terminator.

	* src/NSGArray.m ([NSGArray -initWithObjects:count:]): Set
	_capacity to minimum of 1. 
	([NSGMutableArray -initWithCapacity:]):	Likewise. 

Wed Jul  5 17:19:21 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	Released version 0.1.13.

	* src/NSString.m ([NSString -getCharacters:range:]): Decrement,
        not increment in loop.  (Reported by Harmut
	<benz@sophie-scholl.dbag.ulm.DaimlerBenz.COM>).

Mon Jul  3 18:10:50 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/NSMethodSignature.m ([NSMethodSignature -dealloc]): Free
        returnTypes.

	* src/NSUnarchiver.m: Allow easy user-modification of concrete class.
	([NSUnarchiver +_setConcreteClass:]): New method.
	([NSUnarchiver +_concreteClass]): New method.
	([NSUnarchiver +initialize]): New method.

	* src/NSArchiver.m: Allow easy user-modification of concrete
	class.  Removed references to NSGData.
	([NSArchiver +_setConcreteClass:]): New method.
	([NSArchiver +_concreteClass]): New method.
	([NSArchiver +initialize]): New method.

	* src/NSData.m: Allow easy user-modification of concrete class.
	([NSData +_setConcreteClass:]): New method.
	([NSData +_setMutableConcreteClass:]): New method.
	([NSData +_concreteClass]): New method.
	([NSData +_mutableConcreteClass]): New method.
	([NSData +initialize]): New method.

Sat Jul  1 14:32:52 1995  Andrew McCallum  <mccallum@artery.cs.rochester.edu>

	* src/objects/README: Capitalize Foundation.

	* src/NSArray.m: Moved NSArrayEnumerator interface and
	implementation from separate files to here.
	* src/Makefile.in (GNUSTEP_MFILES): Remove NSArrayEnumerator.m.
	(GNUSTEP_HEADERS): Remove Foundation/NSArrayEnumerator.h.

	* src/Foundation/NSZone.h: Update copyright.
	* src/Foundation/NSValue.h: Likewise.
	* src/Foundation/NSGeometry.h: Likewise.
	* src/Foundation/NSException.h: Likewise.
	* src/Foundation/NSUnarchiver.h: Likewise.
	* src/Foundation/NSTimer.h: Likewise.
	* src/Foundation/NSString.h: Likewise.
	* src/Foundation/NSSerialization.h: Likewise.
	* src/Foundation/NSRange.h: Likewise.
	* src/Foundation/NSObject.h: Likewise.
	* src/Foundation/NSObjCRuntime.h: Likewise.
	* src/Foundation/NSMethodSignature.h: Likewise.
	* src/Foundation/NSInvocation.h: Likewise.
	* src/Foundation/NSDictionary.h: Likewise.
	* src/Foundation/NSData.h: Likewise.
	* src/Foundation/NSCoder.h: Likewise.
	* src/Foundation/NSCharacterSet.h: Likewise.
	* src/Foundation/NSBundle.h: Likewise.
	* src/Foundation/NSBitmapCharSet.h: Likewise.
	* src/Foundation/NSAutoreleasePool.h: Likewise.
	* src/Foundation/NSArray.h: Likewise.
	* src/Foundation/NSArchiver.h: Likewise.
	* src/Foundation/NSDate.h: Likewise.
	* src/NSDate.m: Likewise.

Fri Jun 30 16:42:10 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/Foundation/NSRange.h (NSLocationInRange): Added
        __attribute__ ((unused)).
	(NSMaxRange): Likewise.

Fri Jun 30 13:19:24 1995  Adam Fedor  <fedor@colorado.edu>

	* Makefile.in (install): Fixed directory typo.

	* NSCharacterSets/Makefile.in (INSTALL, INSTALL_PROGRAM,
        INSTALL_DATA): New variables.
	(install): Depend on installdirs.

Fri Jun 30 09:45:14 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* (install-sh, mkinstalldirs): Change file permissions to group
	and all can read and execute.  (Reported by Paul Kunz.)

	* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.13.

	* doc/news.texi (Noteworthy changes since version 0.1.12): New
        section.

	The "concrete class" configuration idea was proposed by Albin
	Jones <ajones@oxy.edu>, 10 Jun 1995.

	* src/NSDictionary.m: Allow easy user-modification of concrete class.
	([NSDictionary +_setConcreteClass:]): New method.
	([NSDictionary +_setMutableConcreteClass:]): New method.
	([NSDictionary +_concreteClass]): New method.
	([NSDictionary +_mutableConcreteClass]): New method.
	([NSDictionary +initialize]): New method.
	(NSDictionary_concrete_class, NSMutableDictionary_concrete_class): New
	static variables.
	([NSDictionary -copyWithZone:]): Make a deep copy to conform to spec;
	it was a shallow copy.

	* src/NSArray.m: Allow easy user-modification of concrete class.
	([NSArray +_setConcreteClass:]): New method.
	([NSArray +_setMutableConcreteClass:]): New method.
	([NSArray +_concreteClass]): New method.
	([NSArray +_mutableConcreteClass]): New method.
	([NSArray +initialize]): New method.
	(NSArray_concrete_class): New static variable.
	(NSMutableArray_concrete_class): New static variable.
	([NSArray +arrayWithObject:]): Don't use addObject:.
	([NSArray -copyWithZone:]): Make a deep copy to conform to spec; it
	was a shallow copy.

Wed Jun 28 18:31:36 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (rcs-list-locked): Fix typo.

	Released Version 0.1.12.

	* Makefile.in (DIST_FILES): Remove gcc patch files.
	* doc/install.texi: Remove instructions for gcc patches.

	* examples/Makefile.in (ALL_CPPFLAGS): Look in ../src for includes.

	* examples/second-server.m: Use release instead of free.
	* examples/textcoding.m: Likewise.
	* examples/stdio-stream.m: Likewise.

	* src/objects/Dictionary.h ([Dictionary
        initWithType:keyType:capacity]): Declare it.
	([Dictionary initWithType:capacity]): Likewise.

	* Makefile.in (RCS_FILES): Added Makeconf.

	* checks/Makefile.in (DIST_FILES): Added RCS_FILES.

	* src/Time.m: Include Sequent support.  (Thanks to Matt Nelson
        <nelsonm@ctron.com>).
	* src/objects/Time.h: Likewise.

	* checks/test09.m: Add _SEQUENT_ to lrand48 conditional.
	* checks/test04.m: Likewise.
	* checks/test01.m: Likewise.

	* checks/client.m (main): Use -invalidate, not -release.
	* examples/first-client.m (main): Likewise.
	* examples/second-client.m (main): Likewise.

	* src/Connection.m ([Connection
	+newForInPort:outPort:ancestorConnection:]): Add comment.  I need
	to fix retain/release for Connection.

	* checks/Makefile.in: Put src in all dependencies on libobjects.a.
	(OBJECTS_NEXT_INCLUDES): Look in src directory.
	(LIBS): Likewise.
	(ALL_CPPFLAGS): Likewise.

	* checks/test08.m: Use libobjects' Coder instead of GNU
	TypedStream.  Comment out BinaryTree testing.

	* src/BinaryTree.m ([BinaryTree -_initCollectionWithCoder:]):
	Disabled with -notImplemented.  I need to fix decoding of this
	class.

	* src/LinkedList.m: Added comment.  I need to fix decoding of this
        class.

	* src/Collection.m ([Collection -_safeWithElementsCallNoRetain:]):
        Use malloc not alloca.

	* src/Dictionary.m ([Dictionary -putElement:atKey:]): Release
        previous element.  (Thanks to Paul Burchard <burchard@math.utah.edu>).

	* src/NSObject.m (NSDecrementExtraRefCountWasZero): Return correct
        value.  (Thanks to Paul Burchard <burchard@math.utah.edu>).

	* src/Makefile.in (CFLAGS): Remove -Wall.

	* doc/announce.texi: Use machines.texi.
	* doc/advertisement.texi: Likewise.

	* doc/machines.texi: New file.
	* doc/Makefile.in (TEXI_FILES): Added machines.texi.
	(info): Removed libobjects.texi and objective-c.texi.
	(objective-c): Print apology about makeinfo.

Sun Jun 25 18:08:26 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* src/Makefile.in (objects/stdobjects.h): Depend on ../Version,
        not Makefile.in.
	(AUTHORS): Fix echo'ing of newlines.

	* Version (OBJECTS_SUBMINOR_VERSION): Version 0.1.12.
	(OBJECTS_GCC_VERSION): Upped from 2.6.3 to 2.7.0.

Tue Jun 20 12:06:36 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* Makefile.in (rcs-list-locked): Print subdir names.

	* checks/Makefile.in: Include $(srcdir)/../Makeconf.
	(RCS_FILES): New variable.
	(install, uninstall): New targets.
	(copy-dist): Converted to new scheme.
	* examples/Makefile.in: Likewise.

	* doc/Makefile.in: Change the way top-level dir info files are
        handled.
	(TOP_FILES): Variable removed.
	(.SUFFIXES): Removed.
	(prefix, infodir): New variables.
	(copy-dist): Converted to new scheme.

	* doc/news.texi (Noteworthy changes since version 0.1.10): New
        section.

	* src/NSGArchiver.m ([NSGArchiver -initForWritingWithMutableData:]):
	New method.

	* src/Makefile.in (prefix, exec_prefix, libdir, includedir): New
        variables.

	* Makefile.in: Convert to new scheme with subdirs.  Many variable
	and targets moved to subdir Makefiles.
	(maintainer-clean, %-subdirs): New targets.

	* configure.in (AC_OUTPUT): Added NSCharacterSets/Makefile.

	* NSCharacterSets/Makefile.in (prefix, datadir, charsetdir,
        INSTALL_FILES): New variables.
	(installdirs, install, uninstall): New targets.

Fri May 26 11:17:54 1995  Adam Fedor  <fedor@mode.colorado.edu>

	* src/objc-load.c (objc_load_module): Don't execute ctor_list on
	__ELF__ systems.

Fri May 19 11:22:42 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

        * doc/Makefile.in (copy-dist): Renamed from "dist".
        * examples/Makefile.in (copy-dist): Renamed from "dist".
        * checks/Makefile.in (copy-dist): Renamed from "dist".

        * configure.in (AC_OUTPUT): Prepend "src/" to "objects/config.h".

        * configure.in (AC_OUTPUT): Added src/Makefile.  Changed
        INSTALL_HEADERS to HEADERS_INSTALL.  Changed INSTALL_OBJS to
        OBJS_INSTALL.

Thu May 11 16:09:36 1995  Andrew McCallum  <mccallum@moose.cs.rochester.edu>

	* Makefile.in (datadir): According to new standards, use "share"
        instead of "lib".

Mon May  8 16:39:42 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* Makefile.in (dist): Rename "share" to "NSCharacterSets".
	(datadir): New variable.
	(charsetdir): New variable.
	(install): Install files from NSCharacterSets directory.
	(installdirs): Make $(datadir) and $(charsetdir).
	* NSCharacterSets: Directory renamed from "share".

Fri May  5 10:46:37 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* doc/Makefile.in (TOP_FILES): New variable.
	(dist): Copy TOP_FILES.
	(version.texi): Remove $(MAKEFLAGS).

	* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.11.
	(dist): mkdir src and config.  Copy share and contents.

	* configure.in: Use config/ directory prefix where needed.

	* config:  New subdirectory.
	* config.*:  Files moved there.

	* src/NSException.m (encodeWithCoder:, initWithCoder:): Remove
	class names from arg type to avoid bogus warnings about protocol
	conformance.

	* Makefile.in: Use doc/ and src/ directories.  Many changes.
	* src: New subdirectory.  Move source files there.

	* configure.in: Look for src/Collection.m, not Collection.

	* configure.in: Create doc/Makefile.
	* doc:  New subdirectory.
	* doc/Makefile.in: New file.

	* checks/nsdictionary.m:  New file.
	* checks/Makefile.in (SRCS): Added nsdictionary.m.

	* Foundation/NSDictionary.h: Uncomment -keyEnumerator and
        -objectEnumerator.  
	* NSDictionary.m [NSDictionary] (+allocWithZone, +dictionary,
	+dictionaryWithObjects:forKeys:count:, -initWithObjects:forKeys:,
	+dictionaryWithObjects:forKeys:, -initWithObjects,forKeys:count:,
	-init, -initWithDictionary, -count, -objectForKey, -keyEnumerator,
	-isEqual:, -isEqualToDictionary, -descriptionWithIndent, -allKeys,
	-allValues, allKeysForObject:, -objectEnumerator, -copyWithZone,
	-mutableCopyWithZone): Implemented.
	[NSMutableDictionary] (+allocWithZone:, +dictionaryWithCapacity:,
	-initWithCapacity:, -initWithObjects:forKeys:count:,
	-setObject:forKey:, -removeObjectForKey:, removeAllObjects,
	-removeObjectsForKeys:, addEntriesFromDictionary:): Implemented.
	(NSGDictionaryKeyEnumerator, NSGDictionaryObjectEnumerator): New
	classes. 
	* NSGDictionary.m, Foundation/NSGDictionary.h,
	objects/NSDictionary.h: New files.
	* Makefile.in (GNU_HEADERS): Added NSDictionary.h.
	(GNUSTEP_MFILES): Added NSGDictionary.m.
	(GNUSTEP_HEADERS): Added NSGDictionary.h.

	* objects/NSArray.h: Fix #ifndef macro name; NSArray, not NSString!

	* NSString.m (-compare:options:range:): Simple implementation; not
        complete.

	* NSArray.m (NSArray +allocWithZone:): Implemented.
	(NSMutableArray +allocWithZone:): Implemented.

	* NSGArray.m (-initWithObjects:count:): Retain objects.

Thu May  4 11:51:04 1995  Adam Fedor  <fedor@colorado.edu>

	* NSBitmapCharSet.m, Foundation/NSBitmapCharSet.h: Replaced NSData
	instance variable with char array and rewrote methods to reflect
	this.

	* NSCharacterSet.m (characterSetWithCharactersInString:): Create
	mutable data object for bitmap. (characterSetWithRange:): Added
	error checking. (deepen): removed. (copyWithZone:,
	mutableCopyWithZone:): More efficient implementation.
	(characterSetWithBitmapRepresentation:): Override implementation
	from super.

Wed May  3 15:05:17 1995  Adam Fedor  <fedor@colorado.edu>

	* Makefile.in (GNUSTEP_MFILES, GNUSTEP_HEADERS): Added
	NSBitmapCharSet.

	* NSCTemplateValue.m, NSConcreteNumber: Added #line macro so gdb
	knows which file source came from.
	
	* NSBitmapCharSet.m, Foundation/NSBitmapCharSet.h: New files.

	* NSCharacterSet.m (all methods): Implemented.

	* NSDictionary.m, Foundation/NSDictionary.h (keyEnumerator, 
	objectEnumerator): Uncommented but left unimplemeneted.
	
	* NSNumber.m (valueClassWithObjCType:): Added break's to avoid
	falling through case statements.

	* Foundation/NSException.h (_NSAssertArgs, _NSCAssertArgs): Made
	',' a separate token to work with ## macro.

Wed Apr 26 10:15:51 1995  Adam Fedor  <fedor@colorado.edu>

	* Makefile.in (GNUSTEP_MFILES, GNUSTEP_HEADERS): Added
	NSCharacterSet.

	* NSCharacterSet.m, Foundation/NSCharacterSet.h: New files.

	* NSString.m (componentsSeparatedByString:, substringFromRange:,
	rangeOfCharacterFromSet:, rangeOfCharacterFromSet:options:,
	rangeOfCharacterFromSet:options:range:, rangeOfString:,
	rangeOfString:options:, caseInsensitiveCompare:, hasPrefix:,
	hasSuffix:, lastPathComponent, pathExtension,
	stringByAppendingPathComponent:, stringByAppendingPathExtension:,
	stringByDeletingLastPathComponent, stringByDeletingPathExtension):
	Implemented methods.

	* Foundation/NSRange.h: Added NSMakeRange declaration. 

Wed Apr 26 15:01:07 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* install.texi: Fixed typo in patch instructions.  Too many "..".
	(Reported by Daniel L. Green <dang@mcs.com>.)

Thu Apr 20 20:11:23 1995  Andrew McCallum  <mccallum@zebra.cs.rochester.edu>

	* NSData.m: Include <Foundation/NSException.h>

	* NSData.m (dataWithBytesNoCopy:length:): Send alloc to NSGData
        class, not self.

Sun Apr 16 02:41:39 1995  Albin L. Jones  <ajones@oxy.edu>

	* NSData.m([NSData -getBytes:range:],
        [NSData -subdataWithRange:]): Coded these, including the range
        checking bits.  The proper exception is raised.

	* NSData.m([NSData -dataWithContentsOfFile:],
	[NSData -dataWithContentsOfMappedFile:],
        [NSData -initWithContentsOfFile:],
	[NSData -initWithContentsOfMappedFile:],
        [NSData -writeToFile:atomically:]): Filled
	these out, made them do what they were suppossed to.

	* NSData.m: Added many comments.  Maybe I shouldn't have.

Thu Apr 20 11:26:45 1995  Adam Fedor  <fedor@boulder.colorado.edu>

	* NSCTemplateValue.m, NSConcreteNumber.m, NSConcreteValue.m,
	NSException.m, NSNumber.m, NSValue.m (encodeWithCoder:,
	initWithCoder:): Include call to super since NSObject now
	implements these methods.

Mon Apr 17 16:37:06 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.10.

	* examples/second-client.h: Make AppellationObject inherit from
        NSObject, not Object.

	* examples/second-server.h: Include NSObject.h from Foundation,
        not objc.

	* NSData.m (replaceBytesInRange:withBytes:): Get pointer with
	-mutableBytes, not -bytes.

	* Makefile.in (FILE_AUTHORS): Added Jeremy Bettis.

	* Makefile.in: Change "foundation" to "Foundation".

	* Foundation:  Directory renamed from "foundation".

	* Connection.m, NSArchiver.m, NSArray.m, NSArrayEnumerator.m,
	NSAssertionHandler.m, NSAutoreleasePool.m, NSBundle.m,
	NSCString.m, NSCTemplateValue.m, NSCoder.m, NSConcreteNumber.m,
	NSConcreteValue.m, NSData.m, NSDate.m, NSDictionary.m,
	NSEnumerator.m, NSException.m, NSGArchiver.m, NSGArray.m,
	NSGCoder.m, NSGData.m, NSGUnarchiver.m, NSGeometry.m, NSNumber.m,
	NSObject.m, NSRange.m, NSString.m, NSUnarchiver.m, NSValue.m,
	NSZone.c, objc-load.c: Include from <Foundation/...>, not
	<foundation/...>.
	* objects/Collection.h, objects/NSCoder.h, objects/String.h,
	objects/stdobjects.h.in: Likewise.
	* foundation/NSArchiver.h, foundation/NSArray.h,
	foundation/NSArrayEnumerator.h, foundation/NSAutoreleasePool.h,
	foundation/NSBundle.h, foundation/NSCString.h,
	foundation/NSCoder.h, foundation/NSConcreteNumber.h,
	foundation/NSConcreteValue.h, foundation/NSData.h,
	foundation/NSDate.h, foundation/NSException.h,
	foundation/NSGArchiver.h, foundation/NSGArray.h,
	foundation/NSGCoder.h, foundation/NSGData.h,
	foundation/NSGUnarchiver.h, foundation/NSMethodSignature.h,
	foundation/NSObject.h, foundation/NSRange.h,
	foundation/NSString.h, foundation/NSUnarchiver.h,
	foundation/NSUtilities.h, foundation/NSValue.h: Likewise.
	* examples/first-server.h: Likewise.
	* checks/nsarchiving.m, checks/nsarray.m, checks/string.m,
	checks/values.m: Likewise.

	* objects/NSCoder.h: Fix typo: We're declaring methods of NSCoder,
        not NSConcreteCoder.

	* foundation/NSData.h: Insert the interface for NSMutableData.

	* NSData.m: Insert the implementation of NSMutableData.

	* foundation/NSGData.h: Don't include
	<foundation/NSMutableData.h>.  The interface can now be found in
	<foundation/NSData.h>

Sat Apr 15 14:12:57 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.9.

	* checks/Makefile.in (SRCS): Comment out nsarchiving.m.  It's
	not done yet.

	* Makefile.in (GNUStep-volunteers): New target to deal with "ln"
	and disparate filesystem problems.
	(DIST-FILES): Use the local GNUStep-volunteers file, not the remote
	volunteers-gnustep file.
	(dist): Switch back to "ln", not "ln -s".

	* Stream.m (-initWithMode:, -streamMode): Methods removed.
	(-isWritable): New method.
	(-initWithCoder): Renamed from +newWithCoder.m.
	* objects/Stream.h: Method removed and put into Streaming
	protocol.  Included from objects/Streaming.h.
	(mode): Instance variable removed.
	(STREAM_READONLY, STREAM_WRITEONLY, STREAM_READWRITE): enum removed.
	* objects/Streaming.h: New file.
	* Makefile.in (GNU_HEADERS): Added objects/Streaming.h.

	* objects/StdioStream.h (mode): New instance variable, to replace
        one removed from Stream class.
	* StdioStream.m (-isWriteable): New method.
	(-initWithCoder): Renamed and rewritten from +newWithCoder.
	(-isAtEof): Renamed from -streamEof.
	(-initWithFilePointer:fmode:): Use new mode ivar.

	* objects/MemoryStream.h: New protocol <MemoryStreaming>.  Make
        MemoryStream class conform to it.
	* MemoryStream.m (-setStreamBufferCapacity:): Renamed from
        -setStreamBufferSize.
	(-streamBufferCapacity): Renamed from -streamBufferSize.
	(-isWriteable): New method.
	(-streamBufferPrefix): Renamed from -streamPrefix.

	* NSArchiver.m, foundation/NSArchiver.m, NSGArchiver.m,
	NSUnarchiver.m, foundation/NSUnarchiver.h,
	foundation/NSGArchiver.h, NSGData.m, foundation/NSGData.h: New
	files.
	* Makefile.in (GNUSTEP_MFILES): Added NSArchiver.m, NSGArchiver.m,
	NSGData.m, NSGUnarchiver.m, NSUnarchiver.m.
	(GNUSTEP_HEADERS): Added foundation/NSArchiver.h,
	foundation/NSGArchiver.h, foundation/NSGData.h,
	foundation/NSGUnarchiver.h, foundation/NSUnarchiver.h.

	* checks/nsarchiving.m: New file.
	* checks/Makefile.in (SRCS): Added nsarchiving.m.

	* Makefile.in (GNU_HEADERS): Added objects/NSCoder.h.

	The GNU-interoperating concrete subclasses of NS classes have the
	prefix NSG.  If people want to write other concrete subclasses
	(some of which could be more lowlevel-compatible with NeXT's
	classes, such as in the low-level format used by NSConcreteCoder),
	they can do so, and use NeXT's classnames, or their own.
	* NSGArray.m, foundation/NSGArray.h:  Renamed from NSConcreteArray.
	* NSGCoder.m, foundation/NSGCoder.h:  Renamed form NSGNUCoder.
	* Makefile.in: Renamed appropriate files for NSG prefix.
	* NSCoder.m: Change names from "Concrete"-style to "G"-style.
	* NSGCoder.m: Likewise.
	* foundation/NSGArray.h: Likewise.
	* NSArray.m: Likewise.
	* NSGArray.m: Likewise.

Fri Apr 14 10:59:41 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* NSAutoreleasePool.m (+enableRelease:,	+enableDoubleReleaseCheck:,
	+setPoolCountThreshhold:): New methods.
	* foundation/NSAutoreleasePool.h: Declare new methods.

	* Makefile.in (GNUSTEP_MFILES): Removed NSDate.m; it causes a bunch
	of compilation errors.
	(GNUSTEP_OTHER_SRCFILES): Added NSDate.m.

Thu Apr 13 11:03:13 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* NSDate.m: Compare against [NSDate class], not NSDate.

	* NSDate.m: Fixed indentation.  Added some calls to
        -notImplemented:.

	* NSDate.m, foundation/NSDate.h:  New files from Jeremy Bettis
	<jeremy@hksys.com>.
	* Makefile.in (GNUSTEP_HEADERS): Added foundation/NSDate.h.
	(GNUSTEP_MFILES): Added NSDate.m.

	* readme.texi: Updated for changes since addition of string
	classes and retain/release.

	* NSData.m (-getBytes:range:): Implemented.
	(-isEqual:): New method.

	* Now using new ObjC Emacs mode from cc-mode.el (to be included
	with emacs 19.29), with (c-set-style "GNU").  This will change the
	way multi-line methods are indented: I used to indent with three
	spaces, now colons are lined up.  All contributors should use the
	same style.  Note that (c-set-style "GNU") has different
	c-basic-offset than the default.

Wed Apr 12 11:15:57 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* BinaryTree.m (removeElement:): Fix bug whereby the deleted
	node's parent still had the deleted node as a right child.
	(Reported by Stephen Peters <SPETERS@us.oracle.com>).

	* Collection.m (write:, read:): Put back these old-style archiving
        methods.  (Reported by Stephen Peters <SPETERS@us.oracle.com>).

Sun Apr  9 20:34:32 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* NSAssertionHandler.m: Fix copyright date and indentation.

Sun Apr  9 16:43:03 1995  Adam Fedor  (fedor@boulder.colorado.edu)

        * Makefile.in (GNUSTEP_MFILES): Added NSAssertionHandler.m.

        * NSAssertionHandler.m: New file.

        * foundaton/NSException.h: Added NSAssert macros and
        NSAssertionHandler interface.

Sun Apr  9 13:55:28 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* MallocAddress.m (objectForAddress:): Return nil if address is
	not maintained by a MallocAddress object. (Used to simply die.)

Sat Apr  8 13:04:08 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (GNUSTEP_MFILES): Added NSGNUCoder.m.
	(GNUSTEP_HEADERS): Added foundation/NSGNUCoder.h.
	(GNUSTEP_OTHER_SRCFILES): Added files NSArchiver.m,
	foundation/NSArchiver.h.
	* NSGNUCoder.m, foundation/NSGNUCoder.h, NSArchiver,
	foundation/NSArchiver.h: New files.

	* Makefile.in: Rearranged source variables to put
	GNU/NEXTSTEP/GNUStep files close together.
	(GNUSTEP_OTHER_SRCFILES): Added NSData.m, foundation/NSData.h.
	* NSData.m, foundation/NSData.h:  New files.

	* Array.m, BinaryTree.m, BinaryTreeNode.m, CString.m,
	CircularArray.m, Collection.m, Connection.m, DelegatePool.m,
	Dictionary.m, EltNodeCollector.m, GapArray.m, LinkedList.m,
	LinkedListNode.m, MappedCollector.m, MemoryStream.m,
	MutableCString.m, NSCString.m, NSCoder.m, NSObject.m, NSString.m,
	Port.m, RBTreeNode.m, RNGAdditiveCongruential.m, RNGBerkeley.m,
	Random.m, Set.m, Stream.m, TextCoder.m, Time.m: Convert to new
	Coder scheme.  Use -initWithCoder instead of +newWithCoder where
	appropriate.  Remove arguments typed (Coder*).  Replace
	+_newCollectionWithCoder with -_initCollectionWithCoder.

	* objects/Coding.h (CommonCoding, Encoding, Decoding): New
        protocols.
	(SelfCoding): New category of NSObject, interface only, no
	implementation.  This takes the place of the Coding Protocol.
	(Coding): Protocol removed.

	* objects/IndexedCollecting.h: Use ConstantIndexedCollecting
        protocol where appropriate.
	* objects/Collecting.h: Use ConstantCollecting protocol where
        appropriate.

	* objects/KeyedCollection.h: Move protocol conformance to category
        to avoid bogus gcc complaints.
	* objects/IndexedCollection.h: Likewise.

	* Coder.m (-decodeObjectAt:withName:): Create the instance and
	send -initWithCoder if the object doesn't respond to
	+newWithCoder.  Convert to new protocol and method type scheme.

	* Proxy.m (RemoteSelfCoding): Renamed category from RemoteCoding.
	* objects/Proxy.h: Likewise.
	* objects/Connection.h (ConnectedSelfCoding): Renamed protocol
        from ConnectedCoding.

	* objects/Collection.h: Removed Coding protocol.  It's already
        provided by NSObject.
	* objects/BinaryTreeNode.h: Likewise.
	* objects/Port.h: Likewise.
	* objects/LinkedListNode.h: Likewise.

	* objects/IndexedCollecting.h (ConstantIndexedCollecting): New
	protocol extracted from IndexedCollecting.
	* objects/KeyedCollecting.h (ConstantKeyedCollecting): New
        protocol extracted from KeyedCollecting.
	* objects/Collecting.h (ConstantCollecting): New protocol
	extracted from Collecting.

Fri Apr  7 16:36:08 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* checks/nsarray.m (main): Fix serious bug by including `nil' at
	end of contents list.  Test forward and reverse enumerator
	objects.

	* NSArray.m (-objectEnumerator, -reverseObjectEnumerator):
        Implemented methods.
	* Makefile.in (GNUSTEP_MFILES): Added NSArrayEnumerator.m,
	NSEnumerator.m. 
	(GNUSTEP_HEADERS): Added foundation/NSArrayEnumerator.h.
	* NSEnumerator.m, NSArrayEnumerator.m,
	foundation/NSArrayEnumerator.h:  New files. 

	* Connection.m (-dealloc): Remove dealloc of remote_proxies
        contents.

	* NSArray.m (-componentsJoinedByString:): Implemented method.

	* NSCString.m (initWithCapacity:): Make sure that capacity is
        greater than zero.

	* Makefile.in (DIST_FILES): Added volunteers-gnustep.

Fri Apr  7 15:41:46 1995  Mark Lakata  (lakata@nsdssp.lbl.gov)

	* foundation/NSZone.h: Fixed clash with linux unistd.h.

Thu Apr  6 14:47:09 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (FILE_AUTHORS): New variable.
	(AUTHORS): New target.
	(DIST_FILES): Added AUTHORS.

	* Makefile.in (DIST_FILES): Add objective-c.texi objective-c.info.
	(RCS_FILES): Add objective-c.texi.
	(objective-c.info): New target.
	(info): Add objective-c.info.

	* Array.m (-_encodeCollectionWithCoder:): Fix typo.  Fix super call.
	(+_newCollectionWithCoder:): Fix super call.
	(Reported by allan-europa@mct.co.uk (Allan Clearwaters)).

Wed Apr  5 11:22:30 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.8.

	* Makefile.in (NEXTSTEP_DERIVED_CFILES): New variable.
	(NEXTSTEP_CFILES): NXStringTable_scan.c moved to above.
	(NEXTSTEP_OBJS): Use NEXTSTEP_DERIVED_CFILES.
	(DIST_FILES): Add NEXTSTEP_DERIVED_CFILES.
	(objects/stdobjects.h): Target overhauled.
	(libobjects.a): Add dependancy on objects/stdobjects.h.
	(GNU_HEADERS): Remove objects/config.h, objects/stdobjects.h.
	(INSTALL_HEADERS): Add objects/config.h, objects/stdobjects.h.
	(NEXTSTEP_HEADERS): Removed README.
	(GNUSTEP_HEADERS): Likewise.
	(RCS_FILES): New variable.
	(rcs-list-locked): New target.
	(dynamic-load.h): Depend on config.status, for less re-making.
	(version.texi): Depend on Makefile.in, not Makefile.
	(realclean): Add objects/stdobjects.h objects/config.h.

	* objects/stdobjects.h.in: New file.

	* Makefile.in (GNUSTEP_OTHER_SRCFILES): Added NSConcreteNumber.m,
        NSCTemplateValue.m.

	* objects/DelegatePool.h (_last_message_had_receivers): New
        instance variable.
	* DelegatePool.m (-delegatePoolLastMessageHadReceivers): New method.
	(-forward::, init): Set new ivar.

	* objects/behavior.h (CALL_METHOD_IN_CLASS): Fix typo.

	* NSArray.m (allocWithZone): Removed method.
	(arrayWithObjects:, initWithObjects:, initWithArray:, count,
	indexOfObjectIdenticalTo:, indexOfObject:, isEqualToArray:,
	makeObjectsPerform:, makeObjectsPerform:withObject:, lastObject,
	firstObjectCommonWithArray:, arrayWithCapacity:, addObject:,
	replaceObjectAtIndex:, removeLastObject, insertObject:atIndex:,
	removeObjectAtIndex:, removeObjectIdenticalTo:, removeObject:,
	removeAllObjects, addObjectsFromArray:,
	removeObjectsFromIndices:numIndices:, removeObjectsInArray:,
	copyWithZone:, mutableCopyWithZone:): Newly implemented or
	overhauled.

	* behavior.c (class_add_methods_if_not_there): Only put method
	implementation in dtable if the dtable is already installed,
	otherwise, just add it to the class's methods list and let
	__objc_install_dispatch_table_for_class put it in.  Also, change
	arguments.  All callers updated.
	(check_class_methods): New function.

	* NSString.m (+initialize): Use static "done".
	* NSCString.m: Likewise.

	* checks/test01.m (main): "release" collections intead of
        "emtpy"ing them.

	* NSDeallocateObject.m (NSDeallocateObject): Set
	anObject->class_pointer to 0xdeadface, to help catch message-sends
	to deallocated objects.

	* Collection.m (_safeWithElementsCallNoRetain:): New method.
	(dealloc, empty): Use it.
	(send_release): New function.
	(Problem reported by allan-europa@mct.co.uk (Allan Clearwaters)).

	* Time.m (CLK_TCK): Use _CS_CLK_TCK instead of 3.

Tue Apr  4 18:48:59 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* NSObject.m (+retain, +retainCount, +release, +autorelease): New
        methods.

	* checks/Makefile.in (SRCS): Added nsarray.m.

	* foundation/NSArray.h: Inherit from NSObject, not Array.

	* NSConcreteArray.m, foundation/NSConcreteArray.h,
	foundation/NSUtilities.h, objects/NSArray.h:  New files. 
	* Makefile.in (GNUSTEP_MFILES): Added NSConcreteArray.m.
	(GNUSTEP_HEADERS): Added foundation/NSConcreteArray.h,
	foundation/NSUtilities.h.
	(GNU_HEADERS): Added objects/NSArray.h.

	* objects/behavior.h: Added warning in comments.
	(CALL_METHOD_IN_CLASS): New macro.

	* objects/String.h: Add <IndexedCollecting> Protocol to String
        Protocol.

Tue Apr  4 10:56:02 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* NSDictionary.m: Fix indentation.
	* NSCoder.m: Likewise.

	* NSArray.m: Fixed indentation.
	(arrayWithObject, arrayWithObjects, initWithArray, initWithObjects,
	initWithObjects:count:, indexOfObjectIdenticalTo:,
	firstObjectCommonWithArray, isEqualToArray,
	sortedArrayUsingFunction, sortedArrayUsingSelector): Implemented.

	* Time.m (#ifndef CLK_TCK): Define it using sysconf() if not
	already defined.  (CLK_TCK wasn't defined on Solbourne S4000
	running OS/MP 4.1B. Reported by Pekka Yrjola <py@fipnet.fi>.)

Mon Apr  3 19:02:37 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* NSString.m (initialize): No need to add IndexedCollection
	behavior to NSString, we already added String, and String inherits
	from IndexedCollection.

	* Makefile.in (dynamic-load.h): New target, replacing the
	"one-step" target, which got invoked too often.

	* Makefile.in (GNUSTEP_HEADERS): Add foundation/NSArray.h,
	foundation/NSCoder.h, foundation/NSDictionary.h.

Mon Apr  3 16:36:36 1995  Adam Fedor  (fedor@boulder.colorado.edu)

	Placeholder non-implementations from Fedor until McCallum does
	real implementations (that will be aided by and coexist with GNU
	versions).

	* NSArray.m, NSCoder.m, NSDictionary.m, foundation/NSArray.h,
	foundation/NSCoder.h, foundation/NSDictionary.h: new files.

Mon Apr  3 15:58:35 1995  Adam Fedor  (fedor@boulder.colorado.edu)

	* configure.in: check for dynamic linking libraries to figure out
	which *-load.h file to include in objc-load.c.

	* Makefile.in (one-time): new target.

Mon Apr  3 14:55:47 1995  Adam Fedor  (fedor@boulder.colorado.edu)

	* Makefile.in (GNUSTEP_MFILES, GNUSTEP_CFILES, GNUSTEP_HEADERS):
	Added files from corresponding FEDOR_ lists, removed FEDOR_ lists.
	(DIST_FILES): added gcc-dynamic.patch, NSBundle.README and
	GNUSTEP_OTHER_SRCFILES. (NSVALUE_OFILES, NSNUMBER_OFILES): removed
	multiple target declarations.

	* NSBundle.m (_bundle_load_callback): Changed Class* to Class.

	* find_exec.c: new file.

	* checks/Makefile (LIBS): added math library. (SRCS): Added values.m.

Mon Apr  3 11:17:18 1995  Adam Fedor  (fedor@boulder.colorado.edu)

	* Makefile.in: New class cluster targets NSVALUE_OFILES and 
	NSNUMBER_OFILES.

	* NSBundle.README, NCSTemplateValue.m,
	NSConcreteNumber.m, NSConcreteValue.m: new files.

	* NSBundle.m: Use @"" constructs, change Class to a pointer.

	* NSException.m (encodeWithCoder:, initWithCoder:): take out calls
	to super until NSCoder gets implemented.

	* NSGeometry.m: Change includes to look in foundation subdir.

	* NSNumber.m, NSValue.m: Rewrote as class cluster.

	* NSRange.m (NSUnionRange): fixed typo -  point should be range.
	(NSMaxRange, NSLocationInRange): Moved to header file.
	(NSStringFromRange): use @"" construct.

	* String.m (contentType) : new method.

	* checks/values.m: new file.

	* dld-load.h, null-load.h, simple-load.h, hpux-load.h: new files.
	* foundation/NSArray.h, foundation/NSConcreteNumber.h,
	foundation/NSConcreteValue.h, foundation/objc-load.h: new files.
	* gcc-dynamic.patch: likewise.

	* foundation/NSValue.h: Added methods valueClassWithObjCType: and
	initValue:withObjCType: for class clusters.
	
	* objc-load.c: new file.

Mon Apr  3 10:43:11 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

        * String.m (initWithType:): Fix previous attempt at avoiding
        infinite loop.  (Reported by Jeremy Bettis <jbettis@cse.unl.edu>)

Sun Apr  2 20:05:04 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.7.

	* checks/string.m: Test mutable strings and "strings as
        collections of char's".

	* Connection.m, MutableString.m, NSString.m, Port.m, SocketPort.m,
	String.m, objects/Connection.h, objects/Invocation.h,
	objects/Port.h, objects/SocketPort.h, objects/ValueHolding.h,
	objects/stdobjects.h: Use (id <String>) instead of (String*).

	* objects/String.h: Use (id <String>) instead of (String*) Have
	String protocol include NSString protcol.

	* foundation/NSString.h: Define NSString and NSMutableString as
	protocols.  Make the classes conform to them.

	* NSCString.m: Have increment and decrement functions take int
	arguments instead of unsigned because I was getting (0 >= -234) == 1.

	* NSString.m: Added implementations.

	* foundation/NSString.h: Uncomment method declarations.  Now
	subclass of NSObject, not String.
	(stringWithFormat:arguments:):  Added method.
	(NSMutableString): Added declaration for class.
	(NXConstantString): Moved declaration for class to here from
	objects/String.h.  Now subclass of NSCString, not ConstantString.

	* NSObject.m (perform:with:with:): New method added to (NEXTSTEP)
        category.

	* NSException.m: Fix #include's.  Fix @"" strings.

	* ConstantString.m: #if'ed out NXConstantString implementation.
        Moved to NSString.m
	* objects/String.h (NXConstantString): Declaration #if'ed out.
	Moved to foundation/NSString.h.

	* MallocAddress.m, objects/MallocAddress.h, NSCString.m,
	foundation/NSCString.m:  New files.

	* Makefile.in (GNU_MFILES): Added MallocAddress.m.
	(GNU_HEADERS): Added objects/MallocAddress.h, objects/NSString.h.
	(GNUSTEP_MFILES): Added NSCString.m.
	(GNUSTEP_HEADERS): Added foundation/NSCString.h.
	(objects/stdobjects.h): Fixed typo.

Sat Apr  1 16:09:04 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* String.m (initWithType:): Avoid infinite loop by calling
	designated initializer instead of init.  (Reported by
	Jeremy Bettis <jbettis@cse.unl.edu>)

Sat Apr  1 12:19:13 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (OBJECTS_SUBMINOR_VERSION): Version 0.1.6.

	* NSObject.m (+superclass): New method.

	* behavior.c (behavior_debug): Fix typo in variable name use.

	* NSObject.m (+conformsToProtocol:): For now, send conformsTo: to
        Protocol object.

	* objects/stdobjects.h (OBJECTS_MAJOR_VERSION,
	OBJECTS_MINOR_VERSION, OBJECTS_SUBMINOR_VERSION): New #define's.
	* Makefile.in (OBJECTS_MAJOR_VERSION,
	OBJECTS_MINOR_VERSION, OBJECTS_SUBMINOR_VERSION): New variables.
	(OBJECTS_VERSION): define in terms of above.
	(objects/stdobjects): Set values for OBJECTS_MAJOR_VERSION,
	OBJECTS_MINOR_VERSION, OBJECTS_SUBMINOR_VERSION.

Fri Mar 31 09:10:50 1995  Adam Fedor  <fedor@boulder.colorado.edu>

        * NXStringTable.m (readFromFile:): Return the return value from
        readFromSteam so that errors get passed along.

        * NXStringTable_scan.l (main): Restart the parser for each new
        file. This fix works correctly with flex, but is a bad hack and
        still doesn't work right with lex.

Fri Mar 31 10:28:52 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* configure.in: Added check for times().
	* Time.m (HAVE_TIMES): Use this instead of test for solaris and
        hpux.

	* configure.in: Added check for valloc().
	* objc-malloc.c (HAVE_VALLOC): if not defined, #define valloc
        malloc.  (Reported by Mike Perik <mikep@crt.com> for HPUX).

Tue Mar 28 12:37:22 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* gcc-string.patch: New version from Pieter Schoenmakers
	<tiggr@es.ele.tue.nl> that should fix patching problems.  From 
	ftp://ftp.es.ele.tue.nl/pub/tiggr/gcc-2.6.3-statics.patch.

Mon Mar 27 09:35:30 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* NSObject.m (+conformsToProtocol:): Renamed from
        -conformsToProtocol.
	(-conformsToProtocol:): New method.
	(-conformsTo:): New method.

	* Time.m (__hpux): Add this to #if for using times().  (Reported
	by Jan Springer <springer@nessi.informatik.hab-weimar.de>.)

Fri Mar 24 12:33:27 1995  Mark Lakata  (lakata@nsdssp.lbl.gov)

	* NSZone.c : added #define WORDSIZE sizeof(double)
	(NSZoneMalloc): returns machine word aligned pointers.  Actually,
	the word size is assumed to be equal to or smaller than
	sizeof(double). 

Fri Mar 24 10:04:54 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* Makefile.in (GNU_HEADERS): Added new file behavior.h.
	(GNU_CFILES): Added new file behavior.c.
	* behavior.c, objects/behavior.h: New files.

	* NSObject.m (retain): Call NSIncrementExtraRefCount(), not
	NSShouldRetainWithZone(). (Of course!)  (Reported by Adam Fedor
	<fedor@mode.Colorado.EDU>)

	* Invocation.m (invoke): Fix typo.  (Reported by hjl@nynexst.com
	(H.J. Lu).)

Wed Mar 22 16:37:06 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Makefile.in (OBJECTS_VERSION): Version 0.1.5.
	(OBJECTS_FTP_DIRECTORY): Fixed for alpha.gnu.
	Added many GNUSTEP files.

	* checks/test06.m: Inherit from NSObject, not Object.
	* checks/test13.m: Likewise.
	* checks/server.h: Likewise.
	* checks/server.m: Likewise.
	* examples/first-server.h: Likewise.
	* foundation/NSInvocation.h: Likewise.
	* examples/second-server.h: Likewise.

	* checks/client.m: Inherit from NSObject, not Object.  Don't free
	connection object, release it.

	* IndexedCollection.m: Cast aCollectionClass to (id) so we can
	send NSObject protocol messages that aren't in Collecting.

	* Stack.m (initialize): Return void.

	* examples/port-client.m: Use @"" constant strings.
	* examples/second-server.m: Likewise.
	* examples/first-client.m: Likewise.
	* examples/first-server.m: Likewise.
	* examples/second-client.m: Likewise.

	* checks/test03.m (main): Added some #if 0'ed out new tests.

	* objects/CollectionPrivate.h (DeallocationHelpers): New category
	containing _empty and _collectionDeallocate.

	* BinaryCoder.m (encodeValueOfSimpleType:at:withName:): Use
	#ifndef __CHAR_UNSIGNED__ to prevent compiler warning.

	* Magnitude.m (compare:): Implemented.

	* foundation/NSAutoreleasePool.h: Comment fixes.
	* foundation/NSBundle.h: Likewise.
	* foundation/NSException.h: Likewise.
	* foundation/NSGeometry.h: Likewise.
	* foundation/NSRange.h: Likewise.
	* foundation/NSValue.h: Likewise.
	* NSZone.c: Include objects/objc-malloc.  Likewise.
	* objects/String.h: Additional comments.
	* Invocation.m: Add header comment.

	* foundation/NSArray.h (arrayWithObjects): Add missing s.

	* NSBundle.m: Don't include NSObjectPrivate.h.

	* SocketPort.m: Include objects/String.h.

	* foundation/NSMethodSignature.h (argumentInfoAtIndex:): Comment
        out for now.

	* Set.m (_collectionDealloc): Fix super call.
	* Dictionary.m (_collectionDealloc): Likewise.
	* Array.m (_collectionDealloc): Likewise.

	* RetainingNotifier.m (autorelease): Implemented.

	* Collection.m (shallowCopyAs:, emptyCopyAs:, copyAs:): Change arg
        type to (Class).
	(dealloc, empty): Don't use safe version of makeObjectsPerform:.
	(_empty, _collectionDealloc): Move to a category.

	* objects/Collecting.h (shallowCopyAs:, emptyCopyAs:, copyAs:):
        Change arg type to (Class).
	* KeyedCollection.m: Likewise.

	* foundation/NSObject.h (compare:, autoreleaseClass,
	setAutoreleaseClass, read:, write:): Declare new category methods.

	* NSObject.m (class): Fix return value.
	(encodeWithCoder:) #ifdef out for now, until we fix compatibility with
	GNU Coder.
	(perform:with:): New method in NEXTSTEP category.

	* objects/Coder.h (isProxy): Method removed from
        NSObject(CoderAdditions).

	* Proxy.m (zone): New method.
	(isProxy): Remove method from NSObject category.
	Don't include objects/AutoreleasePool.h.

	* Coder.m (encodeSelector:withName:): Use sel_get_any_uid() to get
	sel type if we can't get it the normal way.
	(newWithCoder:):  Use NSAllocateObject.
	(isProxy): Removed from NSObject category.

	* objects/Collecting.h (releaseObjects, release): Methods removed.

Sat Mar 18 10:38:06 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* NSObject.m (zone):  Implemented.

	* Makefile.in (GNUSTEP_MFILES): New files NSAllocateObject.m,
	NSBundle.m, NSCopyObject.m, NSDeallocateObject.m, NSException.m,
	NSGeometry.m, NSNumber.m.
	(GNUSTEP_HEADERS): New files foundation/NSBundle.h,
	foundation/NSException.h, foundation/NSGeometry.h,
	foundation/NSNumber.h.

	* NSZone.c: Base on objc_malloc and friends, not malloc.  Reformat
	header comment.

	* NSAllocateObject.m, NSDeallocateObject.m, NSCopyObject.m: New
	files. 
	* NSObject.m (NSAllocateObject, NSDeallocateObject, NSCopyObject):
	These functions moved to separate files.

	* objc-malloc.c (objc_valloc): New function pointer.
	(__objc_valloc): New function.
	* objects/objc-malloc.h (objc_valloc): New function declared.
	(OBJC_VALLOC): New macro.

	* Proxy.m (dealloc): Call NSDeallocateObject().

	* KeyedCollection.m (dealloc): Deleted.

	* Dictionary.m (_collectionDealloc): Renamed from dealloc.
	* Set.m (_collectionDealloc): Likewise.
	* Array.m (_collectionDealloc): Likewise.

	* Connection.m: Removed Object(Retaining) category.

	* Set.m (_empty): Renamed from emtpy.
	* LinkedList.m (_empty): Likewise.
	* GapArray.m (_empty): Likewise.
	* EltNodeCollector.m (_empty): Likewise.
	* Dictionary.m (_empty): Likewise.
	* CircularArray.m (_empty): Likewise.
	* BinaryTree.m (_empty): Likewise.
	* Bag.m (_empty): Likewise.
	* Array.m (_empty): Likewise.

Fri Mar 17 11:09:29 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Coder.m (dealloc): Remove unneccesary releaseObjects.
	* EltNodeCollector.m (dealloc): Likewise.

	* Collection.m: Rename method "empty" to "_empty".  Rename
        "releaseObjects" to "empty".

	* Set.m: Do retain/release/autorelease of contents as appropriate.
	* BinaryTree.m: Likewise.
	* CircularArray.m: Likewise.
	* SplayTree.m: Likewise.
	* RBTree.m: Likewise.
	* LinkedList.m: Likewise.
	* Heap.m: Likewise.
	* GapArray.m: Likewise.
	* Dictionary.m: Likewise.

	* Proxy.m (autorelease): Ask NSObject for autoreleaseClass.

Wed Mar 15 17:56:57 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* Array.m: Do retain/release/autorelease of contents as appropriate.
	* Bag.m: Likewise.

	* Makefile.in (DIST_FILES): Added gcc-class.patch and
        gcc-string.patch.
	(OBJECTS_GCC_VERSION): Changed from version 2.6.1 to 2.6.3.

Tue Mar 14 11:50:23 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* objects/CollectionPrivate.h (RETAIN_ELT, RELEASE_ELT,
        AUTORELEASE_ELT): New macros.

Sun Mar 12 11:37:10 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>

	* objects/stdobjects.h: Declare @class String;

	* objects/Collecting.h (alloc, respondsToSelector:,
        conformsToProtocol:) removed.

	* objects/Connection.h: Use String* instead of char*.
	* objects/SocketPort.h: Likewise.
	* objects/Port.h: Likewise.
	* Connection.m: Likewise.
	* SocketPort.m: Likewise.
	* Port.m: Likewise.
	* checks/client.m, checks/server.m: Likewise.

	* objects/IndexedCollecting.h (IndexRange): changed to
        location/length from start/end.
	* IndexedCollection.m: Use location/length instead of start/end.

	* *.[hm]: Use `release' and `dealloc' instead of `free'.
	* *.[hm] (initialize): return void.

	* objects/Collecting.h: Use `release' and `dealloc' instead of `free'.
	(write:, read:): Removed.
	(respondsToSelector:, conformsToProtocol:) Renamed from old Object
	method names to NSObject method names.

	* NSZone.c: New file, renamed from zone.c.  Include
	foundation/NSZone, not foundation/zone.h. 

	* Makefile.in (GNU_MFILES): Remove AutoreleasePool.m,
	AutoreleaseStack.m, ObjectRetaining.m.
	(GNU_HEADERS): Remove AutoreleasePool.h, AutoreleaseStack.h,
	ObjectRetaining.h

	* checks/Makefile.in (string): New test program.

	* objects/Coder.h: Changed superclass from Object to NSObject.
	* objects/Collection.h: Likewise.
	* objects/Stream.h: Likewise.
	* objects/RNGAdditiveCongruential.h:
	* objects/RNGBerkeley.h: Likewise
	* objects/Random.h: Likewise.
	* objects/Magnitude.h: Likewise.
	* objects/RetainingNotifier.h: Likewise.
	* objects/BinaryTreeNode.h: Likewise.
	* objects/LinkedListNode.h: Likewise.
	* objects/Lock.h: Likewise.

	* objects/stdobjects.h: Include foundation/NSObject.h instead of
        objc/Object.h.

Sat Mar 11 16:39:18 1995  Andrew McCallum  <mccallum@tbird.cs.rochester.edu>

	* Makefile.in (NEXTSTEP_MFILES): Renamed from NeXT_MFILES.
	(NEXTSTEP_CFILES): Renamed from NeXT_CFILES.
	(NEXTSTEP_OTHER_SRCFILES): Renamed from NeXT_OTHER_SRCFILES.
	(GNUSTEP_MFILES, GNUSTEP_CFILES, GNUSTEP_HEADERS, GNUSTEP_OBJS): New
	variables.
	(GNU_MFILES): Added CString.m, ConstantString.m, MutableCString.m,
	MutableString.m, String.m.
	(GNU_HEADERS): Added String.h.
	(GNUSTEP_HEADERS): Added NSAutoreleasePool.h, NSObjCRuntime.h,
	NSString.h.
	(DIST_FILES):  Added GNUSTEP files.
	* configure.in: Renamed variables from NeXT... to NEXTSTEP.  Added
	GNUSTEP variables.

	* objects/ValueHolding.h (ValueSetting): Methods now return `void'
        instead of `self'.

	* foundation/NSZone.h: Renamed from foundation/zone.h.

Thu Mar  9 15:05:45 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* zone.c, foundation/zone.h:  New files from Mark Lakata.
	* Makefile.in (GNUSTEP_HEADERS): Added foundation/NSZone.h.

Wed Mar  8 17:35:01 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* Coder.m: `CLASS' #define no longer necessary, using `Class'.
	* Proxy.m: Likewise.
	* Connection.m: Likewise.

	* objects/stdobjects.h (CLASS): #define removed.

	* objects/Proxy.h (class): use "Class" instead of "Class*" to
        match new runtime.

	* Makefile.in (GNUSTEP_HEADERS): New variable.
	(DIST_FILES): Added GNUSTEP_HEADERS.
	* configure.in: Likewise.

	* configure.in: Renamed NeXT_HEADERS to NEXTSTEP_HEADERS.
	* Makefile.in: Likewise.

	* Makefile.in (NeXT_HEADERS): Move from objects/next-includes up
        to top.
	(OBJECTS_NEXT_INCLUDES): Look directly in top level directory.
	(dist, mostlyclean, installdirs): Likewise.

Sat Feb 11 16:20:49 1995  Andrew McCallum  <mccallum@mustang.cs.rochester.edu>

	* Makefile.in (OBJECTS_VERSION): Version 0.1.4.

Wed Feb  1 15:26:11 1995  Andrew McCallum  <mccallum@leopard.cs.rochester.edu>

	* checks/test01.m: Use lrand48() instead of random() if
        defined(__hpux).
	* checks/test09.m: Likewise.
	* checks/test04.m: Likewise.
	(Patch from Timothy Mooney <mooney@golem.phys.ndsu.NoDak.edu>)

Thu Jan 26 12:52:33 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* objc-gnu2next.m: Convert Class* to Class.
	* Proxy.m: Likewise.
	* Coder.m: Likewise.

Fri Jan 13 12:57:50 1995  Andrew McCallum  <mccallum@moose.cs.rochester.edu>

	* Makefile.in (OBJECTS_VERSION): Version 0.1.3.

	* ConnectedCoder.m (newDecodingWithConnection:timeout:): On
	timeout use objc_free to free the buffer.

	* checks/client.m (main): Only release remote_peer_obj if it
	really is a remote object.

	* examples/second-client.m (main): Only free appellation string if
        it's from a remote object.

Mon Jan  9 12:14:03 1995  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* RetainingNotifier.m (autorelease): New (unimplemented) method.
	(Reported by Peter Kristensen <pkr@kom.auc.dk>).

Fri Jan  6 17:57:08 1995  Andrew McCallum  <mccallum@leopard.cs.rochester.edu>

	* Makefile.in (DIST_FILES): Added file MACHINES.

Tue Dec 13 11:53:54 1994  Andrew McCallum  <mccallum@mustang.cs.rochester.edu>

	* Makefile.in (OBJECTS_VERSION): Version 0.1.2.

	* Coder.m (Object (CoderAdditions)): Removed methods retainCount,
	dealloc, release, retain.
	* objects/Coder.h (Object (CoderAdditions)): Likewise.

Mon Dec 12 14:13:58 1994  Andrew McCallum  <mccallum@leopard.cs.rochester.edu>

	* Makefile.in (dvi): Now points at libobjects.dvi.
	(libobjects.dvi): New target, disabled until texinfo.tex is fixed.

Fri Dec  9 20:00:56 1994  Andrew McCallum  <mccallum@edsel.cs.rochester.edu>

	* Makefile.in (ANNOUNCE): depends on news.texi.

	* Makefile.in (version.texi): Output FTP vars only if non-empty.

	* Makefile.in (OBJECTS_FTP_MACHINE,OBJECTS_FTP_DIRECTORY): New vars.
	(version.texi): set OBJECTS_FTP_MACHINE and OBJECTS_FTP_DIRECTORY.

	* Makefile.in (OBJECTS_VERSION): Bumped to 0.1.1.

Wed Dec  7 12:59:32 1994  Andrew McCallum  <mccallum@vein.cs.rochester.edu>

	* SocketPort.m: Include <sys/select.h> #if _AIX.  (Reported by
	Todd B. Templeton <toddt@phelpsd.com>.)

Sun Nov 20 19:19:13 1994  Andrew McCallum  (mccallum@mustang.cs.rochester.edu)

	* Connection.m (connectionForward,connectionPerformAndDismissCoder): 
	Removed old #if'ed-out versions.

Mon Nov 14 10:58:46 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* objects/objc-gnu2next.h: (sel_get_uid): Fix typo.
	(class_is_class, class_is_meta_class, object_is_class,
	object_is_instance, object_is_meta_class): New functions.
	The above from a patch by Matthias Klose <doko@cs.tu-berlin.de>

Sun Nov 13 14:29:37 1994  Andrew McCallum  (mccallum@moose.cs.rochester.edu)

	* Makefile.in (diff): Fix tar call.  Add proper arguments to diff.

Thu Nov 10 16:51:48 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* news.texi (Noteworthy changes since version @samp{0.1.0}): New
        section.

	* Makefile.in (TAGS): Use DIST_FILES, not non-existant SRCS.

Wed Nov  9 18:34:53 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* configure.in: Remove duplicate NeXT_runtime=0.

Tue Nov  8 10:44:30 1994  Andrew McCallum  (mccallum@moose.cs.rochester.edu)

	* libobjects.texi (Organization): Updated inheritance tree.
	* checks/test12.m (main): Free "rng", not "r" twice.
	* TextCoder.m (encodeName): Do right thing for NULL name.
	(Above three reported by Stephen Peters <SPETERS@us.oracle.com>)

	* Proxy.m (autorelease): New method.

	* Time.m: Patch for Solaris 2.4.  Use times() instead of
	getrusage().  (Patch from Stephen Peters <speters@us.oracle.com>)

	* Makefile.in (GNU_MFILES,GNU_HEADERS): Added AutoreleasePool,
	AutoreleaseStack and ObjectRetaining.

	* AutoreleasePool.m: Removed retain_count stuff.  Now setting
	autorelease_class.

	* ObjectRetaining.m: Removed stack release code.
	(autorelease_class): New variable.

	* objects/Retaining.h (autorelease): New method.
	Added comments.

	* objects/objc-gnu2next.h: Moved Object(GNUExtentions) category
        from stdobject.h to here.

	* Makefile.in (DIST_FILES): Added README.ULTRIX.

	* Makefile.in (install,installdirs,includedir): Make NEXT_HEADERS
	install to proper place: objects/next-include/.

Fri Nov  4 01:32:27 1994  Andrew McCallum  (mccallum@moose.cs.rochester.edu)

	* Makefile.in (diff): New target.

	* Makefile.in (ADVERTISEMENT): New target.

	* Version 0.1.0 released.

Thu Nov  3 19:20:28 1994  Andrew McCallum  (mccallum@mustang.cs.rochester.edu)

	* Connection.[hm] (connectionForward:::): Added object argument.
	Use selectorTypeForProxy: if defined (NeXT_runtime).
	* Proxy.m (forward::): Added object argument to connectionForward.
	(selectorTypeForProxy:):  Add an Object Category with this method.

	* Coder.m (decodeName:): Terminate char* with 0.

	* collhash.c:  Use objc_malloc and friends instead of
	__objc_xmalloc and friends.

	* StdioStream.m (writeBytes:length:): Use fwrite, not write.
	(readBytes:length:):  Use fread, not read.

Wed Nov  2 20:59:36 1994  Andrew McCallum  (mccallum@leopard.cs.rochester.edu)

	* configure.in:  Updated for Autoconf 2.0
	* Makefile.in (DIST_FILES): Changed install.sh to install-sh.
	(distclean): Added config.log, config.cache.
	(prefix, exec_prefix):  Updated for Autoconf 2.0

Fri Oct 28 18:20:28 1994  Andrew McCallum  (mccallum@mustang.cs.rochester.edu)

	* *.[hm]:  Change many "NeXT_cc" to "NeXT_runtime"
	* Proxy.[hm]:  Add and use _method_types ivar if NeXT_runtime.
	* objects/objc-gnu2next.h:  Many addtional functions #define'd.
	* objc-gnu2next.m:  New file.
	* Makefile.in (GNU_MFILES):  Added objc-gnu2next.m.

	* BinaryCoder.m (encode,decodeValueOfSimpleType:...): Added code
	to write to stream directly (i.e. it does its own architecture
	independent coding).  This replaces previous messy code that
	interfaced with the internals of GNU TypedStream's.
	* Makefile.in (GNU_MFILES,GNU_HFILES): Removed bcoder-stream.[hm].

Thu Oct 27 17:39:49 1994  Andrew McCallum  (mccallum@mustang.cs.rochester.edu)

	* SocketPort.m (sendPacket:toPort:timeout:,
	newRemoteWithNumber:onHost:): Added casts to (char*) to prevent
	warnings on systems that don't have "const" on args to
	gethostbyname() and sendto().

	* ConnectedCoder.h:  New #define's METHODTYPE_REQUEST,
	METHODTYPE_REPLY. 
	* Connection.m (_typeForSelector:remoteTarget:): New method.
	(_handleMethodTypeRequest:): New method.
	(doReceivedRequestsWithTimeout:): Watch for METHODTYPE_* msgs.
	(newReceivedReplyRmcWithSequenceNumber:): Likewise.
	* Proxy.m (selectorTypeForProxy:):  New method.
	* Proxy.h (_method_types):  New instance variable.

	* mframe.[hm], mtypes.[hm]: New files.
	* Makefile.in (GNU_MFILES):  Added mframe.m
	(GNU_HFILES): Added mframe.h.
	(GNU_CFILES): mtypes.c.
	(GNU_OTHER_SRCFILES): Added mtypes.h.
	* Connection.m (connectionForward,connectionPerformAndDismissCoder):
	Use functions in mframe.m instead of previous DO-specific method
	frame code.

Mon Oct 24 18:41:35 1994  Andrew McCallum  (mccallum@leopard.cs.rochester.edu)

	* configure.in: Added AC_HEADER_CHECK for sys/rusage.h and
	ucbinclude/sys/resource.h needed in Time.m on various SYSV
	systems. 

	* *.[hm]: Changed method name encodeType: to encodeValueOfType:.
	Likewise for decodeType and SimpleType method names.

	Makefile.in (GNU_OTHER_SRCFILES):  Removed bzero.c.
	(DIST_FILES):  Added README.BZERO.
	configure.in:  Removed bzero stuff.

Thu Oct 20 13:10:50 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* IndexedCollection.m (putElement:atKey:): New method, needed for
	KeyedCollecting protocol.  (reported by Niels Mvller
	<nisse@lysator.liu.se>) 

Wed Oct 19 19:35:32 1994  Andrew McCallum  (mccallum@zebra.cs.rochester.edu)

	* configure.in: Look for libraries "socket" and "nsl", needed for
	the distributed objects check/example programs on Solaris machine.

	* checks/test01.m,test04.m,test09.m: Use lrand48 instead of random
	if on Solaris machine.

Tue Oct 18 10:27:29 1994  Andrew McCallum  (mccallum@graphite.cs.rochester.edu)

	* Set.[hm] (*WithCollection:): Renamed from *With:.

	* *.[hm]: Changed method name "initCapacity" to
	"initWithCapacity".  Changed method names "...Encoding:" to
	"...(With)Type:" to match Coder method names.

Fri Oct  7 17:08:57 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* DelegatePool.[hm], Makefile.in:  Renamed "DelegateList" to
	"DelegatePool" to avoid false association with List object.

Thu Sep 22 10:06:19 1994  Andrew McCallum  (mccallum@llama.cs.rochester.edu)

	* configure.in: Check for bzero, and include bzero.o in the
	library if not.  (This works around a bug in libobjc.)
	* Makefile.in (GNU_OBJS): Added @BZERO@.
	(GNU_OTHER_SRCFILES): Added bzero.c.

	* *.m: Added methods for Coding where necessary; a few just send
	-notImplemented: for now.

Tue Sep 20 20:11:57 1994  Andrew McCallum  (mccallum@llama.cs.rochester.edu)

	* objects/ValueHolding.h: Divided ValueHolding protocol into
	ValueGetting and ValueSetting.

	* GCC-BUGS, CREDITS: new files.
	* Makefile.in (DIST_FILES): Added GCC-BUGS, CREDITS.

Mon Sep 19 14:42:26 1994  Andrew McCallum  (mccallum@llama.cs.rochester.edu)

	* LinkedList.m (successorOfElement,predecessorOfElement): return
	nil when there is no such element because arg was first or last in
	list; previously it raised an error.

Mon Sep 12 18:54:47 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* HashTable.[hm]: Changed GNUHashState to NXHashState.

Tue Sep  6 21:11:38 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* LinkedList.m, LinkedListNode.m EltNode-m: Added methods for
	Coding.

Sat Aug 20 18:34:38 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* examples/*: Added example files: Makefile.in, dictionary.m,
	port-server.m, port-client.m, first-server.[hm], first-client.m,
	second-server.[hm], second-client.[hm], textcoding.m

Fri Aug 19 18:39:06 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Collection.m, Set.m: Added new methods for Coding.

	* Makefile.in: Include new files in the distribution.  Add new
	classes: Stream, StdioStream, MemoryStream, Coder, TextCoder,
	BinaryCoder, Port, SocketPort, Connection, Proxy, ConnectedCoder,
	Lock, RetainingNotifier.  New protocols: Coding, Retaining,
	Locking.  New text files: announce.texi, ANNOUNCE, readme.texi,
	README.

Thu Aug 11 12:30:20 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* checks/Makefile.in (CC): Changed from gcc to @CC@.

	* CircularArray.m (insertElement:atIndex:): Swapped order of
	incrementCount and CIRCULAR_TO_BASIC.  (Test case crash reported
	by Matthias Klose <doko@cs.tu-berlin.de>.)

Wed Aug 10 12:30:45 1994  Andrew McCallum  (mccallum@raccoon.cs.rochester.edu)

	* Makefile.in: Defined GNU_MFILES, NeXT_MFILES, GNU_CFILES,
	NeXT_CFILES, GNU_HEADERS, NeXT_HEADERS, GNU_OTHER_SRCFILES,
	NeXT_OTHER_SRCFILES. Removed *OFILES.  Renamed DISTFILES to
	DIST_FILES.

Tue Aug  9 15:21:43 1994  Andrew McCallum  (mccallum@mink.cs.rochester.edu)

	* Changed name to libobjects.  All files changed accordingly.
	
	* Makefile.in (DISTFILES):  Added install.sh.

Mon Aug  8 13:15:46 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Makefile.in (GOBJC_HDRS): Removed gobjc/ReferenceCounting.h.
	Will be replaced by Retaining protocol.

Sun Aug  7 17:13:08 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* config.nextcc.h: Created.
	* configure.in: Update to use config.nextcc.h, define NeXT_cc
	instead of NXcc.
	Flipped the logic on NeXT32plus. (Reported by Matthias Klose
	<doko@cs.tu-berlin.de>)

	* Time.[hm]: Hack to make it work with Solaris rusage.

Fri Jul 22 11:41:32 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Makefile.in (dist): Makefile.depend and Makefile.local forced to
	be empty files by touch.

Sat Jul 16 13:18:10 1994  R. Andrew McCallum  (mccallum@ngoma)

	* configure.in: Define NXcc if using NeXT's cc.  Sources
	#ifdef'ing (NeXT) don't	distinguish between NeXT cc and gcc on a
	NeXT. 
	*.[hm]: Change #ifdef (NeXT) to #ifdef (NXcc)

	* Makefile.in:  include Makefile.local.
	* zone.c, gobjc/next-includes/zone.h: New files.

Wed Jul  6 16:23:16 1994  Andrew McCallum  (mccallum@swan.cs.rochester.edu)

	Changed name to from libcoll to libgobjc:
	* All files: Changed name to "GNU Objective-C Class Library" in all
	header comments.
	* gobjc: Renamed coll to gobjc.
	* gobjc/stdgobjc.h: Renamed from coll/collstd.h.  Removed some
	declarations that were already in gobjc/objc-malloc.h.
	* gobjc/next-includes/objc: Created
	* gobjc/next-includes/objc/
	{List.h,HashTable.h,Storage.h,NXStringTable.h}: Moved from gobjc.
	* Makefile.in: Names changed from libcoll to libgobjc.
	* gobjc/next-include/objc/*.h: Look in objc instead of coll.

	* gobjc/next-include/objc/List.h:  Changed GNU_ to NX_.

Tue Jul  5 15:51:58 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Storage.m (_makeRoomForAnotherIfNecessary): Added self-> to find
	ivar in assert() call.  Reported by ratlifc@ctron.com (Christian
	A. Ratliff).

Tue Jun  7 16:21:57 1994  Andrew McCallum  (mccallum@raccoon.cs.rochester.edu)

	* List.m (incrementCount): Compare numElements and maxElements by
	>= instead of ==.  (Reported by Paul Kunz.)

Fri Jun  3 13:26:42 1994  Andrew McCallum  (mccallum@zebra.cs.rochester.edu)

	* LinkedList.m (successorOfElement:,predecessorOfElement:): Added. 
	* (removeElementAtIndex:): Return old element.
	(Both reported by nisse@lysator.liu.se)

Tue May 24 10:13:38 1994  Andrew McCallum  (mccallum@brain.cs.rochester.edu)

	* coll/objc-gnu2next.h (objc_read_types): Removed ## from
	NXWriteTypes() and NXReadTypes().  -cpp-traditional doesn't like
	it, and 'args' should never be emtpy anyway.  (Reported by Stefan
	Reich <reich@wmax60.mathematik.uni-wuerzburg.de>)

	* checks/Makefile.in (LIBS): Removed -lobjc, added LIBOBJC, made
	it conditional on NeXT cc test from configure.in.  

	* configure.in:	Added LIBOBJC substitution.

	* collstd.m: Added missing semicolon to coll_NeXT_cc_version line.

	* Storage.m (_makeRoomForAnotherIfNecessary): Added assert()
	checking for non-zero maxElements.

	* Makefile.in (install): Changed HDRS to INSTALLHDRS.  (Reported
	by Matthias Klose <doko@cs.tu-berlin.de>)

Mon May  9 18:30:05 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Storage.m (initCount:elementSize:description):  Make sure
	maxElements >= 1.  (Reported by Paul Kunz.)

	These from Kresten Thorup:
	* collstd.[hm] (#if NeXT): Added @interface/@end.  Added
	-shouldNotImplement:.
	* configure.in, collstd.m:  Changed NX_COMPILER_RELEASE to
	NX_CURRENT_COMPILER_RELEASE.

Sun May  8 19:40:40 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* configure.in: Added check for nested function support.
	* config.nested.c:  Created.

	* Makefile.in: Removed "-include Makefile.depend".  Removed
	"-include Makefile.local".

	* List.m (removeObjectAt:): Now returns old object.  (Reported by
	Paul Kunz.)

Fri May  6 11:11:17 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* collstd.[hm]: Defined coll_NeXT_cc_version.
	* checks/test11.m:  Modified from NXStringTable test code provided
	by <fedor@focus.Colorado.EDU>
	* checks/Makefile.in:  Added test11.m, NXStringTable.example.
	* Makefile.in:  Added support for NXStringTable_scan.lex
	* eltfuncs.m (elt_get_encoding):  Fixed bug by adding char_ptr_u.
	(__init_comp_func_hashtable():  Passing elt_{hash,compare}... to
	coll_hash_new.

Thu May  5 09:47:08 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Makefile.in, configure.in: Automatically check if using NeXT's
	compiler.  If so, add -cpp-traditional, don't compile or install
	NeXT compatibility classes.  If not, compile and install NeXT
	compatibility classes.  MAKEDEFINES now includes $(INCLUDEFLAGS).

	* StringTable*: Changed name to NXStringTable*.

	* collstd.[hm]:  #ifdef NeXT -compare:.  Added.

	* eltfuncs.m:  Changed to use coll/collhash.[hc] instead of
	objc/hash.[hc].  Added (void*) casts to __objcx[mc]alloc.

Tue May  3 14:09:03 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Makefile.in: Removed Makefile.depend target.

Tue Apr 19 17:55:45 1994  Andrew McCallum  (mccallum@zebra.cs.rochester.edu)

	* Storage.m (initCount:elementSize:description, setNumSlots):
	Clear the allocated memory.  Patch contributed by Adam Fedor
	<fedor@focus.Colorado.EDU>

	* List.m (addObject:): Now calls insertObject:at:, as does NeXT's.
	(removeLastObject):  Now calls removeObjectAt:, as does NeXT's.

	The following are minor changes to enable compilation with
	NeXTSTEP 3.3 cc.  Thanks to Kresten Krab Thorup.

	* Collection.m (allocCopy): #ifdef NeXT object_copy takes 2 args.
	* DelegateList.m (+initialize):  Added.
	* eltfuncs.m: Define _C_ATOM.  Fix hash function types.  #ifdef
	NeXT add definitions for assert, objc_fatal, __objc_xmalloc,
	__objc_xcalloc. 

Sat Feb 26 11:39:26 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* DelegateList.[hm] (delegateListCollection):  Changed name from
	delegateListList.  Changed because what's returned is not a List.
	(delegateListAddObjectIfAbsent:)  Created.

Fri Jan 21 13:29:48 1994  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Collection.m (safeWithElementsCall:,
	safeWithElementsCall:whileTrue:): Removed extra -addContentsOf:.
	(Reported by Allan Clearwaters <allan%mct.uucp@britain.eu.net>)

Fri Dec 17 14:45:30 1993  Andrew McCallum  (mccallum@raccoon.cs.rochester.edu)

	* List.m (insertObject:at:): Fixed bug that occured when trying to
	insert at index zero on an empty list.  (Reported by Paul Kunz)

Tue Nov 16 18:40:12 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Collecting.h, Collection.m, *.m: Renamed -includesSameContents:
	to -contentsEqual:.  "Equal" reminds the programmer that "isEqual"
	is called on content objects.  I think "Same" is used by Brad
	Cox's code to mean something different from "isEqual".  Later we
	could add "contentsSame:" if it proves useful.  Don't use
	"includes" because programmers might think that we are talking
	about a subset operation here---no this method tests for complete
	membership equality.
	IndexedCollecting.h, IndexedCollection.m:  Renamed
	-includesSameContentsInOrder: to -contentsEqualInOrder:.

	Collection.m (isEqual:): Removed.  Now we just let Object take
	care of equality testing.  If you want to test equality of
	contents, use -hasEqualContents:.

Thu Nov 11 17:01:37 1993  Andrew McCallum  (mccallum@llama.cs.rochester.edu)

	* coll/KeyedCollecting.h, KeyedCollection.m: Changed
	-insertObject:atKey: to putObject:atKey:.  In KeyedCollection
	"insert" doesn't really insert.  If there already an object at
	that key, it replaces.  But we can't use replace because there
	might not be an object at that key yet.  "Insert" was a bad name
	because the method replaces an element if there already is one at
	that key.  "Put" is different from "replace" because "put" can
	place elements at keys that don't already have elements associated
	with them.  This naming scheme also has the advantage that we can
	later use "insertObject:atKey: for a collection that allows
	multiple elements at a single key.

	* Makefile.in, coll/collstd.h, collstd.m:  Moved version
	information from version.c to collstd files.
	(version.c):  Removed.

	* Time.m:  (indexOf...Name, nameOf...Index):  Implemented.

Wed Nov 10 13:36:06 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Collection.m: (-includesSameContents:):  Added a check for same
	comparisonFunction.
	(-compare:):  Implemented.

	* IndexedCollection.m (-indexOfFirstIn:, -indexOfFirstNotIn:):
	Implemented. 

	* readme.texi, news.texi: Created.  Changed Makefile to	support
	these. 

	* checks, checks/Makefile.in: Renamed tests directory to checks.
	Created autoconf Makefile.in for checks directory.

Wed Nov  3 10:27:52 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* coll/Collecting.h: (newEnumState, freeEnumState:)  Added.  Now
	we can avoid memory leaks.  Later we can built an Iterator class
	on top of these methods if we like.
	*.m: Make use of new enum state methods.

	* IndexedCollection.m (indexOfFirstDifference:)  Implemented.

Tue Nov  2 13:40:34 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* RBTree.m (removeElement:,_RBTreeDeleteFixup): Added.  RBTree
	should now be operational.

	* BinaryTree.m, RBTree (nilNode): Added.  Now using this sentinal
	to make a few operations more efficient.

Mon Nov  1 15:07:48 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* *.m: Made sure all function pointers are dereferenced when
	called. 

	* SplayTree.m (-splayNode:, -sortAddElement:byCalling:,
	-insertElement:after:, -insertElement:before:,
	-insertElement:atIndex:, -removeElement:,
	-_doSplayOperationOnNode:): Added.  SplayTree should now be
	operational. 

	* eltfuncs.m (elt_fprintf_elt): Now passing "l" when fprintf'ing
	...  long elements.

	* coll/CollectionPrivate.h (RETURN_BY_CALLING_EXCEPTION_FUNCTION):
	No longer uses __builtin_apply and __builtin_return unnecessarily.

Sun Oct 31 12:34:55 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* BinaryTree.m (-leftRotateAroundNode:, -rightRotateAroundNode:):
	Fixed bug occurring when rotation child is nil.
	(rootNode): Added.

	* Collection.m, KeyedCollection.m, IndexedCollection.m
	(-...Object:...):  Added CHECK_CONTAINS_OBJECTS_ERROR;

Fri Oct 29 14:22:41 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* KeyedCollection.m, Collection.m: Removed use of LAMBDA().

Thu Oct 28 15:44:23 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* coll/Time.h:  Removed <Ordering> from @interface line.

Tue Oct 26 8:32:48 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Released version 931026.

Mon Oct 25 12:41:28 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* coll/*Collecting.h:  Removed shallowCopy... methods with weird
	options.  These can be done easily and more flexibly with
	enumerations. 

	* coll/*Collecting.h, *Colletion.m: Removed definition and use of
	COLL_NO_ELEMENT, COLL_NO_OBJECT, COLL_NO_KEY, COLL_NO_INDEX.
	Added ...ifAbsentCall: methods to replace this functionality.

	* coll/Collecting.h, Collection.m: ...AllOccurrences... methods
	now return self. 

Thu Oct 21 17:41:49 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* libcoll.texi: Created.

Tue Oct 19 10:25:34 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* coll/Collecting.h: Changed method name -freeContents to
	-freeObjects.  Both names are pretty clear, and the later has the
	advantage of compatibility with NeXT.  

	* coll/Collecting.h: Changed method name -containsObjects to
	-contentsAreObjects.  The previous name could be interpretted as
	testing whether or not the collection was empty; in fact this
	method just tests whether or not the collection was initialized to
	hold objects (i.e.  initEncoding:@encode(id)).

	* coll/collstd.h:  Added #define's for defining nested functions
	in the argument position:  LAMBDA, LAMBDA_VOID_PERFORM,
	LAMBDA_ID_PERFORM, LAMBDA_BOOL_PERFORM.

	* coll/Collecting.h, KeyedCollecting.h, IndexedCollecting.h:
	Removed many methods for various combinations of perform:,
	perform:with:, perform:in, perform:in:with:.  All these can now be
	replaced with ...ByCalling: methods now that we can easily define
	nested functions with the LAMBDA macro's.  These methods really
	ballooned the size of the protocols, and they still didn't provide
	all the potentially useful conbinations.  This new scheme is far
	more flexible.  I left the -makeObjectsPerform: and
	-makeObjectsPerform:with: for compatibility with NeXT.

Mon Oct 18 15:18:01 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* eltfuncs.m: Fixed overflow bug in compare functions.

Fri Oct  8 11:47:56 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* List.m (replaceObjectAt:): Now returns oldObject.
	(makeObjectsPerform:with:): Now uses perform:with:.
	Removed -sortUsingMethod:inObject:.

	* coll/SortedArray.h: removed.

Thu Sep 30 10:52:14 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* List.m (makeObjectsPerform:, makeObjectsPerform:with:):  Removed
	dependence on _makeObjects...:reverseOrder:.  Using #if instead.

	* Bag.m (removeElement:occurrences:):  Added.  Bag will now cause
	error if you try to remove an element that's not there, or not
	there enough times.

Tue Sep 28 11:49:42 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* List.m, Storage.m:  Now use objc_malloc/OBJC_MALLOC and friends
	instead of malloc and friends.

	* Makefile.in, configure.in:  Created.  Now libcoll works with
	autoconf.  Also made some changes to *.m to take advantage of
	autoconf.

	* collstd.m:  Changed definition of free().  (thanks to
	krab@iesd.auc.dk) 

Mon Sep 27 09:59:25 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Bag.m (-uniqueCount): Added.

	* HashTable.m (-initKeyDesc:valueDesc:capacity:)  Increased
	portability for {long, unsigned} ints.

	* IndexedCollecting.h, IndexedCollection.m:  Added
	-safe...InReverse methods. 

	* List.m (copy):  Added.  In order to force -shallowCopy for
	compatibility with NeXT.

	* collhash.[hc] (coll_hash_empty): Added.

	* Collecting.h, Collection.m:  (-safe...) Added these enumerators
	for doing enumerations while changing the contents of the
	collection.

	* Collecting.h, Collection.m:  (-initWithContentsOf:) Added.  This
	allows for certain efficiencies, like init'ing an Array with the
	needed capacity from the start.

Sat Sep 25 12:20:18 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Collection.m, KeyedCollection, IndexedCollection.m:  Extracted
	message -comparisonFunction from inside loops to improve
	efficiency. 

	* Collecting.h, Collection.m:  Removed the -shallowCopySelect...,
	etc methods and replaced them with -withElementsTrueBy..., etc
	methods.  These shallowCopy methods make lots of sense in
	SmallTalk where garbage collection makes enumeration on
	temporary collections useful for iteration, but in ObjC I think
	methods with a little more flexibility would be more helpful.  I
	also wanted to add more options to those {select,reject,collect}
	methods: 1) the option of deep or shallow copies, 2) the option of
	changing the class of the new copy.  But if done in the old
	framework this would have exploded the number of methods.  The new
	framework allows all the old functionality, plus the new options,
	plus the option to do something useful without creating a new
	collection. 

Tue Sep 21 11:52:46 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* *.m:  Added -emptyCopy based on -allocCopy.  Subclasses override
	to take care of instance vars that must change.

	* Collecting.h, Collection.m:  Changed -addCount:... to
	-addObjectsCount:... and -addElementsCount:...

Mon Sep 20 17:05:10 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* *.[hm]:  Added code for archiving:  -write:, writeInit:,
	writeContents:, -read:, readInit:, readContents:.  I'm not sure
	this division of labor is the best.  I'm open to suggestions for
	different implementations. 

	* *.[hm]:  Changed all instances of the word "description" to
	"encoding".  Objective-C already uses @encode() for these things.
	We shouldn't introduce new vocabulary for refering to the same
	thing. 

	* *.[hm]:  Removed methods that allowed specification of
	comparison function independent of encoding.  This will allow us
	to archive the comparison function by archiving the encoding.
	Most people will be able to get custom comparisons by overriding
	-compare:.  If you really, really need some new weird comparisons
	for non-objects, you can still subclass the collection and
	override -comparisonFunction.  If people think that we will want
	to want custom comparisons of non-objects *very often*, then we
	come up with another scheme that still allows meaningful archiving
	of comparison functions.

Sun Sep 19 19:30:02 1993  Andrew McCallum  (mccallum@swan.cs.rochester.edu)

	* coll/eltfuncs.[hm]:  Created.  Moved functions for manipulating
	elt's from CollectionPrivate.h to eltfuncs.h.  This makes elt a
	little more separate from libcoll, so others can use it too.  I
	changed the prefix on the names accordingly from coll_ to elt_.
	Also, added function for getting encoding from comparison
	function.  Also, declared all elt_compare_ and elt_hash_ functions
	extern.

Thu Sep  9 09:49:29 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* LinkedListEltNode.[hm], BinaryTreeEltNode.[hm],
	RBTreeEltNode.[hm]:  Created these files and moved EltNode code
	into them.  This cleanly separates the basic LinkedList code from
	the EltNodeCollector stuff (and similarly for BinaryTree and
	RBTree).  The EltNode stuff strikes me as being a little messy;
	with this separation we can easily replace it later with something
	cleaner (if we can think of something cleaner).

	* elt.h, *.m:  Changed elt union names from *_t to *_u, following
	suggestion of Burchard:  *_t should be reserved for type names.

Tue Aug 31 11:40:29 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Storage.[hm], List.[hm]:  Removed many extra features that
	aren't in the NeXT implementations.  Our goal for these NeXT-based
	objects should be compatibility, not kitchen-sink features.  Let
	people add features in Categories if they need them.

	* Storage.[hm]:  Fixed return type for -removeLastElement to match
	NeXT.  Unfortunately this conflicts with the IndexedCollecting
	declaration (NeXT's returns self, IndexedCollecting returns the
	removed element).  I really think methods that remove elemements
	should return that element.  We're just going to have to live with
	this conflict.

	* Storage.[hm]:  Changed declaration of instance var 'dataPtr'
	from void** to void*, to match NeXT.

	* IndexedCollecting.h, IndexedCollection.m:  Added -sortContents;

Thu Aug 26 17:47:59 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* List.m:  Changed default order of -makeObjectsPerform... and
	fixed comment to match NeXTSTEP reality.

Wed Jul 10 14:38:23 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* BinaryTree.m, RBTree.m, EltNodeCollector.[hm]:  Created.

Wed Jun  2 11:48:08 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* IndexedCollecting.h:  Added
		- successorOfObject: anObject;
		- predecessorOfObject: anObject;
		- (elt)	successorOfElement: (elt)anElement;
		- (elt) predecessorOfElement: (elt)anElement;

	* BinaryTree.h, RBTree.h:  Created.

Mon May 31 13:33:42 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Time.[hm]:  Threw a Time object I wrote a while ago into the
	.tar file.  Maybe someone will find it useful.  

	* IndexedCollecting.h, IndexedCollection.m:  Added methods:
	- (unsigned) indexOfFirstDifference: (id <IndexedCollecting>)aColl;
	- (unsigned) indexOfFirstIn: (id <Collecting>)aColl;
	- (unsigned) indexOfFirstNotIn: (id <Collecting>)aColl;
	They fit well with desired functionality for Strings, but may also
	be generally useful.

	* Created preliminary String class.  It's very preliminary; I just
	want to see how it will fit with IndexedCollecting.

	* Overhauled instance variables in heirarchy.  Removed all 
	instance variables from abstract superclasses.  This makes
	subclassing an abstract superclass a bit more of a pain, but it
	helps keep memory requirements down, especially for String,
	LinkList and all IndexedCollections.

Sat May 29 11:27:01 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* IndexedCollection.m: Made cast of void* to unsigned more
	portable.

Fri May 28 17:00:14 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* IndexedCollecting.h, IndexedCollection.m:  Added
	-insertContentsOf:atIndex: modified from Kresten Krab Thorup.

	* Collecting.h, Collection.m:  Added {Object,Element} to inject,
	detect, max and min methods.

Wed May 26 12:20:21 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Overhauled error generation.  Changed #define's so error
	generation is easier to change again later, if necessary.  Error
	methods now have forwarding capability.  See CollectionPrivate.h,
	Collection.m, IndexedCollectionPrivate.h, IndexedCollection.m.

	* *.m:  Fixed many small bugs found with -Wall.

	* Created Heap object.

	* Collection.m:  Fixed -includesSameContents.

	* Collecting.h, Collection.m:  Added -isSubsetOf: as written by
	Kresten Krab Thorup.  Removed -includesSubsetOf:.

Tue May 25 14:14:33 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Removed ComparedCollecting protocol.  Its only purpose was to
	allow the user to manage a comparison function---this was silly,
	though, because there already was a comparison function inherited
	from Collection!  No need to have two of them.  Now that there is
	a general interface for user-specified comparison functions, we 
	don't need the ComparedCollecting methods.  This is a big help
	because we no longer have the problem of trying to combine a
	ComparedCollection class and Array class with some ugly multiple
	inheritance issues.  One disadvantage, however, is that it is 
	slightly more complicated to specify a comparator that is a
	selector. 

	* Overhauled comparison and hash functions.  More changes than I
	want to describe in detail here...  1) Created temporary versions
	of hash.[hc] that do what I want, hopefully Kresten's new versions
	of hash.[hc] will do something like this.  Created collhash.[hc].
	2) Added -init... methods that allow the users to specify their own
	comparison and hash functions instead of accepting the defaults.

Mon May 24 10:46:21 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Collecting.h, Collection.m: Removed -initWith:,... and
	-initDescription:with:,... methods.  I don't want to add ..with:
	version of all -init... methods.  People can use addCount,...
	instead. 

	* Created IdListLink.[hm].  Changed -linkClass in ListedList.m to
	return [IdListLink class] if LinkedList contains objects.

	* Collecting.h, elt.h: Moved definition of elt union to
	<coll/elt.h> 

	* List.m:  -isEqual: now checks [List count] at beginning.

	* List.m:  -empty no longer realloc()'s. (for compatibility with
	NeXT.)

	* List.[hm]:  Added 
	- makeObjectsPerform:(SEL)aSel reverseOrder:(BOOL)flag;
	- makeObjectsPerform:(SEL)aSel with:anObject reverseOrder:(BOOL)flag;
	and changed -makeObjectsPerform: and -makeObjectsPerform:with: to
	call them.  This gives the option of compatibility with
	pre-NeXTSTEP 3.0 List's.

Sat May 22 13:53:25 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* Collection.m, Collecting.h: Changed type of initialArg from
	void* to elt in inject.. methods. 

Fri May 21 18:52:03 1993  Andrew McCallum  (mccallum@vein.cs.rochester.edu)

	* First alpha release announced on gnu-objc@prep.ai.mit.edu

Copyright @copyright{} 2005 Free Software Foundation

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

