;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 123.263
;;; Reason:
;;;  When you did Terminal-Clear-Screen, or upon a fresh cold boot, the who line
;;;  documentation string was blank, rather than saying Click right for system menu
;;; Written 6-May-88 23:27:32 by pld at site Gigamos Cambridge
;;; while running on Azathoth from band 3
;;; with Experimental System 123.259, Experimental Local-File 73.5, Experimental FILE-Server 22.4, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.2, Experimental Lambda-Diag 15.0, Experimental Tape 22.4, microcode 1756, SDU Boot Tape 3.14, SDU ROM 8, the old ones.



; From modified file DJ: L.WINDOW; WHOLIN.LISP#108 at 6-May-88 23:27:33
#8R TV#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; WHOLIN  "

(DEFUN WHO-LINE-DOCUMENTATION-FUNCTION (WHO-SHEET)
  (DECLARE (:SELF-FLAVOR WHO-LINE-SHEET))
  (LET* ((W MOUSE-WINDOW)
	 (NEW-STATE
	   (COND (LOCKED-ERROR-WINDOWS
		  ;; To attract attention, make this message blink.
		  (LET ((MSG
			  "*** Background error with window locked; try Terminal C-M-Clear-Input or Terminal Call ***")
			(MSG1
			  "    Background error with window locked; try Terminal C-M-Clear-Input or Terminal Call"))
		    (IF (EQ WHO-LINE-ITEM-STATE MSG)
			MSG1 MSG)))
		 (*WHO-LINE-DOCUMENTATION-OVERRIDE*)
;		 (PENDING-NOTIFICATIONS
;		  (LET ((MSG
;			  "***** Notifications are pending.  Terminal N is one way to see them. *****")
;			(MSG1
;			  "      Notifications are pending.  Terminal N is one way to see them."))
;		    (IF (EQ WHO-LINE-ITEM-STATE MSG)
;			MSG1 MSG)))
		 ((SYMBOLP W)
		  (AND W WHO-LINE-MOUSE-GRABBED-DOCUMENTATION))
		 (T
		  (MULTIPLE-VALUE-BIND (DOC ERROR)
		      (CATCH-ERROR (SEND W :WHO-LINE-DOCUMENTATION-STRING)
				   NIL)
		    (IF ERROR "Error getting documentation string" DOC))))))
    (unless (stringp new-state)
      (setq new-state "Click right to get the System Menu."))
    (WHEN (NEQ WHO-LINE-ITEM-STATE NEW-STATE)
      (SETQ WHO-LINE-ITEM-STATE NEW-STATE)
      (SHEET-CLEAR WHO-SHEET)
      (SHEET-STRING-OUT WHO-SHEET NEW-STATE
			0 (MIN (OR (STRING-SEARCH-CHAR #/NEWLINE NEW-STATE)
				   (LENGTH NEW-STATE))
			       (TRUNCATE (SHEET-INSIDE-WIDTH WHO-SHEET)
					 (SHEET-CHAR-WIDTH WHO-SHEET)))))))

))
