;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 123.179 ;;; Reason: ;;; The Explorer keyboard doesn't have Greek or Top keys. A rubout handler ;;; command existed that documented what keys you type to get all the special ;;; symbols. Unfortunately, this command superceded the normal Help command. ;;; Solution: move it to Meta-Help. Also make it do something meaningful ;;; on a Lambda. ;;; Written 7-Jan-88 15:58:40 by pld at site Gigamos Cambridge ;;; while running on Jack Flanders from band 2 ;;; with Experimental System 123.178, 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.WINDOW; RH.LISP#184 at 7-Jan-88 16:27:13 #8R TV#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV"))) (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; RH  " (DEFCONST RH-HELP-INFO "You are typing input to ~A. Click the rightmost mouse button to select a menu of programs and window operations. Type Control-~C for a list of commands for editing input. Type Meta-~C for a list of special symbols. Type ~C ~C for a list of programs. Type ~C ~C for a list of console operations.~2%") (DEFINE-RH-COMMAND RH-COM-BASIC-HELP (#/HELP) (IGNORE) (RH-DISPLAY-INFO (FORMAT SELF RH-HELP-INFO SELF #/HELP #/HELP #/SYSTEM #/HELP #/TERMINAL #/HELP))) ;;; Help for explorer keyboard which doesn't have the greek letters. (DEFINE-RH-COMMAND RH-COM-LIST-SPECIAL-SYMBOLS (#/Meta-help) (IGNORE) (if (send-if-handles self :no-inferior-windows-p) (rh-display-info (rh-print-special-symbol-help self)) (LET ((RUBOUT-HANDLER NIL)) (SI:WITH-HELP-STREAM (HELP-WINDOW :LABEL "Special Keyboard Symbols" :width *width :SUPERIOR (IF (TYPEP SELF 'SHEET) (SHEET-GET-SCREEN SELF) SELF)) (rh-print-special-symbol-help help-window width))))) (defun rh-print-special-symbol-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.))) (format help-window "Special Symbol Translations:~2%") (rh-print-help-double-columns (select-processor ((:lambda :cadr) '((#/ "Greek-a") (#/ "Greek-b") (#/ "Greek-d") (#/ "Greek-e") (#/ "Greek-g") (#/ "Greek-l") (#/ "Greek-p") (#/ "Greek-'") (#/ "Greek-//") (#/ "Top-q") (#/ "Top-w") (#/ "Top-e") (#/ "Top-r") (#/ "Top-t") (#/ "Top-y") (#/ "Top-u") (#/ "Top-i") (#/ "Top-o") (#/ "Top-p") (#/ "Top-g") (#/ "Top-h") (#/ "Top-j") (#/ "Top-k") (#/ "Top-l") (#/ "Top-c") (#/ "Top-m") (#/ "Top-n") (#/ "Top-b"))) (:explorer '((#/ "Symbol-a") (#/ "Symbol-b") (#/ "Symbol-d") (#/ "Symbol-e") (#/ "Symbol-g") (#/ "Symbol-l") (#/ "Symbol-p") (#/ "Symbol-'") (#/ "Symbol-//") (#/ "Shift-Symbol-q") (#/ "Shift-Symbol-w") (#/ "Shift-Symbol-e") (#/ "Shift-Symbol-r") (#/ "Shift-Symbol-t") (#/ "Shift-Symbol-y") (#/ "Shift-Symbol-u") (#/ "Shift-Symbol-i") (#/ "Shift-Symbol-o") (#/ "Shift-Symbol-p") (#/ "Shift-Symbol-g") (#/ "Shift-Symbol-h") (#/ "Shift-Symbol-j") (#/ "Shift-Symbol-k") (#/ "Shift-Symbol-l") (#/ "Shift-Symbol-c") (#/ "Shift-Symbol-m") (#/ "Shift-Symbol-n") (#/ "Shift-Symbol-b")))) help-window width) (terpri help-window)) ))