Patch by Roman Marynchak. Fixes lp#613871.
Always declare #:LOOP-IGNORE variables ignored -- even if they
have initializations.
so badly. (lp#654485)
* bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME no longer signals
an error for eg. STRUCTURE. (lp#458015)
+ * bug fix: LOOP WITH NIL = ... signalled an unused variable style-warning.
+ (lp#613871, thanks to Roman Marynchak)
changes in sbcl-1.0.43 relative to sbcl-1.0.42:
* incompatible change: FD-STREAMS no longer participate in the serve-event
(cond ((null name)
(setq name (gensym "LOOP-IGNORE-"))
(push (list name initialization) *loop-vars*)
- (if (null initialization)
- (push `(ignore ,name) *loop-declarations*)
- (loop-declare-var name dtype)))
+ (push `(ignore ,name) *loop-declarations*)
+ (loop-declare-var name dtype))
((atom name)
(when (or (assoc name *loop-vars*)
(loop-var-p name))
(assert (equal '("foo" "bar")
(funcall fun
(vector "foo" "bar"))))))
+
+(with-test (:name :bug-lp613871)
+ (multiple-value-bind (function warnings-p failure-p)
+ (compile nil '(lambda () (loop with nil = 1 repeat 2 collect t)))
+ (assert (null warnings-p))
+ (assert (null failure-p))
+ (assert (equal '(t t) (funcall function))))
+ (multiple-value-bind (function warnings-p failure-p)
+ (compile nil '(lambda () (loop with nil repeat 2 collect t)))
+ (assert (null warnings-p))
+ (assert (null failure-p))
+ (assert (equal '(t t) (funcall function)))))
;;; 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.43.24"
+"1.0.43.25"