;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 123.164 ;;; Reason: ;;; If displaying full help for the rubout handler directly onto the stream, redisplay ;;; the input after the help info. ;;; Written 21-Dec-87 14:24:35 by pld at site Gigamos Cambridge ;;; while running on Jack Flanders from band 2 ;;; with Experimental System 123.163, 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 file DJ: L.SYS2; LMMAC.LISP#459 at 21-Dec-87 14:32:05 #10R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: SYS2; LMMAC  " (defun with-help-stream-1 (label superior continuation &aux input-p) (cond ((send-if-handles superior :no-inferior-windows-p) (funcall continuation superior)) ((typep superior 'tv:sheet) (using-resource (stream tv::pop-up-finger-window) (lexpr-send stream :set-edges (multiple-value-list (send superior :edges))) (send stream :set-label label) (tv::window-call (stream :deactivate) (send stream :clear-window) (funcall continuation stream) (format stream "~2&Type any character to continue: ") (send stream :wait-for-input-or-deexposure) ;; This hair is so that if we woke up due to deexposure ;; we do not try to read anything; ;; if we woke up due to input, we do not read until after ;; we deactivate the help window, so that if the input is Break ;; the break-loop is not entered until our normal window is usable again. (if (and (send stream :exposed-p) (send stream :listen)) (setq input-p t))) (if input-p (send (if (operation-handled-p superior :tyi-no-hang) superior *terminal-io*) :tyi-no-hang)))) (t (funcall continuation superior)))) )) ; From modified file DJ: L.WINDOW; RH.LISP#182 at 21-Dec-87 14:32:13 #8R TV#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV"))) (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; RH  " (DEFINE-RH-COMMAND RH-COM-LIST-COMMANDS (#/CONTROL-HELP) (IGNORE) (if (send-if-handles self :no-inferior-windows-p) (rh-display-info (rh-print-full-help self)) (LET ((RUBOUT-HANDLER NIL)) (SI:WITH-HELP-STREAM (HELP-WINDOW :LABEL "Input Editor Commands" :WIDTH *WIDTH :SUPERIOR (IF (TYPEP SELF 'SHEET) (SHEET-GET-SCREEN SELF) SELF) :width width) (rh-print-full-help help-window width))))) )) ; From modified file DJ: L.WINDOW; RH.LISP#182 at 21-Dec-87 14:32:19 #8R TV#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV"))) (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; RH  " (defun rh-print-full-help (help-window &optional width) (cond (width) ((operation-handled-p help-window :size-in-characters) (setq width (send help-window :size-in-characters))) (t (setq width 85.))) (LET* ((EDITING-COMMAND (CDR (ASSQ ':EDITING-COMMAND RUBOUT-HANDLER-OPTIONS)))) (FORMAT HELP-WINDOW "Input Editor Commands:~@ Control-number and Control-U provide numeric argument.~2%") ;; Print double column list of commands. (RH-PRINT-HELP-DOUBLE-COLUMNS RH-COMMAND-ALIST HELP-WINDOW WIDTH (APPEND (CDR (ASSQ ':PASS-THROUGH RUBOUT-HANDLER-OPTIONS)) EDITING-COMMAND)) (WHEN EDITING-COMMAND (FORMAT HELP-WINDOW "~%Additional commands available right now:~2%") (RH-PRINT-HELP-DOUBLE-COLUMNS EDITING-COMMAND HELP-WINDOW WIDTH))) (TERPRI HELP-WINDOW)) ))