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

	* DefineNamespace.java (scanForDefinitions): Fix bad error message.

	* LispLanguage.java (makeApply): Return more specific ApplyExp type.

2005-08-03  Chris Dean  <ctdean@sokitomi.com>
	    Per Bothner  <per@bothner.com>

	* DefineNamespace.java: Implement define-private-namespace.
	(makePrivate): New field.
	(define_private_namespace): New static field.
	(scanForDefinitions): Check makePrivate field.

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

	* DefineNamespace.java (scanForDefinitions): Set IS_NAMESPACE_PREFIX
	flag on namespace declaration.

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

	* LispLanguage.java (declFromField): New method, refines method
	in Language by checking for Syntax.

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

	* ReadTable.java (current): Update ThreadLocation constructor call.

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

	* ReadTable.java (current): Make non-public.

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

	* package.html: New file, for javadoc.

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

	* LispLanguage.java (parse): Save/set/restore current Compilation.

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

	* DefineNamespace.java (define_namespace): New static "instance" field.

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

	* ReadTable.java (current): Change to fluid.
	(getCurrent): Rewrite to use current and default to using Language's.
	(setCurent): New method.

	* LispLanguage.java (defaultReadTable): New field.
	(createReadTable): New abstract method.
	* LispReader.java (getReadTable): Remove method.
	(readValues, readToken):  Use current ReadTable.
	* ReaderParens.java (readList): Likewise.
	* ReaderTypespec.java (read): Likewise.
	* ReaderDispatch.java (getInitial): Rename to create.
	(read): Fix call to error so we get correct column number.
	* ReadTable (getInitial): Update ReaderDispatch.getInitial->create.
	* ScmRead.java (getReadTable): Remove method.
	(readtable, makeSchemeReadTable): Remove members - handle by
	new createReadTable method in Scheme.

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

	* LispLanguage.java (defSntxStFld): Call FieldLocation's setSyntax.

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

	* DefineNamespace.java: Update Interpreter -> Language.
	* LangPrimType.java: Likewise.

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

	* DefineNamespace.java: Moved here from gnu.kawa.xml.
	The reason is so namespaces can work even when --disable-xml.

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

	* LispLanguage.java: New class, renamed from ...
	* LispInterpreter.java: ... removed class.
	* Makefile.am (java_sources): Update accordingly.
	* ReadTable.java: Update LispInterpreter -> LispLanguage.

	* LispLanguage.java (langSymbolToSymbol): New staic method.
	(fromLangSymbol): New protected method.
	
2005-01-21  Per Bothner  <per@bothner.com>

	* LispInterpreter.java: Inherit from Language rather than Interpreter.

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

	* LispInterpreter.java: New method.
	* LispPackage.kava (lookup): Use new add method.

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

	* LispInterpreter.java (defSntxStFld): New methods.
	* LispPackage.java: New class extends Namespace.
	* Makefile.am: Update accordingly.
	* LispReader.java: Update for new Location handling.

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

	* LispInterpreter.java (parse): Update for new scanning api.

2004-10-26  Per Bothner  <per@bothner.com>

	* ScmRead.java (makeSchemeReadTable): New static method.
	(schemeReadTable): New static field, set using makeSchemeReadTable.
	(getReadTable): New methods override, returns schemeReadTable.

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

	* LangPrimType.java:  Now implement TypeValue.
	(emitTestIf, emitIsInstance):  New methods.
	(emitIsInstance(CodeAttr)): New method.

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

	* LispInterpreter.java:  Remove unused import statements.
	* ReadTable.java:  Likewise.
	* ReadTableEntry.java:  Likewise.
	* ReaderDispatchMisc.java:  Likewise.
	* ReaderParens.java:  Likewise.

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

	* LispReader.java (readValues):  Fatal on invalid char if interactive.

	* LispReader.java (readCommand):  New method.
	* LispInterpreter.java (parse):  Use readCommand instead of readObject.

	* ReaderParens (readList):  Use new pushNesting/popNesting methods.

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

	* ReaderParens.java (readList):  For list as a whole, set line/column
	to that of the initial paren, not the first car.

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

	* LispReader.java (readSimpleVector): Allow zero-length
	uniform/simple vectors.

	* LispReader.java (isPotentialNumber):  Minor cleanup.

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

	* LispReader.java (isPotentialNumber):  Allow initial '_' for symbols.

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

	* LispInterpreter.java (makeApply):  New method - used by Translator.

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

	* ReadTable.java (lookup):  Unknown characters are "constituent".

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

	* LispInterpreter.java (quote_sym, unquote_sym, unquotesplicing_sym,
	quasiquote_sym):  Move constants here from gnu.expr.Interpreter.
	* ReadTable.java (getInitial):  Update accordingly.

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

	* LispInterpreter.java (parse):  Update to take a Lexer rather than
	an InPort.

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

	* LispInterpreter.java (parse, parseFile):  Combined to single
	'parse' method.

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

	* LispInterpreter.java (parse, parseFile):  Pass this to Translator.

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

	* LangPrimType.java (byteType, shortType, intType, longType, floatType,
	doubleType, charType, voidType):  Make final.
	* ReaderDispatchMisc.java:  Use Boolean FALSE/TRUE directly instead
	of via Interpreter falseObject/trueObject field.
	* LispReader.java:  Likewise use Undefined.undefined directly.

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

	* LispReader.java (parseNumber):  Handle multi-unit products.

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

	* LispReader.java (parseNumber):  Fix bug reported by Aubrey Jaffer.

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

	* LispReader.java (parseNumber):  Unit.mul has been renamed to times.

	* LispReader.java (isPotentialNumber):  New method.
	(checkNumber):  Inlined in handleToken and removed.
	(parseNumber):  New extra 'exactness' parameter.
	Return error strings on all errors.
	Fix handling of #i-1/0 with new numeratorNegative variable.
	(handleToken):  Use isPotentialNumber to distinguish symbols
	from malformed numbers, and emit error in latter case.

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

	* LispReader.java (parseNumber):  Move duplicated code to ...
	(valueOf):  New method for parsing integer strings.
	Fix logic for testing fits-in-long to account for radix.

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

	* LangPrimType.java (compare):  Fix thinko.
	Fixes bug reported by Vladimir Tsichevski <wowa1@online.ru>.

	* LispReader.java (readToken):  Allow "illegal" character if escaped.

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

	* ScmRead.java (scmReadTable):  Remove static field.
	(getReadTable):  Remove method
	* ReadTable.java (defaultBracketMode):  Move earlier, so it's set
	before call to getInitial.

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

	* LispInterpreter.java (parseFile): Take and use new 'immediate'
	parameter.

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

	* LispInterpreter.java (makeModuleExp):  Moved from Scheme.java.
	(parse, parseFile):  Update to new Interpreter API.

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

	* LangPrimType.java (emitCoerceToObject):  Combine similar code.

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

	* LispInterpreter.java (parseFile):  Now throws IOException and
	SyntaxException.

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

	* LispReader.java:  Make non-abstract.

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

	* LispInterpreter.java (makeBody):  New method.

	* ReaderParens.java (readList):  Use Lexer's new eofError method.

	* ScmRead.java:  Remove some unused import declarations.

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

	* LispReader.java (readSpecial):  Skip Unix script header #!/PROGRAM.

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

	* ReadTable.java (setBracketMode):  New methods.
	(defaultBracketMode):  New static field
	(<init>):  Use new method.

2001-11-24  Bruce Lewis  <brlewis@users.sourceforge.net>

	* ReaderTypespec.java:	New class, extends ReadTableEntry
	* Makefile.am (java_sources):  Added ReaderTypespec.java

2001-11-24  Per Bothner  <per@bothner.com>
	
	* ScmRead.scm (<init>):  Revert change of 11-19.

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

	* LispReader.scm (initialColonIsKeyword, finalColonIsKeyword):  New.
	(returnSymbol):  Use new flags.
	* ScmRead.scm (<init>):  Set initialColonIsKeyword to false.
	
2001-11-14  Per Bothner  <per@bothner.com>

	* LangPrimType.java (compare):  Boolean is less specific than
	other types.

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

	* ReaderDispatchMacro.java (read):  Since apply3 now throws Throwable,
	we must catch it.
	* ReaderMacro.java (read)  Likewise, for apply2 call.

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

	* LangPrimType.java (compare):  Any type can be converted to
	boolean and vice versa, so return 0.

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

	* LangPrimType.java (implementationType):  New field.
	(<init>):  Set implementationType.
	(getImplementationType):  New method.

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

	Handle Guile-style keyword syntax '#:KEYWORD'.
	* ReaderDispatchMisc.java (read):  On ':', read a keyword.
	* ReaderDispatch.java (getInitial):  Register ':' dispatch syntax.

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

	* LispInterpreter.java:  If --applet was specified on command line,
	note that supertype was specified,

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

	* LispInterpreter.java:  New class, extends Interpreter.
	* Makefile.am (java_sourceses):  Added LispInterpreter.java.

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

	* ReaderParens.java (readList):  Fix handling of bad syntax.

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

	* ReaderParens.java (readList):  After seeing '.' that starts a token,
	set ch to '.'.  Fixes bug report of Thomas Kirk <tk@research.att.com>.

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

	* ReaderDispatch.java (read):  Better error message.

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

	* LangPrimType.java (compare):  New method, handles <boolean>.
	Fixes bug reported 05-11 by Allan Erskine <a.erskine@cs.ucl.ac.uk>.

	* LangPrimType.java:  New class, renamed from kawa.lang.SpecialType.
	* Makefile.am (java_sources):  Update accordingly.

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

	* LispReader.java (readValues):  Add missing read().

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

	* ReaderParens.java (readList):  Re-order tests so that the case
	that there is no closing delimiter (ch==-1).  Fixes Scheme.eval.

	* LispReader.java (makePair):  Don't used to-be-removed
	PairWithPosition constructor; use static make method instead.

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

	* LispReader.java (parseNumber):  Use new Convert.parseDouble.

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

	* LispReader.java (parseNumber):  Set decimal_point correct.
	If no digits before decimal_point adjust digits_start to include point.

	* LispReader.java (makeSymbol):  New method.
	(returnSymbol):  Call makeSymbol.

	* LispReader.java (makeNil, makePair, setCdr):  Add implementations.
	* ScmRead.java (makeNil, makePair, setCdr):  Remove implementations.

	* LispReader.java (isDelimiter):  Remove - not used.
	* ScmRead.java (numError):  Likewise.

	* ReaderDispatch.java (kind):  New field.
	(getKind):  Return kind instead of hardwired value.
	Change constructors to set kind.
	* ReaderMacro.java:  New class, extends ReaderMisc.
	* ReaderDispatchMacro.java:  New class, extends ReaderMisc.
	* Makefile.am:  Update for new classes.

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

	* LispReader.java:  Complete re-write, having the reader be
	table-driven in the manner of Common Lisp readtables.
	* ScmRead.java:  Likewise.
	* ReadTable.java:  New class, extends gnu.kawa.util.RangeTable.
	* ReadTableEntry.java:  New class.
	* ReaderDispatch.java:  New class, extends ReadTableEntry.
	* ReaderDispatchMisc.java:  New class, extends ReadTableEntry.
	* ReaderIgnoreRestOfLine.java:  New class, extends ReadTableEntry.
	* ReaderMisc.java:  New class, extends ReadTableEntry.
	* ReaderParens.java:  New class, extends ReadTableEntry.
	* ReaderQuote.java:  New class, extends ReadTableEntry.
	* ReaderString.java:  New class, extends ReadTableEntry.
	* ReaderVector.java:  New class, extends ReadTableEntry.
	* Makefile.am:  Update for new classes.
	* COPYING:  New file.

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

	* ScmRead.java:  Various fixes to use new gnu.lists package,
	and name change UniformVector -> SimpleVector.

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

	* ScmRead.java (readString):  Avoid some code duplication.
	Fix so line number get updated correctly on line-continuation escape.

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

	* ScmRead.java (lookupUnit):  New method.
	(readNumber):  If units are literal Units, handle * and ^ now.

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

	* ScmRead.java (readSymbol):  Intern Keyword names.
	(readNumber):  Handle '^' and '*' in units.

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

	New package.
	* LispReader.java:  Moved from gnu.text.
	* ScmReader.java:  Moved from kawa.lang.
