;;; -*- Mode:Lisp; Readtable:T; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 123.257 ;;; Reason: ;;; Add ZWEI command EVALUATE-AND-PRINT-INTO-BUFFER which reads an sexp starting ;;; at point and replaces it with what gets printed to *STANDARD-OUTPUT* by its evaluation. ;;; Written 5-May-88 15:58:25 by RG at site Gigamos Cambridge ;;; while running on Death from band 1 ;;; with Experimental System 123.215, Experimental Local-File 73.3, Experimental FILE-Server 22.1, Experimental Unix-Interface 11.0, Experimental Tape 18.2, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, microcode 1755, SDU Boot Tape 3.13, SDU ROM 102, LOADED. ; From file DJ: L.ZWEI; COMC.LISP#224 at 5-May-88 15:58:25 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; COMC  " (DEFCOM COM-EVALUATE-AND-PRINT-INTO-BUFFER "Evaluate the next s-expression and replace the result into the buffer. The original expression is deleted and the value, printed out, replaces it." () (LET* ((POINT (POINT)) (MARK (MARK)) (STREAM (REST-OF-INTERVAL-STREAM POINT)) (FORM (READ-OR-BARF STREAM)) ;(VALUE (SI:EVAL-SPECIAL-OK FORM)) ) (MOVE-BP MARK (SEND STREAM :READ-BP)) (WITH-UNDO-SAVE ("replacement" POINT MARK T) ;(FUNCALL (OR PRIN1 'PRIN1) VALUE STREAM) (LET ((*STANDARD-OUTPUT* STREAM)) (SI:EVAL-SPECIAL-OK FORM)) (WITH-BP (END (SEND STREAM :READ-BP) :NORMAL) (DELETE-INTERVAL POINT MARK T) (MOVE-BP POINT END)))) DIS-TEXT) ))