a STYLE-WARNING to be signalled (regression from 1.0.4.)
* bug fix: an asynchronous interrupt could previously leave the
system running with GC inhibited.
+ * bug fix: a DECLARE form evaluated at top-level now causes an error
+ rather than silently (or verbosely) returning NIL.
changes in sbcl-1.0.5 relative to sbcl-1.0.4:
* incompatible change: removed writer methods for host-ent-name,
;; to be careful about not muffling warnings arising from inner
;; evaluations/compilations, though [e.g. the ignored variable in
;; (DEFUN FOO (X) 1)]. -- CSR, 2003-05-13
- (let ((fun (sb!c:compile-in-lexenv nil
- `(lambda () ,expr)
- lexenv)))
+ (let* (;; why PROGN? So that attempts to eval free declarations
+ ;; signal errors rather than return NIL. -- CSR, 2007-05-01
+ (lambda `(lambda () (progn ,expr)))
+ (fun (sb!c:compile-in-lexenv nil lambda lexenv)))
(funcall fun)))
;;; Handle PROGN and implicit PROGN.
(tagbody (go NIL) NIL) t)
(assert (tagbody-nil-is-valid-tag))))
+;;; top-level DECLARE is formally undefined, but we want it to raise
+;;; an error rather than silently return NIL.
+(defvar *scratch*)
+(with-test (:name :toplevel-declare)
+ (assert (raises-error? (eval '(declare (type pathname *scratch*))))))
+
;;; success
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.5.16"
+"1.0.5.17"