(FILECREATED "21-Oct-85 12:24:38" {ERIS}<LISPCORE>LISPUSERS>EXEC.;1 3181   

      changes to:  (VARS EXECCOMS)
		   (FNS EXEC.QUIT)

      previous date: "21-Oct-85 11:42:06" {ERIS}<ROACH>LISP>EXEC.;2)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT EXECCOMS)

(RPAQQ EXECCOMS ((* EXEC -- By Kelly Roach *)
		   (FNS EXEC.INIT EXEC EXEC.PROCESS EXEC.QUIT)
		   (P (EXEC.INIT))
		   (LOCALVARS . T)))



(* EXEC -- By Kelly Roach *)

(DEFINEQ

(EXEC.INIT
  (LAMBDA NIL                                                (* kbr: " 6-Sep-84 16:04")
    (PROG NIL
	    (WINDOWPROP \TopLevelTtyWindow (QUOTE TITLE)
			  "EXEC Window")
	    (ADDTOVAR BackgroundMenuCommands (EXEC (QUOTE (EXEC))
						       "Opens an EXEC Window."))
	    (SETQ BackgroundMenu NIL)                      (* BackgroundMenu recreated by WINDOW package next 
							     time user buttons background.
							     *)
	)))

(EXEC
  (LAMBDA (REGION)                                           (* kbr: " 6-Sep-84 16:07")
    (PROG (PROCESS)
	    (SETQ PROCESS (ADD.PROCESS (BQUOTE (EXEC.PROCESS (QUOTE (\, REGION))))
					   (QUOTE NAME)
					   (QUOTE EXEC)
					   (QUOTE RESTARTABLE)
					   T))
	    (TTY.PROCESS PROCESS)
	    (RETURN PROCESS))))

(EXEC.PROCESS
  (LAMBDA (REGION)                                           (* kbr: "21-Oct-85 10:50")
    (PROG (WINDOW)
	    (COND
	      ((NULL (PROCESSPROP (THIS.PROCESS)
				      (QUOTE WINDOW)))     (* Only create WINDOW on first invocation, not after 
							     RESET when process already has a WINDOW.
							     *)
		(SETQ WINDOW (CREATEW REGION (CONCAT (PROCESS.NAME (THIS.PROCESS))
							   " Window")))
		(PROCESSPROP (THIS.PROCESS)
			       (QUOTE WINDOW)
			       WINDOW)
		(WINDOWPROP WINDOW (QUOTE PROCESS)
			      (THIS.PROCESS))
		(WINDOWPROP WINDOW (QUOTE CLOSEFN)
			      (QUOTE EXEC.QUIT)))
	      (T (SETQ WINDOW (PROCESSPROP (THIS.PROCESS)
					       (QUOTE WINDOW)))))
	    (TTYDISPLAYSTREAM WINDOW)
	    (OUTPUT T)
	    (INPUT T)
	LP  (\RESETSYSTEMSTATE)
	    (EVALQT (QUOTE ←))
	    (GO LP))))

(EXEC.QUIT
  (LAMBDA (WINDOW)                                           (* kbr: "21-Oct-85 12:22")
    (PROG (PROC)
	    (COND
	      ((NOT (MOUSECONFIRM "Kill this EXEC?"))
		(RETURN)))
	    (COND
	      ((OR (NULL WINDOW)
		     (EQ (THIS.PROCESS)
			   (WINDOWPROP WINDOW (QUOTE PROCESS))))
		(SETQ PROC (THIS.PROCESS))
		(SETQ WINDOW (PROCESSPROP PROC (QUOTE WINDOW))))
	      (T (SETQ PROC (WINDOWPROP WINDOW (QUOTE PROCESS)))))
	    (WINDOWPROP WINDOW (QUOTE CLOSEFN)
			  NIL)
	    (WINDOWPROP WINDOW (QUOTE PROCESS)
			  NIL)
	    (CLOSEW WINDOW)
	    (DEL.PROCESS PROC))))
)
(EXEC.INIT)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(LOCALVARS . T)
)
(PUTPROPS EXEC COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (485 3041 (EXEC.INIT 495 . 993) (EXEC 995 . 1370) (EXEC.PROCESS 1372 . 2344) (EXEC.QUIT 
2346 . 3039)))))
STOP