(eql 3 (position-if #'plusp seq :from-end t :key '1- :start 2))
(null (position-if #'plusp seq :from-end t :key '1- :start 2 :end 2))
(null (find-if-not #'plusp seq))
- (eql 0 (position-if-not #'evenp seq))))
+ (eql 0 (position-if-not #'evenp seq))
+ (eql 0 (search #(1) seq))
+ (eql 1 (search #(4 5) seq :key 'oddp))
+ (eql 1 (search #(-2) seq :test (lambda (a b) (= (- a) b))))
+ (eql 4 (search #(1) seq :start2 1))
+ (null (search #(3) seq :start2 3))
+ (eql 2 (search #(3) seq :start2 2))
+ (eql 0 (search #(1 2) seq))
+ (null (search #(2 1 3) seq))
+ (eql 0 (search #(0 1 2 4) seq :start1 1 :end1 3))
+ (eql 3 (search #(0 2 1 4) seq :start1 1 :end1 3))
+ (eql 4 (search #(1) seq :from-end t))
+ (eql 0 (search #(1 2) seq :from-end t))
+ (null (search #(1 2) seq :from-end t :start2 1))
+ (eql 0 (search #(0 1 2 4) seq :from-end t :start1 1 :end1 3))
+ (eql 3 (search #(0 2 1 4) seq :from-end t :start1 1 :end1 3))
+ (null (search #(2 1 3) seq :from-end t))))
(for-every-seq "string test"
'((null (find 0 seq))
(null (find #\D seq :key #'char-upcase))
(sequence-bounding-indices-test
(format t "~&/Function PARSE-NAMESTRING")
(setf (fill-pointer string) 10)
- (setf (subseq string 0 10) "/dev/ /tmp")
+ (setf (subseq string 0 10)
+ #-win32 "/dev/ /tmp"
+ #+win32 "C:/ NUL")
(setf (fill-pointer string) 5)
(assert (truename (parse-namestring string nil *default-pathname-defaults*
:start 0 :end 5)))
bashed-dst)
(return-from test-copy-bashing nil))))))))
+;; Too slow for the interpreter
+#+#.(cl:if (cl:eq sb-ext:*evaluator-mode* :compile) '(and) '(or))
(loop for i = 1 then (* i 2) do
;; the bare '32' here is fairly arbitrary; '8' provides a good
;; range of lengths over which to fill and copy, which should tease