;;; -*- 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) ))