1999-09-28  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (SWARM_EXTRA_DIST): Add Primitives.java.

1999-09-25  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm.in (JAVAENV): Quote substitution.

1999-09-20  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm.in: Only convert @swarm_bindir@ with cygpath -w.

	* Makefile.am (Makefile.common): Use quoted top_dossrcdir instead of
	top_srcdir for SWARMSRCDIR.
	(C_EXTRA_DIST): Add c/javaswarm.dll.c.

1999-09-18  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Swarm 2.0.1 released.

1999-09-16  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (SWARM_EXTRA_DIST): Switch from Globals.java.in
	to Globals.java.

1999-09-15  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (argname-number, java-argument-ref, 
	java-print-method-invocation-arguments,
	java-print-method-invocation-arguments-lref-deletion): New functions.
	(java-print-method-invocation): Use argname-number instead of 
	SD_ENSURE_OBJC and java-argument-ref instead of direct conversions.
	(java-print-native-method): Use return variable as appropriate
	when localref/string cleanups are needed.
	(java-print-native-class): Import objectbase.h and avoid double
	inclusion of it.

1999-09-14  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-native-method): Remove SD_NEXTJAVAPHASE
	local reference.

1999-09-12  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-protocols*): Add ArchiverQuoted.

1999-09-08  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-print-javadoc-protocol): Add optional
	is-class flag.  When both a class and returnable (i.e. not
	directly creatable by a user), generate a `@hide' Javadoc
	directive.
	(java-print-class-phase): Set the optional is-class to `t'.

1999-09-07  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (*removed-protocols*): Remove GUIComposite from
	list of removed protocols, required for -enableDestroyNotification
	methods on analysis widgets.
	(java-print-javadoc-method): Remove code to generate `@hide'
	directives.

1999-09-04    <mgd@HELEN>

	* java-stub.el (inheritance-cases): Split out and disable handling of
	implementation handling.  It's not needed now that things are
	interface-based.

1999-09-03    <mgd@HELEN>

	* javaswarm.in: Loop over elements of JAVALIBS and JAVACLASSES 
	evalulating and cygpath-converting each one.

	* javacswarm.in: Likewise, but just for JAVACLASSES.

1999-09-01  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-protocols*): Re-enable CustomProbeMap,
	CompleteProbeMap, CompleteVarMap, Widget, and
	ArchivedGeometryWidget.
	(java-objc-to-java-type-category,
	java-type-category-to-java-type): New functions.  Note the latter
	now prints interface names not implementation names.
	(java-objc-to-java-type, java-print-native-method): Use them.
	(java-print-type, java-print-argument,
	java-argument-print-conversion): Add current-module argument.
	(java-qualified-name): Handle case of current-module of `t'.  This
	means to force qualification.
	(java-print-class-constructor-method): Use Zone interface instead
	of implementation.
	(java-argument-convert): Force package qualification of types --
	this function is used for writing native types.

1999-08-28  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Swarm 2.0 released.

1999-08-27  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-class-phase): Use
	java-qualified-interface-name for printing compliance with own
	interface.

	* Makefile.am (SWARM_EXTRA_DIST): Add swarm/PhaseCImpl.java,
	swarm/SwarmEnvironment.java, swarm/Globals.java.in, and JavaDeps.jar.

1999-08-24  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-protocols*): Disable all generators but
	MT19937, PSWB, C2TAUS, and PMMLCG1gen (which Mousetrap happened to
	use).
	(java-print-class-phase): Handle inheritance for ZoomRaster,
	DblBuffer2d, Grid2d, ConwayLife2d, Diffuse2d, ScheduleActivity, 
	and SwarmActivity.
	(*removed-protocols*): Remove Graph, Histogram, and Pixmap.
	(*removed-methods*): Disable getters than reference Graph and
	Histogram.

1999-08-23  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-class-phase): Extend GUISwarmImpl
	from SwarmImpl.

1999-08-22  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-protocols*): Disable most of gui library,
	and some stuff in objectbase and simtoolsgui.
	(*removed-modules*, removed-protocol-p): Add support for disabling
	whole modules.
	(the-RETURNABLE-protocol-p): New function
	(returnable-p): New function, use function above.
	(real-class-p): Likewise.
	(java-print-class-phase, java-print-makefiles,
	java-print-makefiles, java-print-classes, java-run-all-javadoc):
	Use it.
	(java-print-convenience-constructors): Renamed from
	java-print-class-constructors.  Remove call to
	java-print-basic-class-constructor.
	(java-print-class-phase): Always print basic constructor, and
	print convenience and nextphase constructors when creatable (using
	and creating phase respective).
	(*objc-to-java-type-alist*): Add pattern for objects conforming to
	a protocol.
	(*removed-protocols*): Remove HDF5.  Add ArchiverList.
	(*removed-methods*): Add HDF5 methods with non-convertable types.
	(freakyp, freaky-message-): Remove.
	(java-objc-to-java-type): Add support for protocol type
	conversion.
	(java-print-class-constructor-method,
	java-print-nextphase-class-constructor): Don't do casting to
	Object for call to nextphase constructor.
	(java-print-native-method): Handle swarm.* types just like Object.

1999-08-21  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-protocols*): Add OutFile and AppendFile.

1999-08-15    <mgd@HELEN>

	* java-stub.el (java-print-native-class): Use import of
	<defobj/directory.h> instead of include of "directory.h".

1999-08-09  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm.in (SHLIBPATH_VAR): Add hdf5libdir.

1999-08-08  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-methods*): Exclude -addLongDouble:.

1999-08-08  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-print-native-method): Reverse order of
	multiple string argument generation, order was being reversed
	relative to the documented interface for that native method.

1999-08-03  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-print-class-constructor-method): Don't
	manually print `$set' concatenated with the variable name, use the
	parsed method component name directly, so they match the native
	Objective C factory method names.

1999-08-02  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (collect-convenience-constructor-name.arguments):
	Strip off "set" prefix, but check first to see if it is really
	there.  Renamed from collect-name.arguments.

1999-07-30  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-native-method): Accomodate more
	renames.  Use new SD_NEXTPHASE for -createEnd.

1999-07-28  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-argument-print-conversion,
	java-print-method-invocation, java-print-native-method):
	Accomodate J* to SD_* renames in directory.h.
	(java-print-native-method): Use add for creates and switch for
	createEnd.  Eliminate `update' distinction.

1999-07-26  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*objc-to-java-type-alist*,
	java-type-to-native-type, java-print-native-method): Use
	java.lang.String instead of String.

1999-07-23  Vladimir Jojic  <vjojic@chama.santafe.edu>

	* java-stub.el (*removed-methods*): Remove getDisplayName, 
	getTypeName, setDisplayName, copy and remove from 
	*removed-methods*.

1999-07-21  Vladimir Jojic  <vjojic@chama.santafe.edu>

	* java-stub.el (java-print-nextphase-class-constructor): In 
	creating phase make empty constructor that calls super().

1999-07-12  Vladimir Jojic  <vjojic@chama.santafe.edu>

	* java-stub.el (java-print-native-class): Print setting phase
	methods in Objective-C stubs for both creating and using phase 
	implementations.

1999-07-09  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-print-javadoc-default-contructor): New
	function.  Print out a default constructor message for javadoc.
	(java-print-class-constructor-method): Use it there are no
	arguments to the constructor (i.e. not a convenience constructor).
	(java-print-class-phase): If a `USING' phase class, also append
	the name of the using phase protocol to the list of `implemented'
	protocols.

1999-07-06  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-run-all-javadoc): Only call java-print-class
	if protocol is CREATABLE.
	(java-run-all-javadoc): Make function interactive.

1999-07-03  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-native-method): Add JNIEXPORT before
	return type and JNICALL after.

1999-07-02  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javacswarm.in: Run JAVAC with eval.

1999-07-01  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-class-phase): Remove conditional
	on creatable-p.
	(java-print-classes): Put it here.
	Move java-print-makefiles to java-run-all.
	(java-print-makefiles): Split protocols into creatable
	and noncreatable variables.

1999-06-30  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-class-phase): Don't print Impl classes
	when protocol is not creatable.
	(included-method-p): Remove exclusion for non-creatable protocols.

1999-06-29  Vladimir Jojic  <vjojic@chama.santafe.edu>

	* java-stub.el (*removed-methods*): Add VarProbe methods for array
	operations and string operations due to freaky types and type
	problems with strings[] being const char.
	(*removed-protocols*): Remove VarProbe.

1999-06-29  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (included-method-p): Don't put +create methods
	methods in using phase.
	(java-suffix-for-phase): Make using phase the common (non-suffix)
	case.
	(java-print-class-constructor-method): Use create phase
	constructor in using phase constructor.  Pass `this' as argument
	to create phase constructor, so that phase switch can chain them
	together.
	(java-print-nextphase-class-constructor): New method.
	(java-print-class-phase): Have create-phase classes extend
	PhaseCImpl.  Print the next-phase-as-argument create-time
	constructors.
	(java-print-native-method): For +create:* and -createEnd methods,
	use JNEXTPHASE instead of JINSTANTIATEUSING (instead of string
	manipulation to determine string, it's waiting for use in the
	PhaseCImpl nextPhase instance variable).

1999-06-25  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-basic-class-constructor): New function.
	(java-print-class-constructors): Call it.

1999-06-23  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-methods*): Exclude
	 +create:setA:setV:setW:setStateFromSeeds: instead of 
	 +create:setA:setv:setw:setStateFromSeeds:.
	 (java-print-javadoc-method): Don't print javadoc hide message.
	 (included-method-p): Include convenience factory methods in using 
	phase.
	(convenience-create-method-p, collect-convenience-create-methods, 
	collect-name.arguments, java-print-class-constructor-method, 
	java-print-class-constructors, java-print-imports): New functions.
	(java-print-class-phase): Call java-print-class-constructors when
	protocol is creatable and in using phase.
	(java-print-class-phase-to-file): Call java-print-imports.

1999-06-22  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (expanded-method-list): Use methodinfo-method
	instead of caddr.

1999-06-21  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-argument-print-conversion): Use
	JENSUREOBJC{METHOD,CLASS} instead of JFINDOBJC{METHOD,CLASS},
	(java-print-native-method): Use JENSUREJAVA instead of JFINDJAVA.
	(load-path): Add TOP_BUILDDIR instead of BUILDDIR.

	* Makefile.am (java-stub.elc): Depend on
	$(abs_top_builddir)/protocol.elc (not in current directory).

1999-06-21  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-print-deprecated-doc): New function, common
	for methods and protocols.  Use generic-deprecated-list from
	protocol.el to extract the deprecated-list.
	(java-print-javadoc-method): Use it.  Also use `deprecated-p'
	predicate from protocol.el to determine whether the tag is
	generated at all
	(java-print-javadoc-protocol): Likewise.

1999-06-21  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am: Include $(top_srcdir)/etc/Makefile.protocol.
	Remove protocol compilation rules.
	(EMACS): Remove addition of {TOP_}BUILDDIR environment here.
	(Makefile.common): Use ENVEMACS instead of EMACS.

1999-06-20  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-protocol-name, java-name): New functions.
	(java-interface-name): Use java-protocol-name.
	(java-qualified-name, with-protocol-java-file): Use java-name.

1999-06-19  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-class-name): Add "Impl" suffix.
	(java-interface-name): Remove "i_" prefix.

1999-06-18  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-print-javadoc-method): Print @deprecated tag,
	if method has been parsed as `deprecated'.
	(java-print-javadoc-protocol): Likewise for protocols.

1999-06-17  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (method-in-protocol-p): New function, checks to see
	if the specified method is in the current protocol.
	(java-print-javadoc-method): Use `method-in-protocol-p'.  Now
	accepts the `protocol' as parameter as well.  Print `@hide' tag
	for javadoc if it fails the `method-in-protocol-p' call.
	(java-print-class-methods-in-phase): Call
	`java-print-javadoc-method' with new parameter.

1999-06-15  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-run-all-javadoc): New function, suppress
	generation of Makefiles and generation of native class stubs,
	which are not required for javadoc.

1999-06-14  Alex Lancaster  <alex@santafe.edu>

	* java-stub.el (java-print-javadoc-method): New function.  Print
	out method-description-list in javadoc syntax.
	(java-print-class-methods-in-phase): Use it.
	(java-print-javadoc-protocol): New function.  Print out
	protocol-{summary, description-list} in javadoc syntax.
	(java-print-class-phase): Use it.
	(java-print-javadoc-module-summary): New function.  For each
	module, print out the module-{summary, description-list} into
	`package.html' in the appropriate subdirectory for collection by
	javadoc.
	(java-print-classes): Use it.

1999-06-13  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-methods*): Add -addLongLong: and
	-addUnsignedLongLong:.

1999-06-06  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (C_EXTRA_DIST): Remove setup.c.

1999-06-04  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (EXTRA_SCRIPTS): Switch to javacswarm.in.

	* javacswarm.in: New file.

	* javacswarm: Remove.

1999-06-02    <mgd@HELEN>

	* javaswarm.in (JAVALIBPATH_VAR): Include JAVALIBS.

1999-06-01  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm.in (JAVALIBPATH_VAR): If @USEDOSCLASSPATH@ is true,
	adapt @swarm_bindir@ using cygpath -w, and don't include JAVALIBS.

1999-05-31  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (stubs): Use just one intermediate file, Makefile.common.
	Other dependencies will result in multiple invocations of
	Emacs in a parallel make.

	* javaswarm.in: Set path separator and delimiter per
	@USEDOSCLASSPATH@, @PATHSEP@, and @PATHDELIM@.
	(swarmclassdir): New variable.  If Windows, convert swarm_datadir
	to a Windows path using cygpath -w.  Otherwise, use literal
	swarm_datadir.  Use swarmclassdir to set classpath.  Add a special
	case for setting SHLIBPATH_VAR (PATH) in the case of DLLs.  These
	with be `bin' directories, not `lib' directories.

1999-05-30  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm.in: New file.  Do this to get substitutions for
	shared library path and Java runtime paths.

	* javaswarm: Remove.

1999-05-27  Alex Lancaster  <alex@santafe.edu>

	* Makefile.am (C_EXTRA_DIST): Remove c/directory.[hm],
	c/JavaProxy.[hm], have been moved to src/defobj.

1999-05-15  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javacswarm, javaswarm: Prefix $JAVA_CLASSES_INSTALLED_AS and
	"jar" with "x" to avoid shell error.

1999-05-14  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javacswarm: Use JAVAC.

1999-05-09  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-methods*): Update to use getRetVal:buf:
	instead of getRetVal:.

1999-05-06  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-argument-print-conversion): Use %d, not 
	%u (which doesn't exist).

1999-05-02  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-path, c-path): New function.
	(*java-path*, *c-path*): Remove.
	(module-path, java-print-classes): Use java-path.
	(with-protocol-c-file, java-print-makefiles): Use c-path.

	* Makefile.am (elcrule): Use $(shell cd $(dir $@); pwd) instead of
	$(dir $@), since Emacs for Windows loses with ./ derived from the
	latter (it can't be frozen due to files like common.el that are
	expected to be found in top_builddir).
	(Makefile.common $(SUBMAKEFILES)): Use $(abs_builddir) instead of
	$(dir $@).  Add SWARMSRCDIR in stub generation environment.

1999-04-30  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (C_EXTRA_DIST): Remove SwarmEnvironment.h.

	* java-stub.el (java-print-native-class): Don't include jni.h.

1999-04-27  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (JAVASWARMSCRIPTS): New substitution.
	(bin_SCRIPTS): Use it.
	(EXTRA_SCRIPTS: Add javacswarm and javaswarm.
	(EXTRA_DIST): Use it.
	
1999-04-25  Marcus G. Daniels  <mgd@helen.santafe.edu>

	* javaswarm, javacswarm: Adjust classpath per
	JAVA_CLASSES_INSTALLED_AS.

1999-04-25  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-methods*): Switch getRetVal:buf: to
	getRetVal:. 

1999-04-23  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm (JAVASWARMGDB): Use JAVAENV + JAVACMD with 
	JAVASWARMGDB as a hook for gdb (instead of just JAVA).
	Don't insist on arguments if JAVASWARMGDB is set.  
	Use CLASSPATH= instead of -classpath since GDB won't be
	able to cope with the arguments.

1999-04-21  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*objc-to-java-type-alist*): Handle unsigned short
	and short.  Map unsigned long to long, not int.
	(*removed-methods*): Don't include addArgument:ofObjCType:
	(from FArguments).
	(java-print-native-method): Handle Class.

	* Makefile.am (bin_SCRIPTS): Add javacswarm.

	* javacswarm: New file.

1999-04-20  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*objc-to-java-type-alist*): Don't treat Class as
	freaky.
	(*removed-protocols*): Remove Class-related excluded protocols.
	(*removed-methods*): Likewise for method.
	(java-type-to-signature): Map Class to Ljava_lang_Class_2.  Remove
	freaky handling.
	(java-type-to-native-type): Handle Class.
	(java-argument-print-conversion): Handle jclass.

1999-04-19  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-argument-print-conversion): Add position
	argument and use it to offset new C variable strings.
	(java-print-method-invocation): Increment position in sync with
	arguments, pass to java-argument-print-conversion.
	(java-print-native-method): Accumulate arguments that are jstrings
	to strings.  If there are any, do a more complex call that
	initializes the C `strings' array and fills it with copies of the
	jstring arguments.  If there is a non-void return type, set a
	return variable, and then cleans up returning the return variable.
	If there are no jstring arguments, the call remains as it was.

1999-04-16  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*removed-methods*): -getRetVal:buf: instead of
	getReturnVal.

1999-04-07  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm: Use eval "$JAVA .." instead of setting JAVA_HOME before
	running Java interpreter (eliminate superfluous use of JAVA_HOME
	for Java implementations where it is not used).

	* Makefile.am (Makefile.common $(SUBMAKEFILES)): Use JAVASTUBS_FUNCTION
	instead of java-run-all.

	* java-stub.el (set-dollar-sign, java-run-all-unicode,
	java-run-all-literal): New functions.
	(java-run-all): Add unicode flag key.
	(*dollar-sign*): New variable.
	(java-print-method-name, java-print-native-method-name): 
	Use *dollar-sign* instead of unicode mangling.

	* javaswarm: Use JAVACLASSES instead of hardcoded classes.zip.
	(LD_LIBRARY_PATH): Add JAVALIBS.  Pre-split :-delimited values.
	Print shell instructions, instead of just value of LD_LIBRARY_PATH
	in non-argument case.  
	Use $JAVA instead of $jdkdir/bin/java.

1999-04-06  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-native-class): Print #include jni.h
	after directory.h to avoid jmalloc malloc, free, calloc
	preprocessor redefines causing conflict with stdlib declarations
	of same.  Don't print defobj.h inclusion twice when module is
	defobj.

1999-04-01  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-makefiles): Name MODULES by hand, for
	ordering.

1999-03-31  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (jdkdir): Remove.

1999-03-24  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-method,
	java-print-interface-methods-in-phase, java-print-native-method):
	Go back to non-static constructors.

1999-03-23  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-native-method): Use
	JINSTANTIATEUSINGFROMCLASS for +create* and
	JINSTANTIATEUSINGFROMOBJECT for -createEnd.
	(*removed-methods*): Add getReturnVal.

1999-03-22  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-suffix-for-phase): Use S and U instead of _s
	and _u (avoids Unicode chars and is easier to type).
	(java-qualified-name, java-qualified-native-name,
	java-qualified-class-name, java-qualified-native-class-name): New
	functions.
	(java-qualified-interface-name): Use java-qualified-name.
	(java-print-method-name): New function.
	(java-print-native-method, java-print-method): Use it.
	(java-print-native-method): Handle +createBegin before other
	+create* methods, which require use of JINSTANTIATENAME with a
	fully qualified using phase class.
	(*objc-to-java-type-alist*): SEL -> swarm.Selector, not Object.
	(*removed-protocols*): Exclude CompleteVarMap, CustomProbeMap,
	DefaultProbeMap, ProbeLibrary, and ActiveOutFile because of use of
	Class.
	(*removed-methods*): Exclude +customizeBegin:, customizeCopy:, and
	-customizeEnd.  Exclude allocBlock: because of void * return and
	FCall's -setJavaMethod:inObject: and getResult because of void*.
	Exclude setProbedClass:.
	(freaky-message): Use error, not message.
	(java-print-method): Add [disabled, argh] support for
	+createBegin: and +create*/-createEnd to returning typed interface
	objects.  Add protocol argument (for typing info).
	(create-method-p): Don't bother checking for +customizeBegin:.
	(java-print-class-methods-in-phase,
	java-print-interface-methods-in-phase): Accomodate.

1999-03-21  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-qualified-interface-name): New function.
	(java-print-implemented-interfaces-list): Use it.
	(java-print-import, java-print-imports): Remove.
	(java-print-class-phase-to-file,
	java-print-interface-phase-to-file): Don't call
	java-print-imports.
	(java-print-native-method): Put two underlines after method name,
	not one.

	* Makefile.am (SWARM_EXTRA_DIST): Add
	swarm/NonUniqueMethodSignatureException.java and
	swarm/SignatureNotFoundException.java.

1999-03-21  Marcus G. Daniels  <mgd@chimayo.santafe.edu>

	* javaswarm: Add . to front of -classpath and $CLASSPATH to end.

1999-03-20  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm: Pass -classpath for swarm.jar.  Use $jdkdir/bin/java;
	don't home that the PATH has something reasonable.  Set JAVA_HOME
	for java and pass $jdkdir/lib/classes.zip along with swarm.jar.

	* java-stub.el (java-print-method): Denote factory methods with
	static.
	(create-method-p): New method.
	(included-method-p): Use it; exclude +create* methods when
	protocol is not creatable.  Add protocol argument.
	(java-print-interface-methods-in-phase): Exclude factory methods
	as interfaces don't allow static modifier.
	(creatable-p): Renamed from CREATABLE-p.
	(java-print-method-invocation): Take protocol and method as
	arguments.  Handle factory methods.
	(java-print-native-method): Handle static method arguments and
	+create* methods in particular.
	(java-print-native-class): Don't check methods with
	included-method-p.
	(java-argument-print-conversion, java-print-method-invocation):
	Pass JNIEnv to JFINDOBJC.
	(java-print-native-method): Pass JNIEnv to JUPDATE and
	JSWITCHUPDATE.
	(java-print-makefiles): Print simply the module name; don't use
	computed variable name to get modulePROTOCOLS; it is now done in
	Makefile.rules.

1999-03-19  Vladimir Jojic  <vjojic@wupatki.santafe.edu>

	* java-stub.el (java-print-class-phase): Make all classes
	public.

1999-03-18  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (expanded-method-list): Renamed from method-list.
	(java-print-class-methods-in-phase, java-print-native-class): 
	Accommodate.
	(java-print-native-method): Use JSWITCHUPDATE / JINSTANTIATE of
	user-phase class for createEnd.

	* javaswarm: Print out LD_LIBRARY_PATH additions if there are no
	arguments (otherwise export and run java).

1999-03-17  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* javaswarm: Use \012 instead of \n to avoid problems with ucb tr.

	* java-stub.el (java-print-native-class): Use method-list instead
	of protocol-method-list.

1999-03-16  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (C_EXTRA_DIST): Add JavaProxy and SwarmEnvironment.
	
	* javaswarm: New file.

	* Makefile.am (bin_SCRIPTS): Install it.

	* java-stub.el (java-print-method-invocation): New function.
	(java-print-native-method): Use it.  Handle +createBegin: and
	-createEnd.

1999-03-11  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-method, java-print-native-method):
	Print "$" between method keys (instead of mixing case).
	(java-argument-print-conversion): Handle selectors. 
	(*removed-methods*): Remove the parameter SEL exceptions.
	(java-print-native-class): Don't declare jniEnv extern.
	(java-print-native-method, java-argument-print-conversion): Refer
	to env stub parameter, not jniEnv extern.

	* Makefile.am (SWARM_EXTRA_DIST): Add swarm/Selector.java.

1999-03-09  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (*objc-to-java-type-alist*): Convert timeval_t and
	size_t to long and Color to byte.
	(*removed-protocols*, *removed-methods*): New lists.
	(method-ellipsis-p): New function.
	(removed-method-p): Use it and *removed-methods*.
	(removed-protocol-p): New function.
	(included-protocol-list): Use it instead of just
	the-CREATABLE-protocol-p.
	(java-type-to-native-type): Handle java.lang.reflect.Method.
	(java-argument-print-conversion): Handle jmethodID.
	(java-print-makefiles, java-print-classes): Use removed-protocol-p
	instead of the-CREATABLE-protocol-p.

1999-03-08  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (C_EXTRA_DIST, SWARM_EXTRA_DIST): New variables.
	(EXTRA_DIST): Include them.

	* java-stub.el (java-type-to-native-type): Add boolean and void.
	(java-argument-print-conversion): New function.
	(java-print-native-method): Make the call. Handle argument and
	return value conversions for String and Object.
	(java-print-native-class): Include the module's header file and
	directory.h.  Declare JNIEnv object.

1999-03-05  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (jdkdir, JAVASTUBS): Substitute.
	(all, install): Depend on computed variable name based on
	JAVASTUBS.
	(all-stubs, install-stubs): Formerly the all and install targets.

1999-03-02  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (java-print-native-method): Print out some return
	values to avoid compiler warnings [temporary].
	(included-method-p): New function.
	(method-list, java-print-interface-methods-in-phase,
	java-print-native-class): Use included-method-p.
	(java-print-native-class): Import defobj.h.

1999-03-01  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (SUBMAKEFILES): Use instead of MAKEFILES.  (MAKEFILES
	is the environmental equivalent of include!)
	(install): New target.

	* java-stub.el (java-print-native-method): Take phase argument.
	(java-print-native-class): Loop over creating and using phase,
	passing to java-print-native-method.
	(with-protocol-c-file): Use .m files.

1999-02-28  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* Makefile.am (all, stubs): Mark as phony.
	(stubs): Depend on Makefile.conf and $(MAKEFILES).
	(all): Depend on stubs.
	(Makefile.common $(MAKEFILES)): Depend on java-stub.elc
	and module headers.

	* java-stub.el (*java-path*, *c-path*): New constants.
	(with-protocol-c-file): Use *c-path*.
	(*stub-directory*): Remove.
	(module-path): Don't use *stub-directory*.
	(java-print-makefiles): Simplify to use templates.  Generate
	only Makefile.common with protocol and module lists, and
	per-module Makefiles.
	(java-print-classes): Use *java-path* instead of literal.

	* Makefile.am (stubs): Run stub generation in c and swarm
	directories.

1999-02-27  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el (removed-method-p): Avoid all methods with an
	ellipsis argument.
	(java-print-methods-in-phase): Remove.
	(java-print-interface-methods-in-phase): Loop over protocol
	methods.
	(java-print-class-methods-in-phase): Loop over expanded list of
	methods.
	(*objc-to-java-type-alist*): Treat void*, ref_t, val_t, Protocol*,
	and unsigned long long int as freaky.
	(java-objc-to-java-type): Renamed from java-type-for-objc-type.
	(with-protocol-java-file): Renamed from with-protocol-file.
	(with-protocol-c-file): New macro.
	(mangle-signature, java-type-to-signature,
	java-type-to-native-type, java-argument-convert,
	java-argument-empty-p, java-print-native-method,
	java-print-native-class): New functions.
	(java-print-classes): Call java-print-native-class.
	(java-run-all): Pass :uniquify-method-lists t.
	(module-path): New function.
	(with-protocol-{c,java}-file): Use it.
	(java-print-interface-name): Removed.
	(java-class-name, java-interface-name): New functions.  Latter
	uses former.
	(java-print-makefiles): New function.
	(java-print-classes): Use it.

1999-02-26  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el: Use insert throughout instead of java-print wrapper.
	(ensure-directory): New function.
	(with-protocol-file, java-print-interface-phase-to-file): Use it.
	(java-print-class-phase-to-file): Use it.
	(java-print-classes): Create swarm directory.
	(the-CREATABLE-protocol-p): New function.
	(CREATABLE-p): Use it.
	(removed-method-p): New function.
	(method-list): New function.  Use it.
	(java-print-methods-in-phase): Use it.
	(*objc-to-java-type-alist*): notify_t and long doubles are freaky.
	(java-print-method): Concatenate method keys together into single
	Java method name. Upcase second and after keys.
	(removed-method-p): Also reject getDisplayName, setDisplayName,
	getTypeName, copy, and remove.
	(method-list): Use expanded method list.
	(java-print-argument): Avoid use of "class" as a variable name.
	(freaky-message): New function.
	(java-type-for-objc-type): Use it.
	(java-print-classes): Don't print stubs for CREATABLE protocol.

1999-02-25  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el: Rewrite.  Stubs mostly compile now.  Two
	significant conceptual change: interfaces are generated
	for all phases of classes (prefixed with i_), and abstract
	classes are generated for when a protocol is not tagged CREATABLE.

1999-02-24  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el: Use eval-and-compile to set load-path from
	BUILDDIR.  require protocol instead of loading it.

1999-02-24  Vladimir Jojic  <vjojic@chama.santafe.edu>

	* java-stub-new.el: New java stub generator. 
	(java-make-interface): Convert module symbol to string.
	(java-make-interface-setting): Likewise.
	(java-make-class): Likewise.

1999-02-23  Marcus G. Daniels  <mgd@pojoaque.santafe.edu>

	* java-stub.el: Load protocol.el from $SWARMSRCDIR/etc/protocol.el.
	Remove buffer arguments throughout, depending instead on
	use of with-temp-file, etc.  Use java-print throughout instead of
	print and princ.
	(java-protocol-creatable-p): Renamed from java-is-creatable.
	(*objc-to-java-type-alist*): Regular express alist of type
	conversion rules.
	(*last-protocol*, *stub-directory*): New variables.
	(java-type-for-objc-type): Use it.  Use string-match using alist
	patterns as ^$ wrappedregular expressions.
	(java-protocol-creatable-p): Use find instead of loop.
	(java-print, freakyp): New functions.
	(java-print-type): Print a message when freaky types are seen.
	(java-print-argument): Don't do anything when varname doesn't
	exist (the case of method with no arguments).
	(java-print-methods-in-protocol): Use mapcar instead of loop, set
	(java-print-class): Use with-current-buffer instead of creating
	and passing down Makefile buffer to java-print-makefile.
	(java-print-classes): Kill the makefile-buffer when finished.
	Set *last-protocol* for use by debugging messages.
	(java-print-protocol-list-with-suffix): Remove (similiar contents
	were inlined in java-print-implemented-protocols-list -- now are
	in flet).
	(java-print-implemented-protocols-list): New internal function
	protocol-loop, reused several times.
	(stub-protocol-path): New function.
	(java-print-interface, java-print-interface-setting,
	java-print-class-creating, java-print-class-using): Use it.  Use
	with-temp-file instead of creating buffer by hand and passing it
	down.

1999-02-16  Vladimir Jojic  <vjojic@chama.santafe.edu>

	* java-stub.el: Makefile generation. 

	* Makefile.am (EXTRA_DIST): Add java-stub.el.

	* java-stub.el: New file.


	
