* Patch by Eric Marsden. Broken at 1.0.9.1 by yours truly.
in normal SPEED policies.
* optimization: NCONC no longer needs to heap cons its &REST list
in normal SPEED policies.
+ * bug fix: UNION and NUNION work with :TEST-NOT once more,
+ regression since 1.0.9.1. (thanks to Eric Marsden)
* bug fix: result of MAKE-ARRAY can be stack allocated - regression
since 1.0.15.36. (thanks to Paul Khuong)
* bug fix: LAST when always returned the whole list when given a bignum
(key (and key (%coerce-callable-to-fun key)))
(test (if notp
(let ((test-not-fun (%coerce-callable-to-fun test-not)))
- (lambda (x) (not (funcall test-not-fun x))))
+ (lambda (x y) (not (funcall test-not-fun x y))))
(%coerce-callable-to-fun test))))
(multiple-value-bind (short long n-short)
(if (< n1 n2)
(key (and key (%coerce-callable-to-fun key)))
(test (if notp
(let ((test-not-fun (%coerce-callable-to-fun test-not)))
- (lambda (x) (not (funcall test-not-fun x))))
+ (lambda (x y) (not (funcall test-not-fun x y))))
(%coerce-callable-to-fun test))))
(multiple-value-bind (short long n-short)
(if (< n1 n2)
;;;
;;; no :MOVE-ARG VOP defined to move #<SB-C:TN t1> (SC SB-VM::SINGLE-REG) to #<SB-C:TN t2> (SC SB-VM::ANY-REG)
;;; [Condition of type SIMPLE-ERROR]
-(compile nil
+(compile nil
'(lambda (frob)
- (labels
+ (labels
((%zig (frob)
(typecase frob
(double-float
(declare (optimize speed))
(adjoin elt '(:y))))
':x)))
+
+
+(macrolet ((test (expected list-1 list-2 &rest args)
+ `(progn
+ (assert (equal ,expected (funcall #'union ,list-1 ,list-2 ,@args)))
+ (assert (equal ,expected (funcall #'nunion
+ (copy-list ,list-1)
+ (copy-list ,list-2)
+ ,@args))))))
+ (test nil nil nil)
+ (test '(42) nil '(42))
+ (test '(42) '(42) nil)
+ (test '(42) '(42) '(42))
+ (test '((42) (42)) '((42)) '((42)))
+ (test '((42) (42)) '((42)) '((42)) :test-not #'equal)
+ (test '((42)) '((42)) '((42)) :test #'equal)
+ (test '((42)) '((42)) '((42)) :key #'car)
+ (test '((42)) '((42)) '((42)) :key #'car :test-not #'<))
+
;;; 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.16.32"
+"1.0.16.33"