;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.174 ;;; Reason: ;;; The :tab method of :simple-ascii-stream-terminal was broken if you did a tab ;;; from part way into a tab stop. E.g. 2 characters followed by TAB should ;;; move you 6 spaces. Instead, you got the error handler. ;;; Written 4-Jan-88 15:35:59 by pld at site Gigamos Cambridge ;;; while running on Jack Flanders from band 2 ;;; with Experimental System 123.173, Experimental Local-File 73.3, Experimental FILE-Server 22.1, Experimental Unix-Interface 11.0, Experimental Tape 18.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, microcode 1754, SDU Boot Tape 3.12, SDU ROM 8. ; From modified file DJ: L.NETWORK.IP-TCP.SERVER; TERMCAP.LISP#89 at 4-Jan-88 15:35:59 #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 :tab) () (let ((stops (termcap.tab-stops termcap))) (cond ((null stops) (send self :string-out " ")) ((numberp stops) (let ((spaces (mod (pixels-to-chars tv:cursor-x) stops))) (dotimes (i (if (plusp spaces) spaces stops)) (send self :tyo #\Space)))) ('else ;; a list of tab stops. write this some other time nil )))) ))