;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.255 ;;; Reason: ;;; ZWEI enhancements: ;;; - When you do Meta-., the left mouse button can be used to select a function ;;; from the screen. Now, the right mouse button can be used to pull a function ;;; name from the screen into the mini-buffer for editing. ;;; - Meta-X Tags Search now has similar mouse capability, except that any atom can ;;; be selected, rather than just defined functions. ;;; Written 5-May-88 13:01:50 by pld at site Gigamos Cambridge ;;; while running on Azathoth from band 3 ;;; with Experimental System 123.253, Experimental Local-File 73.5, Experimental FILE-Server 22.4, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Tape 22.4, microcode 1756, SDU Boot Tape 3.14, SDU ROM 8, the old ones. ; From file DJ: L.ZWEI; MOUSE.LISP#104 at 5-May-88 13:08:28 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; MOUSE  " (defun read-function-name-or-string (&optional reverse-p prompt comtab) (declare (values search-function key)) (let ((*mini-buffer-default-string* nil) (read-function-name-must-be-defined nil) (read-function-name-old-global-mouse-char-blinker-handler *global-mouse-char-blinker-handler*) (read-function-name-old-global-mouse-char-blinker-documentation-string *global-mouse-char-blinker-documentation-string*) (read-function-name-old-mouse-font-char *mouse-font-char*) (read-function-name-old-mouse-x-offset *mouse-x-offset*) (read-function-name-old-mouse-y-offset *mouse-y-offset*)) (declare (special read-function-name-must-be-defined read-function-name-old-global-mouse-char-blinker-handler read-function-name-old-global-mouse-char-blinker-documentation-string read-function-name-old-mouse-font-char read-function-name-old-mouse-x-offset read-function-name-old-mouse-y-offset)) (let ((*post-command-hook* (append *post-command-hook* '(read-function-name-command-hook))) (*mini-buffer-value-history* *definition-name-history*)) (let ((*batch-undo-save* t)) (delete-interval (window-interval *mini-buffer-window*))) (unwind-protect (progn (read-function-name-command-hook nil) (get-extended-string-search-strings reverse-p prompt comtab)) (read-function-name-command-hook t))))) )) ; From file DJ: L.ZWEI; MOUSE.LISP#104 at 5-May-88 13:08:41 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; MOUSE  " (DEFUN READ-FUNCTION-NAME-COMMAND-HOOK (CHAR-OR-T) (DECLARE (SPECIAL READ-FUNCTION-NAME-MUST-BE-DEFINED READ-FUNCTION-NAME-OLD-GLOBAL-MOUSE-CHAR-BLINKER-HANDLER READ-FUNCTION-NAME-OLD-GLOBAL-MOUSE-CHAR-BLINKER-DOCUMENTATION-STRING READ-FUNCTION-NAME-OLD-MOUSE-FONT-CHAR READ-FUNCTION-NAME-OLD-MOUSE-X-OFFSET READ-FUNCTION-NAME-OLD-MOUSE-Y-OFFSET)) (flet ((revert-blinker () (SEND *GLOBAL-MOUSE-CHAR-BLINKER* ':SET-VISIBILITY NIL) (SETQ *GLOBAL-MOUSE-CHAR-BLINKER-HANDLER* READ-FUNCTION-NAME-OLD-GLOBAL-MOUSE-CHAR-BLINKER-HANDLER *GLOBAL-MOUSE-CHAR-BLINKER-DOCUMENTATION-STRING* READ-FUNCTION-NAME-OLD-GLOBAL-MOUSE-CHAR-BLINKER-DOCUMENTATION-STRING *MOUSE-HOOK* NIL *MOUSE-FONT-CHAR* READ-FUNCTION-NAME-OLD-MOUSE-FONT-CHAR *MOUSE-X-OFFSET* READ-FUNCTION-NAME-OLD-MOUSE-X-OFFSET *MOUSE-Y-OFFSET* READ-FUNCTION-NAME-OLD-MOUSE-Y-OFFSET) (TV:MOUSE-SET-BLINKER-DEFINITION ':CHARACTER *MOUSE-X-OFFSET* *MOUSE-Y-OFFSET* ':ON ':SET-CHARACTER *MOUSE-FONT-CHAR*))) (COND ((AND (NEQ CHAR-OR-T T) (BP-= (INTERVAL-FIRST-BP (WINDOW-INTERVAL *MINI-BUFFER-WINDOW*)) (INTERVAL-LAST-BP (WINDOW-INTERVAL *MINI-BUFFER-WINDOW*)))) (SETQ *GLOBAL-MOUSE-CHAR-BLINKER-HANDLER* (IF READ-FUNCTION-NAME-MUST-BE-DEFINED 'BLINK-FUNCTION 'BLINK-ATOM) *GLOBAL-MOUSE-CHAR-BLINKER-DOCUMENTATION-STRING* "Click left on highlighted name to select it, right to pull into mini-buffer" *MOUSE-HOOK* #'(LAMBDA (WINDOW CHAR IGNORE IGNORE &AUX TEM) (case CHAR (#/MOUSE-1-1 (MULTIPLE-VALUE-BIND (FCTN LINE START END) (ATOM-UNDER-MOUSE WINDOW) (WHEN (AND LINE (OR (FBOUNDP (SETQ TEM FCTN)) (GET TEM ':SOURCE-FILE-NAME) (GET TEM 'ZMACS-BUFFERS) (STRING-IN-AARRAY-P TEM *ZMACS-COMPLETION-AARRAY*) (AND (NOT READ-FUNCTION-NAME-MUST-BE-DEFINED) TEM))) (LET ((INT (WINDOW-INTERVAL *MINI-BUFFER-WINDOW*))) (DELETE-INTERVAL INT) (INSERT (INTERVAL-FIRST-BP INT) LINE START END)) (*THROW 'RETURN-FROM-COMMAND-LOOP (SUBSTRING LINE START END))))) (#/MOUSE-3-1 (MULTIPLE-VALUE-BIND (FCTN LINE START END) (ATOM-UNDER-MOUSE WINDOW) (WHEN (AND LINE (OR (FBOUNDP (SETQ TEM FCTN)) (GET TEM ':SOURCE-FILE-NAME) (GET TEM 'ZMACS-BUFFERS) (STRING-IN-AARRAY-P TEM *ZMACS-COMPLETION-AARRAY*) (AND (NOT READ-FUNCTION-NAME-MUST-BE-DEFINED) TEM))) (LET ((INT (WINDOW-INTERVAL *MINI-BUFFER-WINDOW*))) (DELETE-INTERVAL INT) (move-bp (window-point *mini-buffer-window*) (INSERT (INTERVAL-FIRST-BP INT) LINE START END))) (must-redisplay *mini-buffer-window* dis-text) (revert-blinker) (throw 'zwei-command-loop nil)))))) *MOUSE-FONT-CHAR* 0 *MOUSE-X-OFFSET* 4 *MOUSE-Y-OFFSET* 0) (TV:MOUSE-SET-BLINKER-DEFINITION ':CHARACTER *MOUSE-X-OFFSET* *MOUSE-Y-OFFSET* ':ON ':SET-CHARACTER *MOUSE-FONT-CHAR*)) (T (revert-blinker))) (TV:MOUSE-WAKEUP))) )) ; From file DJ: L.ZWEI; SECTIO.LISP#290 at 5-May-88 13:09:50 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; SECTIO  " (DEFCOM COM-TAGS-SEARCH "Search for the specified string within files of the tags table" () (LET ((*MINI-BUFFER-DEFAULT-STRING* *ZMACS-TAGS-SEARCH-KEY-STRING*)) (MULTIPLE-VALUE-SETQ (*ZMACS-TAGS-SEARCH-FUNCTION* *ZMACS-TAGS-SEARCH-KEY*) (read-function-name-or-string NIL "Tags search:" *SEARCH-MINI-BUFFER-COMTAB*))) (SETQ *ZMACS-TAGS-SEARCH-KEY-STRING* (STRING-INTERVAL (WINDOW-INTERVAL (GET-SEARCH-MINI-BUFFER-WINDOW)))) (COMMAND-STORE 'COM-TAGS-SEARCH-NEXT-OCCURRENCE #/c-. *ZMACS-COMTAB*) (MUST-REDISPLAY *WINDOW* DIS-TEXT) (TAGS-SEARCH-NEXT-OCCURRENCE T)) ))