# for getting an executable from it. We want any two reconstructions
# starting from the same source to end up in the same result. That's
# just a basic intellectual premise."
-# -- Christian Quinnec, in _Lisp In Small Pieces_, p. 313
+# -- Christian Queinnec, in _Lisp In Small Pieces_, p. 313
# This software is part of the SBCL system. See the README file for
# more information.
;; ANSI Common Lisp operations.
(eval-when (:compile-toplevel :load-toplevel :execute)
(let ((,expr-tmp ,expr))
- (unless (and (boundp ',symbol)
- (constantp ',symbol)
- (funcall ,eqx (symbol-value ',symbol) ,expr-tmp))
- (defconstant ,symbol ,expr ,@(when doc `(,doc))))))
+ (cond ((boundp ',symbol)
+ (unless (and (constantp ',symbol)
+ (funcall ,eqx
+ (symbol-value ',symbol)
+ ,expr-tmp))
+ (error "already bound differently: ~S")))
+ (t
+ (defconstant ,symbol ,expr-tmp ,@(when doc `(,doc)))))))
;; The #+SB-XC :COMPILE-TOPLEVEL situation is special, since we
;; want to define the symbol not just in the cross-compilation
;; host Lisp (which was handled above) but also in the
;; instead. -- WHN 2000-11-03
#+sb-xc
(eval-when (:compile-toplevel)
- (let ((,expr-tmp ,expr))
+ (let ((,expr-tmp ,symbol))
(unless (and (eql (info :variable :kind ',symbol) :constant)
(funcall ,eqx
(info :variable :constant-value ',symbol)
(note (transform-note (car failure))))
(cond
((consp what)
- ;; FIXME: This sometimes gets too long for a single line, e.g.
- ;; "note: unable to optimize away possible call to FDEFINITION at runtime due to type uncertainty:"
- ;; It would be nice to pretty-print it somehow, but how?
- ;; ~@<..~:@> adds ~_ directives to the spaces which are in
- ;; the format string, but a lot of the spaces where we'd want
- ;; to break are in the included ~A string instead.
- (compiler-note "unable to ~A because:~%~6T~?"
+ (compiler-note "~@<unable to ~2I~_~A ~I~_because: ~2I~_~?~:>"
note (first what) (rest what)))
((valid-function-use node what
:argument-test #'types-intersect
(valid-function-use node what
:warning-function #'frob
:error-function #'frob))
-
- (compiler-note "unable to ~A due to type uncertainty:~@
- ~{~6T~?~^~&~}"
- note (messages))))))))))
+ (compiler-note "~@<unable to ~
+ ~2I~_~A ~
+ ~I~_due to type uncertainty: ~
+ ~2I~_~{~?~^~@:_~}~:>"
+ note (messages))))
+ ;; As best I can guess, it's OK to fall off the end here
+ ;; because if it's not a VALID-FUNCTION-USE, the user
+ ;; doesn't want to hear about it. The things I caught when
+ ;; I put ERROR "internal error: unexpected FAILURE=~S" here
+ ;; didn't look like things we need to report. -- WHN 2001-02-07
+ ))))))
;;; For each named function with an XEP, note the definition of that
;;; name, and add derived type information to the info environment. We
echo "(load \"$f\")" | $sbcl --eval '(load "assertoid.lisp")' ; tenfour
fi
done
+
+echo '//apparent success (reached end of run-tests.sh normally)'
;;; versions, and a string like "0.6.5.12" is used for versions which
;;; aren't released but correspond only to CVS tags or snapshots.
-"0.6.10.10"
+"0.6.10.11"