;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for Unix-Interface version 7.1
;;; Reason:
;;;  Make UNIX:SIMPLE-UNIX-TYPEIN-TOP-LEVEL catch handle Control-Abort
;;;  correctly.
;;; Written 19-Jan-86 16:30:59 by dg (Dave Goodine) of LMI Cambridge
;;; while running on Maurice Ravel from band 2
;;; with Don't-dump-a-band! Inconsistent (unreleased patches loaded) System 109.85, Experimental Local-File 64.1, Experimental FILE-Server 17.1, Experimental MagTape 3.4, Experimental ZMail 64.2, Experimental Unix-Interface 7.0, microcode 1336, LMI Pre-Alpha Test Band.


; From modified file DJ: L.UNIX; LAMTTY.LISP#53 at 19-Jan-86 16:31:55
#8R UNIX#:
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "UNIX")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: UNIX; LAMTTY  "


(defun simple-unix-typein-top-level (window)
  (let ((*terminal-io* window))
    (unless (send window :unix-stream)
      (setf (tv:io-buffer-last-output-process (send window :io-buffer))
	    (send window :typein-process))
      (when (not (si:share-mode-active-p))
	(process-wait "Share mode inactive" 'si:share-mode-active-p))
      (send window :clear-screen)
      (assure-*share-ttys*-set-up)
      (if (send window :port-number)
	  (send window :set-port-number (open (format nil "UNIX-STREAM-~d:"
						      (send window :port-number))))
	(multiple-value-bind (pathname port-number)
	    (find-unix-stream t)
	  (send window :set-unix-stream (open pathname))
	  (send window :set-port-number port-number))))
    (do-forever
      (send window :typein-top-level))))

;; crock to make CONTROL-{META-}ABORT handler not typeout to window
(defmethod (simple-unix-window-mixin :inhibit-output-for-abort-p) () t)

(compile-flavor-methods simple-unix-window-mixin)

))
