aboutsummaryrefslogtreecommitdiff
path: root/src/interp/spad.lisp
AgeCommit message (Collapse)AuthorFilesLines
2013-06-02Tell compForMode not to be fussy when bootstrapping the algebra.dos-reis1-1/+0
2013-05-30Update for modern ECL.dos-reis1-1/+1
2013-05-29Misc cleanups.dos-reis1-4/+1
2013-05-29Remove Lispy junksdos-reis1-1/+0
2013-05-22Replace OPTIONLIST with $compilerOptionsdos-reis1-1/+1
2012-08-26 * interp/debug.lisp: Remove reference to TOK and CHR.dos-reis1-6/+0
* 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-20 * interp/spad.lisp (SPAD): Remove obfuscated binding of OUT-STREAM.dos-reis1-5/+3
* 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 * interp/util.lisp (BUILD-INTERPSYS): loadDelayedFFI early.dos-reis1-7/+0
* 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-06-10 * interp/io.boot (%SourceLine): New.dos-reis1-35/+31
(%LoadUnit): Likewise. (readLoadUnitSource): Likewise. (%Reader): Remove input stream field. Include load unit and next lines fields. Adjust users.
2012-06-07 * interp/lexing.boot: Move %Line to io.boot.dos-reis1-1/+1
* interp/debug.lisp (SPAD_LONG_ERROR): Take a reader parameter. Tidy.
2012-06-04 * interp/spad.lisp (SPAD): Adjust.dos-reis1-5/+5
* 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 * interp/io.boot (%Reader): New data structure.dos-reis1-24/+10
* 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-05-25/EDITFILE cleanupdos-reis1-3/+3
2012-05-25 * interp/sys-globals.boot ($compCount): Remove.dos-reis1-175/+0
* interp/spad.lisp (knownEqualPred): Move to buildom.boot (hashable): Likewise. Remove junk. * interp/debug.lisp: Remove junk. * interp/vmlisp.lisp: Likewise.
2012-05-23 * interp/vmlisp.lisp (MAKE-CVEC): Remove.dos-reis1-1/+1
(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-21 * interp/parsing.lisp: Remove.dos-reis1-5/+3
* 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 * interp/spad.lisp (S-PROCESS): Rename to translateSpad and movedos-reis1-22/+3
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-21 * interp/lexing.boot (getDecimalNumberToken): New.dos-reis1-1/+1
(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-21 * interp/vmlisp.lisp (SETANDFILE): Remove.dos-reis1-1/+0
(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-21 * interp/vmlisp.lisp (EVALANDFILEACTQ): Second argument is nodos-reis1-2/+2
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 * interp/parsing.lisp (CONVERSATION): Remove.dos-reis1-57/+0
(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-09 * interp/preparse.lisp (PREPARSE): Move to spad-parser.boot.dos-reis1-1/+1
Rename as preparse.
2012-05-08 * interp/spad.lisp (INIT-BOOT/SPAD-READER): Don't set FILE-CLOSED.dos-reis1-9/+10
(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-05 * interp/clam.boot (compHash): Rework.dos-reis1-1/+0
* interp/spad.lisp ($reportCounts): Remove.
2012-02-20 * interp/lexing.boot (getNumberToken): New.dos-reis1-0/+82
(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-01-14 * interp/spaderror.lisp: Move convent to spad.lisp. Remove.dos-reis1-1/+58
2012-01-14 * lisp/core.lisp.in (mkIntArray): New. Export.dos-reis1-0/+3
* 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.
2011-11-02 * interp/spad-parser.boot (parseSpadFile): Use $lineStack notdos-reis1-1/+1
BOOT-LINE-STACK. Use try/finally to ensure streams are closed. * interp/spad.lisp (New,ENTRY,2): Use parseNewExpr. * interp/util.lisp (string2SpadTree): Likewise.
2011-10-18 * interp/postpar.boot (displayPreCompilationErrors): Dot not checkdos-reis1-9/+0
for interactive mode. (postBigFloat): Likewise. (postDef): Likewise. (postMDef): Likewise. (tuple2List): Likewise. (postReduce): Likewise. (postQUOTE): Remove. (postQuot): Likewise. (postOp): Likewise. (postTran): Adjust. * interp/newaux.lisp: Replace %LET with ':='. * interp/property.lisp: Likewise. * interp/g-util.boot (getTypeOfSyntax): Likewise. * interp/define.boot (checkRepresentation): Likewise. (doIt): Likewise. * interp/compiler.boot (compSetq): Likewise. (compRecoverGuard): Likewise. (compReduce1): Likewise. * interp/c-util.boot (lhsOfAssignment): Likewise. (isAlmostSimple): Likewise. * interp/c-doc.boot (recordAttributeDocumentation): Likewise. * interp/parse.boot (parseLeftArrow): Remove. (parseLETD): Likewise. (parseAssign): Rename from parseLET. * algebra/syntax.spad.pamphlet (SpadAst): Handle both cases.
2011-10-17 * lisp/core.lisp.in: Add ref and deref to support references.dos-reis1-15/+2
* interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and "..". * interp/spad.lisp: Tidy. * interp/spad-parser.boot: New parsers. * interp/preparse.lisp: Remove dead codes. * interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove. * interp/parse.boot (doParseCategory): Rename from parseCategory. * interp/newaux.lisp: Tidy. * interp/lexing.boot (getSpadToken): New. (Keywords): Remove 'when'. (matchKeywordNext): New. (matchSpecial): Likewise. (matchAdvanceSpecial): Likewise. (matchAdvanceGlyph): Likewise. * interp/fnewmeta.lisp: Move variable definitions to preparse.lisp. Remove Lisp based parsers. Remove file. * interp/c-doc.boot (recordAttributeDocumentation): Fix thinko. * interp/bootlex.lisp (GET-BOOT-TOKEN): Remove. * interp/Makefile.in: Adjust dependencies. * boot/parser.boot (bpChar): New. (bpPattern): Allow character constants.
2011-10-07 * interp/lexing.boot: Include sys-macros.dos-reis1-3/+3
Add more tokenizer functions. * interp/fnewmeta.lisp: Use them. * interp/parsing.lisp: Likewise. * interp/bootlex.lisp: Likewise. * interp/spad.lisp: Likewise. (NEXT-BOOT-LINE): Remove. * interp/metalex.lisp: Remove old lexing routines. * interp/Makefile.in (lexing.$(FASLEXT)): Adjust dependency. * boot/tokens.boot: newString is no longer builtin library function. (shoeDictCons): Use makeString not newString. * lisp/core.lisp.in (listToString): Fix typo.
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis1-1/+1
* boot/ast.boot: Use it. instead of ASSOC. * boot/translator.boot (packageBody): Tidy. * interp/astr.boot: Use objectAssoc instead of ASSQ. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msg.boot: Likewise. * interp/posit.boot: Likewise. * interp/termrw.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot (upwardCut): New. * interp/spad.lisp: Use it. * interp/util.lisp: Likewise. * interp/spaderror.lisp: Likewise. * interp/vmlisp.lisp (ASSEMBLE): Remove. (ASSQ): Likewise. (MEMQ): Likewise. (NAMEDERRSET): Likewise. (ORADDTEMPDEFS): Likewise. * interp/macros.lisp (QLASSQ): Move to vmlisp.lisp. (LASSQ): Remove.
2011-08-22 * interp/metalex.lisp (LINE-HANDLER, NEXT-LINE, XCAPE): Remove.dos-reis1-7/+3
(XTOKENREADER, GET-TOKEN, NEXT-META-LINE): Likewise. (META_ERROR_HANDLER, META-SYNTAX-ERROR, META-META-ERROR-HANLER): Likewise. * interp/debug.lisp: Do not set /XCAPE property. * interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Do not set XTOKENRADER, LINE-HANDLER, META_ERROR_HANDLER.
2011-07-04 * interp/setvars.boot: Remove support for script formula.dos-reis1-1/+0
* interp/setvart.boot: Likewise. * interp/diagnostics.boot (sayBrightlyNT1): Move from macros.lisp. (sayBrightly1): Likewise. (sayBrightlyNT): Likewise. (sayBrightly): Likewise. (sayBrightlyI): Likewise. (sayMSG): Likewise. (sayTeX): Likewise. (sayMSG2File): Likewise. * interp/i-output.boot (formulaFormat): Remove. (output): Adjust. * interp/macros.lisp (sayMSGNT): Remove. (sayFORTRAN): Likewise. (sayFORMULA): Likewise. ($formulaOutputstream): Likewise. * interp/sys-globals.boot ($formulaOutputstream): Remove. * interp/spad.lisp ($formulaFormat): Remove. * algebra/exposed.lsp.pamphlet: Do not expose ScriptFormulaFormat and ScriptFormulaFormat1. * algebra/exposed.lsp.pamphlet: Remove.
2011-05-29 * interp/sys-utility.boot (displayTextFile): New.dos-reis1-7/+0
* interp/i-syscmd.boot (summary): Use it. (copyright): Likewise. * algebra/net.spad.pamphlet: Replace closeFile with closeStream. * boot/translator.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise.
2011-05-01 * interp/macros.lisp (WI, tryLine, embrace indentNB, tryBreak)dos-reis1-10/+1
(tryBreakNB, MARKHASH): Remove. * interp/spad.lisp (NEWNAMTRANS): Likewise. * interp/sys-macros.lisp: Remove more Lispy junk.
2011-04-12cleanup from lispdos-reis1-9/+1
2011-03-16 * interp/i-syscmd.boot (compileSpad2Cmd): Remove experimentaldos-reis1-18/+0
support for Spad to Aldor translation. (convertSpasToAsFile): Remove. * interp/mark.boot: Remove. * interp/nspadux.lisp: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/spad.lisp: Don't register removed formatters. * interp/util.lisp: (TRANSLATE-FUNCTIONS): Remove. (BUILD-INTERPSYS): Now take only one argument. * src/share/doc/msgs/s2-us.msgs: Remove diagnostic S2IZ0085. * interp/Makefile.in: Remove rules for building wi1.boot, wi2.boot, mark.boot, pspad1.boot pspad2.boot.
2010-11-16 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %s2cdos-reis1-1/+0
builtin. * interp/g-util.boot (stringToChar): New. (expandCst): Use it. (expandS2c): Likewise. New. * interp/spad.lisp (|$Newline): Move to interp/sys-macros.lisp. * interp/sys-macros.lisp (|$Backspace): New. (|$HorizontalTab|): Likewise. (|$VerticalTab|): Likewise. (|$FormFeed|): Likewise. (|$CarriageReturn|): Likewise. * algebra/string.spad.pamphlet (Character) [newline]: New. [carriageReturn]: Likewise. [linefeed]: Likewise. [formfeed]: Likewise. [backspace]: Likewise. [horizontalTab]: Likewise. [verticalTab]: Likewise. [char]: Tidy.
2010-10-28 * interp/c-util.boot: Cleanup.dos-reis1-1/+0
2010-07-28 * interp/sys-globals.boot ($VariableCount): Remove.dos-reis1-15/+0
* interp/spad.lisp (QUOTIENT2): Remove. (REMAINDER2): Likewise. * algebra/integer.spad.pamphlet (Integer): Use builtin %idivide. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-25 (optCallSpecially): Remove deadcode.dos-reis1-1/+0
2010-05-16 * interp/daase.lisp ($ConstructorCache): Declare.dos-reis1-1/+1
* interp/bootlex.lisp: Fix use of SETELT. * interp/macros.lisp: Likewise. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/vmlisp.lisp: Likewise.
2010-03-04 * interp/c-util.boot (quoteMinimally): New.dos-reis1-1/+1
(registerFunctionReplacement): Likewise. * interp/define.boot (spadCompileOrSetq): Use it. * interp/g-opt.boot (optSpecialCall): Likewise. * interp/nruncomp.boot (optDeltaEntry): Likewise. * interp/spad.lisp (|knownEqualPred|): Likewise. * interp/wi2.boot (optDeltaEntry): Likewise.
2010-02-07 * interp/daase.lisp: Remove conditionals on :CCL.dos-reis1-11/+1
* interp/fname.lisp: Likewise. * interp/foam_l.lisp: Likewise. * interp/macros.lisp: Likewise. * interp/nlib.lisp: Likewise. * interp/patches.lisp: Likewise. * interp/sfsfun-l.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/util.lisp: Likewise. * interp/vmlisp.lisp: Likewise.
2008-12-11 r12436@gauss: gdr | 2008-12-09 21:32:50 -0600dos-reis1-19/+1
Modularize S-PROCESS.
2008-11-16 * interp/c-util.boot: Clean up.dos-reis1-2/+1
* interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-output.boot: Likewise. * interp/macros.lisp: Likewise. * interp/nrungo.boot: Likewise. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/sys-macros.lisp: Likewise. * interp/trace.boot: Likewise. * interp/types.boot: Likewise. * interp/vmlisp.lisp: Likewise. * interp/word.boot: Likewise.
2008-11-16 * interp/i-syscmd.boot: Remove dead code.dos-reis1-6/+3
* interp/spad.lisp: Likewise.
2008-11-15 * interp/spad.lisp (incTimeSum): Remove.dos-reis1-10/+0
* interp/modemap.boot ($forceAdd): Define. * interp/nruncomp.boot ($NRTderivedTargetIfTrue): Likewise. ($killOptimizeIfTrue): Likewise. * interp/i-toplev.boot (processInteractive): Tidy. * interp/c-util.boot ($compErrorMessageStack): Define. * interp/compiler.boot (compApply): Remove. ($compTimeSum): Likewise ($resolveTimeSum): Likewise. (compCompilerPredicate): Tidy. (comp3): There is no such thing as KAPPA.
2008-11-03 * interp/postpar.boot (postcheckTarget): Likewise.dos-reis1-1/+1
(isPackageType): Likewise. * interp/lisplib.boot (getSlotFromDomain): Remove. * interp/macros.lisp (|saySpadMsg|): Remove. * interp/vmlisp.lisp (qsetq): Remove. (STATEP, FUNARGP, PAPPP): Likewise. (LISTOFQUOTES, LISTOFFREES): Likewise.