2005-09-07  Per Bothner  <per@bothner.com>

	* SourceError.java (totring): Check that line is non-zero.

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

	* PrettyWriter.java (lineLengthLoc, miserWidthLoc, indentLoc):
	New fields contains fluids for controlling output.
	(startLogicalBlock): If queue is empty, check width etc.
	(getMiserWidth): Use parameter instead of hard-wired.

2005-05-17  Per Bothner  <per@bothner.com>

	* SourceError.java (message): Can contain muliple lines.
	(println(PrintStream), println(PrintWriter)): New methods.
	* SourceMessages.java (printAll): Use new println methods.

2005-04-03  Per Bothner  <per@bothner.com>

	* Lexer.java: Fix a javadoc typo.
	* Options.java: Likewise.
	* SourceMessages.java: Likewise.

2005-03-17  Per Bothner  <per@bothner.com>

	* SourceMessages.java (sortMessages): New boolean field.
	(error): Only sort if sortMessages, which now defaults to false.

2005-01-30  Per Bothner  <per@bothner.com>

	* SourceMessages.java (error): Put fatal errors at the end.

2005-01-28  Per Bothner  <per@bothner.com>

	* Char.java ($Eq, $Ls, $Gr, $Ls$Eq, $Gr$Eq): Remove now-unused methods.

2005-01-19  Per Bothner  <per@bothner.com>

	* LineBufferedReader.java (read): Return before buffer full if
	input buffer exhausted and we got at least one char.

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

	* PrettyWriter.java (NEWLINE_SPACE): New newline-kind.
	(write [3 variants]): Maybe enqueue a NEWLINE_SPACE.

	* PrettyWriter.java: Some more normally-commented-out debug stuff.

	* Char.java: Change "select" (preprocessor) syntax.

2005-01-01  Per Bothner  <per@bothner.com>

	* LiteralFormat.java (content): New method.

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

	* PrettyWriter.java (endLogicalBlock):  Fix "dangling pointer" bug.

	* PrettyWriter.java (check):  New debugging method.

	* PrettyWriter.java:  Renamed QUEUED_OP_XXX to short QITEM_XXX.
	Renamed QUEUED_OP_SIZE TO QITEM_BASE_SIZE.
	Renamed QUEUED_OP_TYPE to QITEM_TYPE_AND_SIZE.

2004-07-28  Per Bothner  <per@bothner.com>

	* Options.java (keys):  Make non-recursive.

2004-07-27  Chris Dean  <ctdean@sokitomi.com>

	* Options.java:  Add keys() function.

2004-07-20  Per Bothner  <per@bothner.com>

	* IntegerFormat.java:  Remove useless import statements.
	* LiteralFormat.java (toString):  Adding a String and a char[]
	doesn't behave as expected.

2004-06-12  Per Bothner  <per@bothner.com>

	* Lexer.java (pushNesting, popNesting):  Moved from XQParser.
	* LineBufferedReader.java (readState, getReadState):
	Moved from gnu.mapping.InPort.

2004-06-07  Per Bothner  <per@bothner.com>

	* PrettyWriter.java (maybeOutput):  Clear currentBlock if needed.

2004-05-28  Per Bothner  <per@bothner.com>

	* CompoundFormat.java (format):  Check for missing argument.
	* IntegerFormat.java (format):  Check for missing argument.

2004-05-22  Per Bothner  <per@bothner.com>

	* PrettyWriter.java (currentBlock):  -1 now means none.
	(startLogicalBlock, endLogicalBlock):  Update accordinly.
	(endLogicalBlock):  Simplify and correct test.

	* PrettyWriter.java
	(QUEUED_OP_BLOCK_PREFIX): Renamed to QUEUED_OP_BLOCK_START_SUFFIX.
	Fix value of this and QUEUED_OP_BLOCK_START_SUFFIX to avoid conflict.
	(QUEUED_OP_BLOCK_START_SIZE):  Adjust accordingly.

	* PrettyWriter.java:  Improved commented-out debugging tools.

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

	* Text.java:  Implement Comparable, and Map.Entry, if JAVA2.
	(compareTo):   New method.

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

	* Lexer.java, SourceError.java, SourceMessages.java,
	SyntaxException.java:  Improved Javadoc comments.

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

	* IntegerFormat.java (MIN_DIGITS):  New flag.
	(format):  Handle new flag.

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

	* Options.java (valueOf):  Allow "on"/"off" for boolean options.

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

	* Options.java (valueTable, infoTable):  Only allocate when needed.
	(reset, getLocal, getBoolean(String, boolean), pushOptionValues,
	popOptionValues):  New methods.

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

	* Options.java:  New class.
	* Makefile.am:  Update accordingly.

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

	* PrettyWriter.java (<init>):  Fix thinko in parameter name.

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

	* Lexer.java (checkNext):  Moved from XQParser.java.  Re-written.

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

	* SyntaxException.java (SyntaxException):  New constructor.
	(maxToPrint):  New field.
	(getMessage):  New method.

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

	* Lexer.java (mark, reset):  New methods.

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

	* PrettyWriter.java (QUEUED_OP_DUMMY_TYPE):
	Rename constant to QUEUED_OP_NOP_TYPE.
	(indexColumn, dumpQueue, outputPartialLine):  If queued op is
	QUEUED_OP_NOP_TYPE, there is no posn, so skip it.
	(forcePrettyOutput):  Clear queueSize.  This avoids a future
	ArrayIndexOutOfBoundsException.

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

	* SourceMessages.java (getFile, getLine, getColumn, setFile, setLine,
	setLine, error):  New messages.
	(current_filename, current_line, current_column):  New fields.

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

	* LineBufferedReader.java (skip):  More robust newline handling.
	The old implementation got line numbers off.
	(read(char[],int,int)):  Likewise.

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

	* LineBufferedReader.java (reserve):  Fix logic error.
	(countLines):  Change 2nd parameter from length to limit.

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

	* PrettyWriter.java (outputLine):  Copy prefix to new buffer, not
	original one.  Fixes bug reported by Mirko.Luedde@Computer.Org.

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

	* Char.java (toString):  Print char in Java format, e.g. "'\t'".

	* Char.java:  No longer implements Printable.
	Thus no gnu.text no longer depends on gnu.mapping.
	(print):  Remove method.

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

	* SyntaxException.java (header):  New field.
	(getHeader, setHeader):  New methods.
	(printAll):  First print header, if non-null.

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

	* Lexer.java (interactive):  New field.
	(isInteractive, setInteractive):  New methods.

	* Lexer.java (eofError):  New method.

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

	* IntegerFormat.java:  Remove dependencies on gnu.math.
	Move them to new class gnu.kawa.functions.IntegerFormat.
	(base, minWidth, padChar, commaChar, commaInterval, flags): Now public.
	(plainDecimalFormat, getInstance):  Move to new class.
	(asInteger):  Remove method.
	(convertToIntegerString):  New method.

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

	* Lexer.java (unread):  Only unread if character is not eof.

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

	* PrettyWriter.java (isPrettyPrinting):  Set in constructors only.

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

	* PrettyWriter.java (setIndentation):  Fix handling of 'prefix' local
	cache for 'prefix' field.
	Fixes bug reported by Felix S Klock II <pnkfelix@MIT.EDU>.

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

	* SourceMessages.java (printAll):  Make public.

	* SourceMessages.java (clear): New method.
	* SyntaxException.java (clear): New method.

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

	* EnglishIntegerFormat.java:  For now disable FormatToConsumer support.

2001-07-06  Thomas Kirk  <tk@research.att.com>

	* PrettyWriter.java(ensureSpaceInBuffer): Don't call
	outputPartialLine when isPrettyPrinting is false (e.g. when
	printing to a CharArrayOutPort).	

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

	* PrettyWriter.java: New class, extends Writer.

	* WriterManager.java:  New class.
	* Makefile.am (java_sources):  Add new classes.

	* EnglishIntegerFormat.java:  Experimental FormatConsumer support.

2001-04-22  Per Bothner  <per@bothner.com>

	* Char.java (nameToChar):  Try looking for named char, ignoring case.
	If we see C-X (for any X), return the corresponding control character.

	* Lexer.java (getName, getLineNumber, getColumnNumber):  New methods.

	* Lexer.java (tokenBuffer, tokenBufferLength):  New public fields.
	(tokenBufferAppend):  New method.

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

	* ReportFormat.java (getParam):  If no args passed return defaultValue.

	* ReportFormat.java (format(Object,int,Writer,FieldPosition)):  New
	method overloading - a convenience method.
	* IntegerFormat.java (format):  New overload.  The perpose is to allow
	format to be called with a single argument, and not require an array.

2000-06-19  Per Bothner  <per@bothner.com>

	* Char.java:  New file, moved from gnu.kawa.util.
	($Eq, $Ls, $Gt, $Ls$Eq, $Ls$gr):  New static methods.

	* IntegerFormat.java:  New class, bases on old LispIntegerFormat
	from kawa/standard/LispFormat.java.
	* ReportFormat.java (PARAM_FROM_LIST, PARAM_FROM_COUNT,
	PARAM_UNSPECIFIED):  Moved from kawa/standard/LispFormat.
	(getFormat):  Static methods moved from LispFormat.

2000-05-28  Per Bothner  <per@bothner.com>

	* CharArrayInPort.java:  Moved to gnu.mapping.
	* LispReader.java:  Moved to new package gnu.kawa.lispexpr.
	* Makefile.am (java_JAVA):  Updated accordingly.

2000-03-17  Per Bothner  <per@bothner.com>

	* LispReader.java (readEscape):  Split into two overloaded methods.
	(Mainly so `?\ ' in ELisp can be treated as space.)

2000-02-27  Per Bothner  <per@bothner.com>

	Various tweaks for better javadoc processing.
	* overview.html:  Renamed to package.html.

2000-02-19  Per Bothner  <per@bothner.com>

	* LineBufferedReader.java (fill):  Change parameters.

2000-01-24  Per Bothner  <per@bothner.com>

	* QueueReader.java:  New classes, moved from kawa/lang.
	* Makefile.am, Makefile.in (java_JAVA):  Add QueueReader.java.

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

	* SourceMessages.java (errorCount):  Make private.
	* Lexer.java (clearErrors):  Use SourceMessages.errorCount method.

1999-12-10  Per Bothner  <per@bothner.com>

	* NullReader.java, CharArrayInPort.java:  Moved from kawa/lang.
	* Makefile.am, Makefile.in (java_JAVA):  Add new files.

1999-10-20  Bruce Lewis  <brlewis@alum.mit.edu>

	* gnu/text/LispReader.java: readListBody now takes an int
	argument for endDelimiter; -1 means read to EOF.  This facilitates
	reading an entire file with line/column info.

1999-09-05  Per Bothner  <per@bothner.com>

	* LineBufferedReader.java (readLine):  New overloaded version.

	* SourceMessages.java (checkErrors):  New method overloading.
	For both versions, do not return true if only warnings were seen.

	* LispReader.java (readEscape):  Move here from ELispReader.

1999-06-30  Per Bothner  <per@bothner.com>

	* PadFormat.java (format):  Trivial optimization.

1999-04-22  Per Bothner  <bothner@Magnus.Cygnus.COM>

	* SourceMessages.java:  New class (collection of SourceError).
	* Makefile.am, Makefile.in (java_JAVA):  Add SourceMessages.java.
	* Lexer.java:  Re-written - error handling now using SourceMessages.
	* LispReader.java (readlistBody, readList):  New overloads that
	take an explicit end delimiter, not just ')'.
	* SourceError.java (printAll):  Replaced by SourceMessages.printAll.
	* SyntaxException.java (lexer):  Lexer field replaced by ...
	(messages):  ... new SourceMessages field.  Change methods to match.

Thu Mar 11 11:14:49 1999  Per Bothner  <bothner@Magnus.Cygnus.COM>

	* LispReader.java:  New class.
	* Makefile.am (java_JAVA), Makefile.in:  Add LispReader.java.

Thu Jun 25 22:36:19 1998  Per Bothner  <bothner@cygnus.com>

	New directory.
