(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