(FILECREATED " 8-Feb-86 13:46:53" {GOEDEL}</usr2/pds/updating/>PROLOGBOOT        

      changes to:  (VARS PROLOGBOOTCOMS)

      previous date: " 5-Feb-86 16:37:36" {GOEDEL}<usr2/pds/updating/test>PROLOGBOOT)


(* 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 (if smashing): "
									       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 , 
									    QP.RELEASE.LISP.FILES)
					      (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))))))))
	))
(* %2/8/86  %@(#)PROLOGBOOT	1.19 )



(* 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 (if smashing): "
								     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 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 TEDITMODE 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 VALUES 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 (PROCS.LSP LOAD.LSP PRIM.LSP CODE.LSP CELL.LSP TAGS.LSP BIND.LSP 
				      REGISTERS.LSP SELECT.LSP IO.LSP CHARTYPE.LSP INSTRS.LSP GC.LSP 
				      ASSERT.LSP ENV.LSP ERROR.LSP FINDARITY.LSP FINDDEFN 
				      FINDPRED.LSP FORMAT.LSP LINK.LSP SETUPMENU STATISTICS.LSP 
				      TELLEDITOR INTERRUPTS SECURE TOPLEVEL INTERPRET.LSP INDEX.LSP 
				      AMEM.LSP CALL.LSP CUT.LSP FAIL.LSP PUTWRITE.LSP GETREAD.LSP 
				      META.LSP LISP.LSP ARITH.LSP SKEL.LSP LOGO2 NUKE TEDITMODE 
				      TEXECFIXES ERRORTAB DONOR.LSP))
		    (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)
			   )))
(PUTPROPS PROLOGBOOT COPYRIGHT ("Quintus Computer Systems, Inc" 1986))
STOP