n or N as a negative answer. It asks again if you enter any other
characters."
(flet ((print-query ()
- (maybe-print-query "(y or n)" format-string arguments)))
+ (apply #'maybe-print-query "(y or n)" format-string arguments)))
(loop (print-query)
(case (query-read-char)
((#\y #\Y) (return t))
input buffer, beeps, and uses READ-LINE to get the strings
YES or NO."
(flet ((print-query ()
- (maybe-print-query "(yes or no)" format-string arguments)))
+ (apply #'maybe-print-query "(yes or no)" format-string arguments)))
(beep *query-io*)
(loop (print-query)
(let ((input (query-read-line)))
;;; not be a generalized instance of ERROR, as otherwise code such as
;;; (IGNORE-ERRORS (DEFGENERIC IF (X))) will catch and claim to handle
;;; the COMPILER-ERROR. So we make COMPILER-ERROR inherit from
-;;; SIMPLE-CONDITION and SERIOUS-CONDITION instead, as of
-;;; sbcl-0.8alpha.0.2x, so that unless the user claims to be able to
-;;; handle SERIOUS-CONDITION (and if he does, he deserves what's going
-;;; to happen :-)
+;;; SIMPLE-CONDITION instead, as of sbcl-0.8alpha.0.2x, so that unless
+;;; the user claims to be able to handle general CONDITIONs (and if he
+;;; does, he deserves what's going to happen :-) [ Note: we don't make
+;;; COMPILER-ERROR inherit from SERIOUS-CONDITION, because
+;;; conventionally SERIOUS-CONDITIONs, if unhandled, end up in the
+;;; debugger; although the COMPILER-ERROR might well trigger an entry
+;;; into the debugger, it won't be the COMPILER-ERROR itself that is
+;;; the direct cause. ]
;;;
;;; So, what if we're not inside the compiler, then? Well, in that
;;; case we're in the evaluator, so we want to convert the
;;; COMPILER-ERROR call, and all is well.
;;;
;;; CSR, 2003-05-13
-(define-condition compiler-error (simple-condition serious-condition) ())
+(define-condition compiler-error (simple-condition) ())
;;; Signal the appropriate condition. COMPILER-ERROR calls the bailout
;;; function so that it never returns (but compilation continues).
;;; COMPILER-ABORT falls through to the default error handling, so
-;;; compilation terminates.
+;;; compilation terminates.
+;;;
+;;; FIXME: what is COMPILER-ABORT for? It isn't currently
+;;; (2003-05-27) used in SBCL at all.
(declaim (ftype (function (string &rest t) nil) compiler-error compiler-abort))
(declaim (ftype (function (string &rest t) (values))
compiler-warning compiler-style-warning))
(:arg-types simple-array-nil positive-fixnum)
(:results (value :scs (descriptor-reg)))
(:result-types *)
+ (:ignore index value)
(:vop-var vop)
(:save-p :compute-only)
(:generator 1
(index :scs (unsigned-reg))
(value :scs (descriptor-reg)))
(:arg-types simple-array-nil positive-fixnum *)
- (:results (value :scs (descriptor-reg)))
+ (:results (result :scs (descriptor-reg)))
(:result-types *)
+ (:ignore index value result)
(:vop-var vop)
(:save-p :compute-only)
(:generator 1