2012-10-10  Igor Pashev  <pashev.igor@gmail.com>
	    Andrey G, Grozin  <A.G.Grozin@inp.nsk.su>
	    Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/command.cc (build_rts_options) [sbcl_runtime]: Inhibit
	system-wide and user-supplied initialization files.

2012-08-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* hyper/hthits.c (splitpage): Revert unintended change from last
	commit.
	* hyper/initx.c (is_it_850): Likewise.

2012-08-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* graph/Gdraws/Gfun.c (GDrawLine): Make string parameter of type
	const char*.
	(GDrawPushButton): Likewise.
	(GDrawString): Likewise.
	(PSCreateContext): Likewise.
	(centerX): Likewise.
	* Makefile.am (all-graph): Require all-utils.

2012-08-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-os.boot (flushStdout): Remove as unused.
	* interp/i-toplev.boot (recordAndPrint): Do not print a newline
	before formatting the result.

2012-08-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/debug.lisp: Remove reference to TOK and CHR.
	* interp/spad-parser.boot: Likewise.
	* interp/g-error.boot: Likewise.
	* interp/sys-globals.boot: Likewise.
	* interp/br-saturn.boot: Replace TERSYSCOMAND by
	terminateSystemCommand.
	* interp/i-syscmd.boot: Likewise.
	(terminateSystemCommand): Simplify.
	* interp/spad.lisp (TERSYSCOMMAND): Remove.

2012-08-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* include/sockio.h (init_purpose_table): Remove declaration.
	(redirect_stdio): Likewise.
	(init_socks): Likewise.
	(flush_stdout): Likewise.
	(print_line): Likewise.
	(BaloonServer): Remove.
	(DebugWindow): Likewise.
	(Forker): Likewise.
	(AV): Likewise.
	* interp/server.boot (serverReadLine): Do not flushOutput.
	* interp/sys-constants.boot ($MessageServer): Remove.
	($DebugWindow): Likewise.
	($Forker): Likewise.
	* interp/sys-os.boot (printLine): Remove associated foreign import.
	* lib/sockio-c.c (init_purpose_table): Do not export.
	(init_socks): Likewise.
	(get_socket_type): Simplify.  Remove dead code.
	(redirect_stdio): Remove.
	(flush_stdio): Likewise.
	(print_line): Likewise.

2012-08-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-saturn.boot: Replace TERPRI with finishLine.
	* interp/c-util.boot: Likewise.
	* interp/clam.boot: Likewise.
	* interp/compiler.boot: Likewise.
	* interp/diagnostics.boot: Likewise.
	* interp/format.boot: Likewise.
	* interp/functor.boot: Likewise.
	* interp/g-error.boot: Likewise.
	* interp/ht-util.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-toplev.boot: Likewise.
	* interp/postpar.boot: Likewise.
	* interp/setvars.boot: Likewise.
	* interp/topics.boot: Likewise.
	* interp/trace.boot: Likewise.

2012-08-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-util.boot: Lose paramater.  Unconditional flush the
	output stream.  Adjust callers.

2012-08-24  Alfredo Portes  <doyenatccny@gmail.com>

	* interp/setvars.boot ()version):  Use *build-version* 
	instead of *yearweek*.

2012-08-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot ($ffs): New.
	(genImportDeclaration): Update it.
	* boot/translator.boot (genModuleFinalization): Tidy. Generate
	code to update $dynamicForeignFunctions where necessary.
	(atLoadOrExecutionTime): New.
	* lisp/core.lisp.in (UNBIND-FOREIGN-FUNCTION-SYMBOLS): New.
	(saveCore): Use it.
	($dynamicForeignFunctions): New.  Export.

2012-08-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-search.boot (getTemporaryDirectory): Search TMPDIR first.
	Ensure result has a trailing slash.

2012-08-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-util.boot (htPred2English,gn): Tidy.
	* interp/br-search.boot (pmPreparse): Do not apply pmPreparse,hn.
	Tidy.
	(pmPreparse,hn): Remove.

2012-08-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad.lisp (SPAD): Remove obfuscated binding of OUT-STREAM.
	* interp/spad-parser.boot (paarseEcho): Use $OutputStream in lieu
	of OUT-STREAM.
	* interp/server.boot (serverReadLine): Do not bind IN-STEEAM and
	*EOF*.  Tidy.
	* interp/lexing.boot (IN-TREAM): Remove definition.
	(OUT-STREAM): Likewise.
	* interp/int-top.boot (runspad): Do not bind IN-STREAM and *EOF*.
	(SpadInterpretStream): Remove $shoeReadLineFunction binding.
	* interp/debug.lisp: Replace IN-STREAM with $InputStream and
	OUT-STREAM with $OutputStream.

2012-08-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/Makefile.in: Simplify.

2012-08-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* input/sint.input.pamphlet: Use /\$SingleInteger, not defunct
	And$SingleInteger.

2012-08-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-coerfn.boot: Do not import i-coerce.  Import i-analy
	and i-resolv intead.
	($CoerceTable): Fix embarrassing thinko.
	* interp/i-coerce.boot: Import i-coerfn.
	(coerceIntTableOrFunction): Tidy.
	* boot/utility.boot (objectAssoc): Tidy.

2012-08-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/util.lisp (BUILD-INTERPSYS): loadDelayedFFI early.
	* interp/sys-driver.boot (%sysInit): Do not call
	sys-osInitCLispFFI (no longer necessary.)
	* boot/translator.boot (genModuleFinalization): Generate forms to
	be evaluated at load and execution time, instead of a function call.
	* interp/spad.lisp (process): Remove.

2012-08-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (primitiveLoad): New.  Export.
	($delayedFFI): Likewise.
	* lisp/Makefile.in (oa_delay_ffi): New.
	(edit): Update.
	* interp/sys-utility.boot: import sys-constants instead of sys-os.
	* interp/sys-driver.boot (%sysInit): Do not loadSystemRuntimeCore.
	(loadDelayedFFI): New.
	(executeSpadScript): Call it.
	(compileSpadLibrary): Likewise.
	(buildInitdbHandler): Likewise.
	(systemMain): Likewise.
	* interp/util.lisp (BUILD-INTERPSYS): Likewise.
	* interp/Makefile.in (oa_target_moddir): New.
	(OA_FFI_MOD): Likewise.
	(OA_FFI_OBJ): Define conditionally.
	(OBJS): Use it.
	($(oa_target_delayed)): New rule.
	(oa_target_delayed): New.
	(oa_target_ffi): Define conditionally.
	(${SAVESYS}): Require it.
	(${AXIOMSYS}): Likewise.
	(sys-utility.$(FASLEXT)): Now require sys-constants.$(FASLEXT).

2012-08-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (genSBCLnativeTranslation): Do no prepend an
	underbar when WIN32 (no longer necessary.)
	* include/open-axiom.h (OPENAXIOM_EXPORT): Fix thino.

2012-08-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* include/sockio.h (connect_to_local_server): First parameter now
	const char*.
	* include/pixmap.h (zzopen): Second parameter now const char*.
	* lib/pixmap.c: Propagate change.
	* lib/sockio-c.c: Likewise.
	* hyper/parse-types.c (parse_verbatim): Tidy.
	* hyper/spadint.c (print_source_to_string1): Likewise.
	* hyper/initx.h (init_top_window): Change parameter type to const
	char*.
	* hyper/initx.c: Propagate change.
	* hyper/titlebar.c: Tidy.
	(set_name_and_icon): icon_name is now of type const char*.
	(get_border_properties): bwidth is not of type const char*.
	(mergeDatabases): classname is now of type const char*.
	(is_it_850): probtbl.name is now of type const char*.

2012-08-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* include/util.H1 (getmemWithLine): Second argument is now const char*.
	(saymemWithLine): First argument is now char*.
	* lib/util.c: Propogate change.
	* include/XSpadFill.h (SpadFillGC): Change last parameter type to
	const char*.
	* lib/XSpadFill.c (SpadFillGC): Likewise.

2012-08-18  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/translator.boot (shoeOutParse): Fix thinko.
	* lib/cfuns-c.c (oa_getcwd): Tidy.
	(oa_spawn): Likewise.
	* lib/sockio-c.c (send_string_len): Likewise.
	* utils/command.cc (option_value): Likewise.
	(execute_core): Likewise.

2012-07-25  Aleksej Saushev <asau@inbox.ru>

	* hyper/htadd.c: Include <string.h>
	* hyper/lex.c: Likewise.

2012-06-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (%SourceLine): New.
	(%LoadUnit): Likewise.
	(readLoadUnitSource): Likewise.
	(%Reader):  Remove input stream field.  Include load unit and next
	lines fields.  Adjust users.

2012-06-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/newaux.lisp (MAKEOP): Move to spad-parser.boot.
	Remove file.
	* interp/Makefile.in: Adjust.

2012-06-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/newaux.lisp: Move Led property setting to spad-parser.boot.

2012-06-10  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/newaux.lisp: Move Nud property setting to spad-parser.boot.
	Import sys-utility.
	* interp/Makefile.in: Adjust.

2012-06-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad-parser.boot: Fix thinkos from previous commit.

2012-06-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp: Remove.
	* interp/spad-parser.boot: Do not include.  Import lexing instead.
	* interp/Makefile.in: Adjust.

2012-06-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (%Reader): Add idx field.
	* interp/preparse.lisp ($INDEX): Remove.  Adjust users.

2012-06-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: Move %Line to io.boot.
	* interp/debug.lisp (SPAD_LONG_ERROR): Take a reader parameter.  Tidy.

2012-06-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (readePendingLines): Rename from readerLines.
	Adjust callers.

2012-06-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (readerDeferLine): New.
	* interp/preparse.lisp (preparse1): Use it.
	* interp/spad-parser.boot (preparse): Likewise.

2012-06-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad-parser.boot (preparse): Tidy.

2012-06-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad-parser.boot (findCommentBlock): Lose last
	parameter.  Adjust callers.

2012-06-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad.lisp (SPAD): Adjust.
	* interp/spad-parser.boot: Add a reader parameter to all parsing
	functions.  Adjust callers.
	* interp/newaux.lisp: Adjust form of specialized parsers.
	* interp/lexing.boot: Add a reader parameter to all lexing
	functions.  Adjust Callers.
	* interp/io.boot (%Reader): Add source line field.
	* interp/debug.lisp: Adjust IO and lexer calls.
	* interp/util.lisp (string2SpadTree): Remove as unused.

2012-06-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp ($LineList): Remove.
	(INITIALIZE-PREPARSE): Do not set it.
	(preparse1): Do not reference it.  Do not test for ioTerminal? and
	the input is always a disk file.
	* interp/spad-parser.boot (findCommentBlock): Do not reference
	$EchoLineStack.
	(preparseReadLine1): Do not reference $LineList.

2012-06-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (%Reader): New data structure.
	* interp/preparse.lisp (INITIALIZE-PREPARSE): Parameter is now a
	reader.
	(preparse1): Likewise.  Tidy.
	* interp/spad-parser.boot (preparseReadLine): Likewise.
	(preparseReadLine1): Likewise.
	(preparse): Likewise.
	(parseSpadFile): Likewise.
	* interp/spad.lisp (SPAD): Make it a unary function.  Simplify.
	(INITIALIZE): Remove.

2012-06-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (%Line): Now a record structure.
	* boot/parser.boot (bpTypeName): Split out of bpTypeAliasDefinition.
	(bpStruct): Use it.  Support parameterized structures.
	* boot/ast.boot (ctorName): New.
	(bfEnum): Use it for parameterized enums.
	(bfRecord): Use it for parameterized records.

2012-06-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (bpSignatureTail): Split out of bpSignature.
	(bpTyped): Use it.
	(bpThrow): Lilkewise.
	(bpRegularBVItemTail): Likewise.
	(bpAssignLHS): Likewise.
	(bpStoreName): Do not reference $typings.
	* boot/ast.boot (%Ast): Remove %Pretend variant.
	(bfSignature): Rename from bfLocal.  Build %Signature variant.
	(bfLET1): Handle assignment to typed variable.
	(shoeCompTran): Do not reference $typings.
	(shoeCompTran1): Do not translate assignment to typed variables.
	(bindFluidVars): Handle them here.
	(bfTagged): Remove.
	(bfTry): Tidy.
	* boot/translator.boot (shoeOutParse): Do not reference $typings
	and $returns.
	* interp/c-util.boot (isAlmostSimple): Initialize $assignmentList.

2012-06-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/translator.boot: Remove DEFUSE, $booDefined,
	$bootDefinedTwice, $bootUsed, $lispWordTable, shoeDfu, shoeReport,
	shoeDefUse, defuse, defuse1, defSeparate, unfluidlist,
	defusebuiltin, bootOut, CLESSP, SSORT, bootOutLines, XREF,
	shoeXref, shoeXreport.

2012-06-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (%LoadUnit): Add field for enclosing function.
	Remove references to $op.

2012-06-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (%LoadUnit): Add fields for side conditions.
	* boot/parser.boot: Adjust.

2012-05-31  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (%LoadUnit): Add fields for let var and is var
	sequence numbers.
	Eliminate $letGenVarCounter and $isGenVarCounter.

2012-05-31  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot: Add a %LoadUnit parameter to most functions.
	Adjust callers.
	* boot/translator.boot: Tidy.

2012-05-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot: Replace references to $ttok.

2012-05-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (%ParserState): Add field for current token.
	Replace references to $stok.

2012-05-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfSpecificErrorHere): New.
	(bfISReverse) Use it.  Don't use bpTrap.
	(bfIS1): Likewise.
	(bfParameterList): Likewise.
	(bfHandlers): Likewise.
	* boot/parser.boot (bpTrap): Take a parser state argument.
	Adjust callers.

2012-05-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot: Remove references to $bpCount.
	* boot/translator.boot (shoeOutParse): Likewise.

2012-05-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot: Remove references to $bpParentCount.
	* boot/translator.boot (shoeOutParse): Likewise.

2012-05-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot: Remove references to $stack.
	* boot/translator.boot: Likewise.

2012-05-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot: Add parser state argument to more functions.
	Remove references to $inputStream.
	* boot/translator.boot (shoeOutParse): Remove $inputStream.

2012-05-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (%ParserState): New.
	(makeParserState): Likewise.
	(%Translator): Likewise.
	(makeTranslator): Likewise.
	Make all parsing functions take a parser state argument.
	* boot/translator.boot (shoeOutParse): Adjust.
	* interp/spad-parser.boot (stringPrefix?): Remove redudant definition.

2012-05-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: Use makeToken directly.
	(tokenInstall): Remove.
	(getSpadIntegerToken): Lose parameter.  Adjust callers.
	(getNumberToken): Likewise.
	(getArgumentDesignator): Likewise.
	(getToken): Likewise.
	(getSpadString): Likewise.
	(getSpecial): Likewise.
	(getGliph): Likewise.
	(getIdentifier): Likewise.
	* lisp/core.lisp.in ($stdio): New.
	* boot/includer.boot: Use it.
	* boot/translator.boot: Likewise.
	* boot/utility.boot (stringPrefix?): New.

2012-05-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (findChar): Do not define here.
	* interp/match.boot (charPosition): Likewise.
	* boot/utility.boot (charPosition): Now return argument string
	length if no match.
	(findChar): New.
	* boot/scanner.boot (lexerCharPosition): Adjust.
	(shoeAccumulateLines): Use findChar.

2012-05-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfMDef): Simplify.
	(backquote): Do not quote integer and string literals.

2012-05-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: freshLine, functionSymbol?, and symbolGlobal?
	are now builin.
	* boot/ast.boot: Tidy.
	* interp/c-util.boot: Likewise.
	* interp/br-saturn.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/clam.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/sys-utility.boot: Likewise.
	* interp/sys-driver.boot: Likewise.
	* interp/lisplib.boot: Likewise.
	* interp/lisp-backend.boot: Likewise.

2012-05-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-globals.boot ($compCount): Remove.
	* interp/spad.lisp (knownEqualPred): Move to buildom.boot
	(hashable): Likewise.
	Remove junk.
	* interp/debug.lisp: Remove junk.
	* interp/vmlisp.lisp: Likewise.

2012-05-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/Makefile.in (initdb.$(FASLEXT)): Add --syslib to fix thinko.

2012-05-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/scanner.boot: Eliminate fluid variable $n.
	(lexerRefresh?): New.
	(lexerSetLine!): Likewise.
	(lexerSkipBlank!): Likewise.
	(lexerSkipToEnd!): Likewise.
	(lexerAdvancePosition!): Likewise.
	(lexerCharCountToCompleteTab): Likewise.
	(lexerCurrentChar): Likewise.
	(lexerCharPosition): Likewise.
	(lexerCharacterAt): Likewise.
	(lexerEol?): Likewise.

2012-05-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/scanner.boot (lexerLineLength): New.
	(shoeNextLine): Use it in replacement of $sz.
	(shoeLineToks): Likewise.
	(shoeLispEscape): Likewise.
	(shoeEsc): Likewise.
	(shoeStartsComment): Likewise.
	(shoeStartsNegComment): Likewise.
	(shoeNegComment): Likewise.
	(shoeComment): Likewise.
	(shoePossFloat): Likewise.
	(shoeSpace): Likewise.
	(shoeS): Likewise.
	(shoeW): Likewise.
	(shoeInteger1): Likewise.
	(shoeNumber): Likewise.
	(shoeExponent): Likewise.

2012-05-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/scanner.boot (%Lexer): New record structure.
	Add a lexer parameter to all lexing functions that need one.
	Adjust their callers.

2012-05-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: "@" is now a new keyword.
	* boot/ast.boot (bfRestrict): New.
	(bpTyped): Rename from bpTagged.  Accept type restriction.
	* boot/utility.boot (drop): Restrict the result to a %List.

2012-05-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/database.boot (%Constructor): New.
	(makeConstructor): Likewise.
	(makeInitialDB): Tidy.
	* interp/daase.lisp (makeDB): Take two more parameters.  Build a
	%Constructor structure object too.

2012-05-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-driver.boot (initializeDatabases): Load initidb if
	specified.
	* interp/database.boot (populateDFFromFile): Remove.
	(printAllInitdbInfo): Write as as Lisp file.
	* algebra/Makefile.in (COMPILE_SPAD): initdb is now a FASL.
	(BOOTSTRAP): Likewise.
	(strap-2/%.$(FASLEXT)): Likewise.
	(initdb.$(FASLEXT)): New.

2012-05-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (MAKE-CVEC): Remove.
	(GETSTR): Likewise.
	* interp/sys-macros.lisp (INTERNL): Likewise.
	* interp/macros.lisp: Move content to vmlisp.lisp.  Remove.
	* interp/Makefile.in: Adjust.
	* interp/debug.lisp: Now import sys-macros
	* interp/fname.lisp: Likewise.
	* interp/format.boot: Likewise.
	* interp/g-timer.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/ht-util.boot: Likewise.
	* interp/htcheck.boot: Likewise.
	* interp/htsetvar.boot: Likewise.
	* interp/monitor.lisp: Likewise.
	* interp/newaux.lisp: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/nlib.lisp: Likewise.
	* interp/postpar.boot: Likewise.
	* interp/profile.boot: Likewise.
	* interp/server.boot: Likewise.
	* interp/setvars.boot: Likewise.
	* interp/setvart.boot: Likewise.
	* interp/sfsfun.boot: Likewise.
	* interp/simpbool.boot: Likewise.
	* interp/spad.lisp: Likewise.
	* interp/termrw.boot: Likewise.
	* interp/topics.boot: Likewise.

2012-05-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/includer.boot (%SourceLine): New datatype.
	(makeSourceLine): New.
	Use source line macro accessors.
	* boot/pile.boot: Likewise.
	* boot/scanner.boot: Likewise.

2012-05-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-search.boot: Use findChar and findString in lieu of STRPOS.
	* interp/database.boot: Likewise.
	* interp/format.boot: Likewise.
	* interp/i-funsel.boot: Likewise.
	* interp/i-map.boot: Likewise.
	* interp/match.boot: Likewise.
	* interp/scan.boot: Likewise.
	* interp/trace.boot: Likewise.

2012-05-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot (%Token): New datatype.
	(makeToken): New.
	* boot/includer.boot: Use %token accessors.
	* boot/parser.boot: Likewise.
	* boot/pile.boot: Likewise.
	* boot/scanner.boot: Likewise.
	* boot/utility.boot: Export subString.

2012-05-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (%Token): Now an actual type defined as a
	record structure.
	(copyToken): Adjust.
	(tokenSymbol): Remove as now automatically generated.
	(tokenType): Likewise.
	(tokenNonblank?): Likewise.
	* boot/ast.boot (bfRecordDef): Specify a name for a copier function.

2012-05-22  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/translator.boot (translateToplevel): Handle record structures.
	* boot/tokens.boot: "with" is now a keyword in Boot.
	* boot/parser.boot (bpSignature): The typing is required afte the
	colong.
	(bpFieldList): New.
	(bpGlobalAccessors): Likewise.
	(bpAccessorDefinitionList): Likewise.
	(bpAccessorDefinition): Likewise.
	(bpFieldSection): Likewise.
	(bpSelectField): Likewise.
	(bpRecord): Likewise.
	(bpStruct): Use it to implement record structures.
	* boot/ast.boot (%Ast): Add %Record and %AccessorDef.
	(bfRecordDef): New.

2012-05-21  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* boot/ast.boot (needsPROG): Remove.
	(shoePROG): Likewise.
	(declareLocalVars): New.
	(maybeAddBlock): Likewise.
	(hasReturn?): Likewise.
	(shoeCompTran): Tidy.

2012-05-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/parsing.lisp: Remove.
	* interp/spad-parser.boot (floatExponent): New.
	(parseFloatExponent): Use it instead of FLOATEXPID.
	* interp/lexing.boot (nextLinesClear!): New.
	(ioClear!): Likewise.
	(OUT-STREAM): Define here.
	* interp/debug.lisp: Import lexing instead of parsing.  Tidy.
	* interp/preparse.lisp: Likewise.
	* interp/spad.lisp: Likewise.
	* interp/util.lisp: Likewise.
	* interp/Makefile.in (OBJS): Do not include parsing.$(FASLEXT).
	(parsing.$(FASLEXT)): Remove.  Adjust dependents.

2012-05-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad-parser.boot (addParensAndSemisToLine): Drop 'drop',
	avoiding awakening GCL bug and quadratic traversal of lines.
	(parsePiles): Simplify.

2012-05-21  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad.lisp (S-PROCESS): Rename to translateSpad and move
	to spad-parser.boot.
	* interp/parsing.lisp (MATCH-ADVANCE-SPECIAL): Remove.
	(MATCH-SPECIAL): Likewise.
	(MATCH-KEYWORD-NEXT): Likewise.
	(INITIAL-SUBSTRING-P): Likewise.
	(TERMCHR): Likewise.
	(dollarTran): Simplify and move to spad-parser.boot.

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (getDecimalNumberToken): New.
	(getIntegerInRadix): Likewise.
	(getSpadIntegerToken): Likewise.
	(getToken): Use it.
	* interp/Makefile.in (bootlex.$(FASLEXT)): Remove rule.
	(OBJS): Do not include it.
	* interp/bootlex.lisp: Remove.

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad-parser.boot (parseSexpr1): Simplify.
	(parseDara): Likewise.  Do not set LABLASOC.
	* interp/bootlex.lisp (PRINT-DEFUN): Remove.
	(TRANSLABEL): Likewise.
	(TRANSLABEL1): Likewise.
	* interp/preparse.lisp (LABLASOC): Likewise.

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (SETANDFILE): Remove.
	(LAM,EVALANDFILEACTQ): Likewise.
	* interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise.
	* interp/slam.boot (reportFunctionCompilation): Tidy.
	* interp/lisp-backend.boot (evalAndPrintBackendDecl): New.
	* interp/c-util.boot (backendCompileSPADSLAM): Use it in lieu of
	SETANDFILE.
	(compAndDefine): Use evalAndPrintBackendDecl in lieu of
	PRINT-AND-EVAL-DEFUN.
	* interp/hypertex.boot: Clean up.
	* interp/nhyper.boot: Likewise.
	* interp/word.boot: Likewise.

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (EVALANDFILEACTQ): Second argument is no
	longer optional.  Adjust callers.
	(LAM\,EVALANDFILEACTQ): Likewise.
	* interp/slam.boot (compQuietly): Use printBackendDecl.
	* interp/spad.lisp (SPAD): Likewise.
	* interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise.
	* interp/macros.lisp (SETANDFILE): Move to vmlisp.lisp.
	* interp/lisp-backend.boot (printBackendStmt): New.
	(evalAndPrintBackendStmt): Likewise.
	(printBackendDecl): Likewise.
	* interp/c-util.boot (registerFunctionReplacement): Use
	evalAndPrintBackendStmt.
	(registerRedexForm): Likewise.
	(proclaimCapsuleFunction): Use printBackendStmt.
	* interp/Makefile.in (lisp-backend.$(FASLEXT)): Require nlib.$(FASLEXT)

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/parsing.lisp (CONVERSATION): Remove.
	(CONVERSATION1): Likewise.
	(MAKE-PARSE-FUNCTION): Likewise.
	(MAKE-PARSE-FUNCTION1): Likewise.
	(MAKE-PARSE-FUNC-FLATTEN): Likewise.
	(MAKE-PARSE-FUNC-FLATTEN-1): Likewise.
	(TRANSPGVAR): Likewise.
	(GETRULEFUNLISTS): Likewise.
	(REDUCTION-PRINT): Likewise.
	(TRACEMETA): Likewise.
	(TRMETA): Likewise.
	(TRMETA1): Likewise.
	(/MDEF): Likewise.
	* interp/macros.lisp (EXPAND-TABS): Likewise.
	* interp/spad.lisp (READ-SPAD): Likewise.
	(READ-INPUT): Likewise.
	(READ-SPAD0): Likewise.
	(READ-SPAD1): Likewise.
	(READ-SPAD-1): Likewise.
	(New,ENTRY,1): Likewise.
	(New,ENTRY,2): Likewise.
	* interp/bootlex.lisp (SPAD_SYNTAX_ERROR): Move to debug.lisp.
	(SPAD_LONG_ERROR): Likewise.
	(SPAD_SHORT_ERROR): Likewise.
	(SPAD_ERROR_LOC): Likewise.
	* interp/c-util.boot (COMP370): Move to lisp-backend.boot.
	(compQuietly): Move to slam.boot.

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/utility.boot (strinSuffix?): New.
	* boot/translator.boot (shoeRemovebootIfNec): Use it.

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	Fix build breakage with CLozure CL.
	* lisp/core.lisp.in ($stdin): Demote to DEFPARAMETER.
	($stdout): Likewise.

2012-05-20  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (shoeCompTran): Simplify.
	(shoeCompTran1): Partially defer translation of fluid variable
	definition.
	(bindFluidVars!): New. Complete translation.
	(groupFluidVars): New.
	* interp/newfort.boot (fortFormatIntrinsics): Remove redundant return.

2012-05-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (shoeCompTran1): Take variable sets by reference.
	Remove globals.  Adjust caller.
	(shoeCompTran): Replace fluid variables by references.

2012-05-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: symbolBinding is now builtin.
	* boot/ast.boot (%Ast): Add %Dynamic variant.
	(bfColonColon): Use symbolBinding instead of FIND-SYMBOLS.
	(compFluid): Return a %Dynamic form.  Adjust callers.
	(shoeCompTran): Tidy.
	* boot/translator.boot (BOOTLOOP): Tidy.
	(BOOTPO): Likewise.

2012-05-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot: Miscellaneous cleanup.
	* interp/compiler.boot: Likewise.
	* interp/database.boot: Likewise.
	* interp/debug.lisp: Likewise.
	* interp/format.boot: Likewise.
	* interp/g-timer.boot: Likewise.
	* interp/ht-util.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/macros.lisp: Likewise.
	* interp/monitor.lisp: Likewise.
	* interp/msgdb.boot: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/nlib.lisp: Likewise.
	* interp/parsing.lisp: Likewise.
	* interp/pf2atree.boot: Likewise.
	* interp/pf2sex.boot: Likewise.
	* interp/posit.boot: Likewise.
	* interp/sfsfun.boot: Likewise.
	* interp/util.lisp: Likewise.

2012-05-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (findString): New.
	* interp/preparse.lisp: Use it instead of SEARCH.

2012-05-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (findChar): New.
	* interp/preparse.lisp (preparse1): Use it instead of POSITION.

2012-05-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (PARSEPRINT): Move to spad-parser.boot.
	Rename as parsePrint.

2012-05-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (ADD-PARENS-AND-SEMIS-TO-LINE): Move to
	spad-parser.boot Rename as addParensAndSemisToLine.
	(PARSEPILES): Move spad-parser.boot.  Rename as parsePiles.

2012-05-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (preparseReadLine1): Move to spad-parser.boot.

2012-05-10  Igor Pashev  <pashev.igor@gmail.com>

	* hyper/initx.c: Fixed spelling errors.
	* hyper/macro.c (parse_macro): Likewise.
	* sman/sman.c (manage_spad_io): Likewise.

2012-05-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/io.boot (carriageRetChar?): New.
	(trimCarriageReturn): Likewise.
	(expandLeadingTabs): Likewise.
	* interp/preparse.lisp: Use it.
	* interp/incl.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.

2012-05-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (PREPARSE): Move to spad-parser.boot.
	Rename as preparse.

2012-05-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (FINCOMBLOCK): Move to spad-parser.boot.
	Rename as findCommentBlock.

2012-05-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (PREPARSE-ECHO): Move to spad-parser.boot.
	Rename as preparseEcho.
	* lisp/core.lisp.in (formatToStream): New.

2012-05-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot: Export char.  Do not rename maxIndex.
	* lisp/core.lisp.in (maxIndex): Define and export.
	* interp/bootlex.lisp: Adjust.
	* interp/parsing.lisp: Likewise.
	* interp/macros.lisp: Likewise.
	(DROPTRAILINGBLANKS): Remove.
	(BLANKP): Likewise.
	(NONBLANKLOC): Likewise.
	* interp/io.boot (trimTrailingBlank): New.
	(firstNonblankCharPosition): Likewise.
	* interp/preparse.lisp: Use them. Adjust.
	* interp/sys-macros.lisp (char): Remove.
	* interp/vmlisp.lisp (MAXINDEX): Likewise.
	* interp/br-search.boot (pmTransFilter): Fix bogus uses of char.
	* interp/debug.lisp: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/ht-root.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.

2012-05-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spad.lisp (INIT-BOOT/SPAD-READER): Don't set FILE-CLOSED.
	(SPAD): Tidy.
	* interp/spad-parser.boot (parseSpadFile): Do not test for *EOF*
	or FILE-CLOSED.
	* interp/preparse.lisp (INITIALIZED-PREPARSE): Use readLine.
	(preparseReadLine1): Likewise.
	* interp/parsing.lisp (FILE-CLOSED): Remove.
	(GET-A-LINE): Likewise.
	(CURRENT-FRAGMENT): Likewise.
	(INPUT-CLEAR): Likewise.
	(READ-A-LINE): Likewise.
	(IOSTREAMS-CLEAR): Don't set FILE-CLOSED.
	(IOCLEAR): Don't call INPUT-CLEAR.

2012-05-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (ioTerminal?): Rename form IS-CONSOLE.
	* interp/bootlex.lisp: Adjust.
	* interp/diagnostics.boot: Likewise.
	* interp/macros.lisp: Likewise.
	* interp/msgdb.boot: Likewise.
	* interp/parsing.lisp: Likewise.
	* interp/preparse.lisp: Likewise.
	* interp/server.boot: Likewise.

2012-05-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (SKIP-IFBLOCK): Move to spad-parser.boot.
	Renamed skipIfBlock.
	(SKIP-IF-BLOCK): Move to spad-parser.boot.  Renamed skipToEndif.
	(PREPARSEREADLINE): Move to spad-parser.boot.  Renamed
	preparseReadLine.

2012-05-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/sys-globals.boot ($insideCompTypeOf): Remove.
	* interp/preparse.lisp (INITIAL-SUBSTRING): Remove.
	* interp/g-util.boot (stringPrefix?): Remove.
	* interp/compiler.boot (compTypeOf): Remove.
	(comp3): Don't call it.

2012-05-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot (indentationLocation): New.
	* interp/macros.lisp (expand-tabs): Use it in lieu of NDENT-POS.
	* interp/preparse.lisp (PREPARSE1): Likewise.

2012-05-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/Makefile.in (OBJS): Include io.$(FASLEXT).
	(io.$(FASLEXT)): New rule.
	* interp/io.boot: New.
	* interp/preparse.lisp: Use storeBlanks!.
	(STOREBLANKS): Remove.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/preparse.lisp (ADDCLOSE): Move to spad-parser.boot.
	Renamed addClose.
	(ESCAPED): Move to spad-parser.boot.  Renamed escaped?.
	(INFIXTOK): Move spad-parser.boot.  Renamed infixToken?.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (HGETandCount): Remove as unused.
	(clearHashReferenceCounts): Likewise.
	(remHashEntriesWithCount): Likewise.
	(initCache): Likewise.
	(assocCache): Likewise.
	(assocCacheShift): Likewise.
	(assocCacheShiftCount): Likewise.
	(hputNewProp): Likewise.
	(lassocShift): Likewise.
	(lassocShiftQ): Likewise.
	(globalHashtableStats): Likewise.
	(constructor2ConstructorForm): Likewise.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compHash): Rework.
	* interp/spad.lisp ($reportCounts): Remove.

2012-05-05  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compClam): Remove.
	(compHash): Simplify.  Now take only 3 parameters.
	* interp/c-util.boot (compileQuietly): Remove as unused.
	* interp/sys-globals.boot ($clamList): Move to clam.boot.
	* interp/define.boot (compileConstructor1): Call compHash in lieu
	of compClam.
	* share/doc/msgs/s2-us.msgs: Remove unused diagnostics, due to
	compClam removal and compHash simplification.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compileConstructor1): Don't call
	clearConstructorCache here.  Simplify.
	(compileConstructor): Call clearConstructorCache here.
	* interp/c-util.boot (backendCompile2): Do not test for membership
	of $clamList.
	* interp/clam.boot (compHash): Use compQuietly instead of
	compileQuietly.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compHash): Use compQuietly in lieu of
	compileInteractive. 

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisp-backend.boot (assembleCode): New.
	* interp/c-util.boot (backendCompileSPADSLAM): Use it.
	(backendCompile2): Likewise.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot ($hashNode): Remove.
	(compHashGlobal): Likewise.

2012-05-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/clam.boot (compHash): Avoid unnecessary gensyms.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/buildom.boot (lookupDisplay): Tidy.
	* interp/clam.boot (compHash): Likewise.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (THROW-PROTECT): Remove.
	(MDEF): Likewise.
	(NUM2CHAR): Likewise.
	(CHAR2NUM): Likewise.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp ($lamName): Remove.
	(LAM): Likewise.
	(*LAM): Likewise.
	(ISQUOTEDP): Likewise.
	(QUOTESOF): Likewise.
	(DDQUOTE): Likewise.
	* interp/lisp-backend.boot (COMPILE1): Simplify.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot: Use LAMBDA type in lieu of LAM.
	* interp/clam.boot: Likewise.
	* interp/define.boot: Likewise.
	* interp/lisp-backend.boot (COMPILE1): Tidy.
	* interp/slam.boot: Likewise.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot ($AbstractionOperator): Remove SLAM.
	* interp/c-util.boot (backendCompileSLAM): Remove.
	(backendCompileSPADSLAM): Tidy.
	(backendCompile2): Adjust.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (compDefineFunctor1): Use LAMBDA for the
	resulting functor if not cachable.
	* interp/clam.boot (compClam): Tidy.
	(compHash): Likewise.
	(compHashGlobal): Likewise.
	* interp/i-eval.boot (evalForm): Use LAMBDA, not LAM.
	* interp/i-coerce.boot (getSubDomainPredicate): Use %lambda not LAM.

2012-05-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (makeWorkerName): New.
	(backendCompileSLAM): Use it.
	(backendCompileSPADSLAM): Likewise.
	* interp/clam.boot (compHash): Likewise.
	Do not synthetize new parameter for unary constructors.

2012-05-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot: Use APPLY, not APPLX.
	* interp/clam.boot: Likewise.
	* interp/i-output.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/vmlisp.lisp (APPLX): Remove.

2012-05-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (backendCompileSPADSLAM): Do not devaluate
	argument list.  Tidy.

2012-05-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (backendCompileSPADSLAM): Tidy.  Do not
	devaluate argument of unary constructors.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (COMPILE1): Move to lisp-backend.boot.
	($lamName): Rename from *LAM-NAME*.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (REMOVE-FLUIDS): Move to lisp-backend.boot.
	Rename to removeFluids.
	(SIMPLE-ARGLIST): Move to lisp-backend.boot.  Rename to
	simpleParameterList?.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/vmlisp.lisp (COMP370): Move to c-util.boot
	(compileLispDefinition): Move to lisp-backend.boot.

2012-05-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-special.boot (interpREPEAT): Use CATCH directly.
	* interp/int-top.boot (intloopSpadProcess): Likewise.
	* interp/sys-macros.lisp (funcall): Remove.
	(Catch): Likewise.
	(Throw): Likewise.
	(UnwindProtect): Likewise.
	(SPADCATCH): Likewise.
	(SPADTHROW): Likewise.
	(YIELD): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,
	%imulmod.
	* algebra/si.spad.pamphlet (SingleInteger): Likewise.
	* interp/c-util.boot (devaluate): Use # in lieu of QVSIZE.
	* interp/g-opt.boot: %ilfshift and %irshift are now builtin
	side-effect free operations.
	* interp/lisp-backend.boot: Translate them.
	* interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE.
	* interp/slam.boot: Likewise.
	* interp/sys-macros.lisp: Likewise.
	* interp/macros.lisp: Avoid QVMAXINDEX.
	* interp/vmlisp.lisp (QSDIFFERENCE): Remove.
	(QSGREATERP): Likewise.
	(QSLEFTSHIFT): Likewise.
	(QSLESSP): Likewise.
	(QSMAX): Likewise.
	(QSMIN): Likewise.
	(QSMINUS): Likewise.
	(QSMINUSP): Likewise.
	(QSODDP): Likewise.
	(QSABSVAL): Likewise.
	(QSPLUS): Likewise.
	(QSZEROP): Likewise.
	(QVMAXINDEX): Likewise.
	(QVSIZE): Likewise.
	(ZERO?): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/si.spad.pamphlet (SingleInteger): Use %iaddmod,
	%isubmod, and %imulmod.
	* interp/g-opt.boot: These are now builtin side-effect free operators.
	(optIaddmod): New optimizer.  Register.
	(optIsubmod): Likewise.
	(optImulmod): Likewise.
	* interp/sys-macros.lisp (QSADDMOD): Remove.
	(QSDIFMOD): Likewise.
	(QSMULMOD): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot: Use float? in lieu of FLOATP.
	* interp/fortcall.boot: Likewise.
	* interp/i-object.boot: Likewise.
	* interp/newfort.boot: Likewise.
	* interp/i-analy.boot: Compare to 0 in lieu of ZEROP.
	* interp/i-special.boot: Likewise.
	* interp/i-syscmd.boot: Likewise.
	* interp/sfsfun.boot: Likewise.
	* interp/sys-driver.boot: Likewise.
	* interp/macros.lisp: Directly use 1+ instead of QADD1.
	* interp/preparse.lisp: Likewise.
	* interp/slam.boot: Likewise.
	* interp/sys-macros.lisp: Likewise.
	* interp/sys-constants.boot ($BasicPredicates): Remove as unused.
	* interp/vmlisp.lisp (ADD1): Remove.
	(QSADD1): Likewise.
	(QSSUB1): Likewise.
	(QSTIMES): Likewise.

2012-04-30  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/fortcall.boot: Use copyTree, not COPY-TREE.
	* interp/i-intern.boot: Likewise.
	* interp/setvars.boot: Likewise.
	* interp/i-output.boot: Use abstractChar, not EBCDIC.
	* interp/i-util.boot: Likewise.
	* interp/vmlisp.lisp (EBCDIC): Remove.
	(CALLBELOW): Likewise.
	(RE-ENABLE-INT): Likewise.
	(QUOREM): Likewise.

2012-04-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (fixnum?): New.
	* algebra/sex.spad.pamphlet: Use %float? instead of RNUM.
	Use %integer? instead of INTP.
	* interp/g-timer.boot: Use float? instead of RNUMP.
	* interp/i-coerce.boot: Use fixnum? instead of SINTP or SMINTP.
	* interp/i-intern.boot: Likewise.
	* interp/lisp-backend.boot: Likewise.
	* interp/slam.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/vmlisp.lisp: Likewise.
	(INTP): Remove.
	(BINTP): Likewise.
	(LESSP): Likewise.
	(LINTP): Likewise.
	(MAKESTRING): Likewise.
	(MAPELT): Likewise.
	(NUMP): Likewise.
	(RNUMP): Likewise.
	(SINTP): Likewise.
	(SMINTP): Likewise.

2012-04-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/debug.lisp: ident? in lieu of IDENTP.
	* interp/macros.lisp: Likewise.
	* interp/parsing.lisp: Likewise.
	* interp/sys-macros.lisp: Likewise.
	* interp/vmlisp.lisp: Likewise.
	(IDENTP): Remove.

2012-04-29  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfNumber?): Rename from bfSmintable.  Check for
	floating point literals too. Adjust callers.
	(bfLessp): Check for integer or floating pointer numbers.
	* interp/vmlisp.lisp (complex?): New.
	(complex): Likewise.
	(realPart): Likewise.
	(imagPart): Likewise.
	(conjugate): Likewise.
	(sqrt): Likewise.

2012-04-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (finishLambdaExpression): Tidy.
	(compWithMappingMode): Use %lambda not LAMBDA.
	* interp/g-opt.boot (changeVariableDefinitionToStore): Handle %closure.

2012-04-28  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/boot-pkg.lisp (gensym?): Check for non-null object.
	* interp/clammed.boot: Use it in lieu of GENSYMP.
	* interp/debug.lisp: Likewise.
	* interp/g-opt.boot: Likewise.
	* interp/g-util.boot: Likewise.
	* interp/i-analy.boot: Likewise.
	* interp/trace.boot: Likewise.
	* interp/vmlisp.lisp (GENSYMP): Remove.

2012-03-02  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* algebra/catdef.spad.pamphlet (MonoidOperation): Noew CoercibleTo
	SemiGroupOperation T.

2012-02-27  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (markOperation): New.
	(optDeltaEntry): Implement better patch for last change.
	* interp/compiler.boot (compFormWithModemap): Undo last change.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compFormWithModemap): Mark implementation
	resolution as appropriate.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (emitLocalCallInsn): Mark external
	operators as such, and local functions as such.
	(freeVarUsage): Do not count external and local functions.
	(extractCode): Tidy.  Handle closure literals.
	* interp/g-opt.boot (optCall): Optimize external calls where
	possible.
	%external is a side-effect free operator.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-util.boot (usedSymbol?): Remove.
	(bindingForm?): New.
	(usesVariable?): Likewise.
	* interp/compiler.boot (declareUnusedParameters): Use it.
	* interp/g-opt.boot (inlineLocals): Likewise.
	(optClosure): Likewise.
	(optBind): Likewise.
	* interp/define.boot (compContained): Remove.

2012-02-26  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/c-util.boot (numOfOccurencesOf): Tidy.
	* interp/compiler.boot (compUnnamedMapping): Fix thinko.
	* interp/g-opt.boot (semiSimpleRelativeTo?): Likewise.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compTopLevel): Do not bind $killOptimizeIfTrue.
	(compWithMappingMode): Likewise.
	(compUnnamedMapping): Likewise.
	(extractCode): Simplify.
	* interp/g-opt.boot (optClosure): New.  Register.
	(semiSimpleRelativeTo?): An abstraction is always semisimple.
	* interp/nruncomp.boot ($killOptimizeIfTrue): Remove.
	(optDeltaEntry): Don't test for it.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (extractCode): Rename from
	extractCodeAndConstructTriple.  Change Arity.  Tidy. Adjust callers.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (finishLambdaExpression):  Use %closure.
	(extractCodeAndConstructTriple): Likewise.
	* interp/g-opt.boot (optCall): Adjust.

2012-02-25  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (genDeltaEntry): Fix thinko.

2012-02-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (BinaryOperatorCategory): New.
	(BinaryOperation): Likewise.
	(IdempotentOperatorCategory): Likewise.
	(SemiGroupOperatorCategory): Likewise.
	(SemiGroupOperation): Likewise.
	(MonoidOperatorCategory): Likewise.
	(MonoidOperation): Likewise.
	* algebra/exposed.lsp.pamphlet: Expose them.
	* algebra/Makefile.in (oa_algebra_layer_0): Include IDEMOPC,
	SGPOPC, SPGOP, MONOPC, BINOPC.
	(axiom_algebra_layer_1): Include MONOP.

2012-02-24  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lexing.boot: "assume" is now also a keyword for the compiler.
	* interp/spad-parser.boot (parseCategory): Accept exported properties.
	(parseFormula): New.

2012-02-23  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (genDeltaEntry): Replace applyFun with %apply.
	* interp/lisp-backend.boot (expandApply): Remove.
	Unregister expander.
	* interp/g-opt.boot (optCall): applyFun is not longer an opcode.
	Look for %apply.
	* interp/compiler.boot (applyMapping): Generate ['%call,['%apply,.]]
	form, not ['%apply,..] form.
	(extractCodeAndConstructTriple): Tidy.
	(compApplication): Likewise.

2012-02-19  Gabriel Dos Reis  <gdr@cse.tamu.edu>

	* interp/lexing.boot (getNumberToken): New.
	(getArgumentDesignator): Likewise.
	(getToken): Use it.
	* interp/parsing.lisp (GET-NUMBER-TOKEN): Remove.
	* interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Move to spad.lisp.
	(SPAD): Likewise.
	(READ-SPAD1): Likewise.
	(TEST): Remove.
	(GET-ARGUMENT-DESIGNATOR-TOKEN): Likewise.

2012-02-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compBuiltinDomain): Compute the exports
	from parentsOfBuiltinInstance.
	* interp/buildom.boot (parentsOfBuiltinInstance): Tidy.

2012-02-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/compiler.boot (compBuiltinDomain): Rename from compCat.

2012-02-19  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (libConstructorSig): Rename T$ to T for
	external name printing.  Do not call ncParseFromString.

2012-02-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (Ring): Extends SemiRing.
	(Dioid): New.  Extend OrderedAbelianMonoid and SemiRing.
	* algebra/exposed.lsp.pamphlet: Expose Dioid.

2012-02-13  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-util.boot (stripTags): Rename from stripUnionTags.
	Adjust callers.
	* interp/database.boot (genericInstanceForm): New.
	* interp/buildom.boot (parentsOfBuiltinInstance): New.
	(builtinInstanceForm): Likewise.
	* interp/br-data.boot (genericParentsOf): New.
	(parentsOfForm): Use it,
	(ancestorsRecur): Likewise.
	* interp/br-con.boot (originInOrder): Use parentsOfForm.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (getCatAncestors): Remove.  Adjust caller.
	(depthAssoc): Tidy.
	(NRTmakeCategoryAlist): Tidy.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (NRTcatCompare): Remove.
	(NRTmakeCategoryAlist): Don't call NRTcatCompare.  Tidy.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (depthAssocList): Take the cache as second
	argument. Avoid globals.  Adjust Callers.
	(depthAssoc): Likewise.  Adjust Caller.
	(NRTmakeCategoryAlist):  Remove uses of $depthAssocCache.

2012-02-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/coerce.spad.pamphlet (Type): Redefine as empty Join.
	* interp/category.boot (Join): Handle empty argument list.

2012-02-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (getParentsFor): Lose second parameter.  Tidy.
	Adjust callers.
	* interp/br-data.boot (getParentsForDomain): Remove.
	(parentsOf): Call getParentsFor in lieu of getParentsForDomain.
	(folks): Move to define.boot.

2012-02-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (ancestorsRecur): Tidy.
	* interp/define.boot (compDefineCategory2): Likewise.

2012-02-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/br-data.boot (getParentsFor): Move to define.boot.
	(explodeIfs): Likewise.
	(getParentsForDomain): Tidy.
	(ancestorsRecur): Likewise.

2012-02-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (mkEvalableCategoryForm): Compile only
	CATEGORY and SubsetCategory forms.

2012-02-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/database.boot (categoryConstructor?): New.
	* interp/define.boot (mkEvalableCategoryForm): Use it.  Tidy.

2012-02-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/g-opt.boot (optCall): Simplify SPADCALL of atomic
	function expressions.
	($VMsideEffectFreeOperators): Don't include %funcall.
	($simpleVMoperators): Include it.

2012-02-07  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/Makefile.in (oa_algebra_layer_0): Include FINITE-.

2012-02-06  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/lisplib.boot (dbLocateModule): New.
	(findModule): Use it.  Simplify.
	(loadLib): Tidy.
	(genericLoadDB): New.
	(loadDB): Use it.
	(loadDBIfCan): New.
	* interp/c-util.boot (lookupDefiningFunction): Give up gracefully
	if the domain of computation is not compiled yet.
	* algebra/Makefile.in ($(OUT)/SPADAST.$(FASLEXT)): Require
	$(OUT)/SUCHTAST.$(FASLEXT). 

2012-02-04  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/nruncomp.boot (getLocalIndex): Fast track niladic
	constructors.
	* algebra/syntax.spad.pamphlet: Miscellaneous cleanup.

2012-02-03  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* utils/vm.H: Add more VM data structures.
	* utils/vm.cc (BasicContext::make_operator): Define.
	* algebra/Makefile.in (SPADFILES): Include syntax.spad and
	spad-parser.spad.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* algebra/catdef.spad.pamphlet (Finite) [random]: Provide default
	implementation.
	* algebra/boolean.spad.pamphlet (KleeneTrivalentLogic): Now
	satisfy Finite.  Use Maybe Boolean as representation.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/i-util.boot ($intTopLevel): Move to sys-constants.boot.
	* interp/g-error.boot (returnToTopLevel): Tidy.
	* interp/macros.lisp (applyWithOutputToString): Likewise.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/spaderror.lisp: Move convent to spad.lisp.  Remove.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/patches.lisp: Move content to msgdb.boot.  Remove.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/word.boot: Add import and scope statements.  Include in
	final executables.
	(infix?): Remove as duplicate in match.boot.
	(prefix?): Likewise.
	(suffix?): Likewise.
	* interp/g-error.boot (returnToTopLevel): Tidy.
	* interp/debug.lisp (/D-2): Use spadThrow in lieu of UNWIND.
	* interp/patches.lisp (CATCHALL): Remove.
	(DBRINIT): Likewise.
	(TOPLEVEL): Likewise.
	(TOP-LEVEL): Likewise.
	(UNWIND): Likewise.
	(RESUME): Likewise.
	(booFind): Likewise.

2012-01-14  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* lisp/core.lisp.in (mkIntArray): New.  Export.
	* interp/patches.lisp (/RF): Move to cparse.boot.
	(/RQ): Likewise.
	(/RQ,LIB): Likewise.
	(/RF-1): Likewise.
	(/EF): Move to spad.lisp.
	(construct): Remove.
	(READSPADEXPR): Likewise.
	(SHAREDITEMS): Likewise.
	(installStandardTestPackages): Likewise.
	(spadtestValueHook): Likewise.
	(testError): Likewise.
	($TestOptions): Likewise.
	(rebuild): Likewise.
	($ViewportProcessToWatch): Likewise.
	(setViewportProcess): Likewise.
	(waitForViewport): Likewise.
	* interp/i-analy.boot (pushDownOp?): Use mkIntArray in place of
	GETZEROVEC.
	* interp/i-funsel.boot (argCouldBelongToSubdomain): Likewise.
	* interp/i-intern.boot (flagArguments): Likewise.

2012-01-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/category.boot: Rename AncestorP to ancestor?.
	Rename DescendantP to descendant?.
	* interp/define.boot: Likewise.
	* interp/functor.boot: Likewise.

2012-01-12  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (bpFunction): New.
	(bpConstTok): Include it.
	* boot/ast.boot (bfFunction): New.
	* boot/tokens.boot: `function' is now a keyword.

2012-01-11  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/tokens.boot (keywordId): New.
	* boot/parser.boot (bpSexpKey): Use it.
	* interp/i-map.boot (mapPredTran): Fix thinko.

2012-01-09  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/parser.boot (bpRequire): New.  Use it throughout this module.

2012-01-08  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* boot/ast.boot (bfEnum): New.
	* boot/translator.boot (translateToplevel): Use it to translate
	enumeration definitions.
	* interp/types.boot (%ConstructorKind): Use new syntax.

2012-01-01  Gabriel Dos Reis  <gdr@cs.tamu.edu>

	* interp/define.boot (evalCategoryForm): New.
	(mkCategoryPackage): Use it.
	(compMakeCategoryObject): Likewise.
	* interp/nruncomp.boot (NRTsetVector4a): Likewise.