;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Private patches made by keith
;;; Reason:
;;;  General scroll window facility
;;;   1) quicker way to make a long string of spaces
;;;   2) fix TV:SCROLL-GET-ITEM-LOCATIVE to make :get-item, :set-item, etc.
;;;  work correctly; used to be, item 0 was addressable as item -1; in other words,
;;;  every position was 1 too high.
;;; Written 16-Jun-87 18:26:45 by keith (Keith Corbett) at site LMI
;;; while running on Cousin It from band 2
;;; with System 110.232, Local-File 68.7, FILE-Server 18.4, Unix-Interface 9.1, Tape 6.39, Tiger 24.0, KERMIT 31.3, ZMail 65.14, Lambda-Diag 7.17, TCP-Kernel 41.2, TCP-User 63.1, TCP-Server 46.0, Site Data Editor 3.4, System Revision Level 3.279, Object Lisp 5.0, Laser1+ 1.0, Iris 10.0, VISTA-LIBRARY 31.0, VISOBS 37.0, Experimental Local Patches 11.0, microcode 1600, SDU Boot Tape 3.14, SDU ROM 8, t,l+,iv.



; From modified file IT: RELEASE-3.WINDOW; SCROLL.LISP#182 at 16-Jun-87 18:26:57
#8R TV#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; SCROLL  "


(DEFVAR SCROLL-SPACES (make-string 3720 :initial-element #\space)
  "A list of more spaces than anyone could ever need a substring of.")

;;; All the work is done by the redisplayer

))

; From modified file IT: RELEASE-3.WINDOW; SCROLL.LISP#182 at 16-Jun-87 18:27:14
#8R TV#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; SCROLL  "

(DEFUN SCROLL-GET-ITEM-LOCATIVE (POSITION &AUX (ITEM (LOCATE-IN-INSTANCE SELF 'DISPLAY-ITEM)))
  (DECLARE (:SELF-FLAVOR BASIC-SCROLL-WINDOW))
  (AND (NUMBERP POSITION) (SETQ POSITION (NCONS POSITION)))
  (DOLIST (C POSITION)
    (SETQ ITEM (LOCF (NTH C (SCROLL-ITEMS (CAR ITEM))))))
  ITEM)

))
