(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