;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.226 ;;; Reason: ;;; Supdup and Telnet servers now look even more like normal Lisp consoles -- ;;; they don't erase the **MORE** when you type Abort while waiting. ;;; Written 7-Apr-88 17:38:13 by pld at site LMI ;;; while running on Opus from band 2 ;;; with Experimental System 123.225, Experimental Local-File 73.4, Experimental FILE-Server 22.2, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Tiger 27.0, Experimental Site Data Editor 9.0, Experimental Tape 22.0, microcode 1755, SDU Boot Tape 3.14, SDU ROM 8, Beta II/site/patch. ; From modified file OPUS: L.NETWORK.IP-TCP.SERVER; TERMCAP.LISP#94 at 7-Apr-88 17:38:13 #10R TELNET#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "TELNET"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; SERVER; TERMCAP  " (defmethod (simple-ascii-stream-terminal :more-exception) () (when (plusp (tv:sheet-more-flag self)) (setf (tv:sheet-more-flag self) 0) (let ((more-vpos tv:more-vpos)) (unwind-protect (progn (princ "**MORE**" output) (send self :clear-rest-of-line) (force-output self) (send self :clear-input) (send self :any-tyi) (setq tv:more-vpos more-vpos) (send self :output-control-sequence (termcap.carriage-return termcap)) (send self :clear-rest-of-line)) (cond ((= tv:cursor-y (- tv:height tv:line-height)) ;;At bottom, wrap around. Next MORE in same place (send self :home-cursor) (send self :clear-rest-of-line)) ((null tv:more-vpos)) ;MORE inhibited ((< (* (- tv:height tv:cursor-y) 4) ;More than 3/4 way down window? tv:height) ;; Wrap around and MORE just before the current line (setq tv:more-vpos (- tv:cursor-y tv:line-height))) (t ;; More at bottom (setq tv:more-vpos (- tv:height tv:line-height)))))))) ))