;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 121.29 ;;; Reason: ;;; Fix bug in FSIGNAL and other minor fixups in error handler. ;;; Written 11-Feb-87 16:15:43 by rg at site LMI Cambridge ;;; while running on Curley from band 2 ;;; with Experimental System 121.22, Experimental Lambda-Diag 15.0, Experimental ZMail 70.2, Experimental KERMIT 32.0, Experimental Unix-Interface 10.0, Experimental Local-File 72.0, Experimental FILE-Server 21.0, Experimental Tape 13.0, Experimental DOE-Macsyma 22.0, microcode 1741, SDU Boot Tape 3.14, SDU ROM 103. ; From modified file DJ: L.DEBUGGER; EHF.LISP#291 at 11-Feb-87 16:15:44 #8R EH#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "EH"))) (COMPILER::PATCH-SOURCE-FILE "SYS: DEBUGGER; EHF  " (defun fsignal (format-string &rest args) (declare (error-reporter)) (check-type format-string string) (apply 'cerror "Simply proceed." format-string args)) )) ; From modified file DJ: L.DEBUGGER; EHF.LISP#291 at 11-Feb-87 19:04:49 #8R EH#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "EH"))) (COMPILER::PATCH-SOURCE-FILE "SYS: DEBUGGER; EHF  " (defun make-condition (signal-name &rest args) "Create a condition object using flavor or signal name SIGNAL-NAME. If SIGNAL-NAME is a signal name defined with DEFSIGNAL or DEFSIGNAL-EXPLICIT, the ARGS are interpreted according to what was specified in the definition. If SIGNAL-NAME is a flavor name, the ARGS are init options to pass to MAKE-INSTANCE." (if (typep signal-name 'instance) signal-name (apply (cond ((and (not (stringp signal-name)) (get signal-name 'make-condition-function))) ((and (not (stringp signal-name)) (get signal-name 'si:flavor) #'make-instance)) (t #'make-condition-default)) signal-name args))) (defvar *make-condition-default-restrictive* NIL) ;Nothing reasonable will happen if format-string is not present, but ; at least it will not bomb out internal to the system on a wrong number of args. (defun make-condition-default (signal-name &optional format-string &rest args) (declare (dbg:error-reporter)) (COND (*make-condition-default-restrictive* (ferror "~S is not a known condition flavor or signal name" signal-name)) ('else (make-instance 'ferror :condition-names (list signal-name) :format-string format-string :format-args (copy-list args))))) ))