(FILECREATED " 8-Nov-85 14:02:16" {ERIS}<LISPCORE>LIBRARY>LISTEN.;3 2083   

      changes to:  (FNS ADD.NEW.EXEC)
		   (VARS LISTENCOMS)

      previous date: "14-Oct-85 18:21:13" {ERIS}<LISPCORE>LIBRARY>LISTEN.;2)


(* Copyright (c) 1984, 1985 by Tom Lipkis. All rights reserved.)

(PRETTYCOMPRINT LISTENCOMS)

(RPAQQ LISTENCOMS ((FNS ADD.NEW.EXEC)
		     (APPENDVARS (BackgroundMenuCommands (EXEC (QUOTE (ADD.NEW.EXEC))
							       "Start a new Interlisp-D Executive")))
		     (VARS (BackgroundMenu NIL))))
(DEFINEQ

(ADD.NEW.EXEC
  [LAMBDA (PromptORForm)                                     (* lmm " 8-Nov-85 14:01")
    (PROG (handle window)
	    (SETQ PromptORForm (OR PromptORForm (QUOTE ←)))
	    (SETQ window (CREATEW NIL "Interlisp-D Executive"))
	    [WINDOWADDPROP window (QUOTE CLOSEFN)
			     (FUNCTION (LAMBDA (window)
				 (PROG [(proc (WINDOWPROP window (QUOTE PROCESS]
				         (RETURN (COND
						     ((EQ (THIS.PROCESS)
							    proc)
						       (ADD.PROCESS (LIST (QUOTE CLOSEW)
									      (KWOTE window)))
						       (QUOTE DON'T))
						     ((PROCESSP proc)
						       (DEL.PROCESS proc)
						       NIL]
	    (SETQ handle (ADD.PROCESS
		[BQUOTE (PROGN (TTYDISPLAYSTREAM (QUOTE (\, window)))
				   (\, (if (LISTP PromptORForm)
					   then PromptORForm
					 else (BQUOTE (EVALQT (QUOTE (\, PromptORForm]
		(QUOTE NAME)
		(QUOTE EXEC)
		(QUOTE RESTARTABLE)
		T))
	    [WINDOWPROP window (QUOTE TITLE)
			  (CONCAT "Interlisp-D Executive" (SUBSTRING
				      (PROCESSPROP handle (QUOTE NAME))
				      (OR (STRPOS "#" (PROCESSPROP handle (QUOTE NAME)))
					    1]
	    (TTY.PROCESS handle])
)

(APPENDTOVAR BackgroundMenuCommands (EXEC (QUOTE (ADD.NEW.EXEC))
					    "Start a new Interlisp-D Executive"))

(RPAQQ BackgroundMenu NIL)
(PUTPROPS LISTEN COPYRIGHT ("Tom Lipkis" 1984 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (523 1859 (ADD.NEW.EXEC 533 . 1857)))))
STOP