;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 130.6 ;;; Reason: ;;; Pretty-printing of arrays was very badly broken, causing infinite loop ;;; within GRIND-PRINT-IO. Now we just PRIN1 or PRINC as appropriate. ;;; Someday someone should figure this one out and really fix it. ;;; ;;; -keith+smh ;;; Written 17-Nov-88 20:08:20 by keith (Keith Corbett) at site Gigamos Cambridge ;;; while running on Breaking Glass from band 3 ;;; with Experimental System 130.5, Experimental ZWEI 128.5, Experimental ZMail 75.0, Experimental Local-File 77.0, Experimental File-Server 26.0, Experimental Unix-Interface 16.0, Experimental Tape 27.0, Experimental Lambda-Diag 19.0, Microcode 1762, SDU Boot Tape 3.14, SDU ROM 103, 11/14 Falcon System Loaded. ; From modified file DJ: L.IO; GRIND.LISP#153 at 17-Nov-88 20:09:05 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: IO; GRIND  " (defmacro grind-punt (exp stream) `(let ((*print-pretty* nil)) (if *print-escape* (prin1 ,exp ,stream) (princ ,exp ,stream)))) )) ; From modified file DJ: L.IO; GRIND.LISP#153 at 17-Nov-88 20:09:12 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: IO; GRIND  " (DEFUN GRIND-ARRAY (EXP LOC) ;; +++ This code must have worked once upon a time, but ;; now it causes an infinite loop in GRIND-PRINT-IO. ;; <17-Nov-88 keith> #+never (IF (= (ARRAY-RANK EXP) 1) (IF (EQ (ARRAY-TYPE EXP) 'ART-1B) (GRIND-ATOM EXP GRIND-IO LOC) (GRIND-AS-BLOCK (LISTARRAY EXP) NIL (CAR (PTTBL-VECTOR *READTABLE*)) (CDR (PTTBL-VECTOR *READTABLE*)))) (DOLIST (ELT (PTTBL-ARRAY *READTABLE*)) (COND ((STRINGP ELT) (GSTRING ELT)) ((EQ ELT ':RANK) (LET ((*PRINT-BASE* 10.) (*PRINT-RADIX* NIL) (*NOPOINT T)) (GRIND-ATOM (ARRAY-RANK EXP) GRIND-IO NIL))) ((EQ ELT ':SEQUENCES) (OR (GRIND-TRY 'GRIND-ARRAY-CONTENTS EXP 0 0 T) (GRIND-ARRAY-CONTENTS EXP 0 0)))))) ;;; $$$ Just PRINT arrays until above code can be fixed. <17-Nov-88 keith> (ignore loc) (grind-punt exp grind-io)) ))