(FILECREATED "24-Feb-86 19:45:31" {DSK}<LISPFILES2>IMPROVEDDCOMS>PROLOGBOOT.;9 10562
changes to: (VARS PROLOGBOOTCOMS)
previous date: "24-Feb-86 18:29:36" {DSK}<LISPFILES2>IMPROVEDDCOMS>PROLOGBOOT.;7)
(* Copyright (c) 1986 by Quintus Computer Systems, Inc. All rights reserved.)
(PRETTYCOMPRINT PROLOGBOOTCOMS)
(RPAQQ PROLOGBOOTCOMS ((SCCS)
(* All and only what is needed to build a Xerox Quintus Prolog SYSOUT.)
(* In order to make this file, you must have NEWMAKEFILE loaded, and you must have the
variable DNGLIST bound. The latter is accomplished by loading the file DNGFILES, which is
built by Prolog when making a new system.)
(INITVARS QP.USE.SLOW.EMULATOR (QP.DEFAULT.LISP.OBJECT.HOST/DIR
(CAR (TTYIN "Enter directory for Lisp object code: " NIL NIL (QUOTE (NORAISE)))))
(QP.DEFAULT.PROLOG.OBJECT.HOST/DIR (CAR (TTYIN
"Enter directory for Prolog object code: "
NIL NIL (QUOTE (NORAISE)))))
(QP.SETUP.HELP.DIRECTORY (CAR (TTYIN
"Enter directory for help system files XQPM.FILETITLES and XQPM.INDEX files: "
NIL NIL (QUOTE (NORAISE)))))
(SMASHATOMS? (AND (NOT QP.USE.SLOW.EMULATOR)
(EQ (QUOTE Y)
(ASKUSER NIL NIL "Smash atoms? "))))
(ATOM.SMASHER.ANTIDOTE.FILE (if SMASHATOMS? then (CAR (TTYIN
"Enter full PATH and NAME of file to hold atom-smasher antidote: "
NIL NIL
(QUOTE (NORAISE))))
else
(QUOTE NOBIND)))
(QP.TERMINALFONTDIRECTORIES (TTYIN "Enter name(s) of font directory(ies): " NIL NIL
(QUOTE (NORAISE))))
(QP.LISPUSERSDIRECTORY (CAR (TTYIN
"Enter name of directory to get TEDIT & TEXEC from: "
NIL NIL (QUOTE (NORAISE))))))
(P (SETTOPVAL (QUOTE OLDDISPLAYFONTDIRECTORIES)
(GETTOPVAL (QUOTE DISPLAYFONTDIRECTORIES)))
(SETTOPVAL (QUOTE DISPLAYFONTDIRECTORIES)
QP.TERMINALFONTDIRECTORIES))
(COMS *
(BQUOTE ((FILES (FROM VALUEOF QP.LISPUSERSDIRECTORY)
,@ QP.LISP.LIBRARY.FILES)
(FILES (FROM VALUEOF QP.DEFAULT.LISP.OBJECT.HOST/DIR)
,@ QP.XEROX.LISP.FILES ,@ (for FL in QP.RELEASE.LISP.FILES collect
(FILENAMEFIELD FL (QUOTE NAME))))
(P (SETTOPVAL (QUOTE DISPLAYFONTDIRECTORIES)
(GETTOPVAL (QUOTE OLDDISPLAYFONTDIRECTORIES))))
(P (QP.INITIALIZE.PROLOG)
(RESETLST (RESETSAVE (/CNDIR QP.DEFAULT.PROLOG.OBJECT.HOST/DIR)
(BQUOTE (/CNDIR (\, (DIRECTORYNAME T T)))))
,@
(for DNG in DNGLIST collect (BQUOTE (QP.RECONSULT (QUOTE , DNG))))
)
(if QP.USE.SLOW.EMULATOR then (FILESLOAD (FROM VALUEOF
QP.DEFAULT.LISP.OBJECT.HOST/DIR)
,@
(for FL in
QP.DEVELOPMENT.LISP.FILES
collect (FILENAMEFIELD
FL
(QUOTE NAME)))
,@
(for FL in
QP.DEVELOPMENT.LISP.LOAD.AFTER
collect (FILENAMEFIELD
FL
(QUOTE NAME)))
SLOWPROLOG)
(PROLOG.INIT.MEMORY)
(for I from 0 to 255 do (SETA PROLOG.ENABLE.PUFN.TABLE I 0))
(SETQ QP.stop T)
(PROMPTPRINT
"Using slow emulator, with microcode turned off. You're ready to go.")
else
(FILESLOAD (FROM VALUEOF QP.DEFAULT.LISP.OBJECT.HOST/DIR)
FASTPROLOG))
(XQPM.SETUP QP.SETUP.HELP.DIRECTORY)
(if SMASHATOMS? then
(QP.SMASH.ATOMS ATOM.SMASHER.ANTIDOTE.FILE
(QUOTE , (APPEND (for FL in QP.RELEASE.LISP.FILES
collect (FILENAMEFIELD
FL
(QUOTE NAME)))
(LIST (QUOTE OPCODES)
(QUOTE PUTIL)
(QUOTE SECURITY))))
(QUOTE (ATOM.SMASHER.ANTIDOTE.FILE
OLDDISPLAYFONTDIRECTORIES
PROLOG.PUFN.TABLE
ATOM.SMASHER.ANTIDOTE.FILE
QP.DEFAULT.LISP.OBJECT.HOST/DIR
QP.DEFAULT.PROLOG.OBJECT.HOST/DIR
QP.LISPUSERSDIRECTORY
QP.SETUP.HELP.DIRECTORY
QP.TERMINALFONTDIRECTORIES
QP.USE.SLOW.EMULATOR
SMASHATOMS?
\GCSCANPROLOG
QP.PROLOG)))
(for FL in (QUOTE , (APPEND (for FL in QP.RELEASE.LISP.FILES collect
(FILENAMEFIELD FL (QUOTE NAME)))
(LIST (QUOTE FASTPROLOG)
(QUOTE PROLOGBOOT)
(QUOTE OPCODES)
(QUOTE PUTIL)
(QUOTE SECURITY))))
do
(SMASHFILECOMS FL)
(DREMOVE FL FILELST)
(REMPROP FL (QUOTE FILEDATES))
(REMPROP FL (QUOTE FILE))
(REMPROP FL (QUOTE COPYRIGHT))))))))))
(* %%G% %%W% )
(* All and only what is needed to build a Xerox Quintus Prolog SYSOUT.)
(* In order to make this file, you must have NEWMAKEFILE loaded, and you must have the
variable DNGLIST bound. The latter is accomplished by loading the file DNGFILES, which is built
by Prolog when making a new system.)
(RPAQ? QP.USE.SLOW.EMULATOR NIL)
(RPAQ? QP.DEFAULT.LISP.OBJECT.HOST/DIR (CAR (TTYIN "Enter directory for Lisp object code: " NIL NIL
(QUOTE (NORAISE)))))
(RPAQ? QP.DEFAULT.PROLOG.OBJECT.HOST/DIR (CAR (TTYIN "Enter directory for Prolog object code: " NIL
NIL (QUOTE (NORAISE)))))
(RPAQ? QP.SETUP.HELP.DIRECTORY (CAR (TTYIN
"Enter directory for help system files XQPM.FILETITLES and XQPM.INDEX files: "
NIL NIL (QUOTE (NORAISE)))))
(RPAQ? SMASHATOMS? (AND (NOT QP.USE.SLOW.EMULATOR)
(EQ (QUOTE Y)
(ASKUSER NIL NIL "Smash atoms? "))))
(RPAQ? ATOM.SMASHER.ANTIDOTE.FILE (if SMASHATOMS? then (CAR (TTYIN
"Enter full PATH and NAME of file to hold atom-smasher antidote: "
NIL NIL (QUOTE (NORAISE))))
else
(QUOTE NOBIND)))
(RPAQ? QP.TERMINALFONTDIRECTORIES (TTYIN "Enter name(s) of font directory(ies): " NIL NIL
(QUOTE (NORAISE))))
(RPAQ? QP.LISPUSERSDIRECTORY (CAR (TTYIN "Enter name of directory to get TEDIT & TEXEC from: " NIL
NIL (QUOTE (NORAISE)))))
(SETTOPVAL (QUOTE OLDDISPLAYFONTDIRECTORIES)
(GETTOPVAL (QUOTE DISPLAYFONTDIRECTORIES)))
(SETTOPVAL (QUOTE DISPLAYFONTDIRECTORIES)
QP.TERMINALFONTDIRECTORIES)
(FILESLOAD (FROM VALUEOF QP.LISPUSERSDIRECTORY)
TEDIT TEXEC GRAPHER)
(FILESLOAD (FROM VALUEOF QP.DEFAULT.LISP.OBJECT.HOST/DIR)
FREEMENU XQPINFO XQPM OPCODES PUTIL SECURITY VALUES PROCS LOAD PRIM CODE CELL TAGS BIND
REGISTERS SELECT IO CHARTYPE INSTRS GC ASSERT ENV ERROR FINDARITY FINDDEFN FINDPRED FORMAT
LINK SETUPMENU STATISTICS TELLEDITOR INTERRUPTS SECURE TOPLEVEL INTERPRET INDEX AMEM CALL
CUT FAIL PUTWRITE GETREAD META LISP ARITH SKEL LOGO2 NUKE TEXECFIXES ERRORTAB DONOR)
(SETTOPVAL (QUOTE DISPLAYFONTDIRECTORIES)
(GETTOPVAL (QUOTE OLDDISPLAYFONTDIRECTORIES)))
(QP.INITIALIZE.PROLOG)
(RESETLST (RESETSAVE (/CNDIR QP.DEFAULT.PROLOG.OBJECT.HOST/DIR)
(BQUOTE (/CNDIR (\, (DIRECTORYNAME T T)))))
(QP.RECONSULT (QUOTE arith.dng))
(QP.RECONSULT (QUOTE clauses.dng))
(QP.RECONSULT (QUOTE compare.dng))
(QP.RECONSULT (QUOTE curpred.dng))
(QP.RECONSULT (QUOTE debug.dng))
(QP.RECONSULT (QUOTE display.dng))
(QP.RECONSULT (QUOTE emacs.dng))
(QP.RECONSULT (QUOTE error.dng))
(QP.RECONSULT (QUOTE errortab.dng))
(QP.RECONSULT (QUOTE findef.dng))
(QP.RECONSULT (QUOTE format.dng))
(QP.RECONSULT (QUOTE grammar.dng))
(QP.RECONSULT (QUOTE help.dng))
(QP.RECONSULT (QUOTE interpret.dng))
(QP.RECONSULT (QUOTE io.dng))
(QP.RECONSULT (QUOTE listing.dng))
(QP.RECONSULT (QUOTE loadcode.dng))
(QP.RECONSULT (QUOTE manual.dng))
(QP.RECONSULT (QUOTE modules.dng))
(QP.RECONSULT (QUOTE open.dng))
(QP.RECONSULT (QUOTE operators.dng))
(QP.RECONSULT (QUOTE prims.dng))
(QP.RECONSULT (QUOTE procs.dng))
(QP.RECONSULT (QUOTE qc1assemble.dng))
(QP.RECONSULT (QUOTE qc1asxerox.dng))
(QP.RECONSULT (QUOTE qc1clause.dng))
(QP.RECONSULT (QUOTE qc1csxerox.dng))
(QP.RECONSULT (QUOTE qc1incxerox.dng))
(QP.RECONSULT (QUOTE read.dng))
(QP.RECONSULT (QUOTE setof.dng))
(QP.RECONSULT (QUOTE srcfile.dng))
(QP.RECONSULT (QUOTE state.dng))
(QP.RECONSULT (QUOTE statistics.dng))
(QP.RECONSULT (QUOTE stylecheck.dng))
(QP.RECONSULT (QUOTE tokens.dng))
(QP.RECONSULT (QUOTE tokvar.dng))
(QP.RECONSULT (QUOTE toplevel.dng))
(QP.RECONSULT (QUOTE transform.dng))
(QP.RECONSULT (QUOTE trap.dng))
(QP.RECONSULT (QUOTE user.dng))
(QP.RECONSULT (QUOTE versionnumber.dng))
(QP.RECONSULT (QUOTE write.dng))
(QP.RECONSULT (QUOTE xerox.dng))
(QP.RECONSULT (QUOTE xprims.dng)))
(if QP.USE.SLOW.EMULATOR then (FILESLOAD (FROM VALUEOF QP.DEFAULT.LISP.OBJECT.HOST/DIR)
UTIL BASIC APROPOS DEBUG SLOWPROLOG)
(PROLOG.INIT.MEMORY)
(for I from 0 to 255 do (SETA PROLOG.ENABLE.PUFN.TABLE I 0))
(SETQ QP.stop T)
(PROMPTPRINT "Using slow emulator, with microcode turned off. You're ready to go.")
else
(FILESLOAD (FROM VALUEOF QP.DEFAULT.LISP.OBJECT.HOST/DIR)
FASTPROLOG))
(XQPM.SETUP QP.SETUP.HELP.DIRECTORY)
(if SMASHATOMS? then
(QP.SMASH.ATOMS ATOM.SMASHER.ANTIDOTE.FILE
(QUOTE (VALUES PROCS LOAD PRIM CODE CELL TAGS BIND REGISTERS SELECT IO CHARTYPE
INSTRS GC ASSERT ENV ERROR FINDARITY FINDDEFN FINDPRED FORMAT LINK
SETUPMENU STATISTICS TELLEDITOR INTERRUPTS SECURE TOPLEVEL
INTERPRET INDEX AMEM CALL CUT FAIL PUTWRITE GETREAD META LISP
ARITH SKEL LOGO2 NUKE TEXECFIXES ERRORTAB DONOR OPCODES PUTIL
SECURITY))
(QUOTE (ATOM.SMASHER.ANTIDOTE.FILE OLDDISPLAYFONTDIRECTORIES PROLOG.PUFN.TABLE
ATOM.SMASHER.ANTIDOTE.FILE
QP.DEFAULT.LISP.OBJECT.HOST/DIR
QP.DEFAULT.PROLOG.OBJECT.HOST/DIR
QP.LISPUSERSDIRECTORY QP.SETUP.HELP.DIRECTORY
QP.TERMINALFONTDIRECTORIES
QP.USE.SLOW.EMULATOR SMASHATOMS? \GCSCANPROLOG
QP.PROLOG)))
(for FL in
(QUOTE (VALUES PROCS LOAD PRIM CODE CELL TAGS BIND REGISTERS SELECT IO CHARTYPE INSTRS GC
ASSERT ENV ERROR FINDARITY FINDDEFN FINDPRED FORMAT LINK SETUPMENU STATISTICS
TELLEDITOR INTERRUPTS SECURE TOPLEVEL INTERPRET INDEX AMEM CALL CUT FAIL
PUTWRITE GETREAD META LISP ARITH SKEL LOGO2 NUKE TEXECFIXES ERRORTAB DONOR
FASTPROLOG PROLOGBOOT OPCODES PUTIL SECURITY))
do
(SMASHFILECOMS FL)
(DREMOVE FL FILELST)
(REMPROP FL (QUOTE FILEDATES))
(REMPROP FL (QUOTE FILE))
(REMPROP FL (QUOTE COPYRIGHT))))
(PUTPROPS PROLOGBOOT COPYRIGHT ("Quintus Computer Systems, Inc" 1986))
(DECLARE: DONTCOPY
(FILEMAP (NIL)))
STOP