;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 126.75 ;;; Reason: ;;; Teach COMPILER:MAKE-OBSOLETE to tell the difference between special forms, ;;; macros, functions, and random (undefined) "constructions". ;;; Written 9-Sep-88 23:38:07 by keith (Keith Corbett) at site Gigamos Cambridge ;;; while running on Breaking Glass from band 3 ;;; with Experimental System 126.73, Experimental ZWEI 126.9, Experimental ZMail 74.1, Experimental Local-File 76.0, Experimental File-Server 25.0, Experimental Unix-Interface 14.0, Experimental Tape 25.1, Experimental Lambda-Diag 18.0, microcode 1762, SDU Boot Tape 3.14, SDU ROM 103, Lambda/Falcon Development System. ; From modified file DJ: L.SYS; QRAND.LISP#509 at 9-Sep-88 23:38:08 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: SYS; QRAND  " (DEFMACRO MAKE-OBSOLETE (FUNCTION REASON) "Mark FUNCTION as obsolete, with string REASON as the reason. REASON should be a clause starting with a non-capitalized word. Uses of FUNCTION will draw warnings from the compiler." (declare (zwei:indentation 1 2)) `(PROGN (PUTPROP ',FUNCTION 'COMPILER:OBSOLETE 'COMPILER:STYLE-CHECKER) (PUTPROP ',FUNCTION (string-append "is an obsolete ~A; ~A" (cond ((special-form-p ',function) "special form") ((macro-function ',function) "macro") ((fboundp ',function) "function") (t "construction")) ,reason) 'COMPILER:OBSOLETE))) ))