;;; -*- Mode:LISP; Package:SYSTEM-INTERNALS; Readtable:CL; Base:10 -*-


;;; example, system V will give a lisp listener in the package TUSER,
;;; but with different associated indexed cell arrays.



(DEFFLAVOR TIMESHARE-INTERACTOR () (NOTIFICATION-MIXIN LISTENER-MIXIN-INTERNAL WINDOW)
  (:DEFAULT-INIT-PLIST
    :SAVE-BITS T
    :process '(TIMESHARE-INTERACTOR-TOPLEVEL
		:REGULAR-PDL-SIZE #o40000
		:SPECIAL-PDL-SIZE #o4000)))


(DEFPACKAGE TUSER)

(SI:SET-PACKAGE-AUTO-INDEXIFY (FIND-PACKAGE 'TUSER))


(DEFUN TIMESHARE-INTERACTOR-TOPLEVEL (W)
  (LET ((*indexed-cell-array* (ASSOCIATED-INDEXED-CELL-ARRAY W))
	(*package* (find-package 'tuser)))
    (LISP-TOP-LEVEL1 W)))

(COMPILE-FLAVOR-METHODS TIMESHARE-INTERACTOR)

(tv:add-system-key #\V 'TIMESHARE-INTERACTOR "Like a lisp listener")

