2003-11-21  Per Bothner  <per@bothner.com>

	* IntegerRange.java (integerRange):  If M > N then M to N is now empty.

2003-11-14  Per Bothner  <per@bothner.com>

	* StringValue.java (concat$V):  New method.

2003-10-19  Per Bothner  <per@bothner.com>

	* ValuesEvery.java:  New class, extends CpsProcedure.
	* Makefile.am:  Update accordingly.

2003-10-07  Per Bothner  <per@bothner.com>

	* BooleanValue.java (booleanValue):  Change to match spec better.

	* IntegerRange.java (integerRange):  Fix bugs.  Make static.

2003-09-24  Per Bothner  <per@bothner.com>

	* MakeAttribute.java:  Now extends gnu.kawa.xml.NodeConstructor.
	(apply):  Update.  (compileToNode):  New, replaces compile method.
	* MakeElement.java:  Likewise.

2003-09-11  Per Bothner  <per@bothner.com>

	* ValuesFilter.java:  Implement CanInline.
	(inline):  New method.

2003-09-09  Per Bothner  <per@bothner.com>

	* RelativeStep.java:  Now implements CanInline.
	(inline):  New method.
	(apply):  Use Nodes class and simplify.

2003-08-03  Per Bothner  <per@bothner.com>

	* RelativeStep.java:  New class, extends CpsProcedure.
	* ValuesFilter.java:  Re-write to correctly implement spec.
	* Position.java:  Remove - no longer used.
	* Makefile.in (java_sources):  Update accordingly.

	* StringValue.java (contains, startsWith, endsWith):  Use stringValue
	rather than toString to convert arguments.

2003-07-23  Terje Pedersen  <terje@brassforum.com>

	* StringValue.java (stringLength, substringBefore, substringAfter,
	translate, stringPad, contains, startsWith, endsWith, stringJoin):
	New standard functions.

2003-07-16  Per Bothner  <per@bothner.com>

	* Compare.java (inline):  Use new inlineIfConstant method overloading.

2003-07-10  Per Bothner  <per@bothner.com>

	* MakeElement.java (compile):  Use new
	ElementConstructor.compileUsingNodeTree method.

2003-05-08  Per Bothner  <per@bothner.com>

	* Debug.java:  New class.
	(trace):  New static method, implements the 'trace' function.
	* Makefile.am (java_sources):  Update accordingly.

2003-03-29  Per Bothner  <per@bothner.com>

	* StringValue.java (lowerCase, upperCase, substring):  New methods.
	Based on a patch from Jim Smith <jim@pagesmiths.com>.

2003-03-15  Per Bothner  <per@bothner.com>

	* XMLFormat.java (writeObject):  Check if toString returns null.

2003-03-02  Per Bothner  <per@bothner.com>

	* BaseUri.java:  Moved gnu.kawa.functions.
	* Makefile.am (java_sources):  Remove BaseUri.java.

2003-02-13  Per Bothner  <per@bothner.com>

	* BaseUri.java:  New class, extends Procedure1.
	* Makefile.am (java_sources):  Add BaseUri.java.

2003-01-09  Per Bothner  <per@bothner.com>

	* Average.java:  Update for gnu.lists changes.
	* BooleanValue.java:  Likewise.
	* Children.java:  Likewise.
	* Compare.java:  Likewise.
	* Reduce.java:  Likewise.
	* StringValue.java:  Likewise.
	* SubList.java:  Likewise.
	* ValuesFilter.java:  Likewise.

2002-11-16  Per Bothner  <per@bothner.com>

	* MakeAttribute.java, MakeElement.java:  Use gnu.mapping.Symbol
	instead of gnu.xml.QName.

2002-08-18  Per Bothner  <per@bothner.com>

	* MakeAttribute.java (beginAttribute):  Swap argument order, for
	consistency with compile and also MakeElement's beginGroup.
	(apply):  Fix beginAttribute call to match.

2002-07-21  Per Bothner  <per@bothner.com>

	* Compare.java, MakeElement.java (inline):  Update to take
	extra ExpWalker parameter.

2002-07-02  Per Bothner  <per@bothner.com>

	* Compare.java (apply):  Mistaken assumption - String.compareTo does
	not necessarily return -1, 0, or 1.

	* IndexOf.java:  New class, extends Procedure2.
	* LastIndexOf.java:  New class, extends Procedure2.
	* Makefile.am (java_sources):  add new files.

2002-05-06  Per Bothner  <per@bothner.com>

	* Compare.java:  Implement CanInline.

	* Focus.java.in:  Move to gnu.kawa.xml.
	* Makefile.am:  Update accordingly.
	* Position.java:  Now need to import Focus.
	* ValuesFilter.java:  Likewise.

2002-04-19  Per Bothner  <per@bothner.com>

	* Average.java:  New class, extends Procedure1.
	* Reduce.java:  New class, extends Procedure1.
	* Makefile.am (java_sources):  Update accordingly.
	* MinMax.java:  Change to inherit from Reduce.

2002-04-18  Per Bothner  <per@bothner.com>

	* BooleanValue.java:  New class, extends Procedure1.
	* Makefile.am (java_sources):  Add BooleanValue.java.

2002-04-08  Per Bothner  <per@bothner.com>

	* Children.java (children):  Use nextNodeIndex.

2002-03-16  Per Bothner  <per@bothner.com>

	* Makefile.am (java_sources):  Remove mistakenly added MapDescendents.

2002-03-07  Per Bothner  <per@bothner.com>

	* MinMax.java:  New class, extends Procedure1.
	* Position.java:  New class, extends Procedure0.
	* Makefile.am:  Update accordingly.
	* Focus.java.in (compileGetCurrent):  New static helper method.

	* Focus.java.in (position):  Change type from int to long.
	* ValuesFilter.java (apply):  Update current Focus's position field.

2002-03-02  Per Bothner  <per@bothner.com>

	* Focus.java.in:  New sed-processed class, extends SeqPosition.
	* Makefile.am:  Update accordingly.

2002-02-13  Per Bothner  <per@bothner.com>

	* MakeAttribute.java (apply):  Do getNextArg inside loop.

2002-02-05  Per Bothner  <per@bothner.com>

	* ElementType.java:  Moved to gnu.kawa.xml.
	* NamedChildren.java:  Moved to gnu.kawa.xml.
	* NodeType.java:  Moved to gnu.kawa.xml.
	* Makefile.am:  Update accordingly.

2002-01-23  Per Bothner  <per@bothner.com>

	* AppendValues.java:  Removed - moved to gnu.kawa.functions.
	* Makefile.am:  Update accordingly.

2002-01-21  Per Bothner  <per@bothner.com>

	* Document.java:  Moved to gnu.kawa.xml.

	* Document.java (document):  New static methods.
	(apply):  Use one of the new methods.

2002-01-07  Per Bothner  <per@bothner.com>

	* Document.java (makeURL):  New helper method.
	(apply(CallContext)):  New method, send directly to Consumer.

	* NamedChildren.java (compile):  Optimize if ConsumeTarget.

	* ValuesFilter.java (matches):  Handle a TreeList.

	* XMLFormat.java (format):  New method.

2002-01-02  Per Bothner  <per@bothner.com>

	* NumberValue.java:  New class, extends Procedure1.
	* Makefile.am (java_sources):  Add NumberValue.java.

2001-12-24  Per Bothner  <per@bothner.com>

	* ElementType.java:  New class, extends NodeType, implements TypeValue.
	* ItemAt.java:  New class, extends Proecdure2.
	* SubList.java:  New class, extends CpsProcedure.
	* Makefile.am (java_sources):  Add new classes.

	* Document.java (document):  Reverse incorrect isLetter test.

2001-11-24  Per Bothner  <per@bothner.com>

	* MakeElement.java (beginGroup, endGroup):  Switch argument order.
	(inline):  Use Expressions's setLine to set line number info.

	* NamedChildren.java (compile):  Also optimize ConsumerTarget.
	(getPropertyName, getNamedProperty):  New methods.
	(namedChildren, getNamaedChild, gotoNext, gotoFirstChild):  Add
	support for getting named properties from beans e.g. $request/method.
	* NodeType.java (coerce):  Handle arbitrary value.

2001-11-18  Per Bothner  <per@bothner.com>

	* Document.java (document, apply1): Specific that it throws Throwable,
	thus we no longer have to wrap exceptions.

	* AppendValues.java (compile):  Use compileWithPosition.

2001-11-12  Per Bothner  <per@bothner.com>

	* Document.java (document):  Filter through NamespaceResolver.
	
	* NamedChildren.java (namedChildren):  Use getNamedChild method.

	* MakeElement.java:  Also implement CanInline.
	(inline):  New method.

	* MakeElement.am (beginGroup, endGroup):  New helper methods.
	(apply):  Use new methods.
	(compile):  Call new methods.	
	* MakeAttribute.java (beginAttribute):  New helper method.
	(numArgs):  Now takes any number of arguments.
	(apply):  Use new helper method; handle any number of arguments.
	(compile):  Similarly.

2001-11-06  Per Bothner  <per@bothner.com>

	* StringValue.java:  Various fixes to actually make it work.
	(string):  New static, to match function name "string".

	* ValuesFilter.java (matches):  Handle multiple values better.
	(apply):  Inceement count *before* calling matches.

	* XMLFormat.java:  Update as XMLPrinter now takes a Consumer.

	* Compare.java:  New class, extends Procedure2.
	* Makefile.am (java_sources):  Add Compare.java.

2001-11-01  Per Bothner  <per@bothner.com>

	* ValuesFilter.java:  New class, extends CpsProcedure.
	* Makefile.am (java_sources):  Added ValuesFilter.java.

	* NamedChildren.java (compile):  If namespaceURI and localName are
	constant, don't recompile them to a variable.

	* NamedChildren.java (compile):  Remove pushScope/popScope ad it can
	cause register clobbering due to use complex jsr-based control flow.

2001-10-25  Per Bothner  <per@bothner.com>

	* AppendValues.java (compile):  Optimize for SeriesTarget.
	* NamedChildren.java:  Now implements Inlineable.
	(getNamedChild, gotoNext, gotoFirstChild):  New static helper methods.
	(compile, getReturnType):  New methods.
	* NodeType.java:  New class, extends ClassType.
	* Makefile.am (java_sources):  Added NodeType.java.

2001-10-17  Per Bothner  <per@bothner.com>

	* NamedChildren.java:  Turn into a 3-argument procedure.

2001-10-02  Per Bothner  <per@bothner.com>

	* IsEmptySequence.java:  New class; extends Procedure1.
	* Makefile.am (java_sources):  Add IsEmptySequence.java.

2001-09-24  Per Bothner  <per@bothner.com>

	* IntegerRange.java:  New class; extends CpsProcedure.

2001-08-16  Per Bothner  <per@bothner.com>

	* Children.java:  New class, extends CpsProcedure.
	* NamedChildren.java:  New class, extends CpsProcedure.
	* StringValue.java:  New class, extends Procedure1.
	* Makefile.am (java_sources):  Add new classes.

	* Document.java (document):  Call TreeList's beginDocument method.

2001-07-18  Per Bothner  <per@bothner.com>

	New package gnu.xquery.util.
	* XMLFormat.java:  New class, extends AbstractFormat.
	* MakeElement.java:  New class; extends CpsProcedure.
	* MakeAttribute.java:  New class; extends CpsProcedure.
	* Document.java:  New class; extends Procedure1.
	* AppendValues.java:  New class; extends CpsProcedure.

