;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 126.121 ;;; Reason: ;;; I hope nobody really wants GRINDEF to be a special form. ;;; ;;; It isn't now, it's a macro. ;;; Written 21-Oct-88 23:45:28 by keith (Keith Corbett) at site Gigamos Cambridge ;;; while running on Johannes Brahms from band 1 ;;; with Experimental System 126.119, Experimental ZWEI 126.21, Experimental ZMail 74.9, Experimental Local-File 76.0, Experimental File-Server 25.0, Experimental Lambda-Diag 18.0, Experimental Unix-Interface 15.0, Experimental Tape 26.4, Microcode 1762, SDU Boot Tape 3.14, SDU ROM 103, 10/17. ; From modified file DJ: L.IO; GRIND.LISP#152 at 21-Oct-88 23:46:50 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: IO; GRIND  " ;;;; Grind Definitions (DEFVAR GRINDEF NIL "Holds argument list to last invocation of GRINDEF") ;;; Grind the definitions of one or more functions. With no arguments, ;;; repeat the last operation. ;;;Needn't be a Special form. ;(DEFUN GRINDEF ("E &REST FCNS) ; "Pretty print the definitions of each of FCNS. ;This prints expressions such as could be evaluated to give ;each of FCNS its current value and//or function definition." ; (AND FCNS (SETQ GRINDEF (COPY-LIST FCNS))) ; (MAPC 'GRIND-1 GRINDEF) ;Grind each function ; '*) ;Return silly result ;;;@@@Shouldn't set GRINDEF globally until return from GRIND-1. ;;;Currently, (GRINDEF A B . C) blows up, and (GRINDEF) after that ;;;will too. --Keith 21-Oct-88 (defmacro grindef (&rest fcns) "Nicely print out the definitions of each of FCNS. This prints expressions such as could be evaluated to give each of FCNS its current value and//or function definition." (let ((forms '((mapc 'grind-1 grindef) '*))) (when fcns (push `(setq grindef ',fcns) forms)) `(progn ,@forms))) ))