Sun May 11 07:21:06 2003  Richard Frith-Macdonald  <rfm@gnu.org>

	* JIGSInit.m (_jigs_lookup_class): Check to see if class exists
	before trying to register it... just a bit nicer than relying on
	catching an exception when trying to register a non-existent class.

Tue May 13 14:32:58 2003  Nicola Pero  <n.pero@mi.flashnet.it>

	* ObjcRuntimeUtilities.m: Removed.
	* ObjcRuntimeUtilities.c, ObjcRuntimeUtilities2.m: New files
	contained the code previously in ObjcRuntimeUtilities.m
	* ObjcRuntimeUtilities.h: Do not include Foundation/Foundation.h.
	* GNUmakefile: Updated for change.

Sun May 11 07:21:06 2003  Richard Frith-Macdonald  <rfm@gnu.org>

	* JIGSInit.m (_jigs_lookup_class): Move creation of NSString from
	supplied c-string inside exception handler in case c-string content
	is garbage.

Sun May  5 23:33:53 2002  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSInit.m (_jigs_lookup_class): Register/unregister the current
	thread.

Fri May  3 18:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSProxySetup.m (_JIGS_prepare_method_struct): Fixed bug
	in creating the selector signature - always use _C_ID for
	the receiver, never _C_CLASS.

Wed Jan  2 12:15:39 2002  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSException.m (JIGSRaiseJExceptionFromNSException): Make 
	sure we can manage the case of null name or reason.

Thu Dec  6 16:05:46 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* GSJNIString.m (GSJNI_JStringFromNSString): Allocate temporary
	unichar buffer on the heap rather than on the stack if it is
	bigger than 10k.  Fixes crash for ObjC methods returning huge
	strings.

Sun Nov 25 12:13:00 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* NSObject.m (Java_gnu_gnustep_base_NSObject_finalize_1native): 
	#ifdefed out the new code ... better use the stable one for now.

Sun Nov 25 02:23:14 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* NSObject.m (Java_gnu_gnustep_base_NSObject_finalize_1native):
	Rewritten in an attempt to fix potential deadlocks and other weird
	bugs.  Not sure it's stable yet.

Sat Nov 24 18:28:53 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* NSObject.m (Java_gnu_gnustep_base_NSObject_finalize_1native):
	Rewritten as to register/unregister the thread and create
	autorelease pools only once every forty invocations.
	(JIGSFinalizeInit): New function.
	* JIGSMapper.m (_JIGSMapperInitialize): Call the function.
	* JIGSMapper.h: Declare it.
	
Sat Nov 24 16:02:08 2001  Nicola Pero  <n.pero@mi.flashnet.it>
	
	* JIGSMapper.m (_JIGSMapperRemoveJavaProxy): Moved JNI call
	outside the critical region.
	(JIGSJobjectArrayFromNSArray): Ensure that local capacity is
	enough to manage all the objects in the array.
	(JIGSInitNSArrayFromJobjectArray): Idem.
	(_JIGSMapperInitialize): Cache the NSArray class pointer.
	(JIGSNSArrayFromJobjectArray): Use it.

Sat Nov 24 15:43:13 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSMapper.m: Redesigned and reimplemented from scratch the
	table mapping Java proxy classes to ObjC classes and vice versa.
	The new table heavily outperforms the old one ... creating from
	Java objects of subclasses - eg, NSArray as opposed to NSObject -
	is much faster now.

Sat Nov 24 02:01:09 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSInit.m (JIGSAutoreleasePoolClass): New variable caching 
	a pointer to the NSAutoreleasePool class.
	(JIGSInit): Set up the variable.
	* JIGSNative.h (JIGS_ENTER, JIGS_ONLOAD_ENTER): Use the cached
	pointer when creating the pool.

	* GSJNIString.m: Cache the NSString class.

	* JIGSMapper.m (_JIGSLongJavaClassNameForObjcClassName): Reduced
	size of the critical region.
	(_JIGSFirstJavaProxySuperClass): Idem.

	* JIGSMapper.m (_JIGSProxyJavaHash): Always return 1.

Mon Sep 24 12:04:56 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* ObjcRuntimeUtilities.m (objc_EXPORT): Define it if not defined.
	(ObjcUtilities_new_class): Use `objc_EXPORT' rather than simply
	`extern' to access libobjc internals symbols.
	(ObjcUtilities_register_method_list): Idem.
	* JIGSProxySetup.m (objc_mutex_allocate): Do not declare as it is
	declared in objc/thr.h which we include.

Wed Sep 12 12:17:50 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSInit.m (JIGSInitFromJava): New function.
	(JIGSInit): Moved code to set program arguments into
	JIGSInitFromJava, because it is code which must only be executed
	from Java.  Do not create an autorelease pool if we are executing
	no code.
	* JIGSInit.h (JIGSInitFromJava): Declare the new function.
	* JIGS.m (Java_gnu_gnustep_java_JIGS_initialize): Call
	JIGSInitFromJava rather than JIGSInit.
	
Fri Jul 27 14:50:12 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSInit.m (JIGSInit): Setup JIGS_DEBUG according to whether we
	are debugging or non-debugging, to prevent crashes when the engine
	is started from the Objective-C side, and JIGS_DEBUG is not set.

Fri Jul 27 13:10:04 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSProxyIMP.m (DO_PROCESS_ARGS): Fixed processing of multiple
	arguments by removing inline function to process a single
	argument, and processing arguments using a single big macro.  This
	works around a va_arg problem with functions which was causing
	incorrect arguments to be used.

Fri Jul 27 11:18:51 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSInit.m (_jigs_lookup_class): Wrap the attempt to register
	the Java class in an exception handler to fail gracefully if the
	Java class does not exist.
	* JIGSProxy.m (JIGSRegisterJavaClass): Detect Java exceptions in
	GSJNI_SuperclassNameFromClassName and convert them into ObjC
	exceptions.

Fri Jul 27 10:26:00 2001  Richard Frith-Macdonald  <rfm@gnu.org>

	* GSJNIClass.m: GSJNI_SuperclassNameFromClassName()
	pop stack on failure.

Thu Jul 26 19:44:00 2001  Richard Frith-Macdonald  <rfm@gnu.org>

	* NSJavaVirtualMachine.m: New class method - 'JIGSInit' as
	convenience for guile ... so we don't have to all the JIGSInit()
	function.
	* JIGSInit.m: Added code to use _objc_lookup_class hook in the
	runtime to automatically load in java classes when needed.

Tue Jul 24 13:14:33 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* GNUmakefile, JIGS.h: Version is now 1.5.0.

Thu Jun  7 14:57:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSProxyIMP.m (process_argument): tidied casts.

2001-06-07 Rcihard Frith-Macdonald <rfm@gnu.org>

	* JIGSProxyIMP.m: process_argument() changed vararg types to stop
	GCC-3.0 objecting and aborting.  It doesn't like us specifying the
	original types, but wants the promoted types to be given.

Mon May 21 02:58:05 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* GNUmakefile, JIGS.h: Version is now 1.4.0.

Mon May  7 04:23:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSInit.m (JIGSInit): Allocate a global mutex for
	libFoundation.  (GSRegisterCurrentThread),
	(GSUnregisterCurrentThread): Implemented for libFoundation to lock
	and unlock the mutex.
	* JIGSInit.h (GSRegisterCurrentThread),
	(GSUnregisterCurrentThread): Declare for libFoundation.
	
Sun May  6 20:51:46 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* NSObject.m: Added native implementations of valueForKey and
	takeValueForKey.
	* JIGSProxy.m 
	(_java_lang_Object__handleTakeValueForUnboundKey_),
	(_java_lang_Object__handleQueryWithUnboundKey_): New functions
	calling gnu.gnustep.java.JIGSKeyValueCoding methods to do
	key/value coding.  (JIGSRegisterJavaRootClass): Register the two
	functions as the handleTakeValue:forUnboundKey: and
	handleQueryWithUnboundKey: methods of the Objective-C class
	java.lang.Object.

Sat May  5 23:37:42 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	Removed morphing of booleans, so that the morphing
	Number<--->NSNumber is now total.
	* GSJNINumber.h (GSJNI_NSNumberFromJBoolean): Removed.
	* GSJNINumber.m (GSJNI_NSNumberFromJBoolean): Removed.
	(GSJNI_JNumberFromNSNumber): Never convert to boolean.  Updated
	caching code.
	* JIGSMapper.m (JIGSIdFromJobject): Do not morph booleans.
	Updated caching code.
	
Sat May  5 22:46:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	Simplified morphing of NSNumber and extended to generic
	java.lang.Number classes.
	* GSJNINumber.h (GSJNI_NSNumberFromJNumber): New function acting
	as a facade for all the other more specific number conversion
	functions, which are now hidden; removed their declaration.
	* GSJNINumber.m (GSJNI_NSNumberFromJNumber): Implemented.  Made
	all other functions morphing numbers from Java static; updated
	caching code.
	* JIGSMapper.m (_JIGSMapperInitialize): Simplified, only cache the
	java.lang.Number class rather than all the subclasses.
	(JIGSIdFromJobject): Simplified and made quicker: call
	GSJNI_JNumberFromNSNumber for any java.lang.Number object.  Do not
	make any other check.

Sat May  5 21:44:25 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* GNUmakefile, JIGS.h: Version is now 1.3.0

Sat May  5 21:20:05 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	Implemented morphing of java.lang.Boolean and java.lang.Number
	into and from NSNumber.
	* GSJNINumber.m: New file implementing the morphing functions.
	* GSJNINumber.h: New file declaring the new functions.
	* GNUmakefile (libgnustep-java_HEADER_FILES): Added GSJNINumber.h.
	(libgnustep-java_OBJC_FILES): Added GSJNINumber.m.
	* GSJNI.h: Include GSJNINumber.h.
	* JIGSMapper.m (_JIGSMapperInitialize): Initialize class cache for
	the classes we morph.  (JIGSJobjectFromId), (JIGSIdFromJobject): 
	Use the new GSJNINumber facilities to morph booleans and numbers.
	
Sat May  5 15:47:09 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* GSJNIArray.h: Removed `inline' attributes without effect.
	* GSJNIArray.m: Idem.
	* GSJNIClass.h: Idem.
	* GSJNIClass.m: Idem.
	* GSJNIString.h: Idem.
	* GSJNIString.m: Idem.
	* JIGSMapper.h: Idem. 
	* JIGSMapper.m: Idem.
	* NSJavaVirtualMachine.h: Idem.
	* NSJavaVirtualMachine.m: Idem.
	* ObjcRuntimeUtilities.h: Idem.
	* ObjcRuntimeUtilities.m: Idem.
	
Sat May  5 02:14:27 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSSelectorMapping.m
	(JIGSSelectorMappingFindClassJavaMethod): Fixed critical typo
	generating random crashes - `Instance' where it should have been
	`Class'.

Mon Mar 19 11:59:27 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSNative.h: Updated for change in gnustep base thread support:
	calls to [NSThread +registerCurrentThread] and
	[NSThread +unregisterCurrentThread] replaced with calls to the new
	functions GSRegisterCurrentThread and GSUnregisterCurrentThread.
	* JIGS.m (Java_gnu_gnustep_java_JIGS_forceMultithreading): Idem.

	* GNUmakefile ($(GNUSTEP_OBJ_DIR)/NSObject.o): Added 
	dependency on JIGSNative.h.
	
Fri Feb  9 13:04:55 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* GSJNIArray.h (GSJNI_initNSDataFromJbyteArray): New function.
	* GSJNIArray.m (GSJNI_initNSDataFromJbyteArray): Implemented.
	(GSJNI_NSDataFromJbyteArray): Call the new function.
	* JIGSMapper.h, JIGSMapper.h (JIGSInitNSDataFromJbyteArray),
	(JIGSInitNSArrayFromJobjectArray), (JIGSJobjectArrayFromNSArray),
	(JIGSNSArrayFromJobjectArray): New functions.

Fri Feb  9 09:50:38 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* NSObject.m (Java_gnu_gnustep_base_NSObject_NSObject_1alloc): Do
	not add the object to the mapping tables.  This must now be done
	by wrappers for init methods - which should put in the tables the
	result of the init method.

Tue Feb  6 18:25:33 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h, GNUmakefile: Version is now 1.2.0.

Mon Feb  5 16:15:48 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSMapper.h, JIGSMapper.m (JIGSJbyteArrayFromNSData),
	(JIGSNSDataFromJbyteArray): New functions.
	* GSJNIArray.h, GSJNIArray.m: New file.
	* GSJNI.h: Include GSJNIArray.h.
	* GNUmakefile: Added the new files.
	
Thu Jan 25 12:59:12 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h, GNUmakefile: Version is now 1.1.0.

Thu Jan 25 11:23:28 2001  Nicola Pero  <nicola@brainstorm.co.uk>

	* GNUmakefile (VERSION): New variable.

Thu Jan 11 11:33:38 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* GNUmakefile (LIBRARIES_DEPEND_UPON): Update for changes in the
	base/make library on CVS: link also against CONFIG_SYSTEM_LIBS.

Thu Nov 30 11:36:39 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	Patches by Helge Hess:
	* JIGSInit.m (JIGSInit): Added ifdef for initialization on
	libFoundation.
	* JIGSMapper.h: Define GS_SIZEOF_VOIDP if compiling on
	libFoundation.
	* GNUmakefile (libgnustep-java_HEADER_FILES_INSTALL_DIR): Use 
	$(GNUSTEP_FND_DIR) instead of hardcoding `gnustep'.
	* ObjcRuntimeUtilities.m
	(ObjcUtilities_build_runtime_Objc_signature): Added ifdef for
	libFoundation.
	* JIGSMapper.m (JIGSJobjectFromId): Use -isKindOfClass instead of
	-isKindOf.

Mon Nov 27 16:37:13 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGS.h: Version is now 1.0.0.

Tue Nov 21 14:05:38 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGS.m (Java_gnu_gnustep_java_JIGS_forceMultithreading): Native 
	implementation for the new Java API JIGS.forceMultithreading ().

Mon Nov 20 15:11:53 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSNative.h (JIGS_ONLOAD_ENTER), (JIGS_ONLOAD_EXIT): New macros 
	to be used upon entering/exiting a JNI_OnLoad function.

Mon Nov 13 10:11:17 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSInit.m (JIGSInit): Make sure the default thread is
	initialized.
	* JIGSNative.h (JIGS_ENTER), (JIGS_EXIT), (JIGS_EXIT_WITH_VALUE):
	Register/unregister the thread upon entering/exiting from native 
	code.
	* NSJavaVirtualMachine.m ([+startVirtualMachineWithClassPath:
	libraryPath:]): Register NSJavaVirtualMachine for the 
	NSThreadDidStartNotification and NSThreadWillExitNotification.
	* NSJavaVirtualMachine.m (_attachCurrentThread:),
	(_detachCurrentThread:): Implemented to manage the notifications.
	* NSJavaVirtualMachine.h, NSJavaVirtualMachine.m
	(attachCurrentThread), (detachCurrentThread): New methods.
	* JIGS.h: Version is now 0.9.0.
	
Wed Nov  1 11:49:30 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGS.h: Version is now 0.8.0.

Wed Oct 18 10:44:49 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSNative.h (JIGS_EXIT_WITH_VALUE): Fixed.

Tue Oct 17 13:08:12 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSMapper.m (JIGSJstringFromNSString),
	(JIGSNSStringFromJstring): New functions wrapping the GSJNI ones
	but working with null and nil strings.
	* JIGSMapper.h: Declared the new functions.
	
Tue Oct 10 17:33:26 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSMapper.m: New table to make reverse class
	mapping. (_JIGSFirstJavaProxySuperClass): Rewritten.  Now
	everything should work when class names are mapped from objc to
	java in not-trivial ways.  (_JIGSMapperInitialize): Create the new
	reverse table.  (JIGSClassFromThisClass),
	(_JIGSAllocClassForThis): Rewritten to use the new
	_JIGSFirstJavaProxyClass.  (JIGSRegisterJavaProxyClass): Insert
	the class mapping in the reverse table too.

Fri Oct  6 17:16:51 2000  Nicola Pero  <n.pero@mi.flashnet.it>

	* JIGSProxySetup.m (convertSignature): Manage ':' for 
	selectors.
	* JIGSProxyIMP.m (process_argument): Process selector 
	argument.
	
Fri Oct  6 11:38:30 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h: Include JIGSSelectorMapping.h.  Version is now 0.7.0.
	* JIGSInit.m (JIGSInit): Call _JIGSSelectorMappingInitialize.
	* JIGSMapper.m, JIGSMapper.h
	(_JIGSLongJavaClassNameForObjcClassName): New function.
	* JIGSProxySetup.m (_JIGS_prepare_method_struct): Manage 
	constructor method names here; they are always strimmed, 
	except for the one without arguments.  Use the new selector 
	mapping API for mapping the selectors.
	* JIGSSelectorMapping.h, JIGSSelectorMapping.m: Implemented full
	selector mapping functionality.

Mon Oct  2 15:59:56 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSSelectorMapping.m (strim): Do not output the 
	'static' keyword; do not output the return type.

Mon Oct  2 11:58:24 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* GNUmakefile (libgnustep-java_HEADER_FILES): Added
	JIGSSelectorMapping.h.  (libgnustep-java_OBJC_FILES): Added
	JIGSSelectorMapping.m
	* JIGSSelectorMapping.m, JIGSSelectorMapping.h: New files.
	* JIGSSelectorMapping.m (strim), (mapJavaMethodName): Moved here
	from JIGSProxySetup.m.  (mapJavaMethodName): Do not take the 
	selector table as argument, removed corresponding code.
	* JIGSProxySetup.m (_JIGS_prepare_method_struct): Moved here code 
	to check if the method was already registered in the selector 
	table.

Mon Oct  2 10:00:00 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSInit.m (JIGSInit): Added workaround for systems without
	/proc filesystem (Patch by Richard Frith-Macdonald).

Fri Sep 29 15:46:29 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.m (Java_gnu_gnustep_java_JIGS_initialize): Do not 
	use an autorelease pool.

Thu Sep 28 16:10:36 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSProxySetup.h (struct _JIGSSelectorIDTable): Added 
	the method type.
	* JIGSProxySetup.m (_JIGS_prepare_method_struct): Set the method
	type in the table.  (_JIGS_register_java_class_simple): When
	putting the real selectors in the table, use any selector
	regardless of type.  (mapJavaMethodName): Commented out code to
	check if selector is already in use.  It should now be able to
	work fine even in this case.
	* JIGSProxyIMP.m (_JIGS_id_IMP_JavaMethod),
	(_JIGS_void_IMP_JavaMethod), (_JIGS_jdouble_IMP_JavaMethod),
	(_JIGS_jfloat_IMP_JavaMethod), (_JIGS_jlong_IMP_JavaMethod),
	(_JIGS_jint_IMP_JavaMethod), (_JIGS_jshort_IMP_JavaMethod),
	(_JIGS_jchar_IMP_JavaMethod), (_JIGS_jboolean_IMP_JavaMethod),
	(_JIGS_jbyte_IMP_JavaMethod): Use type saved in the table instead
	of getting it from the selector.
	
Thu Sep 28 12:30:39 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h: Updated version number to 0.6.
	* loader: New directory.
	* loader/GNUmakefile: New file.
	* loader/JIGSLibraryLoader.c: New file.
	* GNUmakefile: Added loader subproject.

Wed Sep  6 01:36:59 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h: Updated version number to 0.5.
	* JIGSProxyIMP.m (_JIGS_jboolean_IMP_JavaMethod),
	(_JIGS_jbyte_IMP_JavaMethod), (_JIGS_jchar_IMP_JavaMethod),
	(_JIGS_jshort_IMP_JavaMethod), (_JIGS_jint_IMP_JavaMethod),
	(_JIGS_jlong_IMP_JavaMethod), (_JIGS_jfloat_IMP_JavaMethod),
	(_JIGS_jdouble_IMP_JavaMethod), (_JIGS_void_IMP_JavaMethod),
	(_JIGS_id_IMP_JavaMethod): Use the type of the selector in our
	internal class cache table rather than the type of the selector
	passed in the invocation, which could be NULL.
	* JIGSProxySetup.m (mapJavaMethodName): Ignore selectors 
	found in use but with NULL type.

Sat Aug 19 20:26:15 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSMapper.m (JIGSCreateNewJavaProxy): Retain the object 
	we are proxying.
	* NSObject.m (Java_gnu_gnustep_base_NSObject_clone): Autorelease
	the object to return.
	(Java_gnu_gnustep_base_NSObject_mutableClone): Idem.

Fri Aug 18 17:22:34 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h (GNUSTEP_JAVA_VERSION): Updated to 0.4.
	(GNUSTEP_JAVA_MAJOR_VERSION), (GNUSTEP_JAVA_MINOR_VERSION),
	(GNUSTEP_JAVA_SUBMINOR_VERSION): New preprocessor defines.

Sat Aug 12 13:08:46 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSInit.m (JIGSInit): Create an autorelease pool on entry, 
	destroy it on exit.
	* JIGSMapper.m (JIGSRegisterJavaProxyClass): Idem.
	
Fri Aug  4 21:18:08 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h (GNUSTEP_JAVA_VERSION): Updated to 0.3.

Thu Aug  3 11:14:15 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSNative.h: Removed JIGS_EXIT_WITH_FAILURE_VALUE; added 
	JIGS_EXIT_WITH_VALUE.
	* NSObject.m: Updated for the new macros.
	
Wed Aug  2 19:10:03 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	Fixes and changings to allow subclassing in java an objective-C
	class and exposing static methods:
	* JIGSMapper.m (JIGSRegisterJavaProxyClass): Fixed big bug due to a
	typo.  (_JIGSFirstJavaProxySuperClass): New Function.
	(JIGSClassFromThisClass): New function. (_JIGSAllocClassForThis): 
	New function.
	* JIGSMapper.h: Declare the new functions.
	* NSObject.m (Java_gnu_gnustep_base_NSObject_NSObject_1alloc): Use
	_JIGSAllocClassForThis rather than JIGSClassOfThis.
	(Java_gnu_gnustep_base_NSObject_NSObject_1new): Idem.
	* JIGSClass.h: Removed.
	* JIGSClass.m: Removed.
	* JIGS.h: Do not include JIGSClass.h.  Updated version to 0.2.
	* GNUmakefile (libgnustep-java_OBJC_FILES): Removed JIGSClass.m.
	(libgnustep-java_HEADER_FILES): Removed JIGSClass.h.
	
Mon Jul 31 13:59:34 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h: Define GNUSTEP_JAVA_VERSION.

Mon Jul 31 11:17:28 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* GNUmakefile: Install by default in $(GNUSTEP_SYSTEM_ROOT);
	changed header installation directory to be gnustep/java;
	(LIBRARIES_DEPEND_UPON): Use $(OBJC_LIBS), $(FND_LIBS).

Sat Jul 29 12:25:42 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* GNUmakefile: New file.
	* JIGSMapper.m: New file.
	* JIGSMapper.h: New file.
	* NSObject.m: New file.
	* JIGS.h: include NSJavaVirtualMachine.h too.
	* JIGSProxy.m (_java_lang_Object__dealloc_): Updated function name
	to match the one in JIGSMapper.
	* JIGSProxyIMP.m (_JIGS_id_IMP_JavaMethod): Idem.
	
Fri Jul 28 15:30:12 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGS.h: New file.
	* JIGS.m: New file.

Fri Jul 28 12:55:58 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* java.lang.Object.h: New file.
	* JIGSNative.h: New file.
	
Fri Jul 28 12:47:16 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSInit.h: New file.
	* JIGSInit.m: New file.

Fri Jul 28 12:44:30 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSProxyIMP.m (_JIGS_id_IMP_JavaMethod): After the constructor 
	is succesful, insert the objects in the JIGSMapper table.
	* JIGSProxy.m (_java_lang_Object__dealloc_): Remove the object 
	from the JIGSMapper table.
	
Thu Jul 27 16:09:52 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSException.m (JIGSRaiseNSExceptionFromJException): Fixed
	critical typo/bug; fixed leakage of the local reference to the
	raised java exception.
	* JIGSProxyIMP.m (_JIGS_id_IMP_JavaMethod): PushLocalFrame to get
	memory for the local reference to the returned object.

Thu Jul 27 11:44:13 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSProxyIMP.h: New file.
	* JIGSProxyIMP.m: New file.
	* JIGSProxySetup.m: New file.
	* JIGSProxySetup.h: New file.
	* JIGSProxy.h: New file.
	* JIGSProxy.m: New file.

Thu Jul 27 11:36:59 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* ObjcRuntimeUtilities.m: Added missing include.

Thu Jul 27 11:33:40 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* GSJNICache.h (GSJNI_NewClassCache): Renamed function 
	to be shorter and make code more readable.  
	Updated all calls to the function.

Wed Jul 26 12:56:55 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* JIGSClass.m: New file.
	* JIGSClass.h: New file.

Mon Jul 24 11:19:34 2000  Nicola Pero  <nicola@brainstorm.co.uk>

	* GSJNIClass.m (GSJNI_NSStringFromClassOfObject): Simplified; removed 
	unused global reference cache.
	* GSJNIClass.m (GSJNI_NStringFromJClass): New function.
	* GSJNIClass.m (GSJNI_SuperclassNameFromClassName): New function.
	* GSJNIClass.h: Added declarations of new functions.
